; assembly | /* r2dec pseudo code output */ | /* bslstl_hashtablebucketiterator.t/assume @ 0x419870 */ | #include | ; (fcn) sym._anonymous_namespace_::BucketsWrapper_signed_char_::BucketsWrapper_int__int__BloombergLP::bslma::Allocator_ () | int64_t anonymous_namespace_::BucketsWrapper_signed_char_::BucketsWrapper_int_int_BloombergLP::bslma::Allocator_ (int64_t arg4, int64_t arg3, int64_t arg2, uint32_t arg1) { | int64_t var_8h; | int64_t var_10h; | int64_t var_18h; | int64_t var_20h; | int64_t var_28h; | int64_t var_30h; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* (anonymous namespace)::BucketsWrapper::BucketsWrapper(int, int, BloombergLP::bslma::Allocator*) */ 0x00419870 push rbp | 0x00419871 push r15 | 0x00419873 push r14 | 0x00419875 push r13 | 0x00419877 push r12 | 0x00419879 push rbx | 0x0041987a sub rsp, 0x38 | 0x0041987e mov rbx, rcx | rbx = rcx; 0x00419881 mov r12d, esi | r12d = esi; 0x00419884 mov r15, rdi | r15 = rdi; 0x00419887 mov dword [rdi], esi | *(rdi) = esi; 0x00419889 mov rbp, rdx | 0x0041988c mov dword [rdi + 4], edx | *((rdi + 4)) = edx; 0x0041988f mov rax, rcx | rax = rcx; 0x00419892 test rcx, rcx | | if (rcx == 0) { 0x00419895 jne 0x4198a8 | 0x00419897 mov rax, qword [rip + 0x211c6a] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x0041989e test rax, rax | | if (rax != 0) { 0x004198a1 jne 0x4198a8 | goto label_9; | } 0x004198a3 call 0x420f80 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_9: 0x004198a8 mov qword [r15 + 0x10], rax | *((r15 + 0x10)) = rax; 0x004198ac lea rax, [r15 + 0x18] | rax = r15 + 0x18; 0x004198b0 mov qword [rsp + 8], rax | *((rsp + 8)) = rax; 0x004198b5 xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x004198b8 movups xmmword [r15 + 0x18], xmm0 | __asm ("movups xmmword [r15 + 0x18], xmm0"); 0x004198bd mov dword [r15 + 0x28], 1 | *((r15 + 0x28)) = 1; 0x004198c5 mov qword [r15 + 0x30], rbx | *((r15 + 0x30)) = rbx; 0x004198c9 mov r13d, r12d | r13d = r12d; 0x004198cc mov rsi, r13 | rsi = r13; 0x004198cf shl rsi, 4 | rsi <<= 4; 0x004198d3 mov rax, qword [rbx] | rax = *(rbx); 0x004198d6 mov rdi, rbx | rdi = rbx; 0x004198d9 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x004198dc mov qword [r15 + 8], rax | *((r15 + 8)) = rax; 0x004198e0 call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x004198e5 mov rcx, rbp | rcx = rbp; 0x004198e8 mov rdi, qword [r15 + 0x20] | rdi = *((r15 + 0x20)); 0x004198ec test rdi, rdi | | if (rdi != 0) { 0x004198ef jne 0x419a03 | goto label_10; | } 0x004198f5 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x004198f9 lea r14, [rax + rax*2] | r14 = rax * 3; 0x004198fd lea rsi, [r14*8 + 0x17] | rsi = r14*8 + 0x17; 0x00419905 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x00419909 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x0041990d mov rax, qword [rdi] | rax = *(rdi); 0x00419910 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00419913 mov rcx, rax | rcx = rax; 0x00419916 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x0041991b mov rax, qword [rdx] | rax = *(rdx); 0x0041991e mov qword [rcx], rax | *(rcx) = rax; 0x00419921 mov qword [rdx], rcx | *(rdx) = rcx; 0x00419924 lea rdi, [rcx + 8] | rdi = rcx + 8; 0x00419928 lea rbx, [rcx + r14*8 - 0x10] | rbx = rcx + r14*8 - 0x10; 0x0041992d cmp rbx, rdi | | if (rbx <= rdi) { 0x00419930 jbe 0x4199e6 | goto label_8; | } 0x00419936 lea rsi, [r14*8 - 0x19] | rsi = r14*8 - 0x19; 0x0041993e mov rax, rsi | rax = rsi; 0x00419941 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x0041994b mul rdx | rdx:rax = rax * rdx; 0x0041994e shr edx, 4 | edx >>= 4; 0x00419951 inc edx | edx++; 0x00419953 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00419957 je 0x419d90 | goto label_11; | } 0x0041995d add rcx, 0x20 | rcx += 0x20; 0x00419961 neg rdx | rdx = -rdx; 0x00419964 nop word cs:[rax + rax] | 0x0041996e nop | | do { 0x00419970 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x00419974 add rcx, 0x18 | rcx += 0x18; 0x00419978 inc rdx | rdx++; 0x0041997b jne 0x419970 | | } while (rdx != 0); 0x0041997d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x00419981 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x00419988 jb 0x4199e6 | goto label_8; | } 0x0041998a nop word [rax + rax] | | do { | label_7: 0x00419990 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x00419994 mov qword [rcx], rax | *(rcx) = rax; 0x00419997 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x0041999b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x0041999f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x004199a3 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x004199a7 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x004199ab mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x004199af lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x004199b3 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x004199b7 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x004199be mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x004199c2 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x004199c9 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x004199d0 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x004199d7 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x004199de mov rcx, rax | rcx = rax; 0x004199e1 cmp rax, rbx | 0x004199e4 jb 0x419990 | | } while (rax < rbx); | label_8: 0x004199e6 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x004199ea mov qword [rbx], rax | *(rbx) = rax; 0x004199ed mov qword [r15 + 0x20], rdi | *((r15 + 0x20)) = rdi; 0x004199f1 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x004199f5 cmp eax, 0x1f | 0x004199f8 mov rcx, rbp | rcx = rbp; | if (eax <= 0x1f) { 0x004199fb jg 0x419a03 | 0x004199fd add eax, eax | eax += eax; 0x004199ff mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_10: 0x00419a03 mov rax, qword [rdi] | rax = *(rdi); 0x00419a06 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x00419a0a mov byte [rdi + 0x10], 0 | *((rdi + 0x10)) = 0; 0x00419a0e mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419a12 mov qword [rax], rdi | *(rax) = rdi; 0x00419a15 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419a19 mov rax, qword [rax] | rax = *(rax); 0x00419a1c mov qword [rax], 0 | *(rax) = 0; 0x00419a23 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419a27 mov rax, qword [rax] | rax = *(rax); 0x00419a2a mov qword [rax + 8], 0 | *((rax + 8)) = 0; 0x00419a32 lea eax, [rcx - 1] | eax = rcx - 1; 0x00419a35 mov qword [rsp + 0x20], rax | *((rsp + 0x20)) = rax; 0x00419a3a mov r14d, 1 | r14d = 1; 0x00419a40 xor ebp, ebp | ebp = 0; 0x00419a42 mov qword [rsp + 0x18], rcx | *((rsp + 0x18)) = rcx; 0x00419a47 mov qword [rsp + 0x10], r13 | *((rsp + 0x10)) = r13; 0x00419a4c jmp 0x419a7f | goto label_12; | label_2: 0x00419a50 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419a54 mov r12, rbx | r12 = rbx; 0x00419a57 mov r14d, r13d | r14d = r13d; 0x00419a5a mov rcx, qword [rsp + 0x18] | rcx = *((rsp + 0x18)); 0x00419a5f mov r13, qword [rsp + 0x10] | r13 = *((rsp + 0x10)); 0x00419a64 mov rbp, qword [rsp + 0x28] | rbp = *((rsp + 0x28)); | label_0: 0x00419a69 mov qword [rax + rbp + 8], r12 | *((rax + rbp + 8)) = r12; 0x00419a6e mov rbp, qword [rsp + 0x30] | rbp = *((rsp + 0x30)); 0x00419a73 inc rbp | rbp++; 0x00419a76 cmp rbp, r13 | | if (rbp == r13) { 0x00419a79 je 0x419d81 | goto label_13; | } | label_12: 0x00419a7f test rbp, rbp | | if (rbp == 0) { 0x00419a82 je 0x419bd9 | goto label_14; | } 0x00419a88 mov r12, rcx | r12 = rcx; 0x00419a8b call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x00419a90 mov rdi, qword [r15 + 0x20] | rdi = *((r15 + 0x20)); 0x00419a94 test rdi, rdi | | if (rdi != 0) { 0x00419a97 jne 0x419ba0 | goto label_15; | } 0x00419a9d movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x00419aa1 lea rbx, [rax + rax*2] | rbx = rax * 3; 0x00419aa5 lea rsi, [rbx*8 + 0x17] | rsi = rbx*8 + 0x17; 0x00419aad and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x00419ab1 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x00419ab5 mov rax, qword [rdi] | rax = *(rdi); 0x00419ab8 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00419abb mov rcx, rax | rcx = rax; 0x00419abe mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x00419ac3 mov rax, qword [rdx] | rax = *(rdx); 0x00419ac6 mov qword [rcx], rax | *(rcx) = rax; 0x00419ac9 mov qword [rdx], rcx | *(rdx) = rcx; 0x00419acc lea rdi, [rcx + 8] | rdi = rcx + 8; 0x00419ad0 lea rsi, [rcx + rbx*8 - 0x10] | rsi = rcx + rbx*8 - 0x10; 0x00419ad5 cmp rsi, rdi | | if (rsi <= rdi) { 0x00419ad8 jbe 0x419b86 | goto label_6; | } 0x00419ade lea rbx, [rbx*8 - 0x19] | rbx = rbx*8 - 0x19; 0x00419ae6 mov rax, rbx | rax = rbx; 0x00419ae9 movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x00419af3 mul rdx | rdx:rax = rax * rdx; 0x00419af6 shr edx, 4 | edx >>= 4; 0x00419af9 inc edx | edx++; 0x00419afb and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00419aff je 0x419d6c | goto label_16; | } 0x00419b05 add rcx, 0x20 | rcx += 0x20; 0x00419b09 neg rdx | rdx = -rdx; 0x00419b0c nop dword [rax] | | do { 0x00419b10 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x00419b14 add rcx, 0x18 | rcx += 0x18; 0x00419b18 inc rdx | rdx++; 0x00419b1b jne 0x419b10 | | } while (rdx != 0); 0x00419b1d add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x00419b21 cmp rbx, 0xa8 | | if (rbx < 0xa8) { 0x00419b28 jb 0x419b86 | goto label_6; | } 0x00419b2a nop word [rax + rax] | | do { | label_5: 0x00419b30 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x00419b34 mov qword [rcx], rax | *(rcx) = rax; 0x00419b37 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x00419b3b mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x00419b3f lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x00419b43 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x00419b47 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x00419b4b mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x00419b4f lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x00419b53 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x00419b57 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x00419b5e mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x00419b62 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x00419b69 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x00419b70 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x00419b77 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x00419b7e mov rcx, rax | rcx = rax; 0x00419b81 cmp rax, rsi | 0x00419b84 jb 0x419b30 | | } while (rax < rsi); | label_6: 0x00419b86 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x00419b8a mov qword [rsi], rax | *(rsi) = rax; 0x00419b8d mov qword [r15 + 0x20], rdi | *((r15 + 0x20)) = rdi; 0x00419b91 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x00419b95 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x00419b98 jg 0x419ba0 | 0x00419b9a add eax, eax | eax += eax; 0x00419b9c mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_15: 0x00419ba0 mov rax, qword [rdi] | rax = *(rdi); 0x00419ba3 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x00419ba7 mov byte [rdi + 0x10], r14b | *((rdi + 0x10)) = r14b; 0x00419bab mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419baf mov rcx, rbp | rcx = rbp; 0x00419bb2 shl rcx, 4 | rcx <<= 4; 0x00419bb6 mov qword [rax + rcx], rdi | *((rax + rcx)) = rdi; 0x00419bba mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419bbe mov rdi, qword [rax + rcx] | 0x00419bc2 lea ecx, [rbp - 1] | ecx = rbp - 1; 0x00419bc5 shl rcx, 4 | rcx <<= 4; 0x00419bc9 mov rsi, qword [rax + rcx + 8] | 0x00419bce call 0x420600 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (*((rax + rcx)), *((rax + rcx + 8))); 0x00419bd3 inc r14d | r14d++; 0x00419bd6 mov rcx, r12 | rcx = r12; | label_14: 0x00419bd9 mov qword [rsp + 0x30], rbp | *((rsp + 0x30)) = rbp; 0x00419bde shl rbp, 4 | rbp <<= 4; 0x00419be2 mov rax, qword [r15 + 8] | rax = *((r15 + 8)); 0x00419be6 mov r12, qword [rax + rbp] | r12 = *((rax + rbp)); 0x00419bea cmp ecx, 2 | | if (ecx < 2) { 0x00419bed jb 0x419a69 | goto label_0; | } 0x00419bf3 mov qword [rsp + 0x28], rbp | *((rsp + 0x28)) = rbp; 0x00419bf8 mov rax, qword [rsp + 0x20] | rax = *((rsp + 0x20)); 0x00419bfd lea r13d, [rax + r14] | r13d = rax + r14; 0x00419c01 nop word cs:[rax + rax] | 0x00419c0b nop dword [rax + rax] | | label_1: 0x00419c10 call 0x421000 | BloombergLP::bslma::MallocFreeAllocator::singleton() (); 0x00419c15 mov rbx, qword [r15 + 0x20] | rbx = *((r15 + 0x20)); 0x00419c19 test rbx, rbx | | if (rbx != 0) { 0x00419c1c jne 0x419d30 | goto label_17; | } 0x00419c22 movsxd rax, dword [r15 + 0x28] | rax = *((r15 + 0x28)); 0x00419c26 lea rbp, [rax + rax*2] | rbp = rax * 3; 0x00419c2a lea rsi, [rbp*8 + 0x17] | rsi = rbp*8 + 0x17; 0x00419c32 and rsi, 0xfffffffffffffff0 | rsi &= 0xfffffffffffffff0; 0x00419c36 mov rdi, qword [r15 + 0x10] | rdi = *((r15 + 0x10)); 0x00419c3a mov rax, qword [rdi] | rax = *(rdi); 0x00419c3d call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x00419c40 mov rcx, rax | rcx = rax; 0x00419c43 mov rdx, qword [rsp + 8] | rdx = *((rsp + 8)); 0x00419c48 mov rax, qword [rdx] | rax = *(rdx); 0x00419c4b mov qword [rcx], rax | *(rcx) = rax; 0x00419c4e mov qword [rdx], rcx | *(rdx) = rcx; 0x00419c51 lea rbx, [rcx + 8] | rbx = rcx + 8; 0x00419c55 lea rdi, [rcx + rbp*8 - 0x10] | rdi = rcx + rbp*8 - 0x10; 0x00419c5a cmp rdi, rbx | | if (rdi <= rbx) { 0x00419c5d jbe 0x419d16 | goto label_4; | } 0x00419c63 lea rsi, [rbp*8 - 0x19] | rsi = rbp*8 - 0x19; 0x00419c6b mov rax, rsi | rax = rsi; 0x00419c6e movabs rdx, 0xaaaaaaaaaaaaaaab | rdx = 0xaaaaaaaaaaaaaaab; 0x00419c78 mul rdx | rdx:rax = rax * rdx; 0x00419c7b shr edx, 4 | edx >>= 4; 0x00419c7e inc edx | edx++; 0x00419c80 and rdx, 7 | rdx &= 7; | if (rdx == 0) { 0x00419c84 je 0x419d5a | goto label_18; | } 0x00419c8a add rcx, 0x20 | rcx += 0x20; 0x00419c8e neg rdx | rdx = -rdx; 0x00419c91 nop word cs:[rax + rax] | 0x00419c9b nop dword [rax + rax] | | do { 0x00419ca0 mov qword [rcx - 0x18], rcx | *((rcx - 0x18)) = rcx; 0x00419ca4 add rcx, 0x18 | rcx += 0x18; 0x00419ca8 inc rdx | rdx++; 0x00419cab jne 0x419ca0 | | } while (rdx != 0); 0x00419cad add rcx, 0xffffffffffffffe8 | rcx += 0xffffffffffffffe8; 0x00419cb1 cmp rsi, 0xa8 | | if (rsi < 0xa8) { 0x00419cb8 jb 0x419d16 | goto label_4; | } 0x00419cba nop word [rax + rax] | | do { | label_3: 0x00419cc0 lea rax, [rcx + 0x18] | rax = rcx + 0x18; 0x00419cc4 mov qword [rcx], rax | *(rcx) = rax; 0x00419cc7 lea rax, [rcx + 0x30] | rax = rcx + 0x30; 0x00419ccb mov qword [rcx + 0x18], rax | *((rcx + 0x18)) = rax; 0x00419ccf lea rax, [rcx + 0x48] | rax = rcx + 0x48; 0x00419cd3 mov qword [rcx + 0x30], rax | *((rcx + 0x30)) = rax; 0x00419cd7 lea rax, [rcx + 0x60] | rax = rcx + 0x60; 0x00419cdb mov qword [rcx + 0x48], rax | *((rcx + 0x48)) = rax; 0x00419cdf lea rax, [rcx + 0x78] | rax = rcx + 0x78; 0x00419ce3 mov qword [rcx + 0x60], rax | *((rcx + 0x60)) = rax; 0x00419ce7 lea rax, [rcx + 0x90] | rax = rcx + 0x90; 0x00419cee mov qword [rcx + 0x78], rax | *((rcx + 0x78)) = rax; 0x00419cf2 lea rax, [rcx + 0xa8] | rax = rcx + 0xa8; 0x00419cf9 mov qword [rcx + 0x90], rax | *((rcx + 0x90)) = rax; 0x00419d00 lea rax, [rcx + 0xc0] | rax = rcx + 0xc0; 0x00419d07 mov qword [rcx + 0xa8], rax | *((rcx + 0xa8)) = rax; 0x00419d0e mov rcx, rax | rcx = rax; 0x00419d11 cmp rax, rdi | 0x00419d14 jb 0x419cc0 | | } while (rax < rdi); | label_4: 0x00419d16 mov rax, qword [r15 + 0x20] | rax = *((r15 + 0x20)); 0x00419d1a mov qword [rdi], rax | *(rdi) = rax; 0x00419d1d mov qword [r15 + 0x20], rbx | *((r15 + 0x20)) = rbx; 0x00419d21 mov eax, dword [r15 + 0x28] | eax = *((r15 + 0x28)); 0x00419d25 cmp eax, 0x1f | | if (eax <= 0x1f) { 0x00419d28 jg 0x419d30 | 0x00419d2a add eax, eax | eax += eax; 0x00419d2c mov dword [r15 + 0x28], eax | *((r15 + 0x28)) = eax; | } | label_17: 0x00419d30 mov rax, qword [rbx] | rax = *(rbx); 0x00419d33 mov qword [r15 + 0x20], rax | *((r15 + 0x20)) = rax; 0x00419d37 mov byte [rbx + 0x10], r14b | *((rbx + 0x10)) = r14b; 0x00419d3b mov rdi, rbx | 0x00419d3e mov rsi, r12 | 0x00419d41 call 0x420600 | BloombergLP::bslalg::BidirectionalLinkListUtil::insertLinkAfterTarget(BloombergLP::bslalg::BidirectionalLink*,BloombergLP::bslalg::BidirectionalLink*) (rbx, r12); 0x00419d46 inc r14d | r14d++; 0x00419d49 mov r12, rbx | r12 = rbx; 0x00419d4c cmp r14d, r13d | | if (r14d != r13d) { 0x00419d4f jne 0x419c10 | goto label_1; | } 0x00419d55 jmp 0x419a50 | goto label_2; | label_18: 0x00419d5a mov rcx, rbx | rcx = rbx; 0x00419d5d cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x00419d64 jae 0x419cc0 | goto label_3; | } 0x00419d6a jmp 0x419d16 | goto label_4; | label_16: 0x00419d6c mov rcx, rdi | rcx = rdi; 0x00419d6f cmp rbx, 0xa8 | | if (rbx >= 0xa8) { 0x00419d76 jae 0x419b30 | goto label_5; | } 0x00419d7c jmp 0x419b86 | goto label_6; | label_13: 0x00419d81 add rsp, 0x38 | 0x00419d85 pop rbx | 0x00419d86 pop r12 | 0x00419d88 pop r13 | 0x00419d8a pop r14 | 0x00419d8c pop r15 | 0x00419d8e pop rbp | 0x00419d8f ret | return rax; | label_11: 0x00419d90 mov rcx, rdi | rcx = rdi; 0x00419d93 cmp rsi, 0xa8 | | if (rsi >= 0xa8) { 0x00419d9a jae 0x419990 | goto label_7; | } 0x00419da0 jmp 0x4199e6 | goto label_8; | }