; assembly | /* r2dec pseudo code output */ | /* baljsn_datumutil.t/assume @ 0x445960 */ | #include | ; (fcn) sym._anonymous_namespace_::Mover_BloombergLP::bdlb::BitStringImpUtil::setEqBits__BloombergLP::bdlb::BitStringImpUtil::setEqWord_::right_unsigned_long__unsigned_long__unsigned_long_const__unsigned_long__unsigned_long_ () | int64_t anonymous_namespace_::Mover_BloombergLP::bdlb::BitStringImpUtil::setEqBits_BloombergLP::bdlb::BitStringImpUtil::setEqWord_::right_unsigned_long_unsigned_long_unsigned_long_const_unsigned_long_unsigned_long_ (uint32_t arg5, int64_t arg4, int64_t arg3, uint32_t arg2, int64_t arg1) { | r8 = arg5; | rcx = arg4; | rdx = arg3; | rsi = arg2; | rdi = arg1; | /* (anonymous namespace)::Mover<&BloombergLP::bdlb::BitStringImpUtil::setEqBits, &BloombergLP::bdlb::BitStringImpUtil::setEqWord>::right(unsigned long*, unsigned long, unsigned long const*, unsigned long, unsigned long) */ 0x00445960 push rbp | 0x00445961 push r15 | 0x00445963 push r14 | 0x00445965 push r13 | 0x00445967 push r12 | 0x00445969 push rbx | 0x0044596a test r8, r8 | | if (r8 == 0) { 0x0044596d je 0x445d4e | goto label_3; | } 0x00445973 mov rax, rcx | rax = rcx; 0x00445976 add rsi, r8 | rsi += r8; 0x00445979 mov r15, rsi | r15 = rsi; 0x0044597c shr r15, 6 | r15 >>= 6; 0x00445980 lea r11, [rdi + r15*8] | r11 = rdi + r15*8; 0x00445984 and esi, 0x3f | esi &= 0x3f; 0x00445987 add rax, r8 | rax += r8; 0x0044598a mov rbp, rax | 0x0044598d shr rbp, 6 | rbp >>= 6; 0x00445991 lea r10, [rdx + rbp*8] | r10 = rdx + rbp*8; 0x00445995 and eax, 0x3f | eax &= 0x3f; | if (eax != 0) { 0x00445998 je 0x445a58 | 0x0044599e mov r12d, eax | r12d = eax; 0x004459a1 cmp r12, r8 | | if (r12 >= r8) { 0x004459a4 jae 0x445b17 | goto label_4; | } 0x004459aa lea ecx, [rsi + 0x40] | ecx = rsi + 0x40; 0x004459ad cmp esi, eax | | if (esi >= eax) { 0x004459af cmovae ecx, esi | ecx = esi; | } 0x004459b2 sbb r14, r14 | r14 -= r14; 0x004459b5 mov esi, ecx | esi = ecx; 0x004459b7 sub esi, eax | esi -= eax; 0x004459b9 lea r13, [r11 + r14*8] | r13 = r11 + r14*8; 0x004459bd mov r9, qword [r10] | r9 = *(r10); 0x004459c0 mov ecx, 0x40 | ecx = 0x40; 0x004459c5 sub ecx, esi | ecx -= esi; 0x004459c7 sub eax, ecx | eax -= ecx; | if (eax <= 0) { 0x004459c9 jbe 0x445baa | goto label_5; | } 0x004459cf mov qword [rsp - 0x20], rbp | *((rsp - 0x20)) = rbp; 0x004459d4 mov qword [rsp - 0x18], r10 | *((rsp - 0x18)) = r10; 0x004459d9 mov qword [rsp - 0x10], r11 | *((rsp - 0x10)) = r11; 0x004459de mov r10, 0xffffffffffffffff | r10 = 0xffffffffffffffff; 0x004459e5 shl r10, cl | r10 <<= cl; 0x004459e8 mov rbx, 0xffffffffffffffff | rbx = 0xffffffffffffffff; 0x004459ef mov ecx, ecx | 0x004459f1 mov qword [rsp - 8], rcx | *((rsp - 8)) = rcx; 0x004459f6 mov r11, 0xffffffffffffffff | r11 = 0xffffffffffffffff; 0x004459fd test esi, esi | | if (esi != 0) { 0x004459ff je 0x445a07 | 0x00445a01 not r10 | r10 = ~r10; 0x00445a04 mov r11, r10 | r11 = r10; | } 0x00445a07 mov rbp, r9 | 0x00445a0a and rbp, r11 | rbp &= r11; 0x00445a0d mov ecx, esi | ecx = esi; 0x00445a0f shl r11, cl | r11 <<= cl; 0x00445a12 not r11 | r11 = ~r11; 0x00445a15 and r11, qword [r13] | r11 &= *(r13); 0x00445a19 shl rbp, cl | rbp <<= cl; 0x00445a1c mov rcx, qword [rsp - 8] | rcx = *((rsp - 8)); 0x00445a21 shr r9, cl | r9 >>= cl; 0x00445a24 mov ecx, eax | ecx = eax; 0x00445a26 shl rbx, cl | rbx <<= cl; 0x00445a29 or rbp, r11 | rbp |= r11; 0x00445a2c mov qword [r13], rbp | *(r13) = rbp; 0x00445a30 mov rax, rbx | rax = rbx; 0x00445a33 not rax | rax = ~rax; 0x00445a36 and rax, r9 | rax &= r9; 0x00445a39 and rbx, qword [r13 + 8] | rbx &= *((r13 + 8)); 0x00445a3d add r13, 8 | r13 += 8; 0x00445a41 or rbx, rax | rbx |= rax; 0x00445a44 mov r11, qword [rsp - 0x10] | r11 = *((rsp - 0x10)); 0x00445a49 mov r10, qword [rsp - 0x18] | r10 = *((rsp - 0x18)); 0x00445a4e mov rbp, qword [rsp - 0x20] | rbp = *((rsp - 0x20)); 0x00445a53 jmp 0x445bd2 | goto label_6; | } 0x00445a58 xor r14d, r14d | r14d = 0; 0x00445a5b test esi, esi | | if (esi == 0) { 0x00445a5d je 0x445be1 | goto label_7; | } | label_0: 0x00445a63 cmp r8, 0x40 | | if (r8 < 0x40) { 0x00445a67 jb 0x445c5a | goto label_8; | } 0x00445a6d mov qword [rsp - 0x18], r10 | *((rsp - 0x18)) = r10; 0x00445a72 mov qword [rsp - 0x10], r11 | *((rsp - 0x10)) = r11; 0x00445a77 mov r9d, 0x40 | r9d = 0x40; 0x00445a7d mov ecx, esi | ecx = esi; 0x00445a7f neg ecx | ecx = -ecx; 0x00445a81 mov r13, 0xffffffffffffffff | r13 = 0xffffffffffffffff; 0x00445a88 shl r13, cl | r13 <<= cl; 0x00445a8b sub r9d, esi | r9d -= esi; 0x00445a8e mov r12, 0xffffffffffffffff | r12 = 0xffffffffffffffff; 0x00445a95 not r13 | r13 = ~r13; 0x00445a98 mov r10d, esi | r10d = esi; 0x00445a9b mov ecx, esi | ecx = esi; 0x00445a9d shl r13, cl | r13 <<= cl; 0x00445aa0 not r13 | r13 = ~r13; 0x00445aa3 shl r12, cl | r12 <<= cl; 0x00445aa6 mov r11, r12 | r11 = r12; 0x00445aa9 not r11 | r11 = ~r11; 0x00445aac add r15, r14 | r15 += r14; 0x00445aaf lea rdi, [rdi + r15*8] | rdi = rdi + r15*8; 0x00445ab3 lea r15, [rdx + rbp*8 - 8] | r15 = rdx + rbp*8 - 8; 0x00445ab8 xor ecx, ecx | ecx = 0; 0x00445aba nop word [rax + rax] | | do { 0x00445ac0 mov rax, rcx | rax = rcx; 0x00445ac3 mov rdx, qword [r15 + rcx*8] | rdx = *((r15 + rcx*8)); 0x00445ac7 mov rbx, qword [rdi + rcx*8 - 8] | rbx = *((rdi + rcx*8 - 8)); 0x00445acc and rbx, r13 | rbx &= r13; 0x00445acf mov rbp, rdx | 0x00445ad2 mov ecx, r10d | ecx = r10d; 0x00445ad5 shl rbp, cl | rbp <<= cl; 0x00445ad8 or rbp, rbx | rbp |= rbx; 0x00445adb mov qword [rdi + rax*8 - 8], rbp | *((rdi + rax*8 - 8)) = rbp; 0x00445ae0 mov ecx, r9d | ecx = r9d; 0x00445ae3 shr rdx, cl | rdx >>= cl; 0x00445ae6 and rdx, r11 | rdx &= r11; 0x00445ae9 mov rcx, qword [rdi + rax*8] | rcx = *((rdi + rax*8)); 0x00445aed and rcx, r12 | rcx &= r12; 0x00445af0 or rcx, rdx | rcx |= rdx; 0x00445af3 mov qword [rdi + rax*8], rcx | *((rdi + rax*8)) = rcx; 0x00445af7 lea rcx, [rax - 1] | rcx = rax - 1; 0x00445afb add r8, 0xffffffffffffffc0 | r8 += 0xffffffffffffffc0; 0x00445aff cmp r8, 0x3f | 0x00445b03 ja 0x445ac0 | | } while (r8 > 0x3f); 0x00445b05 add r14, rcx | r14 += rcx; 0x00445b08 mov r11, qword [rsp - 0x10] | r11 = *((rsp - 0x10)); 0x00445b0d mov r10, qword [rsp - 0x18] | r10 = *((rsp - 0x18)); 0x00445b12 jmp 0x445c5c | goto label_2; | label_4: 0x00445b17 lea edx, [rsi + 0x40] | edx = rsi + 0x40; 0x00445b1a cmp esi, r8d | | if (esi >= r8d) { 0x00445b1d cmovae edx, esi | edx = esi; | } 0x00445b20 sbb r14, r14 | r14 -= r14; 0x00445b23 sub eax, r8d | eax -= r8d; 0x00445b26 mov rbx, qword [r10] | rbx = *(r10); 0x00445b29 mov ecx, eax | ecx = eax; 0x00445b2b shr rbx, cl | rbx >>= cl; 0x00445b2e test r8d, r8d | | if (r8d == 0) { 0x00445b31 je 0x445d4e | goto label_3; | } 0x00445b37 sub edx, r8d | edx -= r8d; 0x00445b3a mov eax, 0x40 | eax = 0x40; 0x00445b3f sub eax, edx | eax -= edx; 0x00445b41 cmp eax, r8d | | if (eax >= r8d) { 0x00445b44 jae 0x445d25 | goto label_9; | } 0x00445b4a mov rdi, 0xffffffffffffffff | rdi = 0xffffffffffffffff; 0x00445b51 mov ecx, eax | ecx = eax; 0x00445b53 shl rdi, cl | rdi <<= cl; 0x00445b56 mov rbp, 0xffffffffffffffff | 0x00445b5d mov r9d, eax | r9d = eax; 0x00445b60 mov rsi, 0xffffffffffffffff | rsi = 0xffffffffffffffff; 0x00445b67 test edx, edx | | if (edx != 0) { 0x00445b69 je 0x445b71 | 0x00445b6b not rdi | rdi = ~rdi; 0x00445b6e mov rsi, rdi | rsi = rdi; | } 0x00445b71 mov rdi, rbx | rdi = rbx; 0x00445b74 and rdi, rsi | rdi &= rsi; 0x00445b77 mov ecx, edx | ecx = edx; 0x00445b79 shl rsi, cl | rsi <<= cl; 0x00445b7c not rsi | rsi = ~rsi; 0x00445b7f and rsi, qword [r11 + r14*8] | rsi &= *((r11 + r14*8)); 0x00445b83 shl rdi, cl | rdi <<= cl; 0x00445b86 mov ecx, r9d | ecx = r9d; 0x00445b89 shr rbx, cl | rbx >>= cl; 0x00445b8c sub r8d, eax | r8d -= eax; 0x00445b8f mov ecx, r8d | ecx = r8d; 0x00445b92 shl rbp, cl | rbp <<= cl; 0x00445b95 or rdi, rsi | rdi |= rsi; 0x00445b98 mov qword [r11 + r14*8], rdi | *((r11 + r14*8)) = rdi; 0x00445b9c mov rax, rbp | rax = rbp; 0x00445b9f not rax | rax = ~rax; 0x00445ba2 and rax, rbx | rax &= rbx; 0x00445ba5 jmp 0x445ceb | goto label_10; | label_5: 0x00445baa mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x00445bb1 mov ecx, r12d | ecx = r12d; 0x00445bb4 shl rax, cl | rax <<= cl; 0x00445bb7 not rax | rax = ~rax; 0x00445bba and r9, rax | r9 &= rax; 0x00445bbd mov ecx, esi | ecx = esi; 0x00445bbf shl rax, cl | rax <<= cl; 0x00445bc2 not rax | rax = ~rax; 0x00445bc5 and rax, qword [r13] | rax &= *(r13); 0x00445bc9 shl r9, cl | r9 <<= cl; 0x00445bcc or r9, rax | r9 |= rax; 0x00445bcf mov rbx, r9 | rbx = r9; | label_6: 0x00445bd2 mov qword [r13], rbx | *(r13) = rbx; 0x00445bd6 sub r8, r12 | r8 -= r12; 0x00445bd9 test esi, esi | | if (esi != 0) { 0x00445bdb jne 0x445a63 | goto label_0; | } | label_7: 0x00445be1 cmp r8, 0x40 | | if (r8 < 0x40) { 0x00445be5 jb 0x445c5a | goto label_8; | } 0x00445be7 mov r12, r11 | r12 = r11; 0x00445bea lea r11, [r8 - 0x40] | r11 = r8 - 0x40; 0x00445bee cmp r11, 0xc0 | | if (r11 >= 0xc0) { 0x00445bf5 jb 0x445c2a | 0x00445bf7 shr r11, 6 | r11 >>= 6; 0x00445bfb lea rbx, [r14 + r15] | rbx = r14 + r15; 0x00445bff mov rax, r11 | rax = r11; 0x00445c02 not rax | rax = ~rax; 0x00445c05 lea rcx, [rbx + rax] | rcx = rbx + rax; 0x00445c09 lea rcx, [rdi + rcx*8] | rcx = rdi + rcx*8; 0x00445c0d cmp rcx, r10 | | if (rcx >= r10) { 0x00445c10 jae 0x445d59 | goto label_11; | } 0x00445c16 lea rcx, [rdi + rbx*8] | rcx = rdi + rbx*8; 0x00445c1a add rax, rbp | rax += rbp; 0x00445c1d lea rax, [rdx + rax*8] | rax = rdx + rax*8; 0x00445c21 cmp rax, rcx | | if (rax >= rcx) { 0x00445c24 jae 0x445d59 | goto label_11; | } | } 0x00445c2a xor ecx, ecx | ecx = 0; 0x00445c2c mov r11, r12 | r11 = r12; | label_1: 0x00445c2f lea rax, [rdi + r15*8 - 8] | rax = rdi + r15*8 - 8; 0x00445c34 lea rdx, [rdx + rbp*8 - 8] | rdx = rdx + rbp*8 - 8; 0x00445c39 nop dword [rax] | | do { 0x00445c40 mov rdi, qword [rdx + rcx*8] | rdi = *((rdx + rcx*8)); 0x00445c44 dec rcx | rcx--; 0x00445c47 mov qword [rax + r14*8], rdi | *((rax + r14*8)) = rdi; 0x00445c4b dec r14 | r14--; 0x00445c4e add r8, 0xffffffffffffffc0 | r8 += 0xffffffffffffffc0; 0x00445c52 cmp r8, 0x3f | 0x00445c56 ja 0x445c40 | | } while (r8 > 0x3f); 0x00445c58 jmp 0x445c5c | goto label_2; | label_8: 0x00445c5a xor ecx, ecx | ecx = 0; | label_2: 0x00445c5c test r8d, r8d | | if (r8d != 0) { 0x00445c5f je 0x445d4e | 0x00445c65 mov eax, esi | eax = esi; 0x00445c67 or eax, 0x40 | eax |= 0x40; 0x00445c6a cmp esi, r8d | | if (esi >= r8d) { 0x00445c6d cmovae eax, esi | eax = esi; | } 0x00445c70 sbb r14, 0 | 0x00445c74 mov rdi, qword [r10 + rcx*8 - 8] | rdi = *((r10 + rcx*8 - 8)); 0x00445c79 mov ecx, r8d | ecx = r8d; 0x00445c7c neg cl | cl = -cl; 0x00445c7e shr rdi, cl | rdi >>= cl; 0x00445c81 sub eax, r8d | eax -= r8d; 0x00445c84 mov edx, 0x40 | edx = 0x40; 0x00445c89 sub edx, eax | edx -= eax; 0x00445c8b cmp edx, r8d | | if (edx < r8d) { 0x00445c8e jae 0x445cfa | 0x00445c90 mov rsi, 0xffffffffffffffff | rsi = 0xffffffffffffffff; 0x00445c97 mov ecx, edx | ecx = edx; 0x00445c99 shl rsi, cl | rsi <<= cl; 0x00445c9c mov rbp, 0xffffffffffffffff | 0x00445ca3 mov r9d, edx | r9d = edx; 0x00445ca6 mov rbx, 0xffffffffffffffff | rbx = 0xffffffffffffffff; 0x00445cad test eax, eax | | if (eax != 0) { 0x00445caf je 0x445cb7 | 0x00445cb1 not rsi | rsi = ~rsi; 0x00445cb4 mov rbx, rsi | rbx = rsi; | } 0x00445cb7 mov rsi, rdi | rsi = rdi; 0x00445cba and rsi, rbx | rsi &= rbx; 0x00445cbd mov ecx, eax | ecx = eax; 0x00445cbf shl rbx, cl | rbx <<= cl; 0x00445cc2 not rbx | rbx = ~rbx; 0x00445cc5 and rbx, qword [r11 + r14*8] | rbx &= *((r11 + r14*8)); 0x00445cc9 shl rsi, cl | rsi <<= cl; 0x00445ccc mov ecx, r9d | ecx = r9d; 0x00445ccf shr rdi, cl | rdi >>= cl; 0x00445cd2 sub r8d, edx | r8d -= edx; 0x00445cd5 mov ecx, r8d | ecx = r8d; 0x00445cd8 shl rbp, cl | rbp <<= cl; 0x00445cdb or rsi, rbx | rsi |= rbx; 0x00445cde mov qword [r11 + r14*8], rsi | *((r11 + r14*8)) = rsi; 0x00445ce2 mov rax, rbp | rax = rbp; 0x00445ce5 not rax | rax = ~rax; 0x00445ce8 and rax, rdi | rax &= rdi; | label_10: 0x00445ceb and rbp, qword [r11 + r14*8 + 8] | rbp &= *((r11 + r14*8 + 8)); 0x00445cf0 or rbp, rax | rbp |= rax; 0x00445cf3 mov qword [r11 + r14*8 + 8], rbp | *((r11 + r14*8 + 8)) = rbp; 0x00445cf8 jmp 0x445d4e | | } else { 0x00445cfa mov rdx, 0xffffffffffffffff | rdx = 0xffffffffffffffff; 0x00445d01 mov ecx, r8d | ecx = r8d; 0x00445d04 shl rdx, cl | rdx <<= cl; 0x00445d07 not rdx | rdx = ~rdx; 0x00445d0a and rdi, rdx | rdi &= rdx; 0x00445d0d mov ecx, eax | ecx = eax; 0x00445d0f shl rdx, cl | rdx <<= cl; 0x00445d12 not rdx | rdx = ~rdx; 0x00445d15 shl rdi, cl | rdi <<= cl; 0x00445d18 and rdx, qword [r11 + r14*8] | rdx &= *((r11 + r14*8)); 0x00445d1c or rdi, rdx | rdi |= rdx; 0x00445d1f mov qword [r11 + r14*8], rdi | *((r11 + r14*8)) = rdi; 0x00445d23 jmp 0x445d4e | goto label_3; | label_9: 0x00445d25 mov rax, 0xffffffffffffffff | rax = 0xffffffffffffffff; 0x00445d2c mov ecx, r8d | ecx = r8d; 0x00445d2f shl rax, cl | rax <<= cl; 0x00445d32 not rax | rax = ~rax; 0x00445d35 and rbx, rax | rbx &= rax; 0x00445d38 mov ecx, edx | ecx = edx; 0x00445d3a shl rax, cl | rax <<= cl; 0x00445d3d not rax | rax = ~rax; 0x00445d40 shl rbx, cl | rbx <<= cl; 0x00445d43 and rax, qword [r11 + r14*8] | rax &= *((r11 + r14*8)); 0x00445d47 or rbx, rax | rbx |= rax; 0x00445d4a mov qword [r11 + r14*8], rbx | *((r11 + r14*8)) = rbx; | } | } | label_3: 0x00445d4e pop rbx | 0x00445d4f pop r12 | r12 = rbx; 0x00445d51 pop r13 | r13 = rbx; 0x00445d53 pop r14 | r14 = rbx; 0x00445d55 pop r15 | r15 = rbx; 0x00445d57 pop rbp | 0x00445d58 ret | return rax; | label_11: 0x00445d59 mov qword [rsp - 0x20], rbp | *((rsp - 0x20)) = rbp; 0x00445d5e inc r11 | r11++; 0x00445d61 mov r9, r11 | r9 = r11; 0x00445d64 and r9, 0xfffffffffffffffc | r9 &= 0xfffffffffffffffc; 0x00445d68 lea rax, [r9 - 4] | rax = r9 - 4; 0x00445d6c mov r13, rax | r13 = rax; 0x00445d6f shr r13, 2 | r13 >>= 2; 0x00445d73 inc r13 | r13++; 0x00445d76 test rax, rax | | if (rax == 0) { 0x00445d79 je 0x445dd6 | goto label_12; | } 0x00445d7b mov rax, qword [rsp - 0x20] | rax = *((rsp - 0x20)); 0x00445d80 lea rbp, [rdx + rax*8 - 0x10] | rbp = rdx + rax*8 - 0x10; 0x00445d85 lea rcx, [rdi + rbx*8 - 0x10] | rcx = rdi + rbx*8 - 0x10; 0x00445d8a mov rax, r13 | rax = r13; 0x00445d8d and rax, 0xfffffffffffffffe | rax &= 0xfffffffffffffffe; 0x00445d91 neg rax | rax = -rax; 0x00445d94 mov rbx, 0xfffffffffffffffe | rbx = 0xfffffffffffffffe; 0x00445d9b nop dword [rax + rax] | | do { 0x00445da0 movups xmm0, xmmword [rbp + rbx*8] | __asm ("movups xmm0, xmmword [rbp + rbx*8]"); 0x00445da5 movups xmm1, xmmword [rbp + rbx*8 + 0x10] | __asm ("movups xmm1, xmmword [rbp + rbx*8 + 0x10]"); 0x00445daa movups xmmword [rcx + rbx*8 + 0x10], xmm1 | __asm ("movups xmmword [rcx + rbx*8 + 0x10], xmm1"); 0x00445daf movups xmmword [rcx + rbx*8], xmm0 | __asm ("movups xmmword [rcx + rbx*8], xmm0"); 0x00445db3 movups xmm0, xmmword [rbp + rbx*8 - 0x20] | __asm ("movups xmm0, xmmword [rbp + rbx*8 - 0x20]"); 0x00445db8 movups xmm1, xmmword [rbp + rbx*8 - 0x10] | __asm ("movups xmm1, xmmword [rbp + rbx*8 - 0x10]"); 0x00445dbd movups xmmword [rcx + rbx*8 - 0x10], xmm1 | __asm ("movups xmmword [rcx + rbx*8 - 0x10], xmm1"); 0x00445dc2 movups xmmword [rcx + rbx*8 - 0x20], xmm0 | __asm ("movups xmmword [rcx + rbx*8 - 0x20], xmm0"); 0x00445dc7 add rbx, 0xfffffffffffffff8 | rbx += 0xfffffffffffffff8; 0x00445dcb add rax, 2 | rax += 2; 0x00445dcf jne 0x445da0 | | } while (rax != 0); 0x00445dd1 inc rbx | rbx++; 0x00445dd4 jmp 0x445ddd | goto label_13; | label_12: 0x00445dd6 mov rbx, 0xffffffffffffffff | rbx = 0xffffffffffffffff; | label_13: 0x00445ddd mov rax, r9 | rax = r9; 0x00445de0 shl rax, 6 | rax <<= 6; 0x00445de4 test r13b, 1 | | if ((r13b & 1) != 0) { 0x00445de8 je 0x445e09 | 0x00445dea lea rcx, [r14 + rbx] | rcx = r14 + rbx; 0x00445dee movups xmm0, xmmword [r10 + rbx*8 - 0x18] | __asm ("movups xmm0, xmmword [r10 + rbx*8 - 0x18]"); 0x00445df4 movups xmm1, xmmword [r10 + rbx*8 - 8] | __asm ("movups xmm1, xmmword [r10 + rbx*8 - 8]"); 0x00445dfa mov rbp, r12 | 0x00445dfd movups xmmword [r12 + rcx*8 - 8], xmm1 | __asm ("movups xmmword [r12 + rcx*8 - 8], xmm1"); 0x00445e03 movups xmmword [r12 + rcx*8 - 0x18], xmm0 | __asm ("movups xmmword [r12 + rcx*8 - 0x18], xmm0"); | } 0x00445e09 sub r14, r9 | r14 -= r9; 0x00445e0c mov rcx, r9 | rcx = r9; 0x00445e0f neg rcx | rcx = -rcx; 0x00445e12 sub r8, rax | r8 -= rax; 0x00445e15 cmp r11, r9 | 0x00445e18 mov r11, r12 | r11 = r12; 0x00445e1b mov rbp, qword [rsp - 0x20] | rbp = *((rsp - 0x20)); | if (r11 != r9) { 0x00445e20 jne 0x445c2f | goto label_1; | } 0x00445e26 jmp 0x445c5c | goto label_2; | }