; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/assume @ 0x4cfa50 */ | #include | ; (fcn) method.BloombergLP::s_baltst::SequenceWithAnonymityChoice.operator_BloombergLP::s_baltst::SequenceWithAnonymityChoice_const_ () | int64_t method_BloombergLP::s_baltst::SequenceWithAnonymityChoice_operator_BloombergLP::s_baltst::SequenceWithAnonymityChoice_const_ (int64_t arg2, uint32_t arg1) { | rsi = arg2; | rdi = arg1; | /* BloombergLP::s_baltst::SequenceWithAnonymityChoice::operator=(BloombergLP::s_baltst::SequenceWithAnonymityChoice const&) */ 0x004cfa50 push r14 | 0x004cfa52 push rbx | 0x004cfa53 push rax | 0x004cfa54 mov r14, rdi | r14 = rdi; 0x004cfa57 cmp rdi, rsi | | if (rdi != rsi) { 0x004cfa5a je 0x4cfc07 | 0x004cfa60 mov rbx, rsi | rbx = rsi; 0x004cfa63 mov eax, dword [rsi + 0x170] | eax = *((rsi + 0x170)); 0x004cfa69 cmp rax, 3 | | if (rax <= 3) { 0x004cfa6d ja 0x4cfafe | | /* switch table (4 cases) at 0x64a1e0 */ 0x004cfa73 jmp qword [rax*8 + 0x64a1e0] | 0x004cfa7a mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x004cfa81 cmp rax, 3 | | if (rax <= 3) { 0x004cfa85 ja 0x4cfb3f | | /* switch table (4 cases) at 0x64a240 */ 0x004cfa8b jmp qword [rax*8 + 0x64a240] | 0x004cfa92 mov rdi, r14 | 0x004cfa95 mov rsi, rbx | 0x004cfa98 call 0x4b9de0 | BloombergLP::s_baltst::Sequence6::operator=(BloombergLP::s_baltst::Sequence6const&) (r14, rbx); 0x004cfa9d jmp 0x4cfc07 | goto label_0; 0x004cfaa2 mov bl, byte [rbx] | bl = *(rbx); 0x004cfaa4 mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x004cfaab cmp rax, 3 | | if (rax > 3) { 0x004cfaaf ja 0x4cfb90 | goto label_1; | } | /* switch table (4 cases) at 0x64a220 */ 0x004cfab5 jmp qword [rax*8 + 0x64a220] | 0x004cfabc mov rdi, r14 | 0x004cfabf call 0x4c4a50 | BloombergLP::s_baltst::Sequence6::~Sequence6() (r14); 0x004cfac4 jmp 0x4cfb90 | goto label_1; 0x004cfac9 mov rdi, r14 | 0x004cfacc mov rsi, rbx | 0x004cfacf call 0x4cfd30 | BloombergLP::s_baltst::SequenceWithAnonymityChoice::makeSelection3(BloombergLP::s_baltst::CustomStringconst&) (r14, rbx); 0x004cfad4 jmp 0x4cfc07 | goto label_0; 0x004cfad9 mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x004cfae0 cmp rax, 3 | | if (rax > 3) { 0x004cfae4 ja 0x4cfbbc | goto label_2; | } | /* switch table (4 cases) at 0x64a200 */ 0x004cfaea jmp qword [rax*8 + 0x64a200] | 0x004cfaf1 mov rdi, r14 | 0x004cfaf4 call 0x4c4a50 | BloombergLP::s_baltst::Sequence6::~Sequence6() (r14); 0x004cfaf9 jmp 0x4cfbbc | | } else { 0x004cfafe mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x004cfb05 cmp rax, 3 | | if (rax > 3) { 0x004cfb09 ja 0x4cfbfc | goto label_3; | } | /* switch table (4 cases) at 0x64a260 */ 0x004cfb0f jmp qword [rax*8 + 0x64a260] | 0x004cfb16 mov rdi, r14 | 0x004cfb19 call 0x4c4a50 | BloombergLP::s_baltst::Sequence6::~Sequence6() (r14); 0x004cfb1e jmp 0x4cfbfc | goto label_3; 0x004cfb23 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x004cfb28 je 0x4cfb37 | 0x004cfb2a mov rsi, qword [r14] | rsi = *(r14); 0x004cfb2d mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x004cfb31 mov rax, qword [rdi] | rax = *(rdi); 0x004cfb34 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004cfb37 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | } 0x004cfb3f mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; 0x004cfb4a mov rdx, qword [r14 + 0x178] | 0x004cfb51 mov rdi, r14 | 0x004cfb54 mov rsi, rbx | 0x004cfb57 call 0x4c35f0 | BloombergLP::s_baltst::Sequence6::Sequence6(BloombergLP::s_baltst::Sequence6const&,BloombergLP::bslma::Allocator*) (r14, rbx, *((r14 + 0x178))); 0x004cfb5c mov dword [r14 + 0x170], 0 | *((r14 + 0x170)) = 0; 0x004cfb67 jmp 0x4cfc07 | goto label_0; 0x004cfb6c mov byte [r14], bl | *(r14) = bl; 0x004cfb6f jmp 0x4cfc07 | goto label_0; 0x004cfb74 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x004cfb79 je 0x4cfb88 | 0x004cfb7b mov rsi, qword [r14] | rsi = *(r14); 0x004cfb7e mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x004cfb82 mov rax, qword [rdi] | rax = *(rdi); 0x004cfb85 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004cfb88 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | label_1: 0x004cfb90 mov byte [r14], bl | *(r14) = bl; 0x004cfb93 mov dword [r14 + 0x170], 1 | *((r14 + 0x170)) = 1; 0x004cfb9e jmp 0x4cfc07 | goto label_0; 0x004cfba0 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x004cfba5 je 0x4cfbb4 | 0x004cfba7 mov rsi, qword [r14] | rsi = *(r14); 0x004cfbaa mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x004cfbae mov rax, qword [rdi] | rax = *(rdi); 0x004cfbb1 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004cfbb4 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | } | label_2: 0x004cfbbc mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; 0x004cfbc7 mov eax, dword [rbx] | eax = *(rbx); 0x004cfbc9 mov dword [r14], eax | *(r14) = eax; 0x004cfbcc mov dword [r14 + 0x170], 3 | *((r14 + 0x170)) = 3; 0x004cfbd7 jmp 0x4cfc07 | goto label_0; 0x004cfbd9 mov eax, dword [rbx] | eax = *(rbx); 0x004cfbdb mov dword [r14], eax | *(r14) = eax; 0x004cfbde jmp 0x4cfc07 | goto label_0; 0x004cfbe0 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x004cfbe5 je 0x4cfbf4 | 0x004cfbe7 mov rsi, qword [r14] | rsi = *(r14); 0x004cfbea mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x004cfbee mov rax, qword [rdi] | rax = *(rdi); 0x004cfbf1 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004cfbf4 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | label_3: 0x004cfbfc mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; | } | label_0: 0x004cfc07 mov rax, r14 | rax = r14; 0x004cfc0a add rsp, 8 | 0x004cfc0e pop rbx | 0x004cfc0f pop r14 | 0x004cfc11 ret | return rax; | }