; assembly | /* r2dec pseudo code output */ | /* bdlt_fixutil.t/none @ 0x439b30 */ | #include | ; (fcn) method.BloombergLP::bdlt::FixUtil.generate_char__int__BloombergLP::bdlt::Time_const__BloombergLP::bdlt::FixUtilConfiguration_const_ () | int64_t method_BloombergLP::bdlt::FixUtil_generate_char_int_BloombergLP::bdlt::Time_const_BloombergLP::bdlt::FixUtilConfiguration_const_ (char * arg4, int64_t arg3, signed int64_t arg2, char * arg1) { | int64_t var_9h; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::bdlt::FixUtil::generate(char*, int, BloombergLP::bdlt::Time const&, BloombergLP::bdlt::FixUtilConfiguration const&) */ 0x00439b30 push rbp | 0x00439b31 push r15 | 0x00439b33 push r14 | 0x00439b35 push rbx | 0x00439b36 sub rsp, 0x18 | 0x00439b3a mov ebp, esi | 0x00439b3c mov r14, rdi | r14 = rdi; 0x00439b3f cmp esi, 0xf | | if (esi >= 0xf) { 0x00439b42 jl 0x439b5a | 0x00439b44 mov rdi, r14 | 0x00439b47 mov rsi, rdx | 0x00439b4a mov rdx, rcx | 0x00439b4d call 0x439ba0 | eax = BloombergLP::bdlt::FixUtil::generateRaw(char*,BloombergLP::bdlt::Timeconst&,BloombergLP::bdlt::FixUtilConfigurationconst&) (r14, rdx, rcx); 0x00439b52 mov ebx, eax | ebx = eax; 0x00439b54 cmp ebx, ebp | | if (ebx >= ebp) { 0x00439b56 jl 0x439b81 | 0x00439b58 jmp 0x439b89 | | } else { 0x00439b5a lea r15, [rsp + 9] | r15 = rsp + 9; 0x00439b5f mov rdi, r15 | 0x00439b62 mov rsi, rdx | 0x00439b65 mov rdx, rcx | 0x00439b68 call 0x439ba0 | eax = BloombergLP::bdlt::FixUtil::generateRaw(char*,BloombergLP::bdlt::Timeconst&,BloombergLP::bdlt::FixUtilConfigurationconst&) (r15, rdx, rcx); 0x00439b6d mov ebx, eax | ebx = eax; 0x00439b6f movsxd rdx, ebp | rdx = (int64_t) ebp; 0x00439b72 mov rdi, r14 | 0x00439b75 mov rsi, r15 | 0x00439b78 call 0x4045b0 | memcpy (r14, r15, rdx); 0x00439b7d cmp ebx, ebp | | if (ebx >= ebp) { 0x00439b7f jge 0x439b89 | goto label_0; | } | } 0x00439b81 movsxd rax, ebx | rax = (int64_t) ebx; 0x00439b84 mov byte [r14 + rax], 0 | *((r14 + rax)) = 0; | } | label_0: 0x00439b89 mov eax, ebx | eax = ebx; 0x00439b8b add rsp, 0x18 | 0x00439b8f pop rbx | 0x00439b90 pop r14 | 0x00439b92 pop r15 | 0x00439b94 pop rbp | 0x00439b95 ret | return rax; | }