; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/assume @ 0x4b6780 */ | #include | ; (fcn) method.BloombergLP::s_baltst::MySequenceWithChoice.operator_BloombergLP::s_baltst::MySequenceWithChoice_const_ () | int64_t method_BloombergLP::s_baltst::MySequenceWithChoice_operator_BloombergLP::s_baltst::MySequenceWithChoice_const_ (uint32_t arg2, uint32_t arg1) { | rsi = arg2; | rdi = arg1; | /* BloombergLP::s_baltst::MySequenceWithChoice::operator=(BloombergLP::s_baltst::MySequenceWithChoice const&) */ 0x004b6780 mov rax, rdi | rax = rdi; 0x004b6783 cmp rdi, rsi | | if (rdi != rsi) { 0x004b6786 je 0x4b6799 | 0x004b6788 cmp dword [rsi + 4], 0 | | if (*((rsi + 4)) == 0) { 0x004b678c je 0x4b679a | goto label_0; | } 0x004b678e cmp dword [rax + 4], 0 | 0x004b6792 mov dword [rax + 4], 0xffffffff | *((rax + 4)) = 0xffffffff; | } 0x004b6799 ret | return rax; | label_0: 0x004b679a mov ecx, dword [rsi] | ecx = *(rsi); 0x004b679c cmp dword [rax + 4], 0 | | if (*((rax + 4)) != 0) { 0x004b67a0 je 0x4b67ac | 0x004b67a2 mov dword [rax], ecx | *(rax) = ecx; 0x004b67a4 mov dword [rax + 4], 0 | *((rax + 4)) = 0; 0x004b67ab ret | return rax; | } 0x004b67ac mov dword [rax], ecx | *(rax) = ecx; 0x004b67ae ret | return rax; | }