; assembly | /* r2dec pseudo code output */ | /* ball_log.t/assume @ 0x49bad0 */ | #include | ; (fcn) method.void_BloombergLP::bslalg::ArrayPrimitives_Imp::copyConstruct_BloombergLP::ball::ManagedAttribute__BloombergLP::ball::ManagedAttribute_const__bsl::allocator_BloombergLP::ball.ManagedAttribute____BloombergLP::ball::ManagedAttribute__BloombergLP::b () | int64_t method_void_BloombergLP::bslalg::ArrayPrimitives_Imp::copyConstruct_BloombergLP::ball::ManagedAttribute_BloombergLP::ball::ManagedAttribute_const_bsl::allocator_BloombergLP::ball_ManagedAttribute_BloombergLP::ball::ManagedAttribute_BloombergLP::b (uint32_t arg4, int64_t arg3, uint32_t arg2, int64_t arg1) { | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* void BloombergLP::bslalg::ArrayPrimitives_Imp::copyConstruct >(BloombergLP::ball::ManagedAttribute*, BloombergLP::ball::ManagedAttribute const*, BloombergLP::ball::ManagedAttribute const*, bsl::allocator, BloombergLP::bslmf::MetaInt<0>*) */ 0x0049bad0 push rbp | 0x0049bad1 push r15 | 0x0049bad3 push r14 | 0x0049bad5 push r13 | 0x0049bad7 push r12 | 0x0049bad9 push rbx | 0x0049bada push rax | 0x0049badb cmp rsi, rdx | | if (rsi == rdx) { 0x0049bade je 0x49bb3d | goto label_0; | } 0x0049bae0 mov r14, rcx | r14 = rcx; 0x0049bae3 mov r15, rdx | r15 = rdx; 0x0049bae6 mov r12, rsi | r12 = rsi; 0x0049bae9 mov rbx, rdi | rbx = rdi; 0x0049baec sub r15, rsi | r15 -= rsi; 0x0049baef xor ebp, ebp | ebp = 0; 0x0049baf1 mov r13, rsp | r13 = rsp; 0x0049baf4 nop word cs:[rax + rax] | 0x0049bafe nop | | do { 0x0049bb00 mov rax, qword [r14] | rax = *(r14); 0x0049bb03 test rax, rax | | if (rax == 0) { 0x0049bb06 jne 0x49bb20 | 0x0049bb08 mov rax, qword [rip + 0x2d82f1] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0049bb0f test rax, rax | | if (rax != 0) { 0x0049bb12 jne 0x49bb20 | goto label_1; | } 0x0049bb14 call 0x4d9ed0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0049bb19 nop dword [rax] | | } | label_1: 0x0049bb20 lea rsi, [r12 + rbp] | 0x0049bb24 lea rdi, [rbx + rbp] | 0x0049bb28 mov qword [rsp], rax | *(rsp) = rax; 0x0049bb2c mov rdx, r13 | 0x0049bb2f call 0x499970 | BloombergLP::ball::ManagedAttribute::ManagedAttribute(BloombergLP::ball::ManagedAttributeconst&,bsl::allocatorconst&) (rbx + rbp, r12 + rbp, r13); 0x0049bb34 sub rbp, 0xffffffffffffff80 | rbp -= 0xffffffffffffff80; 0x0049bb38 cmp r15, rbp | 0x0049bb3b jne 0x49bb00 | | } while (r15 != rbp); | label_0: 0x0049bb3d add rsp, 8 | 0x0049bb41 pop rbx | 0x0049bb42 pop r12 | 0x0049bb44 pop r13 | 0x0049bb46 pop r14 | 0x0049bb48 pop r15 | 0x0049bb4a pop rbp | 0x0049bb4b ret | return rax; | }