; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/assume @ 0x4cff30 */ | #include | ; (fcn) method.BloombergLP::s_baltst::SequenceWithAnonymityChoice.operator_BloombergLP::s_baltst::SequenceWithAnonymityChoice_ () | int64_t method_BloombergLP::s_baltst::SequenceWithAnonymityChoice_operator_BloombergLP::s_baltst::SequenceWithAnonymityChoice_ (int64_t arg2, uint32_t arg1) { | rsi = arg2; | rdi = arg1; | /* BloombergLP::s_baltst::SequenceWithAnonymityChoice::operator=(BloombergLP::s_baltst::SequenceWithAnonymityChoice&&) */ 0x004cff30 push r14 | 0x004cff32 push rbx | 0x004cff33 push rax | 0x004cff34 mov r14, rdi | r14 = rdi; 0x004cff37 cmp rdi, rsi | | if (rdi != rsi) { 0x004cff3a je 0x4d00e7 | 0x004cff40 mov rbx, rsi | rbx = rsi; 0x004cff43 mov eax, dword [rsi + 0x170] | eax = *((rsi + 0x170)); 0x004cff49 cmp rax, 3 | | if (rax <= 3) { 0x004cff4d ja 0x4cffde | | /* switch table (4 cases) at 0x64a320 */ 0x004cff53 jmp qword [rax*8 + 0x64a320] | 0x004cff5a mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x004cff61 cmp rax, 3 | | if (rax <= 3) { 0x004cff65 ja 0x4d001f | | /* switch table (4 cases) at 0x64a380 */ 0x004cff6b jmp qword [rax*8 + 0x64a380] | 0x004cff72 mov rdi, r14 | 0x004cff75 mov rsi, rbx | 0x004cff78 call 0x4ba0a0 | BloombergLP::s_baltst::Sequence6::operator=(BloombergLP::s_baltst::Sequence6&&) (r14, rbx); 0x004cff7d jmp 0x4d00e7 | goto label_0; 0x004cff82 mov bl, byte [rbx] | bl = *(rbx); 0x004cff84 mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x004cff8b cmp rax, 3 | | if (rax > 3) { 0x004cff8f ja 0x4d0070 | goto label_1; | } | /* switch table (4 cases) at 0x64a360 */ 0x004cff95 jmp qword [rax*8 + 0x64a360] | 0x004cff9c mov rdi, r14 | 0x004cff9f call 0x4c4a50 | BloombergLP::s_baltst::Sequence6::~Sequence6() (r14); 0x004cffa4 jmp 0x4d0070 | goto label_1; 0x004cffa9 mov rdi, r14 | 0x004cffac mov rsi, rbx | 0x004cffaf call 0x4d01a0 | BloombergLP::s_baltst::SequenceWithAnonymityChoice::makeSelection3(BloombergLP::s_baltst::CustomString&&) (r14, rbx); 0x004cffb4 jmp 0x4d00e7 | goto label_0; 0x004cffb9 mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x004cffc0 cmp rax, 3 | | if (rax > 3) { 0x004cffc4 ja 0x4d009c | goto label_2; | } | /* switch table (4 cases) at 0x64a340 */ 0x004cffca jmp qword [rax*8 + 0x64a340] | 0x004cffd1 mov rdi, r14 | 0x004cffd4 call 0x4c4a50 | BloombergLP::s_baltst::Sequence6::~Sequence6() (r14); 0x004cffd9 jmp 0x4d009c | | } else { 0x004cffde mov eax, dword [r14 + 0x170] | eax = *((r14 + 0x170)); 0x004cffe5 cmp rax, 3 | | if (rax > 3) { 0x004cffe9 ja 0x4d00dc | goto label_3; | } | /* switch table (4 cases) at 0x64a3a0 */ 0x004cffef jmp qword [rax*8 + 0x64a3a0] | 0x004cfff6 mov rdi, r14 | 0x004cfff9 call 0x4c4a50 | BloombergLP::s_baltst::Sequence6::~Sequence6() (r14); 0x004cfffe jmp 0x4d00dc | goto label_3; 0x004d0003 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x004d0008 je 0x4d0017 | 0x004d000a mov rsi, qword [r14] | rsi = *(r14); 0x004d000d mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x004d0011 mov rax, qword [rdi] | rax = *(rdi); 0x004d0014 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004d0017 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | } 0x004d001f mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; 0x004d002a mov rdx, qword [r14 + 0x178] | 0x004d0031 mov rdi, r14 | 0x004d0034 mov rsi, rbx | 0x004d0037 call 0x4c4110 | BloombergLP::s_baltst::Sequence6::Sequence6(BloombergLP::s_baltst::Sequence6&&,BloombergLP::bslma::Allocator*) (r14, rbx, *((r14 + 0x178))); 0x004d003c mov dword [r14 + 0x170], 0 | *((r14 + 0x170)) = 0; 0x004d0047 jmp 0x4d00e7 | goto label_0; 0x004d004c mov byte [r14], bl | *(r14) = bl; 0x004d004f jmp 0x4d00e7 | goto label_0; 0x004d0054 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x004d0059 je 0x4d0068 | 0x004d005b mov rsi, qword [r14] | rsi = *(r14); 0x004d005e mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x004d0062 mov rax, qword [rdi] | rax = *(rdi); 0x004d0065 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004d0068 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | label_1: 0x004d0070 mov byte [r14], bl | *(r14) = bl; 0x004d0073 mov dword [r14 + 0x170], 1 | *((r14 + 0x170)) = 1; 0x004d007e jmp 0x4d00e7 | goto label_0; 0x004d0080 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x004d0085 je 0x4d0094 | 0x004d0087 mov rsi, qword [r14] | rsi = *(r14); 0x004d008a mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x004d008e mov rax, qword [rdi] | rax = *(rdi); 0x004d0091 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004d0094 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | } | label_2: 0x004d009c mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; 0x004d00a7 mov eax, dword [rbx] | eax = *(rbx); 0x004d00a9 mov dword [r14], eax | *(r14) = eax; 0x004d00ac mov dword [r14 + 0x170], 3 | *((r14 + 0x170)) = 3; 0x004d00b7 jmp 0x4d00e7 | goto label_0; 0x004d00b9 mov eax, dword [rbx] | eax = *(rbx); 0x004d00bb mov dword [r14], eax | *(r14) = eax; 0x004d00be jmp 0x4d00e7 | goto label_0; 0x004d00c0 cmp qword [r14 + 0x20], 0x17 | | if (*((r14 + 0x20)) != 0x17) { 0x004d00c5 je 0x4d00d4 | 0x004d00c7 mov rsi, qword [r14] | rsi = *(r14); 0x004d00ca mov rdi, qword [r14 + 0x28] | rdi = *((r14 + 0x28)); 0x004d00ce mov rax, qword [rdi] | rax = *(rdi); 0x004d00d1 call qword [rax + 0x18] | uint64_t (*rax + 0x18)() (); | } 0x004d00d4 mov qword [r14 + 0x18], 0xffffffffffffffff | *((r14 + 0x18)) = 0xffffffffffffffff; | label_3: 0x004d00dc mov dword [r14 + 0x170], 0xffffffff | *((r14 + 0x170)) = 0xffffffff; | } | label_0: 0x004d00e7 mov rax, r14 | rax = r14; 0x004d00ea add rsp, 8 | 0x004d00ee pop rbx | 0x004d00ef pop r14 | 0x004d00f1 ret | return rax; | }