; assembly | /* r2dec pseudo code output */ | /* baltzo_localtimeoffsetutil.t/none @ 0x413740 */ | #include | ; (fcn) method.BloombergLP::baltzo::TimeZoneUtilImp.initLocalTime_BloombergLP::bdlt::DatetimeTz__BloombergLP::baltzo::LocalTimeValidity::Enum__BloombergLP::bdlt::Datetime_const__char_const__BloombergLP::baltzo::DstPolicy::Enum__BloombergLP::baltzo::ZoneinfoC () | uint64_t method_BloombergLP::baltzo::TimeZoneUtilImp_initLocalTime_BloombergLP::bdlt::DatetimeTz_BloombergLP::baltzo::LocalTimeValidity::Enum_BloombergLP::bdlt::Datetime_const_char_const_BloombergLP::baltzo::DstPolicy::Enum_BloombergLP::baltzo::ZoneinfoC (int64_t arg6, int64_t arg5, int64_t arg4, int64_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_ch; | int64_t var_10h; | r9 = arg6; | r8 = arg5; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::baltzo::TimeZoneUtilImp::initLocalTime(BloombergLP::bdlt::DatetimeTz*, BloombergLP::baltzo::LocalTimeValidity::Enum*, BloombergLP::bdlt::Datetime const&, char const*, BloombergLP::baltzo::DstPolicy::Enum, BloombergLP::baltzo::ZoneinfoCache*) */ 0x00413740 push rbp | 0x00413741 push r15 | 0x00413743 push r14 | 0x00413745 push r13 | 0x00413747 push r12 | 0x00413749 push rbx | 0x0041374a sub rsp, 0x18 | 0x0041374e mov r14d, r8d | r14d = r8d; 0x00413751 mov rbx, rcx | rbx = rcx; 0x00413754 mov r15, rdx | r15 = rdx; 0x00413757 mov r12, rsi | r12 = rsi; 0x0041375a mov r13, rdi | r13 = rdi; 0x0041375d mov dword [rsp + 0xc], 0 | *((rsp + 0xc)) = 0; 0x00413765 lea rsi, [rsp + 0xc] | 0x0041376a mov rdi, r9 | 0x0041376d mov rdx, rcx | 0x00413770 call 0x41a150 | rax = BloombergLP::baltzo::ZoneinfoCache::getZoneinfo(int*,char const*) (r9, rsp + 0xc, rcx); 0x00413775 mov rbp, rax | 0x00413778 test rax, rax | | if (rax == 0) { 0x0041377b jne 0x4137ab | 0x0041377d mov eax, dword [rip + 0x281bd5] | eax = BloombergLP::bsls::Log::s_severityThreshold; 0x00413783 cmp eax, 3 | | if (eax < 3) { 0x00413786 jl 0x4137ab | goto label_0; | } 0x00413788 mov r9d, dword [rsp + 0xc] | 0x0041378d mov esi, 0x45a739 | 0x00413792 mov ecx, 0x45a799 | 0x00413797 mov edi, 3 | 0x0041379c mov edx, 0x34 | 0x004137a1 mov r8, rbx | 0x004137a4 xor eax, eax | eax = 0; 0x004137a6 call 0x432780 | BloombergLP::bsls::Log::logFormattedMessage(BloombergLP::bsls::LogSeverity::Enum,char const*,int,char const*,_) (3, "/home/parsa/experiments/assumptions/crush/ccm-none/groups/bal/baltzo/baltzo_timezoneutilimp.cpp", 0x34, "No data found for time zone '%s' (rc = %d).", rbx, *((rsp + 0xc))); | } | label_0: 0x004137ab mov ebx, dword [rsp + 0xc] | ebx = *((rsp + 0xc)); 0x004137af test ebx, ebx | | if (ebx == 0) { 0x004137b1 jne 0x4137cc | 0x004137b3 lea rdx, [rsp + 0x10] | 0x004137b8 mov rdi, r13 | 0x004137bb mov rsi, r12 | 0x004137be mov rcx, r15 | 0x004137c1 mov r8d, r14d | 0x004137c4 mov r9, rbp | 0x004137c7 call 0x4137e0 | BloombergLP::baltzo::TimeZoneUtilImp::resolveLocalTime(BloombergLP::bdlt::DatetimeTz*,BloombergLP::baltzo::LocalTimeValidity::Enum*,BloombergLP::baltzo::ZoneinfoTransitionconst**,BloombergLP::bdlt::Datetimeconst&,BloombergLP::baltzo::DstPolicy::Enum,BloombergLP::baltzo::Zoneinfoconst&) (r13, r12, rsp + 0x10, r15, r14d, rbp); | } 0x004137cc mov eax, ebx | eax = ebx; 0x004137ce add rsp, 0x18 | 0x004137d2 pop rbx | 0x004137d3 pop r12 | 0x004137d5 pop r13 | 0x004137d7 pop r14 | 0x004137d9 pop r15 | 0x004137db pop rbp | 0x004137dc ret | return rax; | }