; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/none @ 0x4bae30 */ | #include | ; (fcn) method.BloombergLP::s_baltst::Sequence1.Sequence1_BloombergLP::s_baltst::Sequence1_ () | int64_t method_BloombergLP::s_baltst::Sequence1_Sequence1_BloombergLP::s_baltst::Sequence1_ (uint32_t arg2, int64_t arg1) { | rsi = arg2; | rdi = arg1; | /* BloombergLP::s_baltst::Sequence1::Sequence1(BloombergLP::s_baltst::Sequence1&&) */ 0x004bae30 push rbp | 0x004bae31 push r15 | 0x004bae33 push r14 | 0x004bae35 push r13 | 0x004bae37 push r12 | 0x004bae39 push rbx | 0x004bae3a push rax | 0x004bae3b mov rbx, rsi | rbx = rsi; 0x004bae3e mov r15, rdi | r15 = rdi; 0x004bae41 mov rax, qword [rsi] | rax = *(rsi); 0x004bae44 mov qword [rdi], rax | *(rdi) = rax; 0x004bae47 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x004bae4a movups xmmword [rdi + 8], xmm0 | __asm ("movups xmmword [rdi + 8], xmm0"); 0x004bae4e mov qword [rdi + 0x18], 0 | *((rdi + 0x18)) = 0; 0x004bae56 mov rax, qword [rsi + 0x20] | rax = *((rsi + 0x20)); 0x004bae5a mov qword [rdi + 0x20], rax | *((rdi + 0x20)) = rax; 0x004bae5e mov rax, qword [rsi + 8] | rax = *((rsi + 8)); 0x004bae62 mov qword [rdi + 8], rax | *((rdi + 8)) = rax; 0x004bae66 mov rax, qword [rsi + 0x10] | rax = *((rsi + 0x10)); 0x004bae6a mov qword [rdi + 0x10], rax | *((rdi + 0x10)) = rax; 0x004bae6e mov rax, qword [rsi + 0x18] | rax = *((rsi + 0x18)); 0x004bae72 mov qword [rdi + 0x18], rax | *((rdi + 0x18)) = rax; 0x004bae76 movups xmmword [rsi + 8], xmm0 | __asm ("movups xmmword [rsi + 8], xmm0"); 0x004bae7a mov qword [rsi + 0x18], 0 | *((rsi + 0x18)) = 0; 0x004bae82 movups xmmword [rdi + 0x28], xmm0 | __asm ("movups xmmword [rdi + 0x28], xmm0"); 0x004bae86 mov qword [rdi + 0x38], 0 | *((rdi + 0x38)) = 0; 0x004bae8e mov rax, qword [rsi + 0x40] | rax = *((rsi + 0x40)); 0x004bae92 mov qword [rdi + 0x40], rax | *((rdi + 0x40)) = rax; 0x004bae96 mov rax, qword [rsi + 0x28] | rax = *((rsi + 0x28)); 0x004bae9a mov qword [rdi + 0x28], rax | *((rdi + 0x28)) = rax; 0x004bae9e mov rax, qword [rsi + 0x30] | rax = *((rsi + 0x30)); 0x004baea2 mov qword [rdi + 0x30], rax | *((rdi + 0x30)) = rax; 0x004baea6 mov rax, qword [rsi + 0x38] | rax = *((rsi + 0x38)); 0x004baeaa mov qword [rdi + 0x38], rax | *((rdi + 0x38)) = rax; 0x004baeae movups xmmword [rsi + 0x28], xmm0 | __asm ("movups xmmword [rsi + 0x28], xmm0"); 0x004baeb2 mov qword [rsi + 0x38], 0 | *((rsi + 0x38)) = 0; 0x004baeba movups xmmword [rdi + 0x48], xmm0 | __asm ("movups xmmword [rdi + 0x48], xmm0"); 0x004baebe mov qword [rdi + 0x58], 0 | *((rdi + 0x58)) = 0; 0x004baec6 mov rax, qword [rsi + 0x60] | rax = *((rsi + 0x60)); 0x004baeca mov qword [rdi + 0x60], rax | *((rdi + 0x60)) = rax; 0x004baece mov rax, qword [rsi + 0x48] | rax = *((rsi + 0x48)); 0x004baed2 mov qword [rdi + 0x48], rax | *((rdi + 0x48)) = rax; 0x004baed6 mov rax, qword [rsi + 0x50] | rax = *((rsi + 0x50)); 0x004baeda mov qword [rdi + 0x50], rax | *((rdi + 0x50)) = rax; 0x004baede mov rax, qword [rsi + 0x58] | rax = *((rsi + 0x58)); 0x004baee2 mov qword [rdi + 0x58], rax | *((rdi + 0x58)) = rax; 0x004baee6 movups xmmword [rsi + 0x48], xmm0 | __asm ("movups xmmword [rsi + 0x48], xmm0"); 0x004baeea mov qword [rsi + 0x58], 0 | *((rsi + 0x58)) = 0; 0x004baef2 mov byte [rdi + 0x1e8], 0 | *((rdi + 0x1e8)) = 0; 0x004baef9 mov rdx, qword [rsi + 0x1f0] | rdx = *((rsi + 0x1f0)); 0x004baf00 mov qword [rdi + 0x1f0], rdx | *((rdi + 0x1f0)) = rdx; 0x004baf07 cmp byte [rsi + 0x1e8], 0 | | if (*((rsi + 0x1e8)) != 0) { 0x004baf0e je 0x4baf34 | 0x004baf10 lea r14, [r15 + 8] | r14 = r15 + 8; 0x004baf14 lea r12, [r15 + 0x28] | r12 = r15 + 0x28; 0x004baf18 lea r13, [r15 + 0x48] | r13 = r15 + 0x48; 0x004baf1c lea rbp, [r15 + 0x68] | rbp = r15 + 0x68; 0x004baf20 lea rsi, [rbx + 0x68] | 0x004baf24 mov rdi, rbp | 0x004baf27 call 0x4b91a0 | BloombergLP::s_baltst::Choice3::Choice3(BloombergLP::s_baltst::Choice3&&,BloombergLP::bslma::Allocator*) (rbp, rbx + 0x68, rdx); 0x004baf2c mov byte [r15 + 0x1e8], 1 | *((r15 + 0x1e8)) = 1; | } 0x004baf34 mov rax, qword [rbx + 0x1f8] | rax = *((rbx + 0x1f8)); 0x004baf3b mov qword [r15 + 0x1f8], rax | *((r15 + 0x1f8)) = rax; 0x004baf42 mov qword [rbx + 0x1f8], 0 | *((rbx + 0x1f8)) = 0; 0x004baf4d add rsp, 8 | 0x004baf51 pop rbx | 0x004baf52 pop r12 | 0x004baf54 pop r13 | 0x004baf56 pop r14 | 0x004baf58 pop r15 | 0x004baf5a pop rbp | 0x004baf5b ret | return rax; | }