; assembly | /* r2dec pseudo code output */ | /* baltzo_localtimeoffsetutil.t/assume @ 0x4138f0 */ | #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_8h; | 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*) */ 0x004138f0 push rbp | 0x004138f1 push r15 | 0x004138f3 push r14 | 0x004138f5 push r13 | 0x004138f7 push r12 | 0x004138f9 push rbx | 0x004138fa sub rsp, 0x18 | 0x004138fe mov dword [rsp + 0xc], r8d | *((rsp + 0xc)) = r8d; 0x00413903 mov r14, rcx | r14 = rcx; 0x00413906 mov r15, rdx | r15 = rdx; 0x00413909 mov r12, rsi | r12 = rsi; 0x0041390c mov r13, rdi | r13 = rdi; 0x0041390f mov dword [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00413917 lea rsi, [rsp + 8] | 0x0041391c mov rdi, r9 | 0x0041391f mov rdx, rcx | 0x00413922 call 0x41a310 | rax = BloombergLP::baltzo::ZoneinfoCache::getZoneinfo(int*,char const*) (r9, rsp + 8, rcx); 0x00413927 mov rbp, rax | 0x0041392a mov ebx, dword [rsp + 8] | ebx = *((rsp + 8)); 0x0041392e test rax, rax | | if (rax == 0) { 0x00413931 jne 0x413963 | 0x00413933 mov eax, dword [rip + 0x280a1f] | eax = BloombergLP::bsls::Log::s_severityThreshold; 0x00413939 cmp eax, 3 | | if (eax < 3) { 0x0041393c jl 0x413963 | goto label_0; | } 0x0041393e mov esi, 0x45a0d9 | 0x00413943 mov ecx, 0x45a13b | 0x00413948 mov edi, 3 | 0x0041394d mov edx, 0x34 | 0x00413952 mov r8, r14 | 0x00413955 mov r9d, ebx | 0x00413958 xor eax, eax | eax = 0; 0x0041395a 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).", r14, ebx); 0x0041395f mov ebx, dword [rsp + 8] | ebx = *((rsp + 8)); | } | label_0: 0x00413963 test ebx, ebx | | if (ebx == 0) { 0x00413965 jne 0x413982 | 0x00413967 lea rdx, [rsp + 0x10] | 0x0041396c mov rdi, r13 | 0x0041396f mov rsi, r12 | 0x00413972 mov rcx, r15 | 0x00413975 mov r8d, dword [rsp + 0xc] | 0x0041397a mov r9, rbp | 0x0041397d call 0x4139a0 | 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, *((rsp + 0xc)), rbp); | } 0x00413982 mov eax, ebx | eax = ebx; 0x00413984 add rsp, 0x18 | 0x00413988 pop rbx | 0x00413989 pop r12 | 0x0041398b pop r13 | 0x0041398d pop r14 | 0x0041398f pop r15 | 0x00413991 pop rbp | 0x00413992 ret | return rax; | }