; assembly | /* r2dec pseudo code output */ | /* bslstl_hashtablebucketiterator.t/assume @ 0x41afb0 */ | #include | ; (fcn) sym._anonymous_namespace_::BucketsWrapper_void______::BucketsWrapper_int__int__BloombergLP::bslma::Allocator_ () | int64_t anonymous_namespace_::BucketsWrapper_void_::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*) */ 0x0041afb0 push rbp | 0x0041afb1 push r15 | 0x0041afb3 push r14 | 0x0041afb5 push r13 | 0x0041afb7 push r12 | 0x0041afb9 push rbx | 0x0041afba sub rsp, 0x28 | 0x0041afbe mov rbx, rcx | rbx = rcx; 0x0041afc1 mov ebp, esi | 0x0041afc3 mov r15, rdi | r15 = rdi; 0x0041afc6 mov dword [rdi], esi | *(rdi) = esi; 0x0041afc8 mov dword [rsp + 4], edx | *((rsp + 4)) = edx; 0x0041afcc mov dword [rdi + 4], edx | *((rdi + 4)) = edx; 0x0041afcf mov rax, rcx | rax = rcx; 0x0041afd2 test rcx, rcx | | if (rcx == 0) { 0x0041afd5 jne 0x41afe8 | 0x0041afd7 mov rax, qword [rip + 0x21052a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0041afde test rax, rax | | if (rax != 0) { 0x0041afe1 jne 0x41afe8 | goto label_9; | } 0x0041afe3 call 0x420f80 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_9: 0x0041afe8 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x0041afec lea r14, [r15 + 0x18] | r14 = r15 + 0x18; 0x0041aff0 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0041aff3 movups xmmword [r15 + 0x18], xmm0 | __asm ("movups xmmword [r15 + 0x18], xmm0"); 0x0041aff8 mov dword [r15 + 0x28], 1 | *((r15 + 0x28)) = 1; 0x0041b000 mov qword [r15 + 0x30], rbx | *((r15 + 0x30)) = rbx; 0x0041b004 mov r12d, ebp | r12d = ebp; 0x0041b007 mov rsi, r12 | rsi = r12; 0x0041b00a shl rsi, 4 | rsi <<= 4; 0x0041b00e mov rax, qword [rbx] | rax = *(rbx); 0x0041b011 mov rdi, rbx | rdi = rbx; 0x0041b014 mov qword [rsp + 8], r14 | *((rsp + 8)) = r14; 0x0041b019 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041b01c mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x0041b020 call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041b025 mov rdi, qword [r15 + 0x20] | rdi = *((r15 + 0x20)); 0x0041b029 test rdi, rdi | | if (rdi != 0) { 0x0041b02c jne 0x41b131 | goto label_10; | } 0x0041b032 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x0041b036 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x0041b03a lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x0041b042 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041b046 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041b04a mov rax, qword [rdi] | rax = *(rdi); 0x0041b04d call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041b050 mov rcx, rax | rcx = rax; 0x0041b053 mov rax, qword [r14] | rax = *(r14); 0x0041b056 mov qword [rcx], rax | *(rcx) = rax; 0x0041b059 mov qword [r14], rcx | *(r14) = rcx; 0x0041b05c lea rdi, [rcx + 8] | rdi = rcx + 8; 0x0041b060 lea rbp, [rcx + rbx*8 - 0x10] | rbp = rcx + rbx*8 - 0x10; 0x0041b065 cmp rbp, rdi | | if (rbp <= rdi) { 0x0041b068 jbe 0x41b116 | goto label_8; | } 0x0041b06e lea rsi, [rbx*8 - 0x19] | rsi = rbx*8 - 0x19; 0x0041b076 mov rax, rsi | rax = rsi; 0x0041b079 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041b083 mul rdx | rdx:rax = rax * rdx; 0x0041b086 shr edx, 4 | edx >>= 4; 0x0041b089 inc edx | edx++; 0x0041b08b and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041b08f je 0x41b4c6 | goto label_11; | } 0x0041b095 add rcx, 0x20 | rcx += 0x20; 0x0041b099 neg rdx | rdx = -rdx; 0x0041b09c nop dword [rax] | | do { 0x0041b0a0 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041b0a4 add rcx, 0x18 | rcx += 0x18; 0x0041b0a8 inc rdx | rdx++; 0x0041b0ab jne 0x41b0a0 | | } while (rdx != 0); 0x0041b0ad add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041b0b1 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041b0b8 jb 0x41b116 | goto label_8; | } 0x0041b0ba nop word [rax + rax] | | do { | label_7: 0x0041b0c0 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041b0c4 mov qword [rcx], rax | *(rcx) = rax; 0x0041b0c7 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041b0cb mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041b0cf lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041b0d3 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041b0d7 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041b0db mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041b0df lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041b0e3 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041b0e7 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041b0ee mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041b0f2 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041b0f9 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041b100 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041b107 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041b10e mov rcx, rax | rcx = rax; 0x0041b111 cmp rax, rbp | 0x0041b114 jb 0x41b0c0 | | } while (rax < rbp); | label_8: 0x0041b116 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x0041b11a mov qword [rbp], rax | *(rbp) = rax; 0x0041b11e mov qword [r15 + 0x20], rdi | *((r15 + 0x20)) = rdi; 0x0041b122 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x0041b126 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041b129 jg 0x41b131 | 0x0041b12b add eax, eax | eax += eax; 0x0041b12d mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_10: 0x0041b131 mov rax, qword [rdi] | rax = *(rdi); 0x0041b134 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x0041b138 mov qword [rdi + 0x10], 0 | *((rdi + 0x10)) = 0; 0x0041b140 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041b144 mov qword [rax], rdi | *(rax) = rdi; 0x0041b147 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041b14b mov rax, qword [rax] | rax = *(rax); 0x0041b14e mov qword [rax], 0 | *(rax) = 0; 0x0041b155 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041b159 mov rax, qword [rax] | rax = *(rax); 0x0041b15c mov qword [rax + 8], 0 | *((rax + 8)) = 0; 0x0041b164 mov r13d, 1 | r13d = 1; 0x0041b16a xor ebp, ebp | ebp = 0; 0x0041b16c mov qword [rsp + 0x10], r12 | *((rsp + 0x10)) = r12; 0x0041b171 jmp 0x41b1a7 | goto label_12; | label_2: 0x0041b180 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041b184 mov rbx, rbp | rbx = rbp; 0x0041b187 mov r12, qword [rsp + 0x10] | r12 = *((rsp + 0x10)); 0x0041b18c mov rbp, qword [rsp + 0x20] | rbp = *((rsp + 0x20)); 0x0041b191 mov rcx, qword [rsp + 0x18] | rcx = *((rsp + 0x18)); | label_0: 0x0041b196 mov qword [rax + rcx + 8], rbx | *((rax + rcx + 8)) = rbx; 0x0041b19b inc rbp | rbp++; 0x0041b19e cmp rbp, r12 | | if (rbp == r12) { 0x0041b1a1 je 0x41b4b7 | goto label_13; | } | label_12: 0x0041b1a7 test rbp, rbp | | if (rbp == 0) { 0x0041b1aa je 0x41b309 | goto label_14; | } 0x0041b1b0 call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041b1b5 mov rdi, qword [r15 + 0x20] | rdi = *((r15 + 0x20)); 0x0041b1b9 test rdi, rdi | | if (rdi != 0) { 0x0041b1bc jne 0x41b2d0 | goto label_15; | } 0x0041b1c2 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x0041b1c6 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x0041b1ca lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x0041b1d2 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041b1d6 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041b1da mov rax, qword [rdi] | rax = *(rdi); 0x0041b1dd call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041b1e0 mov rcx, rax | rcx = rax; 0x0041b1e3 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041b1e8 mov rax, qword [rdx] | rax = *(rdx); 0x0041b1eb mov qword [rcx], rax | *(rcx) = rax; 0x0041b1ee mov qword [rdx], rcx | *(rdx) = rcx; 0x0041b1f1 lea rdi, [rcx + 8] | rdi = rcx + 8; 0x0041b1f5 lea rsi, [rcx + rbx*8 - 0x10] | rsi = rcx + rbx*8 - 0x10; 0x0041b1fa cmp rsi, rdi | | if (rsi <= rdi) { 0x0041b1fd jbe 0x41b2b6 | goto label_6; | } 0x0041b203 lea rbx, [rbx*8 - 0x19] | rbx = rbx*8 - 0x19; 0x0041b20b mov rax, rbx | rax = rbx; 0x0041b20e movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041b218 mul rdx | rdx:rax = rax * rdx; 0x0041b21b shr edx, 4 | edx >>= 4; 0x0041b21e inc edx | edx++; 0x0041b220 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041b224 je 0x41b4a2 | goto label_16; | } 0x0041b22a add rcx, 0x20 | rcx += 0x20; 0x0041b22e neg rdx | rdx = -rdx; 0x0041b231 nop word cs:[rax + rax] | 0x0041b23b nop dword [rax + rax] | | do { 0x0041b240 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041b244 add rcx, 0x18 | rcx += 0x18; 0x0041b248 inc rdx | rdx++; 0x0041b24b jne 0x41b240 | | } while (rdx != 0); 0x0041b24d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041b251 cmp rbx, 0xa8 | | if (rbx < 0xa8) { 0x0041b258 jb 0x41b2b6 | goto label_6; | } 0x0041b25a nop word [rax + rax] | | do { | label_5: 0x0041b260 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041b264 mov qword [rcx], rax | *(rcx) = rax; 0x0041b267 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041b26b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041b26f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041b273 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041b277 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041b27b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041b27f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041b283 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041b287 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041b28e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041b292 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041b299 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041b2a0 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041b2a7 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041b2ae mov rcx, rax | rcx = rax; 0x0041b2b1 cmp rax, rsi | 0x0041b2b4 jb 0x41b260 | | } while (rax < rsi); | label_6: 0x0041b2b6 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x0041b2ba mov qword [rsi], rax | *(rsi) = rax; 0x0041b2bd mov qword [r15 + 0x20], rdi | *((r15 + 0x20)) = rdi; 0x0041b2c1 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x0041b2c5 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041b2c8 jg 0x41b2d0 | 0x0041b2ca add eax, eax | eax += eax; 0x0041b2cc mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_15: 0x0041b2d0 movsxd rax, r13d | rax = (int64_t) r13d; 0x0041b2d3 mov rcx, qword [rdi] | rcx = *(rdi); 0x0041b2d6 mov qword [r15 + 0x20], rcx | *((r15 + 0x20)) = rcx; 0x0041b2da mov qword [rdi + 0x10], rax | *((rdi + 0x10)) = rax; 0x0041b2de mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041b2e2 mov rcx, rbp | rcx = rbp; 0x0041b2e5 shl rcx, 4 | rcx <<= 4; 0x0041b2e9 mov qword [rax + rcx], rdi | *((rax + rcx)) = rdi; 0x0041b2ed mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041b2f1 mov rdi, qword [rax + rcx] | 0x0041b2f5 lea ecx, [rbp - 1] | ecx = rbp - 1; 0x0041b2f8 shl rcx, 4 | rcx <<= 4; 0x0041b2fc mov rsi, qword [rax + rcx + 8] | 0x0041b301 call 0x420600 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (*((rax + rcx)), *((rax + rcx + 8))); 0x0041b306 inc r13d | r13d++; | label_14: 0x0041b309 mov rcx, rbp | rcx = rbp; 0x0041b30c shl rcx, 4 | rcx <<= 4; 0x0041b310 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x0041b314 mov rbx, qword [rax + rcx] | rbx = *((rax + rcx)); 0x0041b318 cmp dword [rsp + 4], 2 | | if (*((rsp + 4)) < 2) { 0x0041b31d jb 0x41b196 | goto label_0; | } 0x0041b323 mov qword [rsp + 0x18], rcx | *((rsp + 0x18)) = rcx; 0x0041b328 mov qword [rsp + 0x20], rbp | *((rsp + 0x20)) = rbp; 0x0041b32d movsxd r13, r13d | r13 = (int64_t) r13d; 0x0041b330 mov r14d, 1 | r14d = 1; 0x0041b336 nop word cs:[rax + rax] | | label_1: 0x0041b340 call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041b345 mov rbp, qword [r15 + 0x20] | rbp = *((r15 + 0x20)); 0x0041b349 test rbp, rbp | | if (rbp != 0) { 0x0041b34c jne 0x41b460 | goto label_17; | } 0x0041b352 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x0041b356 lea r12, [rax + rax*2] | r12 = rax * 3; 0x0041b35a lea rsi, [r12*8 + 0x17] | rsi = r12*8 + 0x17; 0x0041b362 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041b366 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041b36a mov rax, qword [rdi] | rax = *(rdi); 0x0041b36d call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041b370 mov rcx, rax | rcx = rax; 0x0041b373 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041b378 mov rax, qword [rdx] | rax = *(rdx); 0x0041b37b mov qword [rcx], rax | *(rcx) = rax; 0x0041b37e mov qword [rdx], rcx | *(rdx) = rcx; 0x0041b381 lea rbp, [rcx + 8] | rbp = rcx + 8; 0x0041b385 lea rdi, [rcx + r12*8 - 0x10] | rdi = rcx + r12*8 - 0x10; 0x0041b38a cmp rdi, rbp | | if (rdi <= rbp) { 0x0041b38d jbe 0x41b446 | goto label_4; | } 0x0041b393 lea rsi, [r12*8 - 0x19] | rsi = r12*8 - 0x19; 0x0041b39b mov rax, rsi | rax = rsi; 0x0041b39e movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041b3a8 mul rdx | rdx:rax = rax * rdx; 0x0041b3ab shr edx, 4 | edx >>= 4; 0x0041b3ae inc edx | edx++; 0x0041b3b0 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041b3b4 je 0x41b490 | goto label_18; | } 0x0041b3ba add rcx, 0x20 | rcx += 0x20; 0x0041b3be neg rdx | rdx = -rdx; 0x0041b3c1 nop word cs:[rax + rax] | 0x0041b3cb nop dword [rax + rax] | | do { 0x0041b3d0 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041b3d4 add rcx, 0x18 | rcx += 0x18; 0x0041b3d8 inc rdx | rdx++; 0x0041b3db jne 0x41b3d0 | | } while (rdx != 0); 0x0041b3dd add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041b3e1 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041b3e8 jb 0x41b446 | goto label_4; | } 0x0041b3ea nop word [rax + rax] | | do { | label_3: 0x0041b3f0 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041b3f4 mov qword [rcx], rax | *(rcx) = rax; 0x0041b3f7 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041b3fb mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041b3ff lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041b403 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041b407 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041b40b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041b40f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041b413 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041b417 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041b41e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041b422 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041b429 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041b430 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041b437 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041b43e mov rcx, rax | rcx = rax; 0x0041b441 cmp rax, rdi | 0x0041b444 jb 0x41b3f0 | | } while (rax < rdi); | label_4: 0x0041b446 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x0041b44a mov qword [rdi], rax | *(rdi) = rax; 0x0041b44d mov qword [r15 + 0x20], rbp | *((r15 + 0x20)) = rbp; 0x0041b451 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x0041b455 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041b458 jg 0x41b460 | 0x0041b45a add eax, eax | eax += eax; 0x0041b45c mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_17: 0x0041b460 mov rax, qword [rbp] | rax = *(rbp); 0x0041b464 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x0041b468 mov qword [rbp + 0x10], r13 | *((rbp + 0x10)) = r13; 0x0041b46c mov rdi, rbp | 0x0041b46f mov rsi, rbx | 0x0041b472 call 0x420600 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (rbp, rbx); 0x0041b477 inc r13 | r13++; 0x0041b47a inc r14d | r14d++; 0x0041b47d mov rbx, rbp | rbx = rbp; 0x0041b480 cmp r14d, dword [rsp + 4] | | if (r14d != *((rsp + 4))) { 0x0041b485 jne 0x41b340 | goto label_1; | } 0x0041b48b jmp 0x41b180 | goto label_2; | label_18: 0x0041b490 mov rcx, rbp | rcx = rbp; 0x0041b493 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041b49a jae 0x41b3f0 | goto label_3; | } 0x0041b4a0 jmp 0x41b446 | goto label_4; | label_16: 0x0041b4a2 mov rcx, rdi | rcx = rdi; 0x0041b4a5 cmp rbx, 0xa8 | | if (rbx >= 0xa8) { 0x0041b4ac jae 0x41b260 | goto label_5; | } 0x0041b4b2 jmp 0x41b2b6 | goto label_6; | label_13: 0x0041b4b7 add rsp, 0x28 | 0x0041b4bb pop rbx | 0x0041b4bc pop r12 | 0x0041b4be pop r13 | 0x0041b4c0 pop r14 | 0x0041b4c2 pop r15 | 0x0041b4c4 pop rbp | 0x0041b4c5 ret | return rax; | label_11: 0x0041b4c6 mov rcx, rdi | rcx = rdi; 0x0041b4c9 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041b4d0 jae 0x41b0c0 | goto label_7; | } 0x0041b4d6 jmp 0x41b116 | goto label_8; | }