; assembly | /* r2dec pseudo code output */ | /* bslstl_hashtablebucketiterator.t/none @ 0x41a440 */ | #include | ; (fcn) sym._anonymous_namespace_::BucketsWrapper_char_const_::BucketsWrapper_int__int__BloombergLP::bslma::Allocator_ () | int64_t anonymous_namespace_::BucketsWrapper_char_const_::BucketsWrapper_int_int_BloombergLP::bslma::Allocator_ (int64_t arg4, signed int64_t arg3, int64_t arg2, uint32_t arg1) { | uint32_t var_4h; | int64_t var_8h; | signed int64_t var_10h; | int64_t var_18h; | int64_t var_20h; | int64_t var_28h; | uint32_t var_30h; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* (anonymous namespace)::BucketsWrapper::BucketsWrapper(int, int, BloombergLP::bslma::Allocator*) */ 0x0041a440 push rbp | 0x0041a441 push r15 | 0x0041a443 push r14 | 0x0041a445 push r13 | 0x0041a447 push r12 | 0x0041a449 push rbx | 0x0041a44a sub rsp, 0x38 | 0x0041a44e mov rbp, rcx | 0x0041a451 mov r14d, esi | r14d = esi; 0x0041a454 mov r15, rdi | r15 = rdi; 0x0041a457 mov dword [rdi], esi | *(rdi) = esi; 0x0041a459 mov qword [rsp + 0x10], rdx | *((rsp + 0x10)) = rdx; 0x0041a45e mov dword [rdi + 4], edx | *((rdi + 4)) = edx; 0x0041a461 mov rax, rcx | rax = rcx; 0x0041a464 test rcx, rcx | | if (rcx == 0) { 0x0041a467 jne 0x41a47a | 0x0041a469 mov rax, qword [rip + 0x211098] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0041a470 test rax, rax | | if (rax != 0) { 0x0041a473 jne 0x41a47a | goto label_9; | } 0x0041a475 call 0x420e30 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_9: 0x0041a47a mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041a47e lea rax, [r15 + 0x18] | rax = r15 + 0x18; 0x0041a482 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041a487 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0041a48a movups xmmword [r15 + 0x18], xmm0 | __asm ("movups xmmword [r15 + 0x18], xmm0"); 0x0041a48f mov dword [r15 + 0x28], 1 | *((r15 + 0x28)) = 1; 0x0041a497 mov qword [r15 + 0x30], rbp | *((r15 + 0x30)) = rbp; 0x0041a49b movsxd rsi, r14d | rsi = (int64_t) r14d; 0x0041a49e shl rsi, 4 | rsi <<= 4; 0x0041a4a2 mov rax, qword [rbp] | rax = *(rbp); 0x0041a4a6 mov rdi, rbp | rdi = rbp; 0x0041a4a9 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041a4ac mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041a4b0 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041a4b5 xor edi, edi | 0x0041a4b7 call 0x420e20 | rax = BloombergLP::bsltf::TemplateTestFacility::nullTerminatedStringForIdentifier(int) (0); 0x0041a4bc mov r12, rax | r12 = rax; 0x0041a4bf mov rdi, qword [r15 + 0x20] | rdi = *((r15 + 0x20)); 0x0041a4c3 test rdi, rdi | | if (rdi != 0) { 0x0041a4c6 jne 0x41a5d1 | goto label_10; | } 0x0041a4cc movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x0041a4d0 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x0041a4d4 lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x0041a4dc and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041a4e0 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041a4e4 mov rax, qword [rdi] | rax = *(rdi); 0x0041a4e7 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041a4ea mov rcx, rax | rcx = rax; 0x0041a4ed mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041a4f2 mov rax, qword [rdx] | rax = *(rdx); 0x0041a4f5 mov qword [rcx], rax | *(rcx) = rax; 0x0041a4f8 mov qword [rdx], rcx | *(rdx) = rcx; 0x0041a4fb lea rdi, [rcx + 8] | rdi = rcx + 8; 0x0041a4ff lea rbp, [rcx + rbx*8 - 0x10] | rbp = rcx + rbx*8 - 0x10; 0x0041a504 cmp rbp, rdi | | if (rbp <= rdi) { 0x0041a507 jbe 0x41a5b6 | goto label_8; | } 0x0041a50d lea rsi, [rbx*8 - 0x19] | rsi = rbx*8 - 0x19; 0x0041a515 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041a51f mov rax, rsi | rax = rsi; 0x0041a522 mul rdx | rdx:rax = rax * rdx; 0x0041a525 shr edx, 4 | edx >>= 4; 0x0041a528 inc edx | edx++; 0x0041a52a and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a52e je 0x41a993 | goto label_11; | } 0x0041a534 add rcx, 0x20 | rcx += 0x20; 0x0041a538 neg rdx | rdx = -rdx; 0x0041a53b nop dword [rax + rax] | | do { 0x0041a540 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041a544 add rcx, 0x18 | rcx += 0x18; 0x0041a548 inc rdx | rdx++; 0x0041a54b jne 0x41a540 | | } while (rdx != 0); 0x0041a54d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041a551 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041a558 jb 0x41a5b6 | goto label_8; | } 0x0041a55a nop word [rax + rax] | | do { | label_7: 0x0041a560 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041a564 mov qword [rcx], rax | *(rcx) = rax; 0x0041a567 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041a56b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041a56f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041a573 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041a577 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041a57b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041a57f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041a583 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041a587 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041a58e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041a592 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041a599 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041a5a0 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041a5a7 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041a5ae mov rcx, rax | rcx = rax; 0x0041a5b1 cmp rax, rbp | 0x0041a5b4 jb 0x41a560 | | } while (rax < rbp); | label_8: 0x0041a5b6 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x0041a5ba mov qword [rbp], rax | *(rbp) = rax; 0x0041a5be mov qword [r15 + 0x20], rdi | *((r15 + 0x20)) = rdi; 0x0041a5c2 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x0041a5c6 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041a5c9 jg 0x41a5d1 | 0x0041a5cb add eax, eax | eax += eax; 0x0041a5cd mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_10: 0x0041a5d1 mov rax, qword [rdi] | rax = *(rdi); 0x0041a5d4 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x0041a5d8 mov qword [rdi + 0x10], r12 | *((rdi + 0x10)) = r12; 0x0041a5dc mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a5e0 mov qword [rax], rdi | *(rax) = rdi; 0x0041a5e3 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a5e7 mov rax, qword [rax] | rax = *(rax); 0x0041a5ea mov qword [rax], 0 | *(rax) = 0; 0x0041a5f1 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a5f5 mov rax, qword [rax] | rax = *(rax); 0x0041a5f8 mov qword [rax + 8], 0 | *((rax + 8)) = 0; 0x0041a600 test r14d, r14d | | if (r14d <= 0) { 0x0041a603 jle 0x41a984 | goto label_12; | } 0x0041a609 mov rax, qword [rsp + 0x10] | rax = *((rsp + 0x10)); 0x0041a60e dec eax | eax--; 0x0041a610 mov qword [rsp + 0x18], rax | *((rsp + 0x18)) = rax; 0x0041a615 mov eax, r14d | eax = r14d; 0x0041a618 mov qword [rsp + 0x30], rax | *((rsp + 0x30)) = rax; 0x0041a61d mov r12d, 1 | r12d = 1; 0x0041a623 xor ebp, ebp | ebp = 0; 0x0041a625 jmp 0x41a65b | goto label_13; | label_2: 0x0041a630 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a634 mov r13, rbp | r13 = rbp; 0x0041a637 mov ecx, dword [rsp + 4] | ecx = *((rsp + 4)); 0x0041a63b mov r12d, ecx | r12d = *((rsp + 4)); 0x0041a63e mov rbp, qword [rsp + 0x28] | rbp = *((rsp + 0x28)); 0x0041a643 mov rcx, qword [rsp + 0x20] | rcx = *((rsp + 0x20)); | label_0: 0x0041a648 mov qword [rax + rcx + 8], r13 | *((rax + rcx + 8)) = r13; 0x0041a64d inc rbp | rbp++; 0x0041a650 cmp rbp, qword [rsp + 0x30] | | if (rbp == *((rsp + 0x30))) { 0x0041a655 je 0x41a984 | goto label_12; | } | label_13: 0x0041a65b test rbp, rbp | | if (rbp == 0) { 0x0041a65e je 0x41a7d6 | goto label_14; | } 0x0041a664 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041a669 mov edi, r12d | 0x0041a66c call 0x420e20 | rax = BloombergLP::bsltf::TemplateTestFacility::nullTerminatedStringForIdentifier(int) (r12d); 0x0041a671 mov r14, rax | r14 = rax; 0x0041a674 mov rdi, qword [r15 + 0x20] | rdi = *((r15 + 0x20)); 0x0041a678 test rdi, rdi | | if (rdi != 0) { 0x0041a67b jne 0x41a7a0 | goto label_15; | } 0x0041a681 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x0041a685 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x0041a689 lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x0041a691 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041a695 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041a699 mov rax, qword [rdi] | rax = *(rdi); 0x0041a69c call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041a69f mov rcx, rax | rcx = rax; 0x0041a6a2 mov r8, rbp | r8 = rbp; 0x0041a6a5 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041a6aa mov rax, qword [rdx] | rax = *(rdx); 0x0041a6ad mov qword [rcx], rax | *(rcx) = rax; 0x0041a6b0 mov qword [rdx], rcx | *(rdx) = rcx; 0x0041a6b3 lea rdi, [rcx + 8] | rdi = rcx + 8; 0x0041a6b7 lea rbp, [rcx + rbx*8 - 0x10] | rbp = rcx + rbx*8 - 0x10; 0x0041a6bc cmp rbp, rdi | | if (rbp <= rdi) { 0x0041a6bf jbe 0x41a776 | goto label_6; | } 0x0041a6c5 lea rsi, [rbx*8 - 0x19] | rsi = rbx*8 - 0x19; 0x0041a6cd mov rax, rsi | rax = rsi; 0x0041a6d0 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041a6da mul rdx | rdx:rax = rax * rdx; 0x0041a6dd shr edx, 4 | edx >>= 4; 0x0041a6e0 inc edx | edx++; 0x0041a6e2 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a6e6 je 0x41a96f | goto label_16; | } 0x0041a6ec add rcx, 0x20 | rcx += 0x20; 0x0041a6f0 neg rdx | rdx = -rdx; 0x0041a6f3 nop word cs:[rax + rax] | 0x0041a6fd nop dword [rax] | | do { 0x0041a700 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041a704 add rcx, 0x18 | rcx += 0x18; 0x0041a708 inc rdx | rdx++; 0x0041a70b jne 0x41a700 | | } while (rdx != 0); 0x0041a70d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041a711 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041a718 jb 0x41a776 | goto label_6; | } 0x0041a71a nop word [rax + rax] | | do { | label_5: 0x0041a720 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041a724 mov qword [rcx], rax | *(rcx) = rax; 0x0041a727 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041a72b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041a72f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041a733 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041a737 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041a73b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041a73f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041a743 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041a747 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041a74e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041a752 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041a759 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041a760 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041a767 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041a76e mov rcx, rax | rcx = rax; 0x0041a771 cmp rax, rbp | 0x0041a774 jb 0x41a720 | | } while (rax < rbp); | label_6: 0x0041a776 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x0041a77a mov qword [rbp], rax | *(rbp) = rax; 0x0041a77e mov qword [r15 + 0x20], rdi | *((r15 + 0x20)) = rdi; 0x0041a782 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x0041a786 cmp eax, 0x1f | 0x0041a789 mov rbp, r8 | | if (eax <= 0x1f) { 0x0041a78c jg 0x41a7a0 | 0x0041a78e add eax, eax | eax += eax; 0x0041a790 mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; 0x0041a794 nop word cs:[rax + rax] | 0x0041a79e nop | | } | label_15: 0x0041a7a0 mov rax, qword [rdi] | rax = *(rdi); 0x0041a7a3 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x0041a7a7 mov qword [rdi + 0x10], r14 | *((rdi + 0x10)) = r14; 0x0041a7ab mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a7af mov rcx, rbp | rcx = rbp; 0x0041a7b2 shl rcx, 4 | rcx <<= 4; 0x0041a7b6 mov qword [rax + rcx], rdi | *((rax + rcx)) = rdi; 0x0041a7ba mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a7be mov rdi, qword [rax + rcx] | 0x0041a7c2 lea ecx, [rbp - 1] | ecx = rbp - 1; 0x0041a7c5 shl rcx, 4 | rcx <<= 4; 0x0041a7c9 mov rsi, qword [rax + rcx + 8] | 0x0041a7ce call 0x4204b0 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (*((rax + rcx)), *((rax + rcx + 8))); 0x0041a7d3 inc r12d | r12d++; | label_14: 0x0041a7d6 mov rcx, rbp | rcx = rbp; 0x0041a7d9 shl rcx, 4 | rcx <<= 4; 0x0041a7dd mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a7e1 mov r13, qword [rax + rcx] | r13 = *((rax + rcx)); 0x0041a7e5 cmp dword [rsp + 0x10], 2 | | if (*((rsp + 0x10)) < 2) { 0x0041a7ea jl 0x41a648 | goto label_0; | } 0x0041a7f0 mov qword [rsp + 0x20], rcx | *((rsp + 0x20)) = rcx; 0x0041a7f5 mov qword [rsp + 0x28], rbp | *((rsp + 0x28)) = rbp; 0x0041a7fa mov rax, qword [rsp + 0x18] | rax = *((rsp + 0x18)); 0x0041a7ff add eax, r12d | eax += r12d; 0x0041a802 mov dword [rsp + 4], eax | *((rsp + 4)) = eax; 0x0041a806 nop word cs:[rax + rax] | | label_1: 0x0041a810 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041a815 mov edi, r12d | 0x0041a818 call 0x420e20 | rax = BloombergLP::bsltf::TemplateTestFacility::nullTerminatedStringForIdentifier(int) (r12d); 0x0041a81d mov rbx, rax | rbx = rax; 0x0041a820 mov rbp, qword [r15 + 0x20] | rbp = *((r15 + 0x20)); 0x0041a824 test rbp, rbp | | if (rbp != 0) { 0x0041a827 jne 0x41a930 | goto label_17; | } 0x0041a82d movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x0041a831 lea r14, [rax + rax*2] | r14 = rax * 3; 0x0041a835 lea rsi, [r14*8 + 0x17] | rsi = r14*8 + 0x17; 0x0041a83d and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041a841 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041a845 mov rax, qword [rdi] | rax = *(rdi); 0x0041a848 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041a84b mov rcx, rax | rcx = rax; 0x0041a84e mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041a853 mov rax, qword [rdx] | rax = *(rdx); 0x0041a856 mov qword [rcx], rax | *(rcx) = rax; 0x0041a859 mov qword [rdx], rcx | *(rdx) = rcx; 0x0041a85c lea rbp, [rcx + 8] | rbp = rcx + 8; 0x0041a860 lea rdi, [rcx + r14*8 - 0x10] | rdi = rcx + r14*8 - 0x10; 0x0041a865 cmp rdi, rbp | | if (rdi <= rbp) { 0x0041a868 jbe 0x41a916 | goto label_4; | } 0x0041a86e lea rsi, [r14*8 - 0x19] | rsi = r14*8 - 0x19; 0x0041a876 mov rax, rsi | rax = rsi; 0x0041a879 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041a883 mul rdx | rdx:rax = rax * rdx; 0x0041a886 shr edx, 4 | edx >>= 4; 0x0041a889 inc edx | edx++; 0x0041a88b and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a88f je 0x41a95d | goto label_18; | } 0x0041a895 add rcx, 0x20 | rcx += 0x20; 0x0041a899 neg rdx | rdx = -rdx; 0x0041a89c nop dword [rax] | | do { 0x0041a8a0 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041a8a4 add rcx, 0x18 | rcx += 0x18; 0x0041a8a8 inc rdx | rdx++; 0x0041a8ab jne 0x41a8a0 | | } while (rdx != 0); 0x0041a8ad add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041a8b1 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041a8b8 jb 0x41a916 | goto label_4; | } 0x0041a8ba nop word [rax + rax] | | do { | label_3: 0x0041a8c0 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041a8c4 mov qword [rcx], rax | *(rcx) = rax; 0x0041a8c7 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041a8cb mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041a8cf lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041a8d3 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041a8d7 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041a8db mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041a8df lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041a8e3 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041a8e7 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041a8ee mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041a8f2 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041a8f9 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041a900 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041a907 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041a90e mov rcx, rax | rcx = rax; 0x0041a911 cmp rax, rdi | 0x0041a914 jb 0x41a8c0 | | } while (rax < rdi); | label_4: 0x0041a916 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x0041a91a mov qword [rdi], rax | *(rdi) = rax; 0x0041a91d mov qword [r15 + 0x20], rbp | *((r15 + 0x20)) = rbp; 0x0041a921 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x0041a925 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041a928 jg 0x41a930 | 0x0041a92a add eax, eax | eax += eax; 0x0041a92c mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_17: 0x0041a930 mov rax, qword [rbp] | rax = *(rbp); 0x0041a934 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x0041a938 mov qword [rbp + 0x10], rbx | *((rbp + 0x10)) = rbx; 0x0041a93c mov rdi, rbp | 0x0041a93f mov rsi, r13 | 0x0041a942 call 0x4204b0 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (rbp, r13); 0x0041a947 inc r12d | r12d++; 0x0041a94a mov r13, rbp | r13 = rbp; 0x0041a94d cmp r12d, dword [rsp + 4] | | if (r12d != *((rsp + 4))) { 0x0041a952 jne 0x41a810 | goto label_1; | } 0x0041a958 jmp 0x41a630 | goto label_2; | label_18: 0x0041a95d mov rcx, rbp | rcx = rbp; 0x0041a960 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041a967 jae 0x41a8c0 | goto label_3; | } 0x0041a96d jmp 0x41a916 | goto label_4; | label_16: 0x0041a96f mov rcx, rdi | rcx = rdi; 0x0041a972 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041a979 jae 0x41a720 | goto label_5; | } 0x0041a97f jmp 0x41a776 | goto label_6; | label_12: 0x0041a984 add rsp, 0x38 | 0x0041a988 pop rbx | 0x0041a989 pop r12 | 0x0041a98b pop r13 | 0x0041a98d pop r14 | 0x0041a98f pop r15 | 0x0041a991 pop rbp | 0x0041a992 ret | return rax; | label_11: 0x0041a993 mov rcx, rdi | rcx = rdi; 0x0041a996 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041a99d jae 0x41a560 | goto label_7; | } 0x0041a9a3 jmp 0x41a5b6 | goto label_8; | }