; assembly | /* r2dec pseudo code output */ | /* balxml_decoder.t/none @ 0x4fa350 */ | #include | ; (fcn) method.int_BloombergLP::s_baltst::MySequenceWithAnonymousChoiceChoice::manipulateSelection_BloombergLP::balxml.Decoder_ParseObject__BloombergLP::balxml::Decoder_ParseObject_ () | int32_t method_int_BloombergLP::s_baltst::MySequenceWithAnonymousChoiceChoice::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::s_baltst::MySequenceWithAnonymousChoiceChoice::manipulateSelection(BloombergLP::balxml::Decoder_ParseObject&) */ 0x004fa350 push r14 | 0x004fa352 push rbx | 0x004fa353 sub rsp, 0x48 | 0x004fa357 mov r14, rsi | r14 = rsi; 0x004fa35a mov rsi, rdi | rsi = rdi; 0x004fa35d mov eax, dword [rdi + 0x30] | eax = *((rdi + 0x30)); 0x004fa360 cmp eax, 1 | | if (eax != 1) { 0x004fa363 je 0x4fa39c | 0x004fa365 mov ebx, 0xffffffff | ebx = 0xffffffff; 0x004fa36a test eax, eax | | if (eax != 0) { 0x004fa36c jne 0x4fa3c2 | goto label_0; | } 0x004fa36e mov eax, dword [rip + 0x10e8ec] | eax = *(0x00608c60); 0x004fa374 mov qword [rsp], 0x606990 | *(rsp) = vtable.BloombergLP::balxml::Decoder_SimpleContext_int_.0; 0x004fa37c mov dword [rsp + 8], eax | *((rsp + 8)) = eax; 0x004fa380 mov qword [rsp + 0x10], rsi | *((rsp + 0x10)) = rsi; 0x004fa385 mov rsi, qword [r14] | 0x004fa388 mov rdi, rsp | 0x004fa38b call 0x4fea40 | eax = BloombergLP::balxml::Decoder_ElementContext::beginParse(BloombergLP::balxml::Decoder*) (rsp, *(r14)); 0x004fa390 mov ebx, eax | ebx = eax; 0x004fa392 mov rdi, rsp | rdi = rsp; 0x004fa395 call 0x500340 | BloombergLP::balxml::Decoder_ElementContext::~Decoder_ElementContext() (); 0x004fa39a jmp 0x4fa3c2 | | } else { 0x004fa39c mov edx, dword [rip + 0x10e8e6] | 0x004fa3a2 mov rbx, rsp | rbx = rsp; 0x004fa3a5 mov rdi, rbx | 0x004fa3a8 call 0x4fff70 | BloombergLP::balxml::Decoder_StdStringContext::Decoder_StdStringContext(bsl::basic_string,bsl::allocator>*,int) (rsp, rsi, *(0x00608c88)); 0x004fa3ad mov rsi, qword [r14] | 0x004fa3b0 mov rdi, rbx | 0x004fa3b3 call 0x4fea40 | eax = BloombergLP::balxml::Decoder_ElementContext::beginParse(BloombergLP::balxml::Decoder*) (rbx, *(r14)); 0x004fa3b8 mov ebx, eax | ebx = eax; 0x004fa3ba mov rdi, rsp | rdi = rsp; 0x004fa3bd call 0x4ffff0 | BloombergLP::balxml::Decoder_StdStringContext::~Decoder_StdStringContext() (); | } | label_0: 0x004fa3c2 mov eax, ebx | eax = ebx; 0x004fa3c4 add rsp, 0x48 | 0x004fa3c8 pop rbx | 0x004fa3c9 pop r14 | 0x004fa3cb ret | return eax; | }