; assembly | /* r2dec pseudo code output */ | /* bslstl_hashtablebucketiterator.t/assume @ 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, uint32_t arg3, int64_t arg2, uint32_t arg1) { | uint32_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 ebp, esi | 0x00419e53 mov r15, rdi | r15 = rdi; 0x00419e56 mov dword [rdi], esi | *(rdi) = esi; 0x00419e58 mov dword [rsp + 4], edx | *((rsp + 4)) = edx; 0x00419e5c mov dword [rdi + 4], edx | *((rdi + 4)) = edx; 0x00419e5f mov rax, rcx | rax = rcx; 0x00419e62 test rcx, rcx | | if (rcx == 0) { 0x00419e65 jne 0x419e78 | 0x00419e67 mov rax, qword [rip + 0x21169a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x00419e6e test rax, rax | | if (rax != 0) { 0x00419e71 jne 0x419e78 | goto label_9; | } 0x00419e73 call 0x420f80 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_9: 0x00419e78 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x00419e7c lea r14, [r15 + 0x18] | r14 = r15 + 0x18; 0x00419e80 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x00419e83 movups xmmword [r15 + 0x18], xmm0 | __asm ("movups xmmword [r15 + 0x18], xmm0"); 0x00419e88 mov dword [r15 + 0x28], 1 | *((r15 + 0x28)) = 1; 0x00419e90 mov qword [r15 + 0x30], rbx | *((r15 + 0x30)) = rbx; 0x00419e94 mov r12d, ebp | r12d = ebp; 0x00419e97 mov rsi, r12 | rsi = r12; 0x00419e9a shl rsi, 4 | rsi <<= 4; 0x00419e9e mov rax, qword [rbx] | rax = *(rbx); 0x00419ea1 mov rdi, rbx | rdi = rbx; 0x00419ea4 mov qword [rsp + 8], r14 | *((rsp + 8)) = r14; 0x00419ea9 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00419eac mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x00419eb0 call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x00419eb5 mov rdi, qword [r15 + 0x20] | rdi = *((r15 + 0x20)); 0x00419eb9 test rdi, rdi | | if (rdi != 0) { 0x00419ebc jne 0x419fc1 | goto label_10; | } 0x00419ec2 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x00419ec6 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x00419eca lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x00419ed2 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x00419ed6 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x00419eda mov rax, qword [rdi] | rax = *(rdi); 0x00419edd call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00419ee0 mov rcx, rax | rcx = rax; 0x00419ee3 mov rax, qword [r14] | rax = *(r14); 0x00419ee6 mov qword [rcx], rax | *(rcx) = rax; 0x00419ee9 mov qword [r14], rcx | *(r14) = rcx; 0x00419eec lea rdi, [rcx + 8] | rdi = rcx + 8; 0x00419ef0 lea rbp, [rcx + rbx*8 - 0x10] | rbp = rcx + rbx*8 - 0x10; 0x00419ef5 cmp rbp, rdi | | if (rbp <= rdi) { 0x00419ef8 jbe 0x419fa6 | goto label_8; | } 0x00419efe lea rsi, [rbx*8 - 0x19] | rsi = rbx*8 - 0x19; 0x00419f06 mov rax, rsi | rax = rsi; 0x00419f09 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x00419f13 mul rdx | rdx:rax = rax * rdx; 0x00419f16 shr edx, 4 | edx >>= 4; 0x00419f19 inc edx | edx++; 0x00419f1b and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00419f1f je 0x41a356 | goto label_11; | } 0x00419f25 add rcx, 0x20 | rcx += 0x20; 0x00419f29 neg rdx | rdx = -rdx; 0x00419f2c nop dword [rax] | | do { 0x00419f30 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x00419f34 add rcx, 0x18 | rcx += 0x18; 0x00419f38 inc rdx | rdx++; 0x00419f3b jne 0x419f30 | | } while (rdx != 0); 0x00419f3d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x00419f41 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x00419f48 jb 0x419fa6 | goto label_8; | } 0x00419f4a nop word [rax + rax] | | do { | label_7: 0x00419f50 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x00419f54 mov qword [rcx], rax | *(rcx) = rax; 0x00419f57 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x00419f5b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x00419f5f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x00419f63 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x00419f67 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x00419f6b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x00419f6f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x00419f73 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x00419f77 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x00419f7e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x00419f82 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x00419f89 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x00419f90 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x00419f97 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x00419f9e mov rcx, rax | rcx = rax; 0x00419fa1 cmp rax, rbp | 0x00419fa4 jb 0x419f50 | | } while (rax < rbp); | label_8: 0x00419fa6 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x00419faa mov qword [rbp], rax | *(rbp) = rax; 0x00419fae mov qword [r15 + 0x20], rdi | *((r15 + 0x20)) = rdi; 0x00419fb2 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x00419fb6 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x00419fb9 jg 0x419fc1 | 0x00419fbb add eax, eax | eax += eax; 0x00419fbd mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_10: 0x00419fc1 mov rax, qword [rdi] | rax = *(rdi); 0x00419fc4 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x00419fc8 mov qword [rdi + 0x10], 0 | *((rdi + 0x10)) = 0; 0x00419fd0 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419fd4 mov qword [rax], rdi | *(rax) = rdi; 0x00419fd7 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419fdb mov rax, qword [rax] | rax = *(rax); 0x00419fde mov qword [rax], 0 | *(rax) = 0; 0x00419fe5 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419fe9 mov rax, qword [rax] | rax = *(rax); 0x00419fec mov qword [rax + 8], 0 | *((rax + 8)) = 0; 0x00419ff4 mov r13d, 1 | r13d = 1; 0x00419ffa xor ebp, ebp | ebp = 0; 0x00419ffc mov qword [rsp + 0x10], r12 | *((rsp + 0x10)) = r12; 0x0041a001 jmp 0x41a037 | goto label_12; | label_2: 0x0041a010 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a014 mov rbx, rbp | rbx = rbp; 0x0041a017 mov r12, qword [rsp + 0x10] | r12 = *((rsp + 0x10)); 0x0041a01c mov rbp, qword [rsp + 0x20] | rbp = *((rsp + 0x20)); 0x0041a021 mov rcx, qword [rsp + 0x18] | rcx = *((rsp + 0x18)); | label_0: 0x0041a026 mov qword [rax + rcx + 8], rbx | *((rax + rcx + 8)) = rbx; 0x0041a02b inc rbp | rbp++; 0x0041a02e cmp rbp, r12 | | if (rbp == r12) { 0x0041a031 je 0x41a347 | goto label_13; | } | label_12: 0x0041a037 test rbp, rbp | | if (rbp == 0) { 0x0041a03a je 0x41a199 | goto label_14; | } 0x0041a040 call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041a045 mov rdi, qword [r15 + 0x20] | rdi = *((r15 + 0x20)); 0x0041a049 test rdi, rdi | | if (rdi != 0) { 0x0041a04c jne 0x41a160 | goto label_15; | } 0x0041a052 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x0041a056 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x0041a05a lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x0041a062 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041a066 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041a06a mov rax, qword [rdi] | rax = *(rdi); 0x0041a06d call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041a070 mov rcx, rax | rcx = rax; 0x0041a073 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041a078 mov rax, qword [rdx] | rax = *(rdx); 0x0041a07b mov qword [rcx], rax | *(rcx) = rax; 0x0041a07e mov qword [rdx], rcx | *(rdx) = rcx; 0x0041a081 lea rdi, [rcx + 8] | rdi = rcx + 8; 0x0041a085 lea rsi, [rcx + rbx*8 - 0x10] | rsi = rcx + rbx*8 - 0x10; 0x0041a08a cmp rsi, rdi | | if (rsi <= rdi) { 0x0041a08d jbe 0x41a146 | goto label_6; | } 0x0041a093 lea rbx, [rbx*8 - 0x19] | rbx = rbx*8 - 0x19; 0x0041a09b mov rax, rbx | rax = rbx; 0x0041a09e movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041a0a8 mul rdx | rdx:rax = rax * rdx; 0x0041a0ab shr edx, 4 | edx >>= 4; 0x0041a0ae inc edx | edx++; 0x0041a0b0 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a0b4 je 0x41a332 | goto label_16; | } 0x0041a0ba add rcx, 0x20 | rcx += 0x20; 0x0041a0be neg rdx | rdx = -rdx; 0x0041a0c1 nop word cs:[rax + rax] | 0x0041a0cb nop dword [rax + rax] | | do { 0x0041a0d0 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041a0d4 add rcx, 0x18 | rcx += 0x18; 0x0041a0d8 inc rdx | rdx++; 0x0041a0db jne 0x41a0d0 | | } while (rdx != 0); 0x0041a0dd add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041a0e1 cmp rbx, 0xa8 | | if (rbx < 0xa8) { 0x0041a0e8 jb 0x41a146 | goto label_6; | } 0x0041a0ea nop word [rax + rax] | | do { | label_5: 0x0041a0f0 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041a0f4 mov qword [rcx], rax | *(rcx) = rax; 0x0041a0f7 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041a0fb mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041a0ff lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041a103 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041a107 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041a10b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041a10f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041a113 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041a117 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041a11e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041a122 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041a129 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041a130 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041a137 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041a13e mov rcx, rax | rcx = rax; 0x0041a141 cmp rax, rsi | 0x0041a144 jb 0x41a0f0 | | } while (rax < rsi); | label_6: 0x0041a146 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x0041a14a mov qword [rsi], rax | *(rsi) = rax; 0x0041a14d mov qword [r15 + 0x20], rdi | *((r15 + 0x20)) = rdi; 0x0041a151 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x0041a155 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041a158 jg 0x41a160 | 0x0041a15a add eax, eax | eax += eax; 0x0041a15c mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_15: 0x0041a160 movsxd rax, r13d | rax = (int64_t) r13d; 0x0041a163 mov rcx, qword [rdi] | rcx = *(rdi); 0x0041a166 mov qword [r15 + 0x20], rcx | *((r15 + 0x20)) = rcx; 0x0041a16a mov qword [rdi + 0x10], rax | *((rdi + 0x10)) = rax; 0x0041a16e mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a172 mov rcx, rbp | rcx = rbp; 0x0041a175 shl rcx, 4 | rcx <<= 4; 0x0041a179 mov qword [rax + rcx], rdi | *((rax + rcx)) = rdi; 0x0041a17d mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a181 mov rdi, qword [rax + rcx] | 0x0041a185 lea ecx, [rbp - 1] | ecx = rbp - 1; 0x0041a188 shl rcx, 4 | rcx <<= 4; 0x0041a18c mov rsi, qword [rax + rcx + 8] | 0x0041a191 call 0x420600 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (*((rax + rcx)), *((rax + rcx + 8))); 0x0041a196 inc r13d | r13d++; | label_14: 0x0041a199 mov rcx, rbp | rcx = rbp; 0x0041a19c shl rcx, 4 | rcx <<= 4; 0x0041a1a0 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041a1a4 mov rbx, qword [rax + rcx] | rbx = *((rax + rcx)); 0x0041a1a8 cmp dword [rsp + 4], 2 | | if (*((rsp + 4)) < 2) { 0x0041a1ad jb 0x41a026 | goto label_0; | } 0x0041a1b3 mov qword [rsp + 0x18], rcx | *((rsp + 0x18)) = rcx; 0x0041a1b8 mov qword [rsp + 0x20], rbp | *((rsp + 0x20)) = rbp; 0x0041a1bd movsxd r13, r13d | r13 = (int64_t) r13d; 0x0041a1c0 mov r14d, 1 | r14d = 1; 0x0041a1c6 nop word cs:[rax + rax] | | label_1: 0x0041a1d0 call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041a1d5 mov rbp, qword [r15 + 0x20] | rbp = *((r15 + 0x20)); 0x0041a1d9 test rbp, rbp | | if (rbp != 0) { 0x0041a1dc jne 0x41a2f0 | goto label_17; | } 0x0041a1e2 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x0041a1e6 lea r12, [rax + rax*2] | r12 = rax * 3; 0x0041a1ea lea rsi, [r12*8 + 0x17] | rsi = r12*8 + 0x17; 0x0041a1f2 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041a1f6 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041a1fa mov rax, qword [rdi] | rax = *(rdi); 0x0041a1fd call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041a200 mov rcx, rax | rcx = rax; 0x0041a203 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041a208 mov rax, qword [rdx] | rax = *(rdx); 0x0041a20b mov qword [rcx], rax | *(rcx) = rax; 0x0041a20e mov qword [rdx], rcx | *(rdx) = rcx; 0x0041a211 lea rbp, [rcx + 8] | rbp = rcx + 8; 0x0041a215 lea rdi, [rcx + r12*8 - 0x10] | rdi = rcx + r12*8 - 0x10; 0x0041a21a cmp rdi, rbp | | if (rdi <= rbp) { 0x0041a21d jbe 0x41a2d6 | goto label_4; | } 0x0041a223 lea rsi, [r12*8 - 0x19] | rsi = r12*8 - 0x19; 0x0041a22b mov rax, rsi | rax = rsi; 0x0041a22e movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041a238 mul rdx | rdx:rax = rax * rdx; 0x0041a23b shr edx, 4 | edx >>= 4; 0x0041a23e inc edx | edx++; 0x0041a240 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041a244 je 0x41a320 | goto label_18; | } 0x0041a24a add rcx, 0x20 | rcx += 0x20; 0x0041a24e neg rdx | rdx = -rdx; 0x0041a251 nop word cs:[rax + rax] | 0x0041a25b nop dword [rax + rax] | | do { 0x0041a260 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041a264 add rcx, 0x18 | rcx += 0x18; 0x0041a268 inc rdx | rdx++; 0x0041a26b jne 0x41a260 | | } while (rdx != 0); 0x0041a26d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041a271 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041a278 jb 0x41a2d6 | goto label_4; | } 0x0041a27a nop word [rax + rax] | | do { | label_3: 0x0041a280 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041a284 mov qword [rcx], rax | *(rcx) = rax; 0x0041a287 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041a28b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041a28f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041a293 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041a297 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041a29b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041a29f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041a2a3 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041a2a7 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041a2ae mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041a2b2 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041a2b9 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041a2c0 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041a2c7 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041a2ce mov rcx, rax | rcx = rax; 0x0041a2d1 cmp rax, rdi | 0x0041a2d4 jb 0x41a280 | | } while (rax < rdi); | label_4: 0x0041a2d6 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x0041a2da mov qword [rdi], rax | *(rdi) = rax; 0x0041a2dd mov qword [r15 + 0x20], rbp | *((r15 + 0x20)) = rbp; 0x0041a2e1 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x0041a2e5 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041a2e8 jg 0x41a2f0 | 0x0041a2ea add eax, eax | eax += eax; 0x0041a2ec mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_17: 0x0041a2f0 mov rax, qword [rbp] | rax = *(rbp); 0x0041a2f4 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x0041a2f8 mov qword [rbp + 0x10], r13 | *((rbp + 0x10)) = r13; 0x0041a2fc mov rdi, rbp | 0x0041a2ff mov rsi, rbx | 0x0041a302 call 0x420600 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (rbp, rbx); 0x0041a307 inc r13 | r13++; 0x0041a30a inc r14d | r14d++; 0x0041a30d mov rbx, rbp | rbx = rbp; 0x0041a310 cmp r14d, dword [rsp + 4] | | if (r14d != *((rsp + 4))) { 0x0041a315 jne 0x41a1d0 | goto label_1; | } 0x0041a31b jmp 0x41a010 | goto label_2; | label_18: 0x0041a320 mov rcx, rbp | rcx = rbp; 0x0041a323 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041a32a jae 0x41a280 | goto label_3; | } 0x0041a330 jmp 0x41a2d6 | goto label_4; | label_16: 0x0041a332 mov rcx, rdi | rcx = rdi; 0x0041a335 cmp rbx, 0xa8 | | if (rbx >= 0xa8) { 0x0041a33c jae 0x41a0f0 | goto label_5; | } 0x0041a342 jmp 0x41a146 | goto label_6; | label_13: 0x0041a347 add rsp, 0x28 | 0x0041a34b pop rbx | 0x0041a34c pop r12 | 0x0041a34e pop r13 | 0x0041a350 pop r14 | 0x0041a352 pop r15 | 0x0041a354 pop rbp | 0x0041a355 ret | return rax; | label_11: 0x0041a356 mov rcx, rdi | rcx = rdi; 0x0041a359 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041a360 jae 0x419f50 | goto label_7; | } 0x0041a366 jmp 0x419fa6 | goto label_8; | }