; assembly | /* r2dec pseudo code output */ | /* baltzo_localtimeoffsetutil.t/none @ 0x4136b0 */ | #include | ; (fcn) method.BloombergLP::baltzo::TimeZoneUtilImp.convertUtcToLocalTime_BloombergLP::bdlt::DatetimeTz__char_const__BloombergLP::bdlt::Datetime_const__BloombergLP::baltzo::ZoneinfoCache_ () | uint64_t method_BloombergLP::baltzo::TimeZoneUtilImp_convertUtcToLocalTime_BloombergLP::bdlt::DatetimeTz_char_const_BloombergLP::bdlt::Datetime_const_BloombergLP::baltzo::ZoneinfoCache_ (int64_t arg4, int64_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_ch; | int64_t var_10h; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::baltzo::TimeZoneUtilImp::convertUtcToLocalTime(BloombergLP::bdlt::DatetimeTz*, char const*, BloombergLP::bdlt::Datetime const&, BloombergLP::baltzo::ZoneinfoCache*) */ 0x004136b0 push r15 | 0x004136b2 push r14 | 0x004136b4 push r12 | 0x004136b6 push rbx | 0x004136b7 sub rsp, 0x18 | 0x004136bb mov r14, rdx | r14 = rdx; 0x004136be mov rbx, rsi | rbx = rsi; 0x004136c1 mov r15, rdi | r15 = rdi; 0x004136c4 mov dword [rsp + 0xc], 0 | *((rsp + 0xc)) = 0; 0x004136cc lea rsi, [rsp + 0xc] | 0x004136d1 mov rdi, rcx | 0x004136d4 mov rdx, rbx | 0x004136d7 call 0x41a150 | rax = BloombergLP::baltzo::ZoneinfoCache::getZoneinfo(int*,char const*) (rcx, rsp + 0xc, rbx); 0x004136dc mov r12, rax | r12 = rax; 0x004136df test rax, rax | | if (rax == 0) { 0x004136e2 jne 0x413712 | 0x004136e4 mov eax, dword [rip + 0x281c6e] | eax = BloombergLP::bsls::Log::s_severityThreshold; 0x004136ea cmp eax, 3 | | if (eax < 3) { 0x004136ed jl 0x413712 | goto label_0; | } 0x004136ef mov r9d, dword [rsp + 0xc] | 0x004136f4 mov esi, 0x45a739 | 0x004136f9 mov ecx, 0x45a799 | 0x004136fe mov edi, 3 | 0x00413703 mov edx, 0x34 | 0x00413708 mov r8, rbx | 0x0041370b xor eax, eax | eax = 0; 0x0041370d 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: 0x00413712 mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); 0x00413716 test eax, eax | | if (eax == 0) { 0x00413718 jne 0x41372d | 0x0041371a lea rsi, [rsp + 0x10] | 0x0041371f mov rdi, r15 | 0x00413722 mov rdx, r14 | 0x00413725 mov rcx, r12 | 0x00413728 call 0x41a980 | BloombergLP::baltzo::ZoneinfoUtil::convertUtcToLocalTime(BloombergLP::bdlt::DatetimeTz*,BloombergLP::baltzo::ZoneinfoTransitionconst**,BloombergLP::bdlt::Datetimeconst&,BloombergLP::baltzo::Zoneinfoconst&) (r15, rsp + 0x10, r14, r12); | } 0x0041372d add rsp, 0x18 | 0x00413731 pop rbx | 0x00413732 pop r12 | 0x00413734 pop r14 | 0x00413736 pop r15 | 0x00413738 ret | return rax; | }