; assembly | /* r2dec pseudo code output */ | /* baljsn_encoder.t/assume @ 0x4bee70 */ | #include | ; (fcn) method.BloombergLP::s_baltst::Sequence4.Sequence4_BloombergLP::s_baltst::Sequence4_const__BloombergLP::bslma::Allocator_ () | int64_t method_BloombergLP::s_baltst::Sequence4_Sequence4_BloombergLP::s_baltst::Sequence4_const_BloombergLP::bslma::Allocator_ (int64_t arg3, int64_t arg2, int64_t arg1) { | char * var_8h; | int64_t var_10h; | char * var_18h; | int64_t var_20h; | int64_t var_28h; | int64_t var_30h; | int64_t var_38h; | int64_t var_40h; | int64_t var_48h; | int64_t var_50h; | int64_t var_58h; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* BloombergLP::s_baltst::Sequence4::Sequence4(BloombergLP::s_baltst::Sequence4 const&, BloombergLP::bslma::Allocator*) */ 0x004bee70 push rbp | 0x004bee71 push r15 | 0x004bee73 push r14 | 0x004bee75 push r13 | 0x004bee77 push r12 | 0x004bee79 push rbx | 0x004bee7a sub rsp, 0x68 | 0x004bee7e mov r15, rdx | r15 = rdx; 0x004bee81 mov r14, rsi | r14 = rsi; 0x004bee84 mov r12, rdi | r12 = rdi; 0x004bee87 movsd xmm0, qword [rsi] | xmm0 = *(rsi); 0x004bee8b movsd qword [rdi], xmm0 | *(rdi) = xmm0; 0x004bee8f lea rbx, [rdi + 8] | rbx = rdi + 8; 0x004bee93 lea rbp, [rsi + 8] | rbp = rsi + 8; 0x004bee97 mov rax, rdx | rax = rdx; 0x004bee9a test rdx, rdx | | if (rdx == 0) { 0x004bee9d jne 0x4beeb0 | 0x004bee9f mov rax, qword [rip + 0x40e202] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004beea6 test rax, rax | | if (rax != 0) { 0x004beea9 jne 0x4beeb0 | goto label_1; | } 0x004beeab call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_1: 0x004beeb0 mov qword [rsp], rax | *(rsp) = rax; 0x004beeb4 mov rdx, rsp | 0x004beeb7 mov rdi, rbx | 0x004beeba mov rsi, rbp | 0x004beebd call 0x52bdd0 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (rbx, rbp, rsp); 0x004beec2 mov rax, r15 | rax = r15; 0x004beec5 test r15, r15 | 0x004beec8 mov qword [rsp + 0x58], rbx | *((rsp + 0x58)) = rbx; | if (r15 == 0) { 0x004beecd jne 0x4beee0 | 0x004beecf mov rax, qword [rip + 0x40e1d2] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004beed6 test rax, rax | | if (rax != 0) { 0x004beed9 jne 0x4beee0 | goto label_2; | } 0x004beedb call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_2: 0x004beee0 lea rdi, [r12 + 0x28] | 0x004beee5 mov qword [rsp], rax | *(rsp) = rax; 0x004beee9 lea rsi, [r14 + 0x28] | 0x004beeed mov rdx, rsp | 0x004beef0 mov qword [rsp + 0x50], rdi | *((rsp + 0x50)) = rdi; 0x004beef5 call 0x5347f0 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r12 + 0x28, r14 + 0x28, rsp); 0x004beefa mov rax, r15 | rax = r15; 0x004beefd test r15, r15 | | if (r15 == 0) { 0x004bef00 jne 0x4bef13 | 0x004bef02 mov rax, qword [rip + 0x40e19f] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bef09 test rax, rax | | if (rax != 0) { 0x004bef0c jne 0x4bef13 | goto label_3; | } 0x004bef0e call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_3: 0x004bef13 lea rdi, [r12 + 0x48] | 0x004bef18 mov qword [rsp], rax | *(rsp) = rax; 0x004bef1c lea rsi, [r14 + 0x48] | 0x004bef20 mov rdx, rsp | 0x004bef23 mov qword [rsp + 0x48], rdi | *((rsp + 0x48)) = rdi; 0x004bef28 call 0x5260a0 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r12 + 0x48, r14 + 0x48, rsp); 0x004bef2d mov rax, r15 | rax = r15; 0x004bef30 test r15, r15 | | if (r15 == 0) { 0x004bef33 jne 0x4bef46 | 0x004bef35 mov rax, qword [rip + 0x40e16c] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bef3c test rax, rax | | if (rax != 0) { 0x004bef3f jne 0x4bef46 | goto label_4; | } 0x004bef41 call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_4: 0x004bef46 lea rdi, [r12 + 0x68] | 0x004bef4b mov qword [rsp], rax | *(rsp) = rax; 0x004bef4f lea rsi, [r14 + 0x68] | 0x004bef53 mov rdx, rsp | 0x004bef56 mov qword [rsp + 0x38], rdi | *((rsp + 0x38)) = rdi; 0x004bef5b call 0x49d1d0 | bsl::vector>,bsl::allocator>>>::vector(bsl::vector>,bsl::allocator>>>const&,bsl::allocator>>const&) (r12 + 0x68, r14 + 0x68, rsp); 0x004bef60 mov rax, r15 | rax = r15; 0x004bef63 test r15, r15 | | if (r15 == 0) { 0x004bef66 jne 0x4bef79 | 0x004bef68 mov rax, qword [rip + 0x40e139] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bef6f test rax, rax | | if (rax != 0) { 0x004bef72 jne 0x4bef79 | goto label_5; | } 0x004bef74 call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_5: 0x004bef79 lea rdi, [r12 + 0x88] | 0x004bef81 mov qword [rsp], rax | *(rsp) = rax; 0x004bef85 lea rsi, [r14 + 0x88] | 0x004bef8c mov rdx, rsp | 0x004bef8f mov qword [rsp + 0x40], rdi | *((rsp + 0x40)) = rdi; 0x004bef94 call 0x524eb0 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r12 + 0x88, r14 + 0x88, rsp); 0x004bef99 mov rdi, r15 | rdi = r15; 0x004bef9c test r15, r15 | | if (r15 == 0) { 0x004bef9f jne 0x4befb5 | 0x004befa1 mov rdi, qword [rip + 0x40e100] | rdi = BloombergLP::bslma::Default::s_defaultAllocator; 0x004befa8 test rdi, rdi | | if (rdi != 0) { 0x004befab jne 0x4befb5 | goto label_6; | } 0x004befad call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x004befb2 mov rdi, rax | rdi = rax; | } | label_6: 0x004befb5 lea rbx, [r12 + 0xa8] | rbx = r12 + 0xa8; 0x004befbd xorps xmm0, xmm0 | __asm ("xorps xmm0, xmm0"); 0x004befc0 movups xmmword [rbx], xmm0 | __asm ("movups xmmword [rbx], xmm0"); 0x004befc3 mov qword [rbx + 0x10], 0 | *((rbx + 0x10)) = 0; 0x004befcb mov qword [r12 + 0xc0], rdi | *((r12 + 0xc0)) = rdi; 0x004befd3 mov rbp, qword [r14 + 0xb0] | rbp = *((r14 + 0xb0)); 0x004befda sub rbp, qword [r14 + 0xa8] | rbp -= *((r14 + 0xa8)); | if (rbp == 0) { 0x004befe1 je 0x4bf050 | goto label_7; | } 0x004befe3 mov rax, qword [rdi] | rax = *(rdi); 0x004befe6 mov rsi, rbp | rsi = rbp; 0x004befe9 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x004befec sar rbp, 4 | rbp >>= 4; 0x004beff0 mov qword [r12 + 0xb0], rax | *((r12 + 0xb0)) = rax; 0x004beff8 mov qword [r12 + 0xa8], rax | *((r12 + 0xa8)) = rax; 0x004bf000 mov qword [r12 + 0xb8], rbp | *((r12 + 0xb8)) = rbp; 0x004bf008 mov rsi, qword [r14 + 0xa8] | rsi = *((r14 + 0xa8)); 0x004bf00f mov rdx, qword [r14 + 0xb0] | rdx = *((r14 + 0xb0)); 0x004bf016 sub rdx, rsi | rdx -= rsi; | if (rdx == 0) { 0x004bf019 je 0x4bf34b | goto label_8; | } 0x004bf01f mov rdi, rax | 0x004bf022 call 0x405bd0 | memcpy (rax, rsi, rdx); 0x004bf027 mov rcx, qword [r14 + 0xb0] | rcx = *((r14 + 0xb0)); 0x004bf02e mov rax, qword [r12 + 0xb0] | rax = *((r12 + 0xb0)); 0x004bf036 sub rcx, qword [r14 + 0xa8] | rcx -= *((r14 + 0xa8)); 0x004bf03d sar rcx, 4 | rcx >>= 4; | do { 0x004bf041 shl rcx, 4 | rcx <<= 4; 0x004bf045 add rcx, rax | rcx += rax; 0x004bf048 mov qword [r12 + 0xb0], rcx | *((r12 + 0xb0)) = rcx; | label_7: 0x004bf050 mov rax, r15 | rax = r15; 0x004bf053 test r15, r15 | | if (r15 == 0) { 0x004bf056 jne 0x4bf069 | 0x004bf058 mov rax, qword [rip + 0x40e049] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bf05f test rax, rax | | if (rax != 0) { 0x004bf062 jne 0x4bf069 | goto label_9; | } 0x004bf064 call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_9: 0x004bf069 lea rdi, [r12 + 0xc8] | 0x004bf071 mov qword [rsp], rax | *(rsp) = rax; 0x004bf075 lea rsi, [r14 + 0xc8] | 0x004bf07c mov rdx, rsp | 0x004bf07f mov qword [rsp + 0x30], rdi | *((rsp + 0x30)) = rdi; 0x004bf084 call 0x4c7350 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r12 + 0xc8, r14 + 0xc8, rsp); 0x004bf089 mov rax, r15 | rax = r15; 0x004bf08c test r15, r15 | | if (r15 == 0) { 0x004bf08f jne 0x4bf0a2 | 0x004bf091 mov rax, qword [rip + 0x40e010] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bf098 test rax, rax | | if (rax != 0) { 0x004bf09b jne 0x4bf0a2 | goto label_10; | } 0x004bf09d call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_10: 0x004bf0a2 lea rdi, [r12 + 0xe8] | 0x004bf0aa mov qword [rsp], rax | *(rsp) = rax; 0x004bf0ae lea rsi, [r14 + 0xe8] | 0x004bf0b5 mov rdx, rsp | 0x004bf0b8 mov qword [rsp + 0x28], rdi | *((rsp + 0x28)) = rdi; 0x004bf0bd call 0x4c7470 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r12 + 0xe8, r14 + 0xe8, rsp); 0x004bf0c2 mov rax, r15 | rax = r15; 0x004bf0c5 test r15, r15 | | if (r15 == 0) { 0x004bf0c8 jne 0x4bf0db | 0x004bf0ca mov rax, qword [rip + 0x40dfd7] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bf0d1 test rax, rax | | if (rax != 0) { 0x004bf0d4 jne 0x4bf0db | goto label_11; | } 0x004bf0d6 call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_11: 0x004bf0db lea rbp, [r12 + 0x108] | rbp = r12 + 0x108; 0x004bf0e3 mov qword [rsp], rax | *(rsp) = rax; 0x004bf0e7 lea rsi, [r14 + 0x108] | 0x004bf0ee mov rdx, rsp | 0x004bf0f1 mov rdi, rbp | 0x004bf0f4 call 0x4c57d0 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (rbp, r14 + 0x108, rsp); 0x004bf0f9 mov rdi, r15 | rdi = r15; 0x004bf0fc test r15, r15 | | if (r15 == 0) { 0x004bf0ff jne 0x4bf115 | 0x004bf101 mov rdi, qword [rip + 0x40dfa0] | rdi = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bf108 test rdi, rdi | | if (rdi != 0) { 0x004bf10b jne 0x4bf115 | goto label_12; | } 0x004bf10d call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x004bf112 mov rdi, rax | rdi = rax; | } | label_12: 0x004bf115 lea r13, [r12 + 0x128] | r13 = r12 + 0x128; 0x004bf11d mov rax, qword [r14 + 0x148] | rax = *((r14 + 0x148)); 0x004bf124 mov qword [r13 + 0x20], rax | *((r13 + 0x20)) = rax; 0x004bf128 movups xmm0, xmmword [r14 + 0x128] | __asm ("movups xmm0, xmmword [r14 + 0x128]"); 0x004bf130 movups xmm1, xmmword [r14 + 0x138] | __asm ("movups xmm1, xmmword [r14 + 0x138]"); 0x004bf138 movups xmmword [r13 + 0x10], xmm1 | __asm ("movups xmmword [r13 + 0x10], xmm1"); 0x004bf13d movups xmmword [r13], xmm0 | __asm ("movups xmmword [r13], xmm0"); 0x004bf142 mov qword [r12 + 0x150], rdi | *((r12 + 0x150)) = rdi; 0x004bf14a cmp qword [r12 + 0x148], 0x17 | | if (*((r12 + 0x148)) != 0x17) { 0x004bf153 je 0x4bf1dd | 0x004bf159 mov rax, qword [r14 + 0x140] | rax = *((r14 + 0x140)); 0x004bf160 cmp rax, 0x17 | 0x004bf164 mov esi, 0x17 | esi = 0x17; | if (rax > 0x17) { 0x004bf169 cmova rsi, rax | rsi = rax; | } 0x004bf16d mov qword [r12 + 0x128], 0 | *((r12 + 0x128)) = 0; 0x004bf179 mov qword [r12 + 0x140], rax | *((r12 + 0x140)) = rax; 0x004bf181 mov qword [r12 + 0x148], rsi | *((r12 + 0x148)) = rsi; 0x004bf189 cmp rax, 0x18 | | if (rax >= 0x18) { 0x004bf18d jb 0x4bf1ab | 0x004bf18f inc rsi | rsi++; 0x004bf192 mov rax, qword [rdi] | rax = *(rdi); 0x004bf195 call qword [rax + 0x10] | rax = uint64_t (*rax + 0x10)() (); 0x004bf198 mov qword [r12 + 0x128], rax | *((r12 + 0x128)) = rax; 0x004bf1a0 cmp qword [r12 + 0x148], 0x17 | | if (*((r12 + 0x148)) != 0x17) { 0x004bf1a9 jne 0x4bf1ae | goto label_13; | } | } 0x004bf1ab mov rax, r13 | rax = r13; | label_13: 0x004bf1ae mov rdx, qword [r12 + 0x140] | rdx = *((r12 + 0x140)); 0x004bf1b6 inc rdx | rdx++; | if (rdx == 0) { 0x004bf1b9 je 0x4bf1dd | goto label_14; | } 0x004bf1bb cmp qword [r14 + 0x148], 0x17 | | if (*((r14 + 0x148)) != 0x17) { 0x004bf1c3 je 0x4bf1ce | 0x004bf1c5 mov rsi, qword [r14 + 0x128] | rsi = *((r14 + 0x128)); 0x004bf1cc jmp 0x4bf1d5 | | } else { 0x004bf1ce lea rsi, [r14 + 0x128] | | } 0x004bf1d5 mov rdi, rax | 0x004bf1d8 call 0x405bd0 | memcpy (rax, r14 + 0x128, rdx); | } | label_14: 0x004bf1dd mov rax, r15 | rax = r15; 0x004bf1e0 test r15, r15 | | if (r15 == 0) { 0x004bf1e3 jne 0x4bf1f6 | 0x004bf1e5 mov rax, qword [rip + 0x40debc] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bf1ec test rax, rax | | if (rax != 0) { 0x004bf1ef jne 0x4bf1f6 | goto label_15; | } 0x004bf1f1 call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_15: 0x004bf1f6 mov byte [r12 + 0x178], 0 | *((r12 + 0x178)) = 0; 0x004bf1ff mov qword [r12 + 0x180], rax | *((r12 + 0x180)) = rax; 0x004bf207 cmp byte [r14 + 0x178], 0 | | if (*((r14 + 0x178)) != 0) { 0x004bf20f je 0x4bf24b | 0x004bf211 test rax, rax | | if (rax == 0) { 0x004bf214 jne 0x4bf227 | 0x004bf216 mov rax, qword [rip + 0x40de8b] | rax = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bf21d test rax, rax | | if (rax != 0) { 0x004bf220 jne 0x4bf227 | goto label_16; | } 0x004bf222 call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); | } | label_16: 0x004bf227 lea rdi, [r12 + 0x158] | 0x004bf22f lea rsi, [r14 + 0x158] | 0x004bf236 mov qword [rsp], rax | *(rsp) = rax; 0x004bf23a mov rdx, rsp | 0x004bf23d call 0x5260a0 | bsl::vector>::vector(bsl::vector>const&,bsl::allocatorconst&) (r12 + 0x158, r14 + 0x158, rsp); 0x004bf242 mov byte [r12 + 0x178], 1 | *((r12 + 0x178)) = 1; | } 0x004bf24b mov byte [r12 + 0x188], 0 | *((r12 + 0x188)) = 0; 0x004bf254 mov byte [r12 + 0x198], 0 | *((r12 + 0x198)) = 0; 0x004bf25d cmp byte [r14 + 0x198], 0 | | if (*((r14 + 0x198)) != 0) { 0x004bf265 je 0x4bf29f | 0x004bf267 mov rax, qword [r14 + 0x188] | rax = *((r14 + 0x188)); 0x004bf26e mov qword [r12 + 0x188], rax | *((r12 + 0x188)) = rax; 0x004bf276 test rax, rax | | if (rax >= 0) { 0x004bf279 jns 0x4bf352 | goto label_17; | } | label_0: 0x004bf27f mov qword [r12 + 0x188], rax | *((r12 + 0x188)) = rax; 0x004bf287 mov eax, dword [r14 + 0x190] | eax = *((r14 + 0x190)); 0x004bf28e mov dword [r12 + 0x190], eax | *((r12 + 0x190)) = eax; 0x004bf296 mov byte [r12 + 0x198], 1 | *((r12 + 0x198)) = 1; | } 0x004bf29f test r15, r15 | | if (r15 == 0) { 0x004bf2a2 jne 0x4bf2b8 | 0x004bf2a4 mov r15, qword [rip + 0x40ddfd] | r15 = BloombergLP::bslma::Default::s_defaultAllocator; 0x004bf2ab test r15, r15 | | if (r15 != 0) { 0x004bf2ae jne 0x4bf2b8 | goto label_18; | } 0x004bf2b0 call 0x517520 | rax = BloombergLP::bslma::Default::determineAndReturnDefaultAllocator() (); 0x004bf2b5 mov r15, rax | r15 = rax; | } | label_18: 0x004bf2b8 mov qword [rsp], r15 | *(rsp) = r15; 0x004bf2bc lea rsi, [r14 + 0x1a0] | 0x004bf2c3 lea rdi, [r12 + 0x1a0] | 0x004bf2cb mov rdx, rsp | 0x004bf2ce call 0x4c7520 | BloombergLP::bdlb::NullableValue::NullableValue(BloombergLP::bdlb::NullableValueconst&,bsl::allocatorconst&) (r12 + 0x1a0, r14 + 0x1a0, rsp); 0x004bf2d3 mov eax, dword [r14 + 0x1e0] | eax = *((r14 + 0x1e0)); 0x004bf2da mov dword [r12 + 0x1e0], eax | *((r12 + 0x1e0)) = eax; 0x004bf2e2 mov al, byte [r14 + 0x1e8] | al = *((r14 + 0x1e8)); 0x004bf2e9 mov byte [r12 + 0x1e8], al | *((r12 + 0x1e8)) = al; 0x004bf2f1 mov eax, dword [r14 + 0x1e4] | eax = *((r14 + 0x1e4)); 0x004bf2f8 mov dword [r12 + 0x1e4], eax | *((r12 + 0x1e4)) = eax; 0x004bf300 mov eax, dword [r14 + 0x1ec] | eax = *((r14 + 0x1ec)); 0x004bf307 mov dword [r12 + 0x1ec], eax | *((r12 + 0x1ec)) = eax; 0x004bf30f mov al, byte [r14 + 0x1f0] | al = *((r14 + 0x1f0)); 0x004bf316 mov byte [r12 + 0x1f0], al | *((r12 + 0x1f0)) = al; 0x004bf31e mov eax, dword [r14 + 0x1f4] | eax = *((r14 + 0x1f4)); 0x004bf325 mov dword [r12 + 0x1f4], eax | *((r12 + 0x1f4)) = eax; 0x004bf32d mov al, byte [r14 + 0x1f8] | al = *((r14 + 0x1f8)); 0x004bf334 mov byte [r12 + 0x1f8], al | *((r12 + 0x1f8)) = al; 0x004bf33c add rsp, 0x68 | 0x004bf340 pop rbx | 0x004bf341 pop r12 | 0x004bf343 pop r13 | 0x004bf345 pop r14 | 0x004bf347 pop r15 | 0x004bf349 pop rbp | 0x004bf34a ret | return rax; | label_8: 0x004bf34b xor ecx, ecx | ecx = 0; 0x004bf34d jmp 0x4bf041 | | } while (1); | label_17: 0x004bf352 mov edi, 0x8ccfe0 | 0x004bf357 call 0x517f40 | eax = BloombergLP::bsls::Review::updateCount(BloombergLP::bsls::Atomic_TypeTraits::Int*) (method.BloombergLP::bdlt::Datetime.validateAndTraceLogRepresentation___const::lambda__1::operator_____const::count); 0x004bf35c mov qword [rsp], 0x5430fa | *(rsp) = "detected invalid 'bdlt::Datetime'; see TEAM 579660115"; 0x004bf364 mov qword [rsp + 8], 0x543130 | *((rsp + 8)) = "/home/parsa/experiments/assumptions/crush/ccm-assume/groups/bdl/bdlt/bdlt_datetime.h"; 0x004bf36d mov dword [rsp + 0x10], 0x466 | *((rsp + 0x10)) = 0x466; 0x004bf375 mov qword [rsp + 0x18], 0x667d92 | *((rsp + 0x18)) = "R-INV"; 0x004bf37e mov dword [rsp + 0x20], eax | *((rsp + 0x20)) = eax; 0x004bf382 mov rdi, rsp | rdi = rsp; 0x004bf385 call 0x517f60 | BloombergLP::bsls::Review::invokeHandler(BloombergLP::bsls::ReviewViolationconst&) (); 0x004bf38a mov rax, qword [r12 + 0x188] | rax = *((r12 + 0x188)); 0x004bf392 mov rcx, rax | rcx = *((r12 + 0x188)); 0x004bf395 shr rcx, 0x20 | rcx >>= 0x20; 0x004bf399 shl rax, 0x25 | rax <<= 0x25; 0x004bf39d movabs rdx, 0x7fffffe000000000 | rdx = 0x7fffffe000000000; 0x004bf3a7 add rdx, rax | rdx += rax; 0x004bf3aa imul rcx, rcx, 0x3e8 | rcx *= 0x3e8; 0x004bf3b1 movabs rax, 0x8000000000000000 | rax = 0x8000000000000000; 0x004bf3bb or rax, rdx | rax |= rdx; 0x004bf3be or rax, rcx | rax |= rcx; 0x004bf3c1 jmp 0x4bf27f | goto label_0; | }