; assembly | /* r2dec pseudo code output */ | /* bbldc_basicdaycountutil.t/none @ 0x4037a0 */ | #include | ; (fcn) method.BloombergLP::bbldc::BasicDayCountUtil.daysDiff_BloombergLP::bdlt::Date_const__BloombergLP::bdlt::Date_const__BloombergLP::bbldc::DayCountConvention::Enum_ () | void method_BloombergLP::bbldc::BasicDayCountUtil_daysDiff_BloombergLP::bdlt::Date_const_BloombergLP::bdlt::Date_const_BloombergLP::bbldc::DayCountConvention::Enum_ (uint32_t arg3, int64_t arg2, int64_t arg1) { | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::bbldc::BasicDayCountUtil::daysDiff(BloombergLP::bdlt::Date const&, BloombergLP::bdlt::Date const&, BloombergLP::bbldc::DayCountConvention::Enum) */ 0x004037a0 push rax | 0x004037a1 xor eax, eax | eax = 0; 0x004037a3 cmp edx, 0xc | | if (edx <= 0xc) { 0x004037a6 ja 0x4037de | 0x004037a8 mov ecx, edx | ecx = edx; | /* switch table (13 cases) at 0x407980 */ 0x004037aa jmp qword [rcx*8 + 0x407980] | 0x004037b1 mov eax, dword [rsi] | eax = *(rsi); 0x004037b3 sub eax, dword [rdi] | eax -= *(rdi); 0x004037b5 pop rcx | rcx = rax; 0x004037b6 ret | return eax; 0x004037b7 pop rax | 0x004037b8 jmp 0x403a50 | void (*0x403a50)() (); 0x004037bd pop rax | 0x004037be jmp 0x403be0 | void (*0x403be0)() (); 0x004037c3 pop rax | 0x004037c4 jmp 0x403d30 | void (*0x403d30)() (); 0x004037c9 pop rax | 0x004037ca jmp 0x403f00 | void (*0x403f00)() (); 0x004037cf mov dword [rsp], 1 | *(rsp) = 1; 0x004037d6 mov rdx, rsp | 0x004037d9 call 0x404090 | BloombergLP::bbldc::TerminatedIsda30360Eom::daysDiff(BloombergLP::bdlt::Dateconst&,BloombergLP::bdlt::Dateconst&,BloombergLP::bdlt::Dateconst&) (rdi, rsi, rsp); | } 0x004037de pop rcx | 0x004037df ret | return eax; 0x004037e0 pop rax | 0x004037e1 jmp 0x403b60 | return void (*0x403b60)() (); | }