; assembly | /* r2dec pseudo code output */ | /* ball_recordjsonformatter.t/none @ 0x41b1c0 */ | #include | ; (fcn) method.BloombergLP::ball._anonymous_namespace_::ThreadIdFormatter::format_BloombergLP::baljsn::SimpleFormatter__BloombergLP::ball::Record_const_ () | uint64_t method_BloombergLP::ball_anonymous_namespace_::ThreadIdFormatter::format_BloombergLP::baljsn::SimpleFormatter_BloombergLP::ball::Record_const_ (int64_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_8h; | int64_t var_10h; | int64_t var_18h; | char * s; | int64_t var_28h; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::ball::(anonymous namespace)::ThreadIdFormatter::format(BloombergLP::baljsn::SimpleFormatter*, BloombergLP::ball::Record const&) */ 0x0041b1c0 push r15 | 0x0041b1c2 push r14 | 0x0041b1c4 push rbx | 0x0041b1c5 sub rsp, 0x40 | 0x0041b1c9 mov r14, rsi | r14 = rsi; 0x0041b1cc mov rbx, rdi | rbx = rdi; 0x0041b1cf mov ecx, dword [rdi + 0x38] | ecx = *((rdi + 0x38)); 0x0041b1d2 cmp ecx, 1 | | if (ecx != 1) { 0x0041b1d5 je 0x41b21d | 0x0041b1d7 mov eax, 0xffffffff | eax = 0xffffffff; 0x0041b1dc test ecx, ecx | | if (ecx != 0) { 0x0041b1de jne 0x41b26d | goto label_0; | } 0x0041b1e4 lea rax, [rbx + 8] | rax = rbx + 8; 0x0041b1e8 cmp qword [rbx + 0x28], 0x17 | | if (*((rbx + 0x28)) != 0x17) { 0x0041b1ed je 0x41b1f2 | 0x0041b1ef mov rax, qword [rax] | rax = *(rax); | } 0x0041b1f2 mov rcx, qword [rbx + 0x20] | rcx = *((rbx + 0x20)); 0x0041b1f6 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x0041b1fb mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x0041b200 mov rax, qword [rdx + 0x28] | rax = *((rdx + 0x28)); 0x0041b204 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041b209 lea rsi, [rsp + 0x20] | 0x0041b20e lea rdx, [rsp + 8] | 0x0041b213 mov rdi, r14 | 0x0041b216 call 0x41c9c0 | eax = intBloombergLP::baljsn::SimpleFormatter::addValue(std::_1::basic_string_view>const&,unsigned long longconst&) (r14, rsp + 0x20, rsp + 8); 0x0041b21b jmp 0x41b26d | | } else { 0x0041b21d mov rcx, qword [rdx + 0x28] | 0x0041b221 lea r15, [rsp + 0x20] | r15 = rsp + 0x20; 0x0041b226 mov esi, 0x20 | 0x0041b22b mov edx, 0x49be53 | 0x0041b230 mov rdi, r15 | 0x0041b233 xor eax, eax | eax = 0; 0x0041b235 call 0x4044d0 | snprintf (r15, 0x20, "%llX", *((rdx + 0x28))); 0x0041b23a lea rax, [rbx + 8] | rax = rbx + 8; 0x0041b23e cmp qword [rbx + 0x28], 0x17 | | if (*((rbx + 0x28)) != 0x17) { 0x0041b243 je 0x41b248 | 0x0041b245 mov rax, qword [rax] | rax = *(rax); | } 0x0041b248 mov rcx, qword [rbx + 0x20] | rcx = *((rbx + 0x20)); 0x0041b24c mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041b251 mov qword [rsp + 0x10], rcx | *((rsp + 0x10)) = rcx; 0x0041b256 mov qword [rsp + 0x18], r15 | *((rsp + 0x18)) = r15; 0x0041b25b lea rsi, [rsp + 8] | 0x0041b260 lea rdx, [rsp + 0x18] | 0x0041b265 mov rdi, r14 | 0x0041b268 call 0x41ca80 | intBloombergLP::baljsn::SimpleFormatter::addValue(std::_1::basic_string_view>const&,char*const&) (r14, rsp + 8, rsp + 0x18); | } | label_0: 0x0041b26d add rsp, 0x40 | 0x0041b271 pop rbx | 0x0041b272 pop r14 | 0x0041b274 pop r15 | 0x0041b276 ret | return rax; | }