Function at 0x140030d80
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa8
mov rbx, qword [r8]
mov rdi, rcx
mov r13, qword [r8 + 8]
mov rsi, rdx
movaps xmmword [rax - 0x58], xmm6
lea r8, [rbp - 0x51]
movaps xmmword [rax - 0x68], xmm7
movabs r11, 0xaaaaaaaaaaaaaaab
mov rax, r11
mov dword [rbp - 0x39], 0x517cc1b7
mov r9, r13
mov dword [rbp - 0x35], 0x27220a94
shr r9, 3
sub r9, 2
mov dword [rbp - 0x31], 0xfe13abe8
mov dword [rbp - 0x2d], 0xfa9a6ee0
mov dword [rbp - 0x29], 0x6db14acc
mov dword [rbp - 0x25], 0x9e21c820
lea r10, [r9 + 1]
mov dword [rbp - 0x21], 0xff28b1d5
mul r10
mov rax, r11
mov dword [rbp - 0x1d], 0xef5de2b0
shr rdx, 1
add r9, r9
mov dword [rbp - 0x19], 0xdb92371d
mov dword [rbp - 0x15], 0x2126e970
mov dword [rbp - 0x11], 0x3249775
lea rcx, [rdx + rdx*2]
mov dword [rbp - 0xd], 0x4e8c90e
movdqu xmm0, xmmword [rbp + r9*8 - 0x39]
sub r10, rcx
lea r9, [rbp - 0x4d]
mov qword [rbp + 0x67], r10
lea rcx, [r10 + 1]
mul rcx
shr rdx, 1
lea rax, [rdx + rdx*2]
sub rcx, rax
lea rdx, [rbp - 0x55]
mov eax, dword [rbx]
mov qword [rbp + 0x6f], rcx
mov ecx, dword [rbx + 4]
bswap ecx
mov dword [rbp - 0x45], ecx
mov ecx, dword [rbx + 8]
bswap ecx
mov dword [rbp - 0x41], ecx
mov ecx, dword [rbx + 0xc]
bswap ecx
mov dword [rbp - 0x3d], ecx
lea rcx, [rbp - 0x59]
bswap eax
mov dword [rbp - 0x49], eax
movdqu xmm2, xmmword [rbp - 0x49]
xorps xmm0, xmm2
movdqu xmmword [rbp - 0x59], xmm0
call fcn.140030a60
cmp r13, 0x18
je 0x140030f2c
cmp r13, 0x20
je 0x140030f2c
mov r15d, dword [rbp - 0x55]
mov r12d, dword [rbp - 0x59]
mov r14d, dword [rbp - 0x51]
mov ebx, dword [rbp - 0x4d]
movdqu xmm1, xmmword [rbp - 0x59]
mov rax, qword [rbp + 0x67]
lea r9, [rbp - 0x4d]
add rax, rax
lea r8, [rbp - 0x51]
lea rdx, [rbp - 0x55]
lea rcx, [rbp - 0x59]
movdqu xmm0, xmmword [rbp + rax*8 - 0x39]
xorps xmm0, xmm1
movdqu xmmword [rbp - 0x59], xmm0
call fcn.140030830
movdqu xmm6, xmmword [rbp - 0x59]
mov rax, qword [rbp + 0x6f]
lea r9, [rbp - 0x4d]
add rax, rax
lea r8, [rbp - 0x51]
xorps xmm6, xmm2
lea rdx, [rbp - 0x55]
lea rcx, [rbp - 0x59]
movdqu xmm0, xmmword [rbp + rax*8 - 0x39]
xorps xmm0, xmm6
movdqu xmmword [rbp - 0x59], xmm0
call fcn.140030a60
movdqu xmm7, xmmword [rbp - 0x59]
xorps xmm7, xmm1
cmp r13, 0x10
jne 0x140030f78
mov edx, 0x34
jmp 0x140030f90
mov r12d, dword [rbp - 0x59]
mov r15d, dword [rbp - 0x55]
mov ecx, dword [rbx + 0x10]
bswap ecx
xor r12d, ecx
mov ecx, dword [rbx + 0x14]
bswap ecx
xor r15d, ecx
mov dword [rbp - 0x59], r12d
mov dword [rbp - 0x55], r15d
cmp r13, 0x20
jne 0x140030eaf
mov ecx, dword [rbx + 0x18]
mov r14d, dword [rbp - 0x51]
bswap ecx
xor r14d, ecx
mov ecx, dword [rbx + 0x1c]
mov ebx, dword [rbp - 0x4d]
bswap ecx
xor ebx, ecx
mov dword [rbp - 0x51], r14d
mov dword [rbp - 0x4d], ebx
jmp 0x140030eb6
cmp r13, 0x18
jne 0x140030f85
mov edx, 0x3c
jmp 0x140030f90
cmp r13, 0x20
jne 0x140030f98
mov edx, 0x44
mov rcx, rdi
call fcn.140029be0
mov rdx, qword [rdi]
mov ecx, ebx
shl ecx, 0xd
mov eax, r12d
mov r8d, dword [rbp - 0x49]
movdqa xmm0, xmm6
mov r9d, dword [rbp - 0x45]
mov r10d, dword [rbp - 0x41]
mov r11d, dword [rbp - 0x3d]
shr eax, 0x13
xor ecx, eax
psrldq xmm0, 0xc
xor ecx, r8d
movd dword [rbp + 0x7f], xmm0
mov dword [rdx], ecx
mov eax, r12d
shl eax, 0xd
mov ecx, r15d
shr ecx, 0x13
xor ecx, eax
mov eax, r15d
xor ecx, r9d
shl eax, 0xd
mov dword [rdx + 4], ecx
mov ecx, r14d
shr ecx, 0x13
xor ecx, eax
mov eax, r14d
xor ecx, r10d
shl eax, 0xd
mov dword [rdx + 8], ecx
mov ecx, ebx
shr ecx, 0x13
xor ecx, eax
movd eax, xmm6
xor ecx, r11d
mov dword [rdx + 0xc], ecx
mov rdx, qword [rdi]
mov dword [rbp + 0x67], eax
shr eax, 0x13
movd ecx, xmm0
movdqa xmm0, xmm6
psrldq xmm0, 4
movd dword [rbp + 0x6f], xmm0
shl ecx, 0xd
xor ecx, eax
psrldq xmm6, 8
mov eax, dword [rbp + 0x67]
xor ecx, r12d
mov dword [rdx + 0x10], ecx
shl eax, 0xd
movd ecx, xmm0
movdqa xmm0, xmm7
psrldq xmm0, 0xc
movd dword [rbp + 0x77], xmm6
shr ecx, 0x13
xor ecx, eax
movd dword [rbp - 0x5d], xmm0
mov eax, dword [rbp + 0x6f]
xor ecx, r15d
mov dword [rdx + 0x14], ecx
shl eax, 0xd
movd ecx, xmm6
shr ecx, 0x13
xor ecx, eax
mov eax, dword [rbp + 0x7f]
xor ecx, r14d
shr eax, 0x13
mov dword [rdx + 0x18], ecx
mov ecx, dword [rbp + 0x77]
shl ecx, 0xd
xor ecx, eax
movd eax, xmm7
xor ecx, ebx
mov dword [rdx + 0x1c], ecx
mov rdx, qword [rdi]
movd ecx, xmm0
mov dword [rbp - 0x69], eax
shr eax, 0x13
shl ecx, 0xd
xor ecx, eax
xor ecx, dword [rbp + 0x67]
movdqa xmm0, xmm7
mov dword [rdx + 0x20], ecx
mov eax, dword [rbp - 0x69]
shl eax, 0xd
psrldq xmm0, 4
psrldq xmm7, 8
movd dword [rbp - 0x65], xmm0
movd dword [rbp - 0x61], xmm7
movd ecx, xmm0
shr ecx, 0x13
xor ecx, eax
mov eax, dword [rbp - 0x65]
xor ecx, dword [rbp + 0x6f]
mov dword [rdx + 0x24], ecx
shl eax, 0xd
movd ecx, xmm7
shr ecx, 0x13
xor ecx, eax
mov eax, dword [rbp - 0x5d]
xor ecx, dword [rbp + 0x77]
mov dword [rdx + 0x28], ecx
mov ecx, dword [rbp - 0x61]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, r8d
xor ecx, dword [rbp + 0x7f]
mov dword [rdx + 0x2c], ecx
mov ecx, r11d
mov rdx, qword [rdi]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, r8d
xor ecx, dword [rbp - 0x69]
mov dword [rdx + 0x30], ecx
mov ecx, r9d
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, r9d
xor ecx, dword [rbp - 0x65]
mov dword [rdx + 0x34], ecx
mov ecx, r10d
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, r10d
xor ecx, dword [rbp - 0x61]
mov dword [rdx + 0x38], ecx
mov ecx, r11d
shr ecx, 0x13
shl eax, 0xd
xor ecx, eax
mov eax, r12d
xor ecx, dword [rbp - 0x5d]
mov dword [rdx + 0x3c], ecx
lea ecx, [rbx + rbx]
mov rdx, qword [rdi]
shr eax, 0x1f
xor ecx, eax
lea eax, [r12 + r12]
xor ecx, r8d
mov dword [rdx + 0x40], ecx
mov ecx, r15d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r15 + r15]
xor ecx, r9d
mov dword [rdx + 0x44], ecx
mov ecx, r14d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r14 + r14]
xor ecx, r10d
mov dword [rdx + 0x48], ecx
mov ecx, ebx
shr ecx, 0x1f
xor ecx, eax
xor ecx, r11d
mov dword [rdx + 0x4c], ecx
mov rdx, qword [rdi]
mov ecx, dword [rbp + 0x67]
shr ecx, 0x1f
mov eax, dword [rbp + 0x7f]
add eax, eax
xor ecx, eax
mov eax, dword [rbp + 0x67]
xor ecx, r12d
add eax, eax
mov dword [rdx + 0x50], ecx
mov ecx, dword [rbp + 0x6f]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp + 0x6f]
xor ecx, r15d
add eax, eax
mov dword [rdx + 0x54], ecx
mov ecx, dword [rbp + 0x77]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp + 0x77]
xor ecx, r14d
add eax, eax
mov dword [rdx + 0x58], ecx
mov ecx, dword [rbp + 0x7f]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp - 0x5d]
xor ecx, ebx
add eax, eax
mov dword [rdx + 0x5c], ecx
mov rdx, qword [rdi]
mov ecx, dword [rbp - 0x69]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp - 0x69]
xor ecx, dword [rbp + 0x67]
add eax, eax
mov dword [rdx + 0x60], ecx
mov ecx, dword [rbp - 0x65]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp - 0x65]
xor ecx, dword [rbp + 0x6f]
add eax, eax
mov dword [rdx + 0x64], ecx
mov ecx, dword [rbp - 0x61]
shr ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp - 0x61]
xor ecx, dword [rbp + 0x77]
mov dword [rdx + 0x68], ecx
lea ecx, [rax + rax]
mov eax, dword [rbp - 0x5d]
shr eax, 0x1f
xor ecx, eax
mov eax, r8d
xor ecx, dword [rbp + 0x7f]
mov dword [rdx + 0x6c], ecx
lea ecx, [r11 + r11]
mov rdx, qword [rdi]
shr eax, 0x1f
xor ecx, eax
lea eax, [r8 + r8]
xor ecx, dword [rbp - 0x69]
mov dword [rdx + 0x70], ecx
mov ecx, r9d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r9 + r9]
xor ecx, dword [rbp - 0x65]
mov dword [rdx + 0x74], ecx
mov ecx, r10d
shr ecx, 0x1f
xor ecx, eax
lea eax, [r10 + r10]
xor ecx, dword [rbp - 0x61]
mov dword [rdx + 0x78], ecx
mov ecx, r11d
shr ecx, 0x1f
xor ecx, eax
mov eax, r14d
xor ecx, dword [rbp - 0x5d]
mov dword [rdx + 0x7c], ecx
mov ecx, r15d
mov rdx, qword [rdi]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, ebx
xor ecx, r8d
shr eax, 3
mov dword [rdx + 0x80], ecx
mov ecx, r14d
shl ecx, 0x1d
xor ecx, eax
mov eax, r12d
xor ecx, r9d
shr eax, 3
mov dword [rdx + 0x84], ecx
mov ecx, ebx
shl ecx, 0x1d
xor ecx, eax
mov eax, r15d
xor ecx, r10d
shr eax, 3
mov dword [rdx + 0x88], ecx
mov ecx, r12d
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rbp + 0x77]
xor ecx, r11d
shr eax, 3
mov dword [rdx + 0x8c], ecx
mov rdx, qword [rdi]
mov ecx, dword [rbp + 0x6f]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rbp + 0x7f]
xor ecx, r12d
shr eax, 3
mov dword [rdx + 0x90], ecx
mov ecx, dword [rbp + 0x77]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rbp + 0x67]
xor ecx, r15d
shr eax, 3
mov dword [rdx + 0x94], ecx
mov ecx, dword [rbp + 0x7f]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rbp + 0x67]
xor ecx, r14d
shl eax, 0x1d
mov dword [rdx + 0x98], ecx
mov ecx, dword [rbp + 0x6f]
shr ecx, 3
xor ecx, eax
mov eax, dword [rbp - 0x61]
xor ecx, ebx
shr eax, 3
mov dword [rdx + 0x9c], ecx
mov rdx, qword [rdi]
mov ecx, dword [rbp - 0x65]
shl ecx, 0x1d
xor ecx, eax
mov eax, dword [rbp - 0x5d]
xor ecx, dword [rbp + 0x67]
mov dword [rdx + 0xa0], ecx
mov ecx, dword [rbp - 0x61]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, dword [rbp - 0x69]
xor ecx, dword [rbp + 0x6f]
mov dword [rdx + 0xa4], ecx
mov ecx, dword [rbp - 0x5d]
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
xor ecx, dword [rbp + 0x77]
mov dword [rdx + 0xa8], ecx
mov eax, dword [rbp - 0x69]
mov ecx, dword [rbp - 0x65]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, r9d
xor ecx, dword [rbp + 0x7f]
mov dword [rdx + 0xac], ecx
mov ecx, r10d
mov rdx, qword [rdi]
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, r10d
xor ecx, dword [rbp - 0x69]
mov dword [rdx + 0xb0], ecx
mov ecx, r11d
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, r8d
xor ecx, dword [rbp - 0x65]
mov dword [rdx + 0xb4], ecx
mov ecx, r11d
shl ecx, 0x1d
shr eax, 3
xor ecx, eax
mov eax, r8d
xor ecx, dword [rbp - 0x61]
mov dword [rdx + 0xb8], ecx
mov ecx, r9d
shr ecx, 3
shl eax, 0x1d
xor ecx, eax
mov eax, r15d
xor ecx, dword [rbp - 0x5d]
mov dword [rdx + 0xbc], ecx
mov ecx, r12d
mov rdx, qword [rdi]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, r14d
xor ecx, r8d
shr eax, 1
mov dword [rdx + 0xc0], ecx
mov ecx, r15d
shl ecx, 0x1f
xor ecx, eax
mov eax, ebx
xor ecx, r9d
shr eax, 1
mov dword [rdx + 0xc4], ecx
mov ecx, r14d
shl ecx, 0x1f
xor ecx, eax
mov eax, r12d
xor ecx, r10d
shr eax, 1
mov dword [rdx + 0xc8], ecx
mov ecx, ebx
shl ecx, 0x1f
xor ecx, eax
lea rax, [r13 - 0x18]
xor ecx, r11d
mov dword [rdx + 0xcc], ecx
test rax, 0xfffffffffffffff7
jne 0x1400315d0
mov rdx, qword [rdi]
mov ecx, dword [rbp + 0x6f]
mov eax, dword [rbp + 0x67]
shr ecx, 1
shl eax, 0x1f
xor ecx, eax
mov eax, dword [rbp + 0x77]
xor ecx, r12d
shr eax, 1
mov dword [rdx + 0xd0], ecx
mov ecx, dword [rbp + 0x6f]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp + 0x7f]
xor ecx, r15d
shr eax, 1
mov dword [rdx + 0xd4], ecx
mov ecx, dword [rbp + 0x77]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp + 0x67]
xor ecx, r14d
shr eax, 1
mov dword [rdx + 0xd8], ecx
mov ecx, dword [rbp + 0x7f]
shl ecx, 0x1f
xor ecx, eax
mov eax, dword [rbp - 0x69]
xor ecx, ebx
shl eax, 0x1f
mov dword [rdx + 0xdc], ecx
mov rdx, qword [rdi]
mov ecx, dword [rbp - 0x65]
shr ecx, 1
xor ecx, eax
mov eax, dword [rbp - 0x61]
xor ecx, dword [rbp + 0x67]
mov dword [rdx + 0xe0], ecx
mov ecx, dword [rbp - 0x65]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [rbp - 0x5d]
xor ecx, dword [rbp + 0x6f]
mov dword [rdx + 0xe4], ecx
mov ecx, dword [rbp - 0x61]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
mov eax, dword [rbp - 0x69]
xor ecx, dword [rbp + 0x77]
mov dword [rdx + 0xe8], ecx
mov ecx, dword [rbp - 0x5d]
shl ecx, 0x1f
shr eax, 1
xor ecx, eax
xor ecx, dword [rbp + 0x7f]
mov dword [rdx + 0xec], ecx
cmp r13, 0x20
jne 0x1400315d0
mov rdx, qword [rdi]
mov ecx, r9d
shr ecx, 1
mov eax, r8d
shl eax, 0x1f
xor ecx, eax
mov eax, r9d
xor ecx, dword [rbp - 0x69]
mov dword [rdx + 0xf0], ecx
mov ecx, r10d
shl eax, 0x1f
shr ecx, 1
xor ecx, eax
mov eax, r10d
xor ecx, dword [rbp - 0x65]
mov dword [rdx + 0xf4], ecx
mov ecx, r11d
shl eax, 0x1f
shr ecx, 1
xor ecx, eax
mov eax, r8d
xor ecx, dword [rbp - 0x61]
mov dword [rdx + 0xf8], ecx
mov ecx, r11d
shr eax, 1
shl ecx, 0x1f
xor ecx, eax
mov eax, r12d
xor ecx, dword [rbp - 0x5d]
shl eax, 0x13
mov dword [rdx + 0xfc], ecx
mov ecx, r15d
mov rdx, qword [rdi]
shr ecx, 0xd
xor ecx, eax
shl r15d, 0x13
mov eax, r14d
shr r12d, 0xd
shr eax, 0xd
xor ecx, r8d
xor eax, r15d
shl r14d, 0x13
xor eax, r9d
mov dword [rdx + 0x100], ecx
mov dword [rdx + 0x104], eax
mov eax, ebx
shr eax, 0xd
xor eax, r14d
shl ebx, 0x13
xor eax, r10d
xor ebx, r12d
xor ebx, r11d
mov dword [rdx + 0x108], eax
mov dword [rdx + 0x10c], ebx
mov rdx, qword [rdi + 8]
mov rcx, rsi
sub rdx, qword [rdi]
sar rdx, 2
call fcn.140029be0
mov rcx, qword [rsi + 8]
xor r8d, r8d
mov r9, qword [rsi]
mov rax, rcx
sub rax, r9
cmp rax, 4
jb 0x14003168e
nop dword [rax]
mov rcx, qword [rdi]
mov rax, qword [rdi + 8]
sub rax, rcx
sar rax, 2
sub rax, r8
mov eax, dword [rcx + rax*4 - 0x10]
mov dword [r9 + r8*4], eax
mov rdx, qword [rdi]
mov rax, qword [rdi + 8]
mov rcx, qword [rsi]
sub rax, rdx
sar rax, 2
sub rax, r8
mov eax, dword [rdx + rax*4 - 0xc]
mov dword [rcx + r8*4 + 4], eax
mov rdx, qword [rdi]
mov rax, qword [rdi + 8]
mov rcx, qword [rsi]
sub rax, rdx
sar rax, 2
sub rax, r8
mov eax, dword [rdx + rax*4 - 8]
mov dword [rcx + r8*4 + 8], eax
mov rdx, qword [rdi]
mov rax, qword [rdi + 8]
mov rcx, qword [rsi]
sub rax, rdx
sar rax, 2
sub rax, r8
mov eax, dword [rdx + rax*4 - 4]
mov dword [rcx + r8*4 + 0xc], eax
add r8, 4
mov rcx, qword [rsi + 8]
mov r9, qword [rsi]
mov rax, rcx
sub rax, r9
sar rax, 2
cmp r8, rax
jne 0x140031600
sub rcx, r9
mov r10d, 4
and rcx, 0xfffffffffffffffc
cmp rcx, 0x20
je 0x1400317dd
nop word [rax + rax]
mov ecx, dword [r9 + r10*4]
mov eax, ecx
ror eax, 0x10
mov edx, ecx
ror edx, 0x18
xor edx, eax
ror ecx, 8
xor edx, ecx
mov dword [r9 + r10*4], edx
mov ecx, dword [r9 + r10*4 + 4]
mov eax, ecx
ror eax, 0x10
mov edx, ecx
ror edx, 0x18
xor edx, eax
ror ecx, 8
xor edx, ecx
mov dword [r9 + r10*4 + 4], edx
mov ecx, dword [r9 + r10*4 + 8]
mov eax, ecx
ror eax, 0x10
mov edx, ecx
ror ecx, 8
ror edx, 0x18
xor edx, eax
xor edx, ecx
mov dword [r9 + r10*4 + 8], edx
mov ecx, dword [r9 + r10*4 + 0xc]
mov eax, ecx
ror eax, 0x10
mov edx, ecx
ror ecx, 8
ror edx, 0x18
xor edx, eax
xor edx, ecx
mov dword [r9 + r10*4 + 0xc], edx
mov ecx, edx
mov eax, dword [r9 + r10*4 + 8]
xor dword [r9 + r10*4 + 4], eax
xor dword [r9 + r10*4 + 8], edx
mov eax, dword [r9 + r10*4 + 4]
xor ecx, eax
xor dword [r9 + r10*4], eax
mov dword [r9 + r10*4 + 0xc], ecx
mov r8d, dword [r9 + r10*4]
xor dword [r9 + r10*4 + 8], r8d
mov ecx, dword [r9 + r10*4 + 8]
xor ecx, dword [r9 + r10*4 + 4]
mov eax, ecx
and ecx, 0xffff00ff
shr eax, 8
and eax, 0xff00ff
shl ecx, 8
or eax, ecx
mov dword [r9 + r10*4 + 4], eax
mov eax, dword [r9 + r10*4 + 8]
ror eax, 0x10
mov dword [r9 + r10*4 + 8], eax
mov eax, dword [r9 + r10*4 + 0xc]
bswap eax
mov dword [r9 + r10*4 + 0xc], eax
mov eax, dword [r9 + r10*4 + 8]
xor dword [r9 + r10*4 + 4], eax
mov edx, dword [r9 + r10*4 + 0xc]
xor dword [r9 + r10*4 + 8], edx
mov eax, dword [r9 + r10*4 + 4]
xor eax, r8d
mov dword [r9 + r10*4], eax
xor edx, dword [r9 + r10*4 + 4]
mov dword [r9 + r10*4 + 0xc], edx
mov eax, dword [r9 + r10*4]
xor dword [r9 + r10*4 + 8], eax
mov eax, dword [r9 + r10*4 + 8]
xor dword [r9 + r10*4 + 4], eax
add r10, 4
mov r9, qword [rsi]
mov rax, qword [rsi + 8]
sub rax, r9
sar rax, 2
sub rax, 4
cmp r10, rax
jne 0x1400316b0
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0x80]
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret