; assembly | /* r2dec pseudo code output */ | /* bslstl_hashtablebucketiterator.t/none @ 0x419e40 */ | #include | ; (fcn) sym._anonymous_namespace_::BucketsWrapper_unsigned_long_::BucketsWrapper_int__int__BloombergLP::bslma::Allocator_ () | int64_t anonymous_namespace_::BucketsWrapper_unsigned_long_::BucketsWrapper_int_int_BloombergLP::bslma::Allocator_ (int64_t arg4, signed int64_t arg3, int64_t arg2, uint32_t arg1) { | signed int64_t var_4h; | int64_t var_8h; | int64_t var_10h; | int64_t var_18h; | int64_t var_20h; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* (anonymous namespace)::BucketsWrapper::BucketsWrapper(int, int, BloombergLP::bslma::Allocator*) */ 0x00419e40 push rbp | 0x00419e41 push r15 | 0x00419e43 push r14 | 0x00419e45 push r13 | 0x00419e47 push r12 | 0x00419e49 push rbx | 0x00419e4a sub rsp, 0x28 | 0x00419e4e mov rbx, rcx | rbx = rcx; 0x00419e51 mov r14d, esi | r14d = esi; 0x00419e54 mov r12, rdi | r12 = rdi; 0x00419e57 mov dword [rdi], esi | *(rdi) = esi; 0x00419e59 mov dword [rsp + 4], edx | *((rsp + 4)) = edx; 0x00419e5d mov dword [rdi + 4], edx | *((rdi + 4)) = edx; 0x00419e60 mov rax, rcx | rax = rcx; 0x00419e63 test rcx, rcx | | if (rcx == 0) { 0x00419e66 jne 0x419e79 | 0x00419e68 mov rax, qword [rip + 0x211699] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00419e6f test rax, rax | | if (rax != 0) { 0x00419e72 jne 0x419e79 | goto label_9; | } 0x00419e74 call 0x420e30 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_9: 0x00419e79 mov qword [r12 + 0x10], rax | *((r12 + 0x10)) = rax; 0x00419e7e lea rax, [r12 + 0x18] | rax = r12 + 0x18; 0x00419e83 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x00419e88 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x00419e8b movups xmmword [r12 + 0x18], xmm0 | __asm ("movups xmmword [r12 + 0x18], xmm0"); 0x00419e91 mov dword [r12 + 0x28], 1 | *((r12 + 0x28)) = 1; 0x00419e9a mov qword [r12 + 0x30], rbx | *((r12 + 0x30)) = rbx; 0x00419e9f movsxd rsi, r14d | rsi = (int64_t) r14d; 0x00419ea2 shl rsi, 4 | rsi <<= 4; 0x00419ea6 mov rax, qword [rbx] | rax = *(rbx); 0x00419ea9 mov rdi, rbx | rdi = rbx; 0x00419eac call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00419eaf mov qword [r12 + 8], rax | *((r12 + 8)) = rax; 0x00419eb4 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x00419eb9 mov rdi, qword [r12 + 0x20] | rdi = *((r12 + 0x20)); 0x00419ebe test rdi, rdi | | if (rdi != 0) { 0x00419ec1 jne 0x419fd5 | goto label_10; | } 0x00419ec7 movsxd rax, dword [r12 + 0x28] | rax = *((r12 + 0x28)); 0x00419ecc lea rbx, [rax + rax*2] | rbx = rax * 3; 0x00419ed0 lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x00419ed8 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x00419edc mov rdi, qword [r12 + 0x10] | rdi = *((r12 + 0x10)); 0x00419ee1 mov rax, qword [rdi] | rax = *(rdi); 0x00419ee4 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00419ee7 mov rcx, rax | rcx = rax; 0x00419eea mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x00419eef mov rax, qword [rdx] | rax = *(rdx); 0x00419ef2 mov qword [rcx], rax | *(rcx) = rax; 0x00419ef5 mov qword [rdx], rcx | *(rdx) = rcx; 0x00419ef8 lea rdi, [rcx + 8] | rdi = rcx + 8; 0x00419efc lea rbp, [rcx + rbx*8 - 0x10] | rbp = rcx + rbx*8 - 0x10; 0x00419f01 cmp rbp, rdi | | if (rbp <= rdi) { 0x00419f04 jbe 0x419fb6 | goto label_8; | } 0x00419f0a lea rsi, [rbx*8 - 0x19] | rsi = rbx*8 - 0x19; 0x00419f12 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x00419f1c mov rax, rsi | rax = rsi; 0x00419f1f mul rdx | rdx:rax = rax * rdx; 0x00419f22 shr edx, 4 | edx >>= 4; 0x00419f25 inc edx | edx++; 0x00419f27 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00419f2b je 0x41a397 | goto label_11; | } 0x00419f31 add rcx, 0x20 | rcx += 0x20; 0x00419f35 neg rdx | rdx = -rdx; 0x00419f38 nop dword [rax + rax] | | do { 0x00419f40 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x00419f44 add rcx, 0x18 | rcx += 0x18; 0x00419f48 inc rdx | rdx++; 0x00419f4b jne 0x419f40 | | } while (rdx != 0); 0x00419f4d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x00419f51 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x00419f58 jb 0x419fb6 | goto label_8; | } 0x00419f5a nop word [rax + rax] | | do { | label_7: 0x00419f60 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x00419f64 mov qword [rcx], rax | *(rcx) = rax; 0x00419f67 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x00419f6b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x00419f6f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x00419f73 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x00419f77 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x00419f7b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x00419f7f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x00419f83 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x00419f87 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x00419f8e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x00419f92 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x00419f99 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x00419fa0 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x00419fa7 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x00419fae mov rcx, rax | rcx = rax; 0x00419fb1 cmp rax, rbp | 0x00419fb4 jb 0x419f60 | | } while (rax < rbp); | label_8: 0x00419fb6 mov rax, qword [r12 + 0x20] | rax = *((r12 + 0x20)); 0x00419fbb mov qword [rbp], rax | *(rbp) = rax; 0x00419fbf mov qword [r12 + 0x20], rdi | *((r12 + 0x20)) = rdi; 0x00419fc4 mov eax, dword [r12 + 0x28] | eax = *((r12 + 0x28)); 0x00419fc9 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x00419fcc jg 0x419fd5 | 0x00419fce add eax, eax | eax += eax; 0x00419fd0 mov dword [r12 + 0x28], eax | *((r12 + 0x28)) = eax; | } | label_10: 0x00419fd5 mov rax, qword [rdi] | rax = *(rdi); 0x00419fd8 mov qword [r12 + 0x20], rax | *((r12 + 0x20)) = rax; 0x00419fdd mov qword [rdi + 0x10], 0 | *((rdi + 0x10)) = 0; 0x00419fe5 mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x00419fea mov qword [rax], rdi | *(rax) = rdi; 0x00419fed mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x00419ff2 mov rax, qword [rax] | rax = *(rax); 0x00419ff5 mov qword [rax], 0 | *(rax) = 0; 0x00419ffc mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041a001 mov rax, qword [rax] | rax = *(rax); 0x0041a004 mov qword [rax + 8], 0 | *((rax + 8)) = 0; 0x0041a00c test r14d, r14d | | if (r14d <= 0) { 0x0041a00f jle 0x41a388 | goto label_12; | } 0x0041a015 mov r15d, r14d | r15d = r14d; 0x0041a018 mov r14d, 1 | r14d = 1; 0x0041a01e xor ebp, ebp | ebp = 0; 0x0041a020 mov qword [rsp + 0x10], r15 | *((rsp + 0x10)) = r15; 0x0041a025 jmp 0x41a058 | goto label_13; | label_2: 0x0041a030 mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041a035 mov rbx, rbp | rbx = rbp; 0x0041a038 mov r15, qword [rsp + 0x10] | r15 = *((rsp + 0x10)); 0x0041a03d mov rbp, qword [rsp + 0x20] | rbp = *((rsp + 0x20)); 0x0041a042 mov rcx, qword [rsp + 0x18] | rcx = *((rsp + 0x18)); | label_0: 0x0041a047 mov qword [rax + rcx + 8], rbx | *((rax + rcx + 8)) = rbx; 0x0041a04c inc rbp | rbp++; 0x0041a04f cmp rbp, r15 | | if (rbp == r15) { 0x0041a052 je 0x41a388 | goto label_12; | } | label_13: 0x0041a058 test rbp, rbp | | if (rbp == 0) { 0x0041a05b je 0x41a1cc | goto label_14; | } 0x0041a061 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041a066 mov rdi, qword [r12 + 0x20] | rdi = *((r12 + 0x20)); 0x0041a06b test rdi, rdi | | if (rdi != 0) { 0x0041a06e jne 0x41a190 | goto label_15; | } 0x0041a074 movsxd rax, dword [r12 + 0x28] | rax = *((r12 + 0x28)); 0x0041a079 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x0041a07d lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x0041a085 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041a089 mov rdi, qword [r12 + 0x10] | rdi = *((r12 + 0x10)); 0x0041a08e mov rax, qword [rdi] | rax = *(rdi); 0x0041a091 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041a094 mov rcx, rax | rcx = rax; 0x0041a097 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041a09c mov rax, qword [rdx] | rax = *(rdx); 0x0041a09f mov qword [rcx], rax | *(rcx) = rax; 0x0041a0a2 mov qword [rdx], rcx | *(rdx) = rcx; 0x0041a0a5 lea rdi, [rcx + 8] | rdi = rcx + 8; 0x0041a0a9 lea rsi, [rcx + rbx*8 - 0x10] | rsi = rcx + rbx*8 - 0x10; 0x0041a0ae cmp rsi, rdi | | if (rsi <= rdi) { 0x0041a0b1 jbe 0x41a166 | goto label_6; | } 0x0041a0b7 lea rbx, [rbx*8 - 0x19] | rbx = rbx*8 - 0x19; 0x0041a0bf mov rax, rbx | rax = rbx; 0x0041a0c2 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041a0cc mul rdx | rdx:rax = rax * rdx; 0x0041a0cf shr edx, 4 | edx >>= 4; 0x0041a0d2 inc edx | edx++; 0x0041a0d4 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a0d8 je 0x41a373 | goto label_16; | } 0x0041a0de add rcx, 0x20 | rcx += 0x20; 0x0041a0e2 neg rdx | rdx = -rdx; 0x0041a0e5 nop word cs:[rax + rax] | 0x0041a0ef nop | | do { 0x0041a0f0 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041a0f4 add rcx, 0x18 | rcx += 0x18; 0x0041a0f8 inc rdx | rdx++; 0x0041a0fb jne 0x41a0f0 | | } while (rdx != 0); 0x0041a0fd add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041a101 cmp rbx, 0xa8 | | if (rbx < 0xa8) { 0x0041a108 jb 0x41a166 | goto label_6; | } 0x0041a10a nop word [rax + rax] | | do { | label_5: 0x0041a110 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041a114 mov qword [rcx], rax | *(rcx) = rax; 0x0041a117 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041a11b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041a11f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041a123 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041a127 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041a12b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041a12f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041a133 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041a137 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041a13e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041a142 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041a149 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041a150 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041a157 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041a15e mov rcx, rax | rcx = rax; 0x0041a161 cmp rax, rsi | 0x0041a164 jb 0x41a110 | | } while (rax < rsi); | label_6: 0x0041a166 mov rax, qword [r12 + 0x20] | rax = *((r12 + 0x20)); 0x0041a16b mov qword [rsi], rax | *(rsi) = rax; 0x0041a16e mov qword [r12 + 0x20], rdi | *((r12 + 0x20)) = rdi; 0x0041a173 mov eax, dword [r12 + 0x28] | eax = *((r12 + 0x28)); 0x0041a178 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041a17b jg 0x41a190 | 0x0041a17d add eax, eax | eax += eax; 0x0041a17f mov dword [r12 + 0x28], eax | *((r12 + 0x28)) = eax; 0x0041a184 nop word cs:[rax + rax] | 0x0041a18e nop | | } | label_15: 0x0041a190 movsxd rax, r14d | rax = (int64_t) r14d; 0x0041a193 mov rcx, qword [rdi] | rcx = *(rdi); 0x0041a196 mov qword [r12 + 0x20], rcx | *((r12 + 0x20)) = rcx; 0x0041a19b mov qword [rdi + 0x10], rax | *((rdi + 0x10)) = rax; 0x0041a19f mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041a1a4 mov rcx, rbp | rcx = rbp; 0x0041a1a7 shl rcx, 4 | rcx <<= 4; 0x0041a1ab mov qword [rax + rcx], rdi | *((rax + rcx)) = rdi; 0x0041a1af mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041a1b4 mov rdi, qword [rax + rcx] | 0x0041a1b8 lea ecx, [rbp - 1] | ecx = rbp - 1; 0x0041a1bb shl rcx, 4 | rcx <<= 4; 0x0041a1bf mov rsi, qword [rax + rcx + 8] | 0x0041a1c4 call 0x4204b0 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (*((rax + rcx)), *((rax + rcx + 8))); 0x0041a1c9 inc r14d | r14d++; | label_14: 0x0041a1cc mov rcx, rbp | rcx = rbp; 0x0041a1cf shl rcx, 4 | rcx <<= 4; 0x0041a1d3 mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041a1d8 mov rbx, qword [rax + rcx] | rbx = *((rax + rcx)); 0x0041a1dc cmp dword [rsp + 4], 2 | | if (*((rsp + 4)) < 2) { 0x0041a1e1 jl 0x41a047 | goto label_0; | } 0x0041a1e7 mov qword [rsp + 0x18], rcx | *((rsp + 0x18)) = rcx; 0x0041a1ec mov qword [rsp + 0x20], rbp | *((rsp + 0x20)) = rbp; 0x0041a1f1 movsxd r14, r14d | r14 = (int64_t) r14d; 0x0041a1f4 mov r15d, 1 | r15d = 1; 0x0041a1fa nop word [rax + rax] | | label_1: 0x0041a200 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041a205 mov rbp, qword [r12 + 0x20] | rbp = *((r12 + 0x20)); 0x0041a20a test rbp, rbp | | if (rbp != 0) { 0x0041a20d jne 0x41a330 | goto label_17; | } 0x0041a213 movsxd rax, dword [r12 + 0x28] | rax = *((r12 + 0x28)); 0x0041a218 lea r13, [rax + rax*2] | r13 = rax * 3; 0x0041a21c lea rsi, [r13*8 + 0x17] | rsi = r13*8 + 0x17; 0x0041a224 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041a228 mov rdi, qword [r12 + 0x10] | rdi = *((r12 + 0x10)); 0x0041a22d mov rax, qword [rdi] | rax = *(rdi); 0x0041a230 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041a233 mov rcx, rax | rcx = rax; 0x0041a236 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041a23b mov rax, qword [rdx] | rax = *(rdx); 0x0041a23e mov qword [rcx], rax | *(rcx) = rax; 0x0041a241 mov qword [rdx], rcx | *(rdx) = rcx; 0x0041a244 lea rbp, [rcx + 8] | rbp = rcx + 8; 0x0041a248 lea rdi, [rcx + r13*8 - 0x10] | rdi = rcx + r13*8 - 0x10; 0x0041a24d cmp rdi, rbp | | if (rdi <= rbp) { 0x0041a250 jbe 0x41a306 | goto label_4; | } 0x0041a256 lea rsi, [r13*8 - 0x19] | rsi = r13*8 - 0x19; 0x0041a25e mov rax, rsi | rax = rsi; 0x0041a261 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041a26b mul rdx | rdx:rax = rax * rdx; 0x0041a26e shr edx, 4 | edx >>= 4; 0x0041a271 inc edx | edx++; 0x0041a273 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a277 je 0x41a361 | goto label_18; | } 0x0041a27d add rcx, 0x20 | rcx += 0x20; 0x0041a281 neg rdx | rdx = -rdx; 0x0041a284 nop word cs:[rax + rax] | 0x0041a28e nop | | do { 0x0041a290 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041a294 add rcx, 0x18 | rcx += 0x18; 0x0041a298 inc rdx | rdx++; 0x0041a29b jne 0x41a290 | | } while (rdx != 0); 0x0041a29d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041a2a1 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041a2a8 jb 0x41a306 | goto label_4; | } 0x0041a2aa nop word [rax + rax] | | do { | label_3: 0x0041a2b0 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041a2b4 mov qword [rcx], rax | *(rcx) = rax; 0x0041a2b7 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041a2bb mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041a2bf lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041a2c3 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041a2c7 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041a2cb mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041a2cf lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041a2d3 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041a2d7 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041a2de mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041a2e2 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041a2e9 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041a2f0 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041a2f7 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041a2fe mov rcx, rax | rcx = rax; 0x0041a301 cmp rax, rdi | 0x0041a304 jb 0x41a2b0 | | } while (rax < rdi); | label_4: 0x0041a306 mov rax, qword [r12 + 0x20] | rax = *((r12 + 0x20)); 0x0041a30b mov qword [rdi], rax | *(rdi) = rax; 0x0041a30e mov qword [r12 + 0x20], rbp | *((r12 + 0x20)) = rbp; 0x0041a313 mov eax, dword [r12 + 0x28] | eax = *((r12 + 0x28)); 0x0041a318 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041a31b jg 0x41a330 | 0x0041a31d add eax, eax | eax += eax; 0x0041a31f mov dword [r12 + 0x28], eax | *((r12 + 0x28)) = eax; 0x0041a324 nop word cs:[rax + rax] | 0x0041a32e nop | | } | label_17: 0x0041a330 mov rax, qword [rbp] | rax = *(rbp); 0x0041a334 mov qword [r12 + 0x20], rax | *((r12 + 0x20)) = rax; 0x0041a339 mov qword [rbp + 0x10], r14 | *((rbp + 0x10)) = r14; 0x0041a33d mov rdi, rbp | 0x0041a340 mov rsi, rbx | 0x0041a343 call 0x4204b0 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (rbp, rbx); 0x0041a348 inc r14 | r14++; 0x0041a34b inc r15d | r15d++; 0x0041a34e mov rbx, rbp | rbx = rbp; 0x0041a351 cmp r15d, dword [rsp + 4] | | if (r15d != *((rsp + 4))) { 0x0041a356 jne 0x41a200 | goto label_1; | } 0x0041a35c jmp 0x41a030 | goto label_2; | label_18: 0x0041a361 mov rcx, rbp | rcx = rbp; 0x0041a364 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041a36b jae 0x41a2b0 | goto label_3; | } 0x0041a371 jmp 0x41a306 | goto label_4; | label_16: 0x0041a373 mov rcx, rdi | rcx = rdi; 0x0041a376 cmp rbx, 0xa8 | | if (rbx >= 0xa8) { 0x0041a37d jae 0x41a110 | goto label_5; | } 0x0041a383 jmp 0x41a166 | goto label_6; | label_12: 0x0041a388 add rsp, 0x28 | 0x0041a38c pop rbx | 0x0041a38d pop r12 | 0x0041a38f pop r13 | 0x0041a391 pop r14 | 0x0041a393 pop r15 | 0x0041a395 pop rbp | 0x0041a396 ret | return rax; | label_11: 0x0041a397 mov rcx, rdi | rcx = rdi; 0x0041a39a cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041a3a1 jae 0x419f60 | goto label_7; | } 0x0041a3a7 jmp 0x419fb6 | goto label_8; | }