; assembly | /* r2dec pseudo code output */ | /* balb_testmessages.t/assume @ 0x40af70 */ | #include | ; (fcn) method.BloombergLP::balb::SequenceWithAnonymityChoice.operator_BloombergLP::balb::SequenceWithAnonymityChoice_const_ () | int64_t method_BloombergLP::balb::SequenceWithAnonymityChoice_operator_BloombergLP::balb::SequenceWithAnonymityChoice_const_ (int64_t arg2, uint32_t arg1) { | rsi = arg2; | rdi = arg1; | /* BloombergLP::balb::SequenceWithAnonymityChoice::operator=(BloombergLP::balb::SequenceWithAnonymityChoice const&) */ 0x0040af70 push r14 | 0x0040af72 push rbx | 0x0040af73 push rax | 0x0040af74 mov r14, rdi | r14 = rdi; 0x0040af77 cmp rdi, rsi | | if (rdi != rsi) { 0x0040af7a je 0x40b127 | 0x0040af80 mov rbx, rsi | rbx = rsi; 0x0040af83 mov eax, dword [rsi + 0x170] | eax = *((rsi + 0x170)); 0x0040af89 cmp rax, 3 | | if (rax <= 3) { 0x0040af8d ja 0x40b01e | | /* switch table (4 cases) at 0x4463a8 */ 0x0040af93 jmp qword [rax*8 + 0x4463a8] | 0x0040af9a mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x0040afa1 cmp rax, 3 | | if (rax <= 3) { 0x0040afa5 ja 0x40b05f | | /* switch table (4 cases) at 0x446408 */ 0x0040afab jmp qword [rax*8 + 0x446408] | 0x0040afb2 mov rdi, r14 | 0x0040afb5 mov rsi, rbx | 0x0040afb8 call 0x4095a0 | BloombergLP::balb::Sequence6::operator=(BloombergLP::balb::Sequence6const&) (r14, rbx); 0x0040afbd jmp 0x40b127 | goto label_0; 0x0040afc2 mov bl, byte [rbx] | bl = *(rbx); 0x0040afc4 mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x0040afcb cmp rax, 3 | | if (rax > 3) { 0x0040afcf ja 0x40b0b0 | goto label_1; | } | /* switch table (4 cases) at 0x4463e8 */ 0x0040afd5 jmp qword [rax*8 + 0x4463e8] | 0x0040afdc mov rdi, r14 | 0x0040afdf call 0x409400 | BloombergLP::balb::Sequence6::~Sequence6() (r14); 0x0040afe4 jmp 0x40b0b0 | goto label_1; 0x0040afe9 mov rdi, r14 | 0x0040afec mov rsi, rbx | 0x0040afef call 0x40b250 | BloombergLP::balb::SequenceWithAnonymityChoice::makeSelection3(BloombergLP::balb::CustomStringconst&) (r14, rbx); 0x0040aff4 jmp 0x40b127 | goto label_0; 0x0040aff9 mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x0040b000 cmp rax, 3 | | if (rax > 3) { 0x0040b004 ja 0x40b0dc | goto label_2; | } | /* switch table (4 cases) at 0x4463c8 */ 0x0040b00a jmp qword [rax*8 + 0x4463c8] | 0x0040b011 mov rdi, r14 | 0x0040b014 call 0x409400 | BloombergLP::balb::Sequence6::~Sequence6() (r14); 0x0040b019 jmp 0x40b0dc | | } else { 0x0040b01e mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x0040b025 cmp rax, 3 | | if (rax > 3) { 0x0040b029 ja 0x40b11c | goto label_3; | } | /* switch table (4 cases) at 0x446428 */ 0x0040b02f jmp qword [rax*8 + 0x446428] | 0x0040b036 mov rdi, r14 | 0x0040b039 call 0x409400 | BloombergLP::balb::Sequence6::~Sequence6() (r14); 0x0040b03e jmp 0x40b11c | goto label_3; 0x0040b043 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x0040b048 je 0x40b057 | 0x0040b04a mov rsi, qword [r14] | rsi = *(r14); 0x0040b04d mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x0040b051 mov rax, qword [rdi] | rax = *(rdi); 0x0040b054 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0040b057 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | } 0x0040b05f mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; 0x0040b06a mov rdx, qword [r14 + 0x178] | 0x0040b071 mov rdi, r14 | 0x0040b074 mov rsi, rbx | 0x0040b077 call 0x408c40 | BloombergLP::balb::Sequence6::Sequence6(BloombergLP::balb::Sequence6const&,BloombergLP::bslma::Allocator*) (r14, rbx, *((r14 + 0x178))); 0x0040b07c mov dword [r14 + 0x170], 0 | *((r14 + 0x170)) = 0; 0x0040b087 jmp 0x40b127 | goto label_0; 0x0040b08c mov byte [r14], bl | *(r14) = bl; 0x0040b08f jmp 0x40b127 | goto label_0; 0x0040b094 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x0040b099 je 0x40b0a8 | 0x0040b09b mov rsi, qword [r14] | rsi = *(r14); 0x0040b09e mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x0040b0a2 mov rax, qword [rdi] | rax = *(rdi); 0x0040b0a5 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0040b0a8 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | label_1: 0x0040b0b0 mov byte [r14], bl | *(r14) = bl; 0x0040b0b3 mov dword [r14 + 0x170], 1 | *((r14 + 0x170)) = 1; 0x0040b0be jmp 0x40b127 | goto label_0; 0x0040b0c0 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x0040b0c5 je 0x40b0d4 | 0x0040b0c7 mov rsi, qword [r14] | rsi = *(r14); 0x0040b0ca mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x0040b0ce mov rax, qword [rdi] | rax = *(rdi); 0x0040b0d1 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0040b0d4 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | } | label_2: 0x0040b0dc mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; 0x0040b0e7 mov eax, dword [rbx] | eax = *(rbx); 0x0040b0e9 mov dword [r14], eax | *(r14) = eax; 0x0040b0ec mov dword [r14 + 0x170], 3 | *((r14 + 0x170)) = 3; 0x0040b0f7 jmp 0x40b127 | goto label_0; 0x0040b0f9 mov eax, dword [rbx] | eax = *(rbx); 0x0040b0fb mov dword [r14], eax | *(r14) = eax; 0x0040b0fe jmp 0x40b127 | goto label_0; 0x0040b100 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x0040b105 je 0x40b114 | 0x0040b107 mov rsi, qword [r14] | rsi = *(r14); 0x0040b10a mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x0040b10e mov rax, qword [rdi] | rax = *(rdi); 0x0040b111 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x0040b114 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | label_3: 0x0040b11c mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; | } | label_0: 0x0040b127 mov rax, r14 | rax = r14; 0x0040b12a add rsp, 8 | 0x0040b12e pop rbx | 0x0040b12f pop r14 | 0x0040b131 ret | return rax; | }