; assembly | /* r2dec pseudo code output */ | /* ball_attributecontainerlist.t/none @ 0x4137f0 */ | #include | ; (fcn) method.void_BloombergLP::bslalg::RbTreeUtil::copyTree_BloombergLP::bslstl::TreeNodePool_BloombergLP::ball::Attribute__bsl::allocator_BloombergLP::ball.Attribute______BloombergLP::bslalg::RbTreeAnchor__BloombergLP::bslalg::RbTreeAnchor_const__BloombergL () | int64_t method_void_BloombergLP::bslalg::RbTreeUtil::copyTree_BloombergLP::bslstl::TreeNodePool_BloombergLP::ball::Attribute_bsl::allocator_BloombergLP::ball_Attribute_BloombergLP::bslalg::RbTreeAnchor_BloombergLP::bslalg::RbTreeAnchor_const_BloombergL (int64_t arg3, int64_t arg2, int64_t arg1) { | int64_t var_8h; | int64_t var_10h; | int64_t var_18h; | int64_t var_20h; | int64_t var_28h; | int64_t var_30h; | int64_t var_38h; | int64_t var_40h; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* void BloombergLP::bslalg::RbTreeUtil::copyTree > >(BloombergLP::bslalg::RbTreeAnchor*, BloombergLP::bslalg::RbTreeAnchor const&, BloombergLP::bslstl::TreeNodePool >*) */ 0x004137f0 push rbp | 0x004137f1 push r15 | 0x004137f3 push r14 | 0x004137f5 push r13 | 0x004137f7 push r12 | 0x004137f9 push rbx | 0x004137fa sub rsp, 0x48 | 0x004137fe mov rbp, rdi | 0x00413801 mov r14, qword [rsi + 8] | r14 = *((rsi + 8)); 0x00413805 test r14, r14 | | if (r14 == 0) { 0x00413808 je 0x413d92 | goto label_8; | } 0x0041380e mov r13, rdx | r13 = rdx; 0x00413811 mov r15, rsi | r15 = rsi; 0x00413814 mov r12, qword [rdx + 0x10] | r12 = *((rdx + 0x10)); 0x00413818 test r12, r12 | | if (r12 != 0) { 0x0041381b jne 0x413938 | goto label_9; | } 0x00413821 movsxd rax, dword [r13 + 0x18] | rax = *((r13 + 0x18)); 0x00413825 imul rbx, rax, 0x68 | rbx = rax * 0x68; 0x00413829 lea rsi, [rbx + 0x17] | rsi = rbx + 0x17; 0x0041382d and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x00413831 mov rdi, qword [r13] | rdi = *(r13); 0x00413835 mov rax, qword [rdi] | rax = *(rdi); 0x00413838 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041383b mov rcx, rax | rcx = rax; 0x0041383e mov rax, qword [r13 + 8] | rax = *((r13 + 8)); 0x00413842 mov qword [rcx], rax | *(rcx) = rax; 0x00413845 mov qword [r13 + 8], rcx | *((r13 + 8)) = rcx; 0x00413849 lea r12, [rcx + 8] | r12 = rcx + 8; 0x0041384d lea rsi, [rcx + rbx - 0x60] | rsi = rcx + rbx - 0x60; 0x00413852 cmp rsi, r12 | | if (rsi <= r12) { 0x00413855 jbe 0x41391e | goto label_7; | } 0x0041385b add rbx, 0xffffffffffffff97 | rbx += 0xffffffffffffff97; 0x0041385f mov rax, rbx | rax = rbx; 0x00413862 movabs rdx, 0x4ec4ec4ec4ec4ec5 | rdx = 0x4ec4ec4ec4ec4ec5; 0x0041386c mul rdx | rdx:rax = rax * rdx; 0x0041386f shr edx, 5 | edx >>= 5; 0x00413872 inc edx | edx++; 0x00413874 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00413878 je 0x413db4 | goto label_10; | } 0x0041387e add rcx, 0x70 | rcx += 0x70; 0x00413882 neg rdx | rdx = -rdx; 0x00413885 nop word cs:[rax + rax] | 0x0041388f nop | | do { 0x00413890 mov qword [rcx - 0x68], rcx | *((rcx - 0x68)) = rcx; 0x00413894 add rcx, 0x68 | rcx += 0x68; 0x00413898 inc rdx | rdx++; 0x0041389b jne 0x413890 | | } while (rdx != 0); 0x0041389d add rcx, 0xffffffffffffff98 | rcx += 0xffffffffffffff98; 0x004138a1 cmp rbx, 0x2d8 | | if (rbx < 0x2d8) { 0x004138a8 jb 0x41391e | goto label_7; | } 0x004138aa nop word [rax + rax] | | do { | label_6: 0x004138b0 lea rax, [rcx + 0x68] | rax = rcx + 0x68; 0x004138b4 mov qword [rcx], rax | *(rcx) = rax; 0x004138b7 lea rax, [rcx + 0xd0] | rax = rcx + 0xd0; 0x004138be mov qword [rcx + 0x68], rax | *((rcx + 0x68)) = rax; 0x004138c2 lea rax, [rcx + 0x138] | rax = rcx + 0x138; 0x004138c9 mov qword [rcx + 0xd0], rax | *((rcx + 0xd0)) = rax; 0x004138d0 lea rax, [rcx + 0x1a0] | rax = rcx + 0x1a0; 0x004138d7 mov qword [rcx + 0x138], rax | *((rcx + 0x138)) = rax; 0x004138de lea rax, [rcx + 0x208] | rax = rcx + 0x208; 0x004138e5 mov qword [rcx + 0x1a0], rax | *((rcx + 0x1a0)) = rax; 0x004138ec lea rax, [rcx + 0x270] | rax = rcx + 0x270; 0x004138f3 mov qword [rcx + 0x208], rax | *((rcx + 0x208)) = rax; 0x004138fa lea rax, [rcx + 0x2d8] | rax = rcx + 0x2d8; 0x00413901 mov qword [rcx + 0x270], rax | *((rcx + 0x270)) = rax; 0x00413908 lea rax, [rcx + 0x340] | rax = rcx + 0x340; 0x0041390f mov qword [rcx + 0x2d8], rax | *((rcx + 0x2d8)) = rax; 0x00413916 mov rcx, rax | rcx = rax; 0x00413919 cmp rax, rsi | 0x0041391c jb 0x4138b0 | | } while (rax < rsi); | label_7: 0x0041391e mov rax, qword [r13 + 0x10] | rax = *((r13 + 0x10)); 0x00413922 mov qword [rsi], rax | *(rsi) = rax; 0x00413925 mov qword [r13 + 0x10], r12 | *((r13 + 0x10)) = r12; 0x00413929 mov eax, dword [r13 + 0x18] | eax = *((r13 + 0x18)); 0x0041392d cmp eax, 0x1f | | if (eax <= 0x1f) { 0x00413930 jg 0x413938 | 0x00413932 add eax, eax | eax += eax; 0x00413934 mov dword [r13 + 0x18], eax | *((r13 + 0x18)) = eax; | } | label_9: 0x00413938 mov rax, qword [r12] | rax = *(r12); 0x0041393c mov qword [r13 + 0x10], rax | *((r13 + 0x10)) = rax; 0x00413940 mov rdx, qword [r13] | rdx = *(r13); 0x00413944 test rdx, rdx | | if (rdx == 0) { 0x00413947 jne 0x41395d | 0x00413949 mov rdx, qword [rip + 0x246120] | rdx = BloombergLP::bslma::Default::s_defaultAllocator; 0x00413950 test rdx, rdx | | if (rdx != 0) { 0x00413953 jne 0x41395d | goto label_11; | } 0x00413955 call 0x418eb0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x0041395a mov rdx, rax | rdx = rax; | } | label_11: 0x0041395d mov rax, qword [r14 + 0x18] | rax = *((r14 + 0x18)); 0x00413961 mov qword [r12 + 0x18], rax | *((r12 + 0x18)) = rax; 0x00413966 lea rdi, [r12 + 0x20] | 0x0041396b lea rsi, [r14 + 0x20] | 0x0041396f call 0x412610 | BloombergLP::bdlb::VariantImp,bsl::allocator>>>::VariantImp(BloombergLP::bdlb::VariantImp,bsl::allocator>>>const&,BloombergLP::bslma::Allocator*) (r12 + 0x20, r14 + 0x20, rdx); 0x00413974 mov eax, dword [r14 + 0x60] | eax = *((r14 + 0x60)); 0x00413978 mov dword [r12 + 0x60], eax | *((r12 + 0x60)) = eax; 0x0041397d mov eax, dword [r14 + 0x64] | eax = *((r14 + 0x64)); 0x00413981 mov dword [r12 + 0x64], eax | *((r12 + 0x64)) = eax; 0x00413986 mov dword [rsp + 0x40], 1 | *((rsp + 0x40)) = 1; 0x0041398e mov qword [rsp + 0x38], 0 | *((rsp + 0x38)) = 0; 0x00413997 mov qword [rsp + 0x30], r12 | *((rsp + 0x30)) = r12; 0x0041399c lea rax, [rsp + 0x28] | rax = rsp + 0x28; 0x004139a1 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x004139a6 mov qword [rsp + 0x10], r13 | *((rsp + 0x10)) = r13; 0x004139ab mov rax, qword [r14] | rax = *(r14); 0x004139ae and eax, 1 | eax &= 1; 0x004139b1 mov qword [rsp + 0x18], rbp | *((rsp + 0x18)) = rbp; 0x004139b6 or rax, rbp | rax |= rbp; 0x004139b9 mov qword [r12], rax | *(r12) = rax; 0x004139bd xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x004139c0 movups xmmword [r12 + 8], xmm0 | __asm ("movups xmmword [r12 + 8], xmm0"); 0x004139c6 mov qword [rsp + 0x20], r12 | *((rsp + 0x20)) = r12; 0x004139cb jmp 0x4139eb | | while (rbp == 0) { | label_0: 0x004139d0 mov rbp, qword [r14] | rbp = *(r14); 0x004139d3 and rbp, 0xfffffffffffffffe | rbp &= 0xfffffffffffffffe; 0x004139d7 mov r12, qword [r12] | r12 = *(r12); 0x004139db and r12, 0xfffffffffffffffe | r12 &= 0xfffffffffffffffe; | label_1: 0x004139df mov r14, rbp | r14 = rbp; 0x004139e2 cmp r15, rbp | | if (r15 == rbp) { 0x004139e5 je 0x413d5c | goto label_12; | } 0x004139eb mov rbp, qword [r14 + 8] | rbp = *((r14 + 8)); 0x004139ef test rbp, rbp | | if (rbp != 0) { 0x004139f2 je 0x413a00 | 0x004139f4 cmp qword [r12 + 8], 0 | | if (*((r12 + 8)) == 0) { 0x004139fa je 0x413b90 | goto label_13; | } | } 0x00413a00 mov rbp, qword [r14 + 0x10] | rbp = *((r14 + 0x10)); 0x00413a04 test rbp, rbp | 0x00413a07 je 0x4139d0 | | } 0x00413a09 cmp qword [r12 + 0x10], 0 | | if (*((r12 + 0x10)) != 0) { 0x00413a0f jne 0x4139d0 | goto label_0; | } 0x00413a11 mov rbx, qword [r13 + 0x10] | rbx = *((r13 + 0x10)); 0x00413a15 test rbx, rbx | | if (rbx != 0) { 0x00413a18 jne 0x413b38 | goto label_14; | } 0x00413a1e movsxd rax, dword [r13 + 0x18] | rax = *((r13 + 0x18)); 0x00413a22 imul r14, rax, 0x68 | r14 = rax * 0x68; 0x00413a26 lea rsi, [r14 + 0x17] | rsi = r14 + 0x17; 0x00413a2a and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x00413a2e mov rdi, qword [r13] | rdi = *(r13); 0x00413a32 mov rax, qword [rdi] | rax = *(rdi); 0x00413a35 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00413a38 mov rcx, rax | rcx = rax; 0x00413a3b mov rax, qword [r13 + 8] | rax = *((r13 + 8)); 0x00413a3f mov qword [rcx], rax | *(rcx) = rax; 0x00413a42 mov qword [r13 + 8], rcx | *((r13 + 8)) = rcx; 0x00413a46 lea rbx, [rcx + 8] | rbx = rcx + 8; 0x00413a4a lea rsi, [rcx + r14 - 0x60] | rsi = rcx + r14 - 0x60; 0x00413a4f cmp rsi, rbx | | if (rsi <= rbx) { 0x00413a52 jbe 0x413b1e | goto label_5; | } 0x00413a58 add r14, 0xffffffffffffff97 | r14 += 0xffffffffffffff97; 0x00413a5c mov rax, r14 | rax = r14; 0x00413a5f movabs rdx, 0x4ec4ec4ec4ec4ec5 | rdx = 0x4ec4ec4ec4ec4ec5; 0x00413a69 mul rdx | rdx:rax = rax * rdx; 0x00413a6c shr edx, 5 | edx >>= 5; 0x00413a6f inc edx | edx++; 0x00413a71 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00413a75 je 0x413d47 | goto label_15; | } 0x00413a7b add rcx, 0x70 | rcx += 0x70; 0x00413a7f neg rdx | rdx = -rdx; 0x00413a82 nop word cs:[rax + rax] | 0x00413a8c nop dword [rax] | | do { 0x00413a90 mov qword [rcx - 0x68], rcx | *((rcx - 0x68)) = rcx; 0x00413a94 add rcx, 0x68 | rcx += 0x68; 0x00413a98 inc rdx | rdx++; 0x00413a9b jne 0x413a90 | | } while (rdx != 0); 0x00413a9d add rcx, 0xffffffffffffff98 | rcx += 0xffffffffffffff98; 0x00413aa1 cmp r14, 0x2d8 | | if (r14 < 0x2d8) { 0x00413aa8 jb 0x413b1e | goto label_5; | } 0x00413aaa nop word [rax + rax] | | do { | label_4: 0x00413ab0 lea rax, [rcx + 0x68] | rax = rcx + 0x68; 0x00413ab4 mov qword [rcx], rax | *(rcx) = rax; 0x00413ab7 lea rax, [rcx + 0xd0] | rax = rcx + 0xd0; 0x00413abe mov qword [rcx + 0x68], rax | *((rcx + 0x68)) = rax; 0x00413ac2 lea rax, [rcx + 0x138] | rax = rcx + 0x138; 0x00413ac9 mov qword [rcx + 0xd0], rax | *((rcx + 0xd0)) = rax; 0x00413ad0 lea rax, [rcx + 0x1a0] | rax = rcx + 0x1a0; 0x00413ad7 mov qword [rcx + 0x138], rax | *((rcx + 0x138)) = rax; 0x00413ade lea rax, [rcx + 0x208] | rax = rcx + 0x208; 0x00413ae5 mov qword [rcx + 0x1a0], rax | *((rcx + 0x1a0)) = rax; 0x00413aec lea rax, [rcx + 0x270] | rax = rcx + 0x270; 0x00413af3 mov qword [rcx + 0x208], rax | *((rcx + 0x208)) = rax; 0x00413afa lea rax, [rcx + 0x2d8] | rax = rcx + 0x2d8; 0x00413b01 mov qword [rcx + 0x270], rax | *((rcx + 0x270)) = rax; 0x00413b08 lea rax, [rcx + 0x340] | rax = rcx + 0x340; 0x00413b0f mov qword [rcx + 0x2d8], rax | *((rcx + 0x2d8)) = rax; 0x00413b16 mov rcx, rax | rcx = rax; 0x00413b19 cmp rax, rsi | 0x00413b1c jb 0x413ab0 | | } while (rax < rsi); | label_5: 0x00413b1e mov rax, qword [r13 + 0x10] | rax = *((r13 + 0x10)); 0x00413b22 mov qword [rsi], rax | *(rsi) = rax; 0x00413b25 mov qword [r13 + 0x10], rbx | *((r13 + 0x10)) = rbx; 0x00413b29 mov eax, dword [r13 + 0x18] | eax = *((r13 + 0x18)); 0x00413b2d cmp eax, 0x1f | | if (eax <= 0x1f) { 0x00413b30 jg 0x413b38 | 0x00413b32 add eax, eax | eax += eax; 0x00413b34 mov dword [r13 + 0x18], eax | *((r13 + 0x18)) = eax; | } | label_14: 0x00413b38 mov rax, qword [rbx] | rax = *(rbx); 0x00413b3b mov qword [r13 + 0x10], rax | *((r13 + 0x10)) = rax; 0x00413b3f mov rdx, qword [r13] | rdx = *(r13); 0x00413b43 test rdx, rdx | | if (rdx == 0) { 0x00413b46 jne 0x413b5c | 0x00413b48 mov rdx, qword [rip + 0x245f21] | rdx = BloombergLP::bslma::Default::s_defaultAllocator; 0x00413b4f test rdx, rdx | | if (rdx != 0) { 0x00413b52 jne 0x413b5c | goto label_16; | } 0x00413b54 call 0x418eb0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x00413b59 mov rdx, rax | rdx = rax; | } | label_16: 0x00413b5c mov rax, qword [rbp + 0x18] | rax = *((rbp + 0x18)); 0x00413b60 mov qword [rbx + 0x18], rax | *((rbx + 0x18)) = rax; 0x00413b64 lea rdi, [rbx + 0x20] | 0x00413b68 lea rsi, [rbp + 0x20] | 0x00413b6c call 0x412610 | BloombergLP::bdlb::VariantImp,bsl::allocator>>>::VariantImp(BloombergLP::bdlb::VariantImp,bsl::allocator>>>const&,BloombergLP::bslma::Allocator*) (rbx + 0x20, rbp + 0x20, rdx); 0x00413b71 mov eax, dword [rbp + 0x60] | eax = *((rbp + 0x60)); 0x00413b74 mov dword [rbx + 0x60], eax | *((rbx + 0x60)) = eax; 0x00413b77 mov eax, dword [rbp + 0x64] | eax = *((rbp + 0x64)); 0x00413b7a mov dword [rbx + 0x64], eax | *((rbx + 0x64)) = eax; 0x00413b7d mov qword [r12 + 0x10], rbx | *((r12 + 0x10)) = rbx; 0x00413b82 jmp 0x413d16 | goto label_17; | label_13: 0x00413b90 mov rbx, qword [r13 + 0x10] | rbx = *((r13 + 0x10)); 0x00413b94 test rbx, rbx | | if (rbx != 0) { 0x00413b97 jne 0x413cc0 | goto label_18; | } 0x00413b9d movsxd rax, dword [r13 + 0x18] | rax = *((r13 + 0x18)); 0x00413ba1 imul r14, rax, 0x68 | r14 = rax * 0x68; 0x00413ba5 lea rsi, [r14 + 0x17] | rsi = r14 + 0x17; 0x00413ba9 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x00413bad mov rdi, qword [r13] | rdi = *(r13); 0x00413bb1 mov rax, qword [rdi] | rax = *(rdi); 0x00413bb4 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00413bb7 mov rcx, rax | rcx = rax; 0x00413bba mov rax, qword [r13 + 8] | rax = *((r13 + 8)); 0x00413bbe mov qword [rcx], rax | *(rcx) = rax; 0x00413bc1 mov qword [r13 + 8], rcx | *((r13 + 8)) = rcx; 0x00413bc5 lea rbx, [rcx + 8] | rbx = rcx + 8; 0x00413bc9 lea rsi, [rcx + r14 - 0x60] | rsi = rcx + r14 - 0x60; 0x00413bce cmp rsi, rbx | | if (rsi <= rbx) { 0x00413bd1 jbe 0x413c9e | goto label_3; | } 0x00413bd7 add r14, 0xffffffffffffff97 | r14 += 0xffffffffffffff97; 0x00413bdb mov rax, r14 | rax = r14; 0x00413bde movabs rdx, 0x4ec4ec4ec4ec4ec5 | rdx = 0x4ec4ec4ec4ec4ec5; 0x00413be8 mul rdx | rdx:rax = rax * rdx; 0x00413beb shr edx, 5 | edx >>= 5; 0x00413bee inc edx | edx++; 0x00413bf0 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00413bf4 je 0x413d32 | goto label_19; | } 0x00413bfa add rcx, 0x70 | rcx += 0x70; 0x00413bfe neg rdx | rdx = -rdx; 0x00413c01 nop word cs:[rax + rax] | 0x00413c0b nop dword [rax + rax] | | do { 0x00413c10 mov qword [rcx - 0x68], rcx | *((rcx - 0x68)) = rcx; 0x00413c14 add rcx, 0x68 | rcx += 0x68; 0x00413c18 inc rdx | rdx++; 0x00413c1b jne 0x413c10 | | } while (rdx != 0); 0x00413c1d add rcx, 0xffffffffffffff98 | rcx += 0xffffffffffffff98; 0x00413c21 cmp r14, 0x2d8 | | if (r14 < 0x2d8) { 0x00413c28 jb 0x413c9e | goto label_3; | } 0x00413c2a nop word [rax + rax] | | do { | label_2: 0x00413c30 lea rax, [rcx + 0x68] | rax = rcx + 0x68; 0x00413c34 mov qword [rcx], rax | *(rcx) = rax; 0x00413c37 lea rax, [rcx + 0xd0] | rax = rcx + 0xd0; 0x00413c3e mov qword [rcx + 0x68], rax | *((rcx + 0x68)) = rax; 0x00413c42 lea rax, [rcx + 0x138] | rax = rcx + 0x138; 0x00413c49 mov qword [rcx + 0xd0], rax | *((rcx + 0xd0)) = rax; 0x00413c50 lea rax, [rcx + 0x1a0] | rax = rcx + 0x1a0; 0x00413c57 mov qword [rcx + 0x138], rax | *((rcx + 0x138)) = rax; 0x00413c5e lea rax, [rcx + 0x208] | rax = rcx + 0x208; 0x00413c65 mov qword [rcx + 0x1a0], rax | *((rcx + 0x1a0)) = rax; 0x00413c6c lea rax, [rcx + 0x270] | rax = rcx + 0x270; 0x00413c73 mov qword [rcx + 0x208], rax | *((rcx + 0x208)) = rax; 0x00413c7a lea rax, [rcx + 0x2d8] | rax = rcx + 0x2d8; 0x00413c81 mov qword [rcx + 0x270], rax | *((rcx + 0x270)) = rax; 0x00413c88 lea rax, [rcx + 0x340] | rax = rcx + 0x340; 0x00413c8f mov qword [rcx + 0x2d8], rax | *((rcx + 0x2d8)) = rax; 0x00413c96 mov rcx, rax | rcx = rax; 0x00413c99 cmp rax, rsi | 0x00413c9c jb 0x413c30 | | } while (rax < rsi); | label_3: 0x00413c9e mov rax, qword [r13 + 0x10] | rax = *((r13 + 0x10)); 0x00413ca2 mov qword [rsi], rax | *(rsi) = rax; 0x00413ca5 mov qword [r13 + 0x10], rbx | *((r13 + 0x10)) = rbx; 0x00413ca9 mov eax, dword [r13 + 0x18] | eax = *((r13 + 0x18)); 0x00413cad cmp eax, 0x1f | | if (eax <= 0x1f) { 0x00413cb0 jg 0x413cc0 | 0x00413cb2 add eax, eax | eax += eax; 0x00413cb4 mov dword [r13 + 0x18], eax | *((r13 + 0x18)) = eax; 0x00413cb8 nop dword [rax + rax] | | } | label_18: 0x00413cc0 mov rax, qword [rbx] | rax = *(rbx); 0x00413cc3 mov qword [r13 + 0x10], rax | *((r13 + 0x10)) = rax; 0x00413cc7 mov rdx, qword [r13] | rdx = *(r13); 0x00413ccb test rdx, rdx | | if (rdx == 0) { 0x00413cce jne 0x413cf0 | 0x00413cd0 mov rdx, qword [rip + 0x245d99] | rdx = BloombergLP::bslma::Default::s_defaultAllocator; 0x00413cd7 test rdx, rdx | | if (rdx != 0) { 0x00413cda jne 0x413cf0 | goto label_20; | } 0x00413cdc call 0x418eb0 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x00413ce1 mov rdx, rax | rdx = rax; 0x00413ce4 nop word cs:[rax + rax] | 0x00413cee nop | | } | label_20: 0x00413cf0 mov rax, qword [rbp + 0x18] | rax = *((rbp + 0x18)); 0x00413cf4 mov qword [rbx + 0x18], rax | *((rbx + 0x18)) = rax; 0x00413cf8 lea rdi, [rbx + 0x20] | 0x00413cfc lea rsi, [rbp + 0x20] | 0x00413d00 call 0x412610 | BloombergLP::bdlb::VariantImp,bsl::allocator>>>::VariantImp(BloombergLP::bdlb::VariantImp,bsl::allocator>>>const&,BloombergLP::bslma::Allocator*) (rbx + 0x20, rbp + 0x20, rdx); 0x00413d05 mov eax, dword [rbp + 0x60] | eax = *((rbp + 0x60)); 0x00413d08 mov dword [rbx + 0x60], eax | *((rbx + 0x60)) = eax; 0x00413d0b mov eax, dword [rbp + 0x64] | eax = *((rbp + 0x64)); 0x00413d0e mov dword [rbx + 0x64], eax | *((rbx + 0x64)) = eax; 0x00413d11 mov qword [r12 + 8], rbx | *((r12 + 8)) = rbx; | label_17: 0x00413d16 mov rax, qword [rbp] | rax = *(rbp); 0x00413d1a and eax, 1 | eax &= 1; 0x00413d1d or rax, r12 | rax |= r12; 0x00413d20 mov qword [rbx], rax | *(rbx) = rax; 0x00413d23 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x00413d26 movups xmmword [rbx + 8], xmm0 | __asm ("movups xmmword [rbx + 8], xmm0"); 0x00413d2a mov r12, rbx | r12 = rbx; 0x00413d2d jmp 0x4139df | goto label_1; | label_19: 0x00413d32 mov rcx, rbx | rcx = rbx; 0x00413d35 cmp r14, 0x2d8 | | if (r14 >= 0x2d8) { 0x00413d3c jae 0x413c30 | goto label_2; | } 0x00413d42 jmp 0x413c9e | goto label_3; | label_15: 0x00413d47 mov rcx, rbx | rcx = rbx; 0x00413d4a cmp r14, 0x2d8 | | if (r14 >= 0x2d8) { 0x00413d51 jae 0x413ab0 | goto label_4; | } 0x00413d57 jmp 0x413b1e | goto label_5; | label_12: 0x00413d5c mov qword [rsp + 8], 0 | *((rsp + 8)) = 0; 0x00413d65 mov rbx, qword [rsp + 0x20] | rbx = *((rsp + 0x20)); 0x00413d6a mov rdi, rbx | 0x00413d6d call 0x4176c0 | rax = BloombergLP::bslalg::RbTreeUtil::leftmost(BloombergLP::bslalg::RbTreeNodeconst*) (*((rsp + 0x20))); 0x00413d72 mov ecx, dword [r15 + 0x18] | ecx = *((r15 + 0x18)); 0x00413d76 mov rdx, qword [rsp + 0x18] | rdx = *((rsp + 0x18)); 0x00413d7b mov qword [rdx + 8], rbx | *((rdx + 8)) = rbx; 0x00413d7f mov qword [rdx + 0x10], rax | *((rdx + 0x10)) = rax; 0x00413d83 mov dword [rdx + 0x18], ecx | *((rdx + 0x18)) = ecx; 0x00413d86 lea rdi, [rsp + 8] | 0x00413d8b call 0x413e10 | BloombergLP::bslalg::RbTreeUtilTreeProctor>>::~RbTreeUtilTreeProctor() (rsp + 8); 0x00413d90 jmp 0x413da5 | goto label_21; | label_8: 0x00413d92 mov qword [rbp + 8], 0 | *((rbp + 8)) = 0; 0x00413d9a mov qword [rbp + 0x10], rbp | *((rbp + 0x10)) = rbp; 0x00413d9e mov dword [rbp + 0x18], 0 | *((rbp + 0x18)) = 0; | label_21: 0x00413da5 add rsp, 0x48 | 0x00413da9 pop rbx | 0x00413daa pop r12 | 0x00413dac pop r13 | 0x00413dae pop r14 | 0x00413db0 pop r15 | 0x00413db2 pop rbp | 0x00413db3 ret | return rax; | label_10: 0x00413db4 mov rcx, r12 | rcx = r12; 0x00413db7 cmp rbx, 0x2d8 | | if (rbx >= 0x2d8) { 0x00413dbe jae 0x4138b0 | goto label_6; | } 0x00413dc4 jmp 0x41391e | goto label_7; | }