; assembly | /* r2dec pseudo code output */ | /* baltzo_localtimeoffsetutil.t/assume @ 0x413860 */ | #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*) */ 0x00413860 push r15 | 0x00413862 push r14 | 0x00413864 push r12 | 0x00413866 push rbx | 0x00413867 sub rsp, 0x18 | 0x0041386b mov r14, rdx | r14 = rdx; 0x0041386e mov rbx, rsi | rbx = rsi; 0x00413871 mov r15, rdi | r15 = rdi; 0x00413874 mov dword [rsp + 0xc], 0 | *((rsp + 0xc)) = 0; 0x0041387c lea rsi, [rsp + 0xc] | 0x00413881 mov rdi, rcx | 0x00413884 mov rdx, rbx | 0x00413887 call 0x41a310 | rax = BloombergLP::baltzo::ZoneinfoCache::getZoneinfo(int*,char const*) (rcx, rsp + 0xc, rbx); 0x0041388c mov r12, rax | r12 = rax; 0x0041388f mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); 0x00413893 test r12, r12 | | if (r12 == 0) { 0x00413896 jne 0x4138c8 | 0x00413898 mov ecx, dword [rip + 0x280aba] | ecx = BloombergLP::bsls::Log::s_severityThreshold; 0x0041389e cmp ecx, 3 | | if (ecx < 3) { 0x004138a1 jl 0x4138c8 | goto label_0; | } 0x004138a3 mov esi, 0x45a0d9 | 0x004138a8 mov ecx, 0x45a13b | 0x004138ad mov edi, 3 | 0x004138b2 mov edx, 0x34 | 0x004138b7 mov r8, rbx | 0x004138ba mov r9d, eax | r9d = eax; 0x004138bd xor eax, eax | eax = 0; 0x004138bf call 0x432120 | BloombergLP::bsls::Log::logFormattedMessage(BloombergLP::bsls::LogSeverity::Enum,char const*,int,char const*,_) (3, "/home/parsa/experiments/assumptions/crush/ccm-assume/groups/bal/baltzo/baltzo_timezoneutilimp.cpp", 0x34, "No data found for time zone '%s' (rc = %d).", rbx, r9d); 0x004138c4 mov eax, dword [rsp + 0xc] | eax = *((rsp + 0xc)); | } | label_0: 0x004138c8 test eax, eax | | if (eax == 0) { 0x004138ca jne 0x4138df | 0x004138cc lea rsi, [rsp + 0x10] | 0x004138d1 mov rdi, r15 | 0x004138d4 mov rdx, r14 | 0x004138d7 mov rcx, r12 | 0x004138da call 0x41ab40 | BloombergLP::baltzo::ZoneinfoUtil::convertUtcToLocalTime(BloombergLP::bdlt::DatetimeTz*,BloombergLP::baltzo::ZoneinfoTransitionconst**,BloombergLP::bdlt::Datetimeconst&,BloombergLP::baltzo::Zoneinfoconst&) (r15, rsp + 0x10, r14, r12); | } 0x004138df add rsp, 0x18 | 0x004138e3 pop rbx | 0x004138e4 pop r12 | 0x004138e6 pop r14 | 0x004138e8 pop r15 | 0x004138ea ret | return rax; | }