; assembly | /* r2dec pseudo code output */ | /* baltzo_localtimeoffsetutil.t/assume @ 0x413e50 */ | #include | ; (fcn) method.BloombergLP::baltzo::TimeZoneUtilImp.loadLocalTimePeriodForUtc_BloombergLP::baltzo::LocalTimePeriod__char_const__BloombergLP::bdlt::Datetime_const__BloombergLP::baltzo::ZoneinfoCache_ () | uint64_t method_BloombergLP::baltzo::TimeZoneUtilImp_loadLocalTimePeriodForUtc_BloombergLP::baltzo::LocalTimePeriod_char_const_BloombergLP::bdlt::Datetime_const_BloombergLP::baltzo::ZoneinfoCache_ (int64_t arg4, int64_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_4h; | int64_t var_8h; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::baltzo::TimeZoneUtilImp::loadLocalTimePeriodForUtc(BloombergLP::baltzo::LocalTimePeriod*, char const*, BloombergLP::bdlt::Datetime const&, BloombergLP::baltzo::ZoneinfoCache*) */ 0x00413e50 push rbp | 0x00413e51 push r15 | 0x00413e53 push r14 | 0x00413e55 push r12 | 0x00413e57 push rbx | 0x00413e58 sub rsp, 0x10 | 0x00413e5c mov r15, rdx | r15 = rdx; 0x00413e5f mov rbx, rsi | rbx = rsi; 0x00413e62 mov r14, rdi | r14 = rdi; 0x00413e65 mov dword [rsp + 4], 0 | *((rsp + 4)) = 0; 0x00413e6d lea rsi, [rsp + 4] | 0x00413e72 mov rdi, rcx | 0x00413e75 mov rdx, rbx | 0x00413e78 call 0x41a310 | rax = BloombergLP::baltzo::ZoneinfoCache::getZoneinfo(int*,char const*) (rcx, rsp + 4, rbx); 0x00413e7d mov r12, rax | r12 = rax; 0x00413e80 mov ebp, dword [rsp + 4] | ebp = *((rsp + 4)); 0x00413e84 test rax, rax | | if (rax == 0) { 0x00413e87 jne 0x413eb9 | 0x00413e89 mov eax, dword [rip + 0x2804c9] | eax = BloombergLP::bsls::Log::s_severityThreshold; 0x00413e8f cmp eax, 3 | | if (eax < 3) { 0x00413e92 jl 0x413eb9 | goto label_0; | } 0x00413e94 mov esi, 0x45a0d9 | 0x00413e99 mov ecx, 0x45a13b | 0x00413e9e mov edi, 3 | 0x00413ea3 mov edx, 0x34 | 0x00413ea8 mov r8, rbx | 0x00413eab mov r9d, ebp | 0x00413eae xor eax, eax | eax = 0; 0x00413eb0 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, ebp); 0x00413eb5 mov ebp, dword [rsp + 4] | ebp = *((rsp + 4)); | } | label_0: 0x00413eb9 test ebp, ebp | | if (ebp == 0) { 0x00413ebb jne 0x413edd | 0x00413ebd mov rdi, r12 | 0x00413ec0 mov rsi, r15 | 0x00413ec3 call 0x415430 | rax = BloombergLP::baltzo::Zoneinfo::findTransitionForUtcTime(BloombergLP::bdlt::Datetimeconst&)const (r12, r15); 0x00413ec8 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x00413ecd lea rsi, [rsp + 8] | 0x00413ed2 mov rdi, r14 | 0x00413ed5 mov rdx, r12 | 0x00413ed8 call 0x413ef0 | BloombergLP::baltzo::TimeZoneUtilImp::createLocalTimePeriod(BloombergLP::baltzo::LocalTimePeriod*,BloombergLP::baltzo::ZoneinfoTransitionconst*const&,BloombergLP::baltzo::Zoneinfoconst&) (r14, rsp + 8, r12, rcx); | } 0x00413edd mov eax, ebp | eax = ebp; 0x00413edf add rsp, 0x10 | 0x00413ee3 pop rbx | 0x00413ee4 pop r12 | 0x00413ee6 pop r14 | 0x00413ee8 pop r15 | 0x00413eea pop rbp | 0x00413eeb ret | return rax; | }