; assembly | /* r2dec pseudo code output */ | /* ball_defaultattributecontainer.t/none @ 0x417750 */ | #include | ; (fcn) method.void_BloombergLP::bslalg::ArrayPrimitives_Imp::moveIfNoexcept_BloombergLP::ball::Attribute__bsl::allocator_BloombergLP::ball.Attribute____BloombergLP::ball::Attribute__BloombergLP::ball::Attribute__BloombergLP::ball::Attribute__bsl::allocator_B () | int64_t method_void_BloombergLP::bslalg::ArrayPrimitives_Imp::moveIfNoexcept_BloombergLP::ball::Attribute_bsl::allocator_BloombergLP::ball_Attribute_BloombergLP::ball::Attribute_BloombergLP::ball::Attribute_BloombergLP::ball::Attribute_bsl::allocator_B (int64_t arg4, int64_t arg3, uint32_t arg2, int64_t arg1) { | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* void BloombergLP::bslalg::ArrayPrimitives_Imp::moveIfNoexcept >(BloombergLP::ball::Attribute*, BloombergLP::ball::Attribute*, BloombergLP::ball::Attribute*, bsl::allocator, BloombergLP::bslmf::MetaInt<0>*) */ 0x00417750 push rbp | 0x00417751 push r15 | 0x00417753 push r14 | 0x00417755 push r13 | 0x00417757 push r12 | 0x00417759 push rbx | 0x0041775a push rax | 0x0041775b mov qword [rsp], rcx | *(rsp) = rcx; 0x0041775f cmp rsi, rdx | | if (rsi == rdx) { 0x00417762 je 0x4177c7 | goto label_0; | } 0x00417764 mov r15, rdx | r15 = rdx; 0x00417767 mov r12, rsi | r12 = rsi; 0x0041776a mov r13, rdi | r13 = rdi; 0x0041776d xor r14d, r14d | r14d = 0; | do { 0x00417770 mov rax, qword [rsp] | rax = *(rsp); 0x00417774 mov rdx, qword [rax] | rdx = *(rax); 0x00417777 test rdx, rdx | | if (rdx == 0) { 0x0041777a jne 0x417790 | 0x0041777c mov rdx, qword [rip + 0x2465ad] | rdx = BloombergLP::bslma::Default::s_defaultAllocator; 0x00417783 test rdx, rdx | | if (rdx != 0) { 0x00417786 jne 0x417790 | goto label_1; | } 0x00417788 call 0x41b110 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0041778d mov rdx, rax | rdx = rax; | } | label_1: 0x00417790 mov rax, qword [r12 + r14] | rax = *((r12 + r14)); 0x00417794 mov qword [r13 + r14], rax | *((r13 + r14)) = rax; 0x00417799 lea rbx, [r12 + r14 + 8] | rbx = r12 + r14 + 8; 0x0041779e lea rbp, [r13 + r14 + 8] | rbp = r13 + r14 + 8; 0x004177a3 mov rdi, rbp | 0x004177a6 mov rsi, rbx | 0x004177a9 call 0x4166a0 | BloombergLP::bdlb::VariantImp,bsl::allocator>>>::VariantImp(BloombergLP::bdlb::VariantImp,bsl::allocator>>>const&,BloombergLP::bslma::Allocator*) (rbp, rbx, rdx); 0x004177ae mov eax, dword [rbx + 0x40] | eax = *((rbx + 0x40)); 0x004177b1 mov dword [rbp + 0x40], eax | *((rbp + 0x40)) = eax; 0x004177b4 mov eax, dword [rbx + 0x44] | eax = *((rbx + 0x44)); 0x004177b7 mov dword [rbp + 0x44], eax | *((rbp + 0x44)) = eax; 0x004177ba add r14, 0x50 | r14 += 0x50; 0x004177be add rbx, 0x48 | rbx += 0x48; 0x004177c2 cmp rbx, r15 | 0x004177c5 jne 0x417770 | | } while (rbx != r15); | label_0: 0x004177c7 add rsp, 8 | 0x004177cb pop rbx | 0x004177cc pop r12 | 0x004177ce pop r13 | 0x004177d0 pop r14 | 0x004177d2 pop r15 | 0x004177d4 pop rbp | 0x004177d5 ret | return rax; | }