; assembly | /* r2dec pseudo code output */ | /* bslstl_hashtablebucketiterator.t/none @ 0x41b040 */ | #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, 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*) */ 0x0041b040 push rbp | 0x0041b041 push r15 | 0x0041b043 push r14 | 0x0041b045 push r13 | 0x0041b047 push r12 | 0x0041b049 push rbx | 0x0041b04a sub rsp, 0x28 | 0x0041b04e mov rbx, rcx | rbx = rcx; 0x0041b051 mov r14d, esi | r14d = esi; 0x0041b054 mov r12, rdi | r12 = rdi; 0x0041b057 mov dword [rdi], esi | *(rdi) = esi; 0x0041b059 mov dword [rsp + 4], edx | *((rsp + 4)) = edx; 0x0041b05d mov dword [rdi + 4], edx | *((rdi + 4)) = edx; 0x0041b060 mov rax, rcx | rax = rcx; 0x0041b063 test rcx, rcx | | if (rcx == 0) { 0x0041b066 jne 0x41b079 | 0x0041b068 mov rax, qword [rip + 0x210499] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0041b06f test rax, rax | | if (rax != 0) { 0x0041b072 jne 0x41b079 | goto label_9; | } 0x0041b074 call 0x420e30 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_9: 0x0041b079 mov qword [r12 + 0x10], rax | *((r12 + 0x10)) = rax; 0x0041b07e lea rax, [r12 + 0x18] | rax = r12 + 0x18; 0x0041b083 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x0041b088 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x0041b08b movups xmmword [r12 + 0x18], xmm0 | __asm ("movups xmmword [r12 + 0x18], xmm0"); 0x0041b091 mov dword [r12 + 0x28], 1 | *((r12 + 0x28)) = 1; 0x0041b09a mov qword [r12 + 0x30], rbx | *((r12 + 0x30)) = rbx; 0x0041b09f movsxd rsi, r14d | rsi = (int64_t) r14d; 0x0041b0a2 shl rsi, 4 | rsi <<= 4; 0x0041b0a6 mov rax, qword [rbx] | rax = *(rbx); 0x0041b0a9 mov rdi, rbx | rdi = rbx; 0x0041b0ac call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041b0af mov qword [r12 + 8], rax | *((r12 + 8)) = rax; 0x0041b0b4 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041b0b9 mov rdi, qword [r12 + 0x20] | rdi = *((r12 + 0x20)); 0x0041b0be test rdi, rdi | | if (rdi != 0) { 0x0041b0c1 jne 0x41b1d5 | goto label_10; | } 0x0041b0c7 movsxd rax, dword [r12 + 0x28] | rax = *((r12 + 0x28)); 0x0041b0cc lea rbx, [rax + rax*2] | rbx = rax * 3; 0x0041b0d0 lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x0041b0d8 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041b0dc mov rdi, qword [r12 + 0x10] | rdi = *((r12 + 0x10)); 0x0041b0e1 mov rax, qword [rdi] | rax = *(rdi); 0x0041b0e4 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041b0e7 mov rcx, rax | rcx = rax; 0x0041b0ea mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041b0ef mov rax, qword [rdx] | rax = *(rdx); 0x0041b0f2 mov qword [rcx], rax | *(rcx) = rax; 0x0041b0f5 mov qword [rdx], rcx | *(rdx) = rcx; 0x0041b0f8 lea rdi, [rcx + 8] | rdi = rcx + 8; 0x0041b0fc lea rbp, [rcx + rbx*8 - 0x10] | rbp = rcx + rbx*8 - 0x10; 0x0041b101 cmp rbp, rdi | | if (rbp <= rdi) { 0x0041b104 jbe 0x41b1b6 | goto label_8; | } 0x0041b10a lea rsi, [rbx*8 - 0x19] | rsi = rbx*8 - 0x19; 0x0041b112 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041b11c mov rax, rsi | rax = rsi; 0x0041b11f mul rdx | rdx:rax = rax * rdx; 0x0041b122 shr edx, 4 | edx >>= 4; 0x0041b125 inc edx | edx++; 0x0041b127 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041b12b je 0x41b597 | goto label_11; | } 0x0041b131 add rcx, 0x20 | rcx += 0x20; 0x0041b135 neg rdx | rdx = -rdx; 0x0041b138 nop dword [rax + rax] | | do { 0x0041b140 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041b144 add rcx, 0x18 | rcx += 0x18; 0x0041b148 inc rdx | rdx++; 0x0041b14b jne 0x41b140 | | } while (rdx != 0); 0x0041b14d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041b151 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041b158 jb 0x41b1b6 | goto label_8; | } 0x0041b15a nop word [rax + rax] | | do { | label_7: 0x0041b160 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041b164 mov qword [rcx], rax | *(rcx) = rax; 0x0041b167 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041b16b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041b16f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041b173 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041b177 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041b17b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041b17f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041b183 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041b187 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041b18e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041b192 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041b199 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041b1a0 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041b1a7 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041b1ae mov rcx, rax | rcx = rax; 0x0041b1b1 cmp rax, rbp | 0x0041b1b4 jb 0x41b160 | | } while (rax < rbp); | label_8: 0x0041b1b6 mov rax, qword [r12 + 0x20] | rax = *((r12 + 0x20)); 0x0041b1bb mov qword [rbp], rax | *(rbp) = rax; 0x0041b1bf mov qword [r12 + 0x20], rdi | *((r12 + 0x20)) = rdi; 0x0041b1c4 mov eax, dword [r12 + 0x28] | eax = *((r12 + 0x28)); 0x0041b1c9 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041b1cc jg 0x41b1d5 | 0x0041b1ce add eax, eax | eax += eax; 0x0041b1d0 mov dword [r12 + 0x28], eax | *((r12 + 0x28)) = eax; | } | label_10: 0x0041b1d5 mov rax, qword [rdi] | rax = *(rdi); 0x0041b1d8 mov qword [r12 + 0x20], rax | *((r12 + 0x20)) = rax; 0x0041b1dd mov qword [rdi + 0x10], 0 | *((rdi + 0x10)) = 0; 0x0041b1e5 mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041b1ea mov qword [rax], rdi | *(rax) = rdi; 0x0041b1ed mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041b1f2 mov rax, qword [rax] | rax = *(rax); 0x0041b1f5 mov qword [rax], 0 | *(rax) = 0; 0x0041b1fc mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041b201 mov rax, qword [rax] | rax = *(rax); 0x0041b204 mov qword [rax + 8], 0 | *((rax + 8)) = 0; 0x0041b20c test r14d, r14d | | if (r14d <= 0) { 0x0041b20f jle 0x41b588 | goto label_12; | } 0x0041b215 mov r15d, r14d | r15d = r14d; 0x0041b218 mov r14d, 1 | r14d = 1; 0x0041b21e xor ebp, ebp | ebp = 0; 0x0041b220 mov qword [rsp + 0x10], r15 | *((rsp + 0x10)) = r15; 0x0041b225 jmp 0x41b258 | goto label_13; | label_2: 0x0041b230 mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041b235 mov rbx, rbp | rbx = rbp; 0x0041b238 mov r15, qword [rsp + 0x10] | r15 = *((rsp + 0x10)); 0x0041b23d mov rbp, qword [rsp + 0x20] | rbp = *((rsp + 0x20)); 0x0041b242 mov rcx, qword [rsp + 0x18] | rcx = *((rsp + 0x18)); | label_0: 0x0041b247 mov qword [rax + rcx + 8], rbx | *((rax + rcx + 8)) = rbx; 0x0041b24c inc rbp | rbp++; 0x0041b24f cmp rbp, r15 | | if (rbp == r15) { 0x0041b252 je 0x41b588 | goto label_12; | } | label_13: 0x0041b258 test rbp, rbp | | if (rbp == 0) { 0x0041b25b je 0x41b3cc | goto label_14; | } 0x0041b261 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041b266 mov rdi, qword [r12 + 0x20] | rdi = *((r12 + 0x20)); 0x0041b26b test rdi, rdi | | if (rdi != 0) { 0x0041b26e jne 0x41b390 | goto label_15; | } 0x0041b274 movsxd rax, dword [r12 + 0x28] | rax = *((r12 + 0x28)); 0x0041b279 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x0041b27d lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x0041b285 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041b289 mov rdi, qword [r12 + 0x10] | rdi = *((r12 + 0x10)); 0x0041b28e mov rax, qword [rdi] | rax = *(rdi); 0x0041b291 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041b294 mov rcx, rax | rcx = rax; 0x0041b297 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041b29c mov rax, qword [rdx] | rax = *(rdx); 0x0041b29f mov qword [rcx], rax | *(rcx) = rax; 0x0041b2a2 mov qword [rdx], rcx | *(rdx) = rcx; 0x0041b2a5 lea rdi, [rcx + 8] | rdi = rcx + 8; 0x0041b2a9 lea rsi, [rcx + rbx*8 - 0x10] | rsi = rcx + rbx*8 - 0x10; 0x0041b2ae cmp rsi, rdi | | if (rsi <= rdi) { 0x0041b2b1 jbe 0x41b366 | goto label_6; | } 0x0041b2b7 lea rbx, [rbx*8 - 0x19] | rbx = rbx*8 - 0x19; 0x0041b2bf mov rax, rbx | rax = rbx; 0x0041b2c2 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041b2cc mul rdx | rdx:rax = rax * rdx; 0x0041b2cf shr edx, 4 | edx >>= 4; 0x0041b2d2 inc edx | edx++; 0x0041b2d4 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041b2d8 je 0x41b573 | goto label_16; | } 0x0041b2de add rcx, 0x20 | rcx += 0x20; 0x0041b2e2 neg rdx | rdx = -rdx; 0x0041b2e5 nop word cs:[rax + rax] | 0x0041b2ef nop | | do { 0x0041b2f0 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041b2f4 add rcx, 0x18 | rcx += 0x18; 0x0041b2f8 inc rdx | rdx++; 0x0041b2fb jne 0x41b2f0 | | } while (rdx != 0); 0x0041b2fd add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041b301 cmp rbx, 0xa8 | | if (rbx < 0xa8) { 0x0041b308 jb 0x41b366 | goto label_6; | } 0x0041b30a nop word [rax + rax] | | do { | label_5: 0x0041b310 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041b314 mov qword [rcx], rax | *(rcx) = rax; 0x0041b317 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041b31b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041b31f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041b323 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041b327 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041b32b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041b32f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041b333 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041b337 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041b33e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041b342 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041b349 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041b350 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041b357 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041b35e mov rcx, rax | rcx = rax; 0x0041b361 cmp rax, rsi | 0x0041b364 jb 0x41b310 | | } while (rax < rsi); | label_6: 0x0041b366 mov rax, qword [r12 + 0x20] | rax = *((r12 + 0x20)); 0x0041b36b mov qword [rsi], rax | *(rsi) = rax; 0x0041b36e mov qword [r12 + 0x20], rdi | *((r12 + 0x20)) = rdi; 0x0041b373 mov eax, dword [r12 + 0x28] | eax = *((r12 + 0x28)); 0x0041b378 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041b37b jg 0x41b390 | 0x0041b37d add eax, eax | eax += eax; 0x0041b37f mov dword [r12 + 0x28], eax | *((r12 + 0x28)) = eax; 0x0041b384 nop word cs:[rax + rax] | 0x0041b38e nop | | } | label_15: 0x0041b390 movsxd rax, r14d | rax = (int64_t) r14d; 0x0041b393 mov rcx, qword [rdi] | rcx = *(rdi); 0x0041b396 mov qword [r12 + 0x20], rcx | *((r12 + 0x20)) = rcx; 0x0041b39b mov qword [rdi + 0x10], rax | *((rdi + 0x10)) = rax; 0x0041b39f mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041b3a4 mov rcx, rbp | rcx = rbp; 0x0041b3a7 shl rcx, 4 | rcx <<= 4; 0x0041b3ab mov qword [rax + rcx], rdi | *((rax + rcx)) = rdi; 0x0041b3af mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041b3b4 mov rdi, qword [rax + rcx] | 0x0041b3b8 lea ecx, [rbp - 1] | ecx = rbp - 1; 0x0041b3bb shl rcx, 4 | rcx <<= 4; 0x0041b3bf mov rsi, qword [rax + rcx + 8] | 0x0041b3c4 call 0x4204b0 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (*((rax + rcx)), *((rax + rcx + 8))); 0x0041b3c9 inc r14d | r14d++; | label_14: 0x0041b3cc mov rcx, rbp | rcx = rbp; 0x0041b3cf shl rcx, 4 | rcx <<= 4; 0x0041b3d3 mov rax, qword [r12 + 8] | rax = *((r12 + 8)); 0x0041b3d8 mov rbx, qword [rax + rcx] | rbx = *((rax + rcx)); 0x0041b3dc cmp dword [rsp + 4], 2 | | if (*((rsp + 4)) < 2) { 0x0041b3e1 jl 0x41b247 | goto label_0; | } 0x0041b3e7 mov qword [rsp + 0x18], rcx | *((rsp + 0x18)) = rcx; 0x0041b3ec mov qword [rsp + 0x20], rbp | *((rsp + 0x20)) = rbp; 0x0041b3f1 movsxd r14, r14d | r14 = (int64_t) r14d; 0x0041b3f4 mov r15d, 1 | r15d = 1; 0x0041b3fa nop word [rax + rax] | | label_1: 0x0041b400 call 0x420eb0 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x0041b405 mov rbp, qword [r12 + 0x20] | rbp = *((r12 + 0x20)); 0x0041b40a test rbp, rbp | | if (rbp != 0) { 0x0041b40d jne 0x41b530 | goto label_17; | } 0x0041b413 movsxd rax, dword [r12 + 0x28] | rax = *((r12 + 0x28)); 0x0041b418 lea r13, [rax + rax*2] | r13 = rax * 3; 0x0041b41c lea rsi, [r13*8 + 0x17] | rsi = r13*8 + 0x17; 0x0041b424 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x0041b428 mov rdi, qword [r12 + 0x10] | rdi = *((r12 + 0x10)); 0x0041b42d mov rax, qword [rdi] | rax = *(rdi); 0x0041b430 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x0041b433 mov rcx, rax | rcx = rax; 0x0041b436 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041b43b mov rax, qword [rdx] | rax = *(rdx); 0x0041b43e mov qword [rcx], rax | *(rcx) = rax; 0x0041b441 mov qword [rdx], rcx | *(rdx) = rcx; 0x0041b444 lea rbp, [rcx + 8] | rbp = rcx + 8; 0x0041b448 lea rdi, [rcx + r13*8 - 0x10] | rdi = rcx + r13*8 - 0x10; 0x0041b44d cmp rdi, rbp | | if (rdi <= rbp) { 0x0041b450 jbe 0x41b506 | goto label_4; | } 0x0041b456 lea rsi, [r13*8 - 0x19] | rsi = r13*8 - 0x19; 0x0041b45e mov rax, rsi | rax = rsi; 0x0041b461 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041b46b mul rdx | rdx:rax = rax * rdx; 0x0041b46e shr edx, 4 | edx >>= 4; 0x0041b471 inc edx | edx++; 0x0041b473 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x0041b477 je 0x41b561 | goto label_18; | } 0x0041b47d add rcx, 0x20 | rcx += 0x20; 0x0041b481 neg rdx | rdx = -rdx; 0x0041b484 nop word cs:[rax + rax] | 0x0041b48e nop | | do { 0x0041b490 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x0041b494 add rcx, 0x18 | rcx += 0x18; 0x0041b498 inc rdx | rdx++; 0x0041b49b jne 0x41b490 | | } while (rdx != 0); 0x0041b49d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x0041b4a1 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x0041b4a8 jb 0x41b506 | goto label_4; | } 0x0041b4aa nop word [rax + rax] | | do { | label_3: 0x0041b4b0 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x0041b4b4 mov qword [rcx], rax | *(rcx) = rax; 0x0041b4b7 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041b4bb mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041b4bf lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x0041b4c3 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x0041b4c7 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x0041b4cb mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x0041b4cf lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x0041b4d3 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x0041b4d7 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x0041b4de mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x0041b4e2 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x0041b4e9 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x0041b4f0 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x0041b4f7 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x0041b4fe mov rcx, rax | rcx = rax; 0x0041b501 cmp rax, rdi | 0x0041b504 jb 0x41b4b0 | | } while (rax < rdi); | label_4: 0x0041b506 mov rax, qword [r12 + 0x20] | rax = *((r12 + 0x20)); 0x0041b50b mov qword [rdi], rax | *(rdi) = rax; 0x0041b50e mov qword [r12 + 0x20], rbp | *((r12 + 0x20)) = rbp; 0x0041b513 mov eax, dword [r12 + 0x28] | eax = *((r12 + 0x28)); 0x0041b518 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x0041b51b jg 0x41b530 | 0x0041b51d add eax, eax | eax += eax; 0x0041b51f mov dword [r12 + 0x28], eax | *((r12 + 0x28)) = eax; 0x0041b524 nop word cs:[rax + rax] | 0x0041b52e nop | | } | label_17: 0x0041b530 mov rax, qword [rbp] | rax = *(rbp); 0x0041b534 mov qword [r12 + 0x20], rax | *((r12 + 0x20)) = rax; 0x0041b539 mov qword [rbp + 0x10], r14 | *((rbp + 0x10)) = r14; 0x0041b53d mov rdi, rbp | 0x0041b540 mov rsi, rbx | 0x0041b543 call 0x4204b0 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (rbp, rbx); 0x0041b548 inc r14 | r14++; 0x0041b54b inc r15d | r15d++; 0x0041b54e mov rbx, rbp | rbx = rbp; 0x0041b551 cmp r15d, dword [rsp + 4] | | if (r15d != *((rsp + 4))) { 0x0041b556 jne 0x41b400 | goto label_1; | } 0x0041b55c jmp 0x41b230 | goto label_2; | label_18: 0x0041b561 mov rcx, rbp | rcx = rbp; 0x0041b564 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041b56b jae 0x41b4b0 | goto label_3; | } 0x0041b571 jmp 0x41b506 | goto label_4; | label_16: 0x0041b573 mov rcx, rdi | rcx = rdi; 0x0041b576 cmp rbx, 0xa8 | | if (rbx >= 0xa8) { 0x0041b57d jae 0x41b310 | goto label_5; | } 0x0041b583 jmp 0x41b366 | goto label_6; | label_12: 0x0041b588 add rsp, 0x28 | 0x0041b58c pop rbx | 0x0041b58d pop r12 | 0x0041b58f pop r13 | 0x0041b591 pop r14 | 0x0041b593 pop r15 | 0x0041b595 pop rbp | 0x0041b596 ret | return rax; | label_11: 0x0041b597 mov rcx, rdi | rcx = rdi; 0x0041b59a cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x0041b5a1 jae 0x41b160 | goto label_7; | } 0x0041b5a7 jmp 0x41b1b6 | goto label_8; | }