; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/none @ 0x4c5ef0 */ | #include | ; (fcn) method.bsl::vector_BloombergLP::s_baltst::Choice1__bsl::allocator_BloombergLP::s_baltst::Choice1___.operator_bsl::vector_BloombergLP::s_baltst::Choice1__bsl::allocator_BloombergLP::s_baltst::Choice1____ () | int64_t method_bsl::vector_BloombergLP::s_baltst::Choice1_bsl::allocator_BloombergLP::s_baltst::Choice1_operator_bsl::vector_BloombergLP::s_baltst::Choice1_bsl::allocator_BloombergLP::s_baltst::Choice1_ (uint32_t arg2, uint32_t arg1) { | uint32_t var_10h; | int64_t var_18h; | rsi = arg2; | rdi = arg1; | /* bsl::vector >::operator=(bsl::vector >&&) */ 0x004c5ef0 push r14 | 0x004c5ef2 push rbx | 0x004c5ef3 sub rsp, 0x28 | 0x004c5ef7 mov rbx, rdi | rbx = rdi; 0x004c5efa cmp rdi, rsi | | if (rdi != rsi) { 0x004c5efd je 0x4c5f5b | 0x004c5eff mov rax, qword [rbx + 0x18] | rax = *((rbx + 0x18)); 0x004c5f03 cmp rax, qword [rsi + 0x18] | | if (rax != *((rsi + 0x18))) { 0x004c5f07 je 0x4c5f25 | 0x004c5f09 lea rdx, [rbx + 0x18] | 0x004c5f0d mov r14, rsp | r14 = rsp; 0x004c5f10 mov rdi, r14 | 0x004c5f13 call 0x4c5e10 | bsl::vector>::vector(bsl::vector>&&,bsl::allocatorconst&) (rsp, rsi, rbx + 0x18); 0x004c5f18 mov rdi, rbx | 0x004c5f1b mov rsi, r14 | 0x004c5f1e call 0x523430 | rax = bsl::Vector_Util::swap(void*,void*) (rbx, r14); 0x004c5f23 jmp 0x4c5f53 | | } else { 0x004c5f25 mov qword [rsp + 0x18], rax | *((rsp + 0x18)) = rax; 0x004c5f2a movups xmm0, xmmword [rsi] | __asm ("movups xmm0, xmmword [rsi]"); 0x004c5f2d movaps xmmword [rsp], xmm0 | *(rsp) = xmm0; 0x004c5f31 mov rax, qword [rsi + 0x10] | rax = *((rsi + 0x10)); 0x004c5f35 mov qword [rsp + 0x10], rax | *((rsp + 0x10)) = rax; 0x004c5f3a xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x004c5f3d movups xmmword [rsi], xmm0 | __asm ("movups xmmword [rsi], xmm0"); 0x004c5f40 mov qword [rsi + 0x10], 0 | *((rsi + 0x10)) = 0; 0x004c5f48 mov rsi, rsp | 0x004c5f4b mov rdi, rbx | 0x004c5f4e call 0x523430 | bsl::Vector_Util::swap(void*,void*) (rbx, rsp); | } 0x004c5f53 mov rdi, rsp | 0x004c5f56 call 0x4c56b0 | bsl::vector>::~vector() (rsp); | } 0x004c5f5b mov rax, rbx | rax = rbx; 0x004c5f5e add rsp, 0x28 | 0x004c5f62 pop rbx | 0x004c5f63 pop r14 | 0x004c5f65 ret | return rax; | }