; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/none @ 0x4b6a60 */ | #include | ; (fcn) method.BloombergLP::s_baltst::MySequenceWithChoice.operator_BloombergLP::s_baltst::MySequenceWithChoice_ () | int64_t method_BloombergLP::s_baltst::MySequenceWithChoice_operator_BloombergLP::s_baltst::MySequenceWithChoice_ (uint32_t arg2, uint32_t arg1) { | rsi = arg2; | rdi = arg1; | /* BloombergLP::s_baltst::MySequenceWithChoice::operator=(BloombergLP::s_baltst::MySequenceWithChoice&&) */ 0x004b6a60 mov rax, rdi | rax = rdi; 0x004b6a63 cmp rdi, rsi | | if (rdi == rsi) { 0x004b6a66 je 0x4b6a75 | goto label_0; | } 0x004b6a68 cmp dword [rsi + 4], 0 | | if (*((rsi + 4)) == 0) { 0x004b6a6c je 0x4b6a76 | goto label_1; | } 0x004b6a6e mov dword [rax + 4], 0xffffffff | *((rax + 4)) = 0xffffffff; | do { | label_0: 0x004b6a75 ret | return rax; | label_1: 0x004b6a76 mov ecx, dword [rsi] | ecx = *(rsi); 0x004b6a78 cmp dword [rax + 4], 0 | 0x004b6a7c mov dword [rax], ecx | *(rax) = ecx; 0x004b6a7e je 0x4b6a75 | | } while (*((rax + 4)) == 0); 0x004b6a80 mov dword [rax + 4], 0 | *((rax + 4)) = 0; 0x004b6a87 ret | return rax; | }