; assembly | /* r2dec pseudo code output */ | /* baljsn_decoder.t/assume @ 0x44cef0 */ | #include | ; (fcn) method.int_BloombergLP::balb::SequenceWithAnonymityChoice1::manipulateSelection_BloombergLP::balxml.Decoder_ParseObject__BloombergLP::balxml::Decoder_ParseObject_ () | int32_t method_int_BloombergLP::balb::SequenceWithAnonymityChoice1::manipulateSelection_BloombergLP::balxml_Decoder_ParseObject_BloombergLP::balxml::Decoder_ParseObject_ (int64_t arg2, int64_t arg1) { | int64_t var_8h; | int64_t var_10h; | rsi = arg2; | rdi = arg1; | /* int BloombergLP::balb::SequenceWithAnonymityChoice1::manipulateSelection(BloombergLP::balxml::Decoder_ParseObject&) */ 0x0044cef0 push r14 | 0x0044cef2 push rbx | 0x0044cef3 sub rsp, 0x48 | 0x0044cef7 mov rbx, rsi | rbx = rsi; 0x0044cefa mov rsi, rdi | rsi = rdi; 0x0044cefd mov eax, dword [rdi + 0x30] | eax = *((rdi + 0x30)); 0x0044cf00 cmp eax, 1 | | if (eax != 1) { 0x0044cf03 je 0x44cf37 | 0x0044cf05 test eax, eax | | if (eax == 0) { 0x0044cf07 jne 0x44cf5f | 0x0044cf09 mov eax, dword [rip + 0x1cd601] | eax = *(0x0061a510); 0x0044cf0f mov qword [rsp], 0x6159e8 | *(rsp) = vtable.BloombergLP::balxml::Decoder_SimpleContext_bool_.0; 0x0044cf17 mov dword [rsp + 8], eax | *((rsp + 8)) = eax; 0x0044cf1b mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x0044cf20 mov rsi, qword [rbx] | 0x0044cf23 mov rdi, rsp | 0x0044cf26 call 0x476fb0 | eax = BloombergLP::balxml::Decoder_ElementContext::beginParse(BloombergLP::balxml::Decoder*) (rsp, *(rbx)); 0x0044cf2b mov ebx, eax | ebx = eax; 0x0044cf2d mov rdi, rsp | rdi = rsp; 0x0044cf30 call 0x4788c0 | BloombergLP::balxml::Decoder_ElementContext::~Decoder_ElementContext() (); 0x0044cf35 jmp 0x44cf64 | | } else { 0x0044cf37 mov edx, dword [rip + 0x1cd5fb] | edx = *(0x0061a538); 0x0044cf3d mov r14, rsp | r14 = rsp; 0x0044cf40 mov rdi, r14 | 0x0044cf43 call 0x4784f0 | BloombergLP::balxml::Decoder_StdStringContext::Decoder_StdStringContext(bsl::basic_string,bsl::allocator>*,int) (rsp, rsi); 0x0044cf48 mov rsi, qword [rbx] | 0x0044cf4b mov rdi, r14 | 0x0044cf4e call 0x476fb0 | eax = BloombergLP::balxml::Decoder_ElementContext::beginParse(BloombergLP::balxml::Decoder*) (r14, *(rbx)); 0x0044cf53 mov ebx, eax | ebx = eax; 0x0044cf55 mov rdi, rsp | rdi = rsp; 0x0044cf58 call 0x478580 | BloombergLP::balxml::Decoder_StdStringContext::~Decoder_StdStringContext() (); 0x0044cf5d jmp 0x44cf64 | | } else { 0x0044cf5f mov ebx, 0xffffffff | ebx = 0xffffffff; | } | } 0x0044cf64 mov eax, ebx | eax = 0xffffffff; 0x0044cf66 add rsp, 0x48 | 0x0044cf6a pop rbx | 0x0044cf6b pop r14 | 0x0044cf6d ret | return eax; | }