; assembly | /* r2dec pseudo code output */ | /* ball_recordjsonformatter.t/assume @ 0x41a170 */ | #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, uint32_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&) */ 0x0041a170 push r15 | 0x0041a172 push r14 | 0x0041a174 push rbx | 0x0041a175 sub rsp, 0x40 | 0x0041a179 mov r14, rsi | r14 = rsi; 0x0041a17c mov rbx, rdi | rbx = rdi; 0x0041a17f cmp dword [rdi + 0x38], 0 | | if (*((rdi + 0x38)) != 0) { 0x0041a183 je 0x41a1d7 | 0x0041a185 mov rcx, qword [rdx + 0x28] | 0x0041a189 lea r15, [rsp + 0x20] | r15 = rsp + 0x20; 0x0041a18e mov esi, 0x20 | 0x0041a193 mov edx, 0x49a3e3 | 0x0041a198 mov rdi, r15 | 0x0041a19b xor eax, eax | eax = 0; 0x0041a19d call 0x4044d0 | snprintf (r15, 0x20, "%llX", *((rdx + 0x28))); 0x0041a1a2 lea rax, [rbx + 8] | rax = rbx + 8; 0x0041a1a6 cmp qword [rbx + 0x28], 0x17 | | if (*((rbx + 0x28)) != 0x17) { 0x0041a1ab je 0x41a1b0 | 0x0041a1ad mov rax, qword [rax] | rax = *(rax); | } 0x0041a1b0 mov rcx, qword [rbx + 0x20] | rcx = *((rbx + 0x20)); 0x0041a1b4 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041a1b9 mov qword [rsp + 0x10], rcx | *((rsp + 0x10)) = rcx; 0x0041a1be mov qword [rsp + 0x18], r15 | *((rsp + 0x18)) = r15; 0x0041a1c3 lea rsi, [rsp + 8] | 0x0041a1c8 lea rdx, [rsp + 0x18] | 0x0041a1cd mov rdi, r14 | 0x0041a1d0 call 0x41b9e0 | intBloombergLP::baljsn::SimpleFormatter::addValue(std::_1::basic_string_view>const&,char*const&) (r14, rsp + 8, rsp + 0x18); 0x0041a1d5 jmp 0x41a20e | | } else { 0x0041a1d7 lea rax, [rbx + 8] | rax = rbx + 8; 0x0041a1db cmp qword [rbx + 0x28], 0x17 | | if (*((rbx + 0x28)) != 0x17) { 0x0041a1e0 je 0x41a1e5 | 0x0041a1e2 mov rax, qword [rax] | rax = *(rax); | } 0x0041a1e5 mov rcx, qword [rbx + 0x20] | rcx = *((rbx + 0x20)); 0x0041a1e9 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x0041a1ee mov qword [rsp + 0x28], rcx | *((rsp + 0x28)) = rcx; 0x0041a1f3 mov rax, qword [rdx + 0x28] | rax = *((rdx + 0x28)); 0x0041a1f7 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041a1fc lea rsi, [rsp + 0x20] | 0x0041a201 lea rdx, [rsp + 8] | 0x0041a206 mov rdi, r14 | 0x0041a209 call 0x41b920 | intBloombergLP::baljsn::SimpleFormatter::addValue(std::_1::basic_string_view>const&,unsigned long longconst&) (r14, rsp + 0x20, rsp + 8); | } 0x0041a20e add rsp, 0x40 | 0x0041a212 pop rbx | 0x0041a213 pop r14 | 0x0041a215 pop r15 | 0x0041a217 ret | return rax; | }