Function at 0x14003fdc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x9d8
movups xmmword [rsp + 0x960], xmm6
movups xmmword [rsp + 0x970], xmm7
movups xmmword [rsp + 0x980], xmm8
movups xmmword [rsp + 0x990], xmm9
movups xmmword [rsp + 0x9a0], xmm10
movups xmmword [rsp + 0x9b0], xmm11
movups xmmword [rsp + 0x9c0], xmm12
xor r10d, r10d
lea rax, [rsp + 0x1a0]
mov rbx, rcx
mov rsi, r8
mov r9, rdx
mov qword [rsp + 0x80], rax
mov r8, rdx
lea rcx, [rsp + 0x1a1]
lea r14, [rsp + 0x1df]
nop
movzx eax, byte [r8]
add rcx, 2
add r8, 1
add eax, r10d
lea edx, [rax + 8]
sar edx, 4
mov r10d, edx
shl r10d, 4
sub eax, r10d
lea r10d, [rdx + 8]
sar r10d, 4
mov byte [rcx - 3], al
mov eax, r10d
shl eax, 4
sub edx, eax
mov byte [rcx - 2], dl
cmp r14, rcx
jne 0x14003fe40
movzx edx, byte [r9 + 0x1f]
mov eax, r10d
xor ecx, ecx
lea r12, [rsp + 0x1e0]
lea rbp, [rsp + 0x258]
lea rdi, [rsp + 0x230]
add eax, edx
lea r13, [rsp + 0x208]
lea edx, [rax + 8]
sar edx, 4
mov r8d, edx
shl r8d, 4
sub eax, r8d
mov cl, al
lea rax, [rsp + 0x460]
mov ch, dl
mov rdx, rsi
mov r15, rax
mov qword [rsp + 0x198], rax
mov word [rsp + 0x1de], cx
mov rcx, rax
call fcn.14003d490
lea rcx, [rsp + 0x2a8]
mov qword [rsp + 0x28], r14
lea rax, [rsp + 0x8c0]
mov qword [rsp + 0x68], rcx
lea rcx, [rsp + 0x2d0]
mov r14, r15
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x280]
mov qword [rsp + 0x78], rcx
lea rcx, [rsp + 0x2f8]
mov qword [rsp + 0x58], rax
mov r15, rcx
mov qword [rsp + 0x118], rcx
mov qword [rsp + 0xa20], rbx
mov rbx, rax
nop word [rax + rax]
mov r8, r14
mov rdx, rsi
mov rcx, r12
add r14, 0xa0
call fcn.14003c970
mov r8, rbp
mov rdx, r12
mov rcx, rbx
call fcn.14003a220
mov rcx, qword [rsp + 0x68]
mov r8, rdi
mov rdx, r13
call fcn.14003a220
mov rcx, qword [rsp + 0x78]
mov r8, rbp
mov rdx, rdi
call fcn.14003a220
mov rdx, r12
mov rcx, r15
mov r8, r13
call fcn.14003a220
mov rdx, rbx
mov rcx, r14
call fcn.14003d490
cmp r14, qword [rsp + 0x70]
jne 0x14003ff40
mov rbx, qword [rsp + 0xa20]
mov r14, qword [rsp + 0x28]
pxor xmm0, xmm0
lea rsi, [rsp + 0x348]
movdqu xmm8, xmmword [0x140612550]
movdqu xmm7, xmmword [0x140612540]
lea r15, [rsp + 0x398]
movdqa xmm6, xmm0
lea rax, [rbx + 0x28]
mov qword [rsp + 0x50], r14
lea r14, [rsp + 0x320]
mov qword [rsp + 0x30], rax
lea rax, [rbx + 0x50]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x3c0]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x488]
mov qword [rsp + 0xa8], rax
lea rax, [rsp + 0x4b0]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0x370]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x4d8]
mov qword [rsp + 0xf0], rax
lea rax, [rsp + 0x500]
mov qword [rsp + 0x128], rax
lea rax, [rsp + 0x528]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x550]
mov qword [rsp + 0x188], rax
lea rax, [rsp + 0x578]
mov qword [rsp + 0x98], rax
lea rax, [rsp + 0x5a0]
mov qword [rsp + 0xc0], rax
lea rax, [rsp + 0x5c8]
mov qword [rsp + 0xe0], rax
lea rax, [rsp + 0x5f0]
mov qword [rsp + 0x110], rax
lea rax, [rsp + 0x618]
mov qword [rsp + 0x148], rax
lea rax, [rsp + 0x640]
mov qword [rsp + 0x178], rax
lea rax, [rsp + 0x668]
mov qword [rsp + 0x88], rax
lea rax, [rsp + 0x690]
mov qword [rsp + 0xb0], rax
lea rax, [rsp + 0x6b8]
mov qword [rsp + 0xd8], rax
lea rax, [rsp + 0x6e0]
mov qword [rbx + 0x70], 0
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm8
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm7
movups xmmword [rbx + 0x60], xmm0
mov qword [rsp + 0xf8], rax
lea rax, [rsp + 0x708]
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x730]
mov qword [rsp + 0x160], rax
lea rax, [rsp + 0x758]
mov qword [rsp + 0x190], rax
lea rax, [rsp + 0x780]
mov qword [rsp + 0xa0], rax
lea rax, [rsp + 0x7a8]
mov qword [rsp + 0xc8], rax
lea rax, [rsp + 0x7d0]
mov qword [rsp + 0xe8], rax
lea rax, [rsp + 0x7f8]
mov qword [rsp + 0x120], rax
lea rax, [rsp + 0x820]
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0x848]
mov qword [rsp + 0x180], rax
lea rax, [rsp + 0x870]
mov qword [rsp + 0x90], rax
lea rax, [rsp + 0x898]
mov qword [rsp + 0xb8], rax
lea rax, [rsp + 0x8e8]
mov qword [rsp + 0x108], rax
lea rax, [rsp + 0x910]
mov qword [rsp + 0x140], rax
lea rax, [rsp + 0x938]
mov qword [rsp + 0x170], rax
lea rax, [rsp + 0x3e8]
mov qword [rsp + 0x100], rax
lea rax, [rsp + 0x410]
mov qword [rsp + 0x138], rax
lea rax, [rsp + 0x438]
mov qword [rsp + 0x168], rax
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x50]
movsx rax, byte [rax]
mov rdx, rax
mov rcx, rax
sar rax, 0x3f
and eax, edx
shr rcx, 0x3f
add eax, eax
mov qword [rsp + 0x48], rcx
mov rcx, r12
sub edx, eax
mov byte [rsp + 0x60], dl
mov rdx, rbx
call fcn.14003aaf0
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
call fcn.14003aaf0
mov rdx, qword [rsp + 0x38]
mov rcx, rbp
call fcn.14003aff0
movdqu xmm2, xmmword [rbx + 0x10]
movdqu xmm0, xmmword [rbx + 0x38]
movdqu xmm1, xmmword [rbx + 0x28]
mov edx, dword [rbx + 0x48]
paddd xmm0, xmm2
movdqu xmm2, xmmword [rbx]
add edx, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x228], edx
mov rdx, r13
paddd xmm1, xmm2
mov eax, dword [rbx + 0x4c]
add eax, dword [rbx + 0x24]
movups xmmword [rsp + 0x218], xmm0
mov dword [rsp + 0x22c], eax
movups xmmword [rsp + 0x208], xmm1
call fcn.14003aaf0
mov r10d, dword [rsp + 0x200]
movdqu xmm11, xmmword [rsp + 0x200]
movdqu xmm2, xmmword [rsp + 0x1e0]
mov edx, dword [rsp + 0x250]
movdqu xmm0, xmmword [rsp + 0x230]
movdqa xmm12, xmm11
movdqu xmm4, xmmword [rsp + 0x250]
shufps xmm12, xmm2, 0x44
movdqa xmm10, xmm12
lea ecx, [rdx + r10]
movdqu xmm1, xmmword [rsp + 0x240]
movdqu xmm3, xmmword [rsp + 0x1f0]
shufps xmm4, xmm0, 0x44
paddd xmm10, xmm4
psubd xmm4, xmm12
shufps xmm10, xmm4, 0xe4
movdqa xmm4, xmm0
movups xmmword [rsp + 0x228], xmm10
movdqa xmm10, xmm2
shufps xmm10, xmm3, 0x4e
shufps xmm4, xmm1, 0x4e
movdqa xmm5, xmm3
psubd xmm4, xmm10
movdqa xmm10, xmm3
mov r8d, dword [rsp + 0x3e0]
movups xmmword [rsp + 0x238], xmm4
movdqa xmm4, xmm1
shufps xmm10, xmm11, 0x4e
paddd xmm5, xmm1
psubd xmm1, xmm3
shufps xmm4, xmmword [rsp + 0x250], 0x4e
psubd xmm4, xmm10
sub r8d, ecx
movdqa xmm9, xmm2
sub edx, r10d
mov r9d, dword [rsp + 0x204]
mov eax, dword [rsp + 0x254]
movups xmmword [rsp + 0x248], xmm4
paddd xmm9, xmm0
movdqu xmm3, xmmword [rsp + 0x268]
mov ecx, dword [rsp + 0x3e4]
movups xmmword [rsp + 0x218], xmm5
psubd xmm0, xmm2
movdqu xmm4, xmmword [rsp + 0x3d0]
lea r11d, [rax + r9]
sub dword [rsp + 0x278], edx
mov rdx, r12
psubd xmm3, xmm1
sub ecx, r11d
mov dword [rsp + 0x200], r8d
mov r8, rbp
psubd xmm4, xmm5
mov dword [rsp + 0x204], ecx
mov rcx, rbx
movdqu xmm1, xmmword [rsp + 0x258]
movdqu xmm5, xmmword [rsp + 0x3c0]
sub eax, r9d
movups xmmword [rsp + 0x1f0], xmm4
psubd xmm1, xmm0
sub dword [rsp + 0x27c], eax
psubd xmm5, xmm9
movups xmmword [rsp + 0x268], xmm3
movups xmmword [rsp + 0x1e0], xmm5
movups xmmword [rsp + 0x258], xmm1
movups xmmword [rsp + 0x208], xmm9
call fcn.14003a220
mov rcx, qword [rsp + 0x30]
mov r8, rdi
mov rdx, r13
call fcn.14003a220
mov rcx, qword [rsp + 0x38]
mov r8, rbp
mov rdx, rdi
call fcn.14003a220
mov rdx, rbx
mov rcx, r12
call fcn.14003aaf0
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
call fcn.14003aaf0
mov rdx, qword [rsp + 0x38]
mov rcx, rbp
call fcn.14003aff0
movdqu xmm2, xmmword [rbx + 0x10]
movdqu xmm0, xmmword [rbx + 0x38]
movdqu xmm1, xmmword [rbx + 0x28]
mov edx, dword [rbx + 0x48]
paddd xmm0, xmm2
movdqu xmm2, xmmword [rbx]
add edx, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x228], edx
mov rdx, r13
paddd xmm1, xmm2
mov eax, dword [rbx + 0x4c]
add eax, dword [rbx + 0x24]
movups xmmword [rsp + 0x218], xmm0
mov dword [rsp + 0x22c], eax
movups xmmword [rsp + 0x208], xmm1
call fcn.14003aaf0
mov r10d, dword [rsp + 0x200]
movdqu xmm11, xmmword [rsp + 0x200]
movdqu xmm2, xmmword [rsp + 0x1e0]
mov edx, dword [rsp + 0x250]
movdqu xmm0, xmmword [rsp + 0x230]
movdqa xmm12, xmm11
movdqu xmm4, xmmword [rsp + 0x250]
shufps xmm12, xmm2, 0x44
movdqa xmm10, xmm12
lea ecx, [rdx + r10]
movdqu xmm1, xmmword [rsp + 0x240]
movdqu xmm3, xmmword [rsp + 0x1f0]
shufps xmm4, xmm0, 0x44
paddd xmm10, xmm4
psubd xmm4, xmm12
shufps xmm10, xmm4, 0xe4
movdqa xmm4, xmm0
movups xmmword [rsp + 0x228], xmm10
movdqa xmm10, xmm2
shufps xmm10, xmm3, 0x4e
shufps xmm4, xmm1, 0x4e
movdqa xmm5, xmm3
psubd xmm4, xmm10
movdqa xmm10, xmm3
mov r8d, dword [rsp + 0x3e0]
movups xmmword [rsp + 0x238], xmm4
movdqa xmm4, xmm1
shufps xmm10, xmm11, 0x4e
paddd xmm5, xmm1
psubd xmm1, xmm3
shufps xmm4, xmmword [rsp + 0x250], 0x4e
psubd xmm4, xmm10
sub r8d, ecx
movdqa xmm9, xmm2
sub edx, r10d
mov r9d, dword [rsp + 0x204]
mov eax, dword [rsp + 0x254]
movups xmmword [rsp + 0x248], xmm4
paddd xmm9, xmm0
movdqu xmm3, xmmword [rsp + 0x268]
mov ecx, dword [rsp + 0x3e4]
movups xmmword [rsp + 0x218], xmm5
psubd xmm0, xmm2
movdqu xmm4, xmmword [rsp + 0x3d0]
lea r11d, [rax + r9]
sub dword [rsp + 0x278], edx
mov rdx, r12
psubd xmm3, xmm1
sub ecx, r11d
mov dword [rsp + 0x200], r8d
mov r8, rbp
psubd xmm4, xmm5
mov dword [rsp + 0x204], ecx
mov rcx, rbx
movdqu xmm1, xmmword [rsp + 0x258]
movdqu xmm5, xmmword [rsp + 0x3c0]
sub eax, r9d
movups xmmword [rsp + 0x1f0], xmm4
psubd xmm1, xmm0
sub dword [rsp + 0x27c], eax
psubd xmm5, xmm9
movups xmmword [rsp + 0x268], xmm3
movups xmmword [rsp + 0x1e0], xmm5
movups xmmword [rsp + 0x258], xmm1
movups xmmword [rsp + 0x208], xmm9
call fcn.14003a220
mov rcx, qword [rsp + 0x30]
mov r8, rdi
mov rdx, r13
call fcn.14003a220
mov rcx, qword [rsp + 0x38]
mov r8, rbp
mov rdx, rdi
call fcn.14003a220
mov rdx, rbx
mov rcx, r12
call fcn.14003aaf0
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
call fcn.14003aaf0
mov rdx, qword [rsp + 0x38]
mov rcx, rbp
call fcn.14003aff0
movdqu xmm2, xmmword [rbx + 0x38]
movdqu xmm0, xmmword [rbx + 0x10]
movdqu xmm1, xmmword [rbx]
mov edx, dword [rbx + 0x48]
paddd xmm0, xmm2
movdqu xmm2, xmmword [rbx + 0x28]
add edx, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x228], edx
mov rdx, r13
paddd xmm1, xmm2
mov eax, dword [rbx + 0x4c]
add eax, dword [rbx + 0x24]
movups xmmword [rsp + 0x218], xmm0
mov dword [rsp + 0x22c], eax
movups xmmword [rsp + 0x208], xmm1
call fcn.14003aaf0
mov r10d, dword [rsp + 0x200]
movdqu xmm0, xmmword [rsp + 0x230]
movdqu xmm4, xmmword [rsp + 0x250]
mov edx, dword [rsp + 0x250]
movdqu xmm2, xmmword [rsp + 0x1e0]
mov eax, dword [rsp + 0x254]
shufps xmm4, xmm0, 0x44
movdqa xmm10, xmm4
movdqu xmm11, xmmword [rsp + 0x200]
movdqu xmm1, xmmword [rsp + 0x240]
movdqu xmm3, xmmword [rsp + 0x1f0]
mov r8d, dword [rsp + 0x3e0]
lea ecx, [rdx + r10]
movdqa xmm9, xmm2
movdqa xmm12, xmm11
mov r9d, dword [rsp + 0x204]
paddd xmm9, xmm0
sub edx, r10d
shufps xmm12, xmm2, 0x44
psubd xmm4, xmm12
paddd xmm10, xmm12
sub r8d, ecx
shufps xmm10, xmm4, 0xe4
movdqa xmm4, xmm0
movdqa xmm5, xmm3
lea r11d, [rax + r9]
shufps xmm4, xmm1, 0x4e
paddd xmm5, xmm1
movups xmmword [rsp + 0x228], xmm10
movdqa xmm10, xmm2
shufps xmm10, xmm3, 0x4e
psubd xmm4, xmm10
movdqa xmm10, xmm3
psubd xmm0, xmm2
shufps xmm10, xmm11, 0x4e
movups xmmword [rsp + 0x238], xmm4
movdqa xmm4, xmm1
shufps xmm4, xmmword [rsp + 0x250], 0x4e
psubd xmm4, xmm10
psubd xmm1, xmm3
movdqu xmm3, xmmword [rsp + 0x268]
mov ecx, dword [rsp + 0x3e4]
movups xmmword [rsp + 0x248], xmm4
sub eax, r9d
movdqu xmm4, xmmword [rsp + 0x3d0]
psubd xmm3, xmm1
movups xmmword [rsp + 0x218], xmm5
movdqu xmm1, xmmword [rsp + 0x258]
sub ecx, r11d
psubd xmm4, xmm5
sub dword [rsp + 0x278], edx
movdqu xmm5, xmmword [rsp + 0x3c0]
mov rdx, r12
psubd xmm1, xmm0
mov dword [rsp + 0x200], r8d
mov r8, rbp
psubd xmm5, xmm9
mov dword [rsp + 0x204], ecx
mov rcx, rbx
sub dword [rsp + 0x27c], eax
movups xmmword [rsp + 0x1e0], xmm5
movups xmmword [rsp + 0x1f0], xmm4
movups xmmword [rsp + 0x268], xmm3
movups xmmword [rsp + 0x258], xmm1
movups xmmword [rsp + 0x208], xmm9
call fcn.14003a220
mov rcx, qword [rsp + 0x30]
mov r8, rdi
mov rdx, r13
call fcn.14003a220
mov rcx, qword [rsp + 0x38]
mov r8, rbp
mov rdx, rdi
call fcn.14003a220
mov rdx, rbx
mov rcx, r12
call fcn.14003aaf0
mov rdx, qword [rsp + 0x30]
mov rcx, rdi
call fcn.14003aaf0
mov rdx, qword [rsp + 0x38]
mov rcx, rbp
call fcn.14003aff0
movdqu xmm2, xmmword [rbx + 0x38]
movdqu xmm0, xmmword [rbx + 0x10]
movdqu xmm1, xmmword [rbx]
mov edx, dword [rbx + 0x48]
paddd xmm0, xmm2
movdqu xmm2, xmmword [rbx + 0x28]
add edx, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x228], edx
mov rdx, r13
paddd xmm1, xmm2
mov eax, dword [rbx + 0x4c]
add eax, dword [rbx + 0x24]
movups xmmword [rsp + 0x218], xmm0
mov dword [rsp + 0x22c], eax
movups xmmword [rsp + 0x208], xmm1
call fcn.14003aaf0
mov r10d, dword [rsp + 0x200]
movdqu xmm0, xmmword [rsp + 0x230]
movdqu xmm4, xmmword [rsp + 0x250]
mov edx, dword [rsp + 0x250]
movdqu xmm11, xmmword [rsp + 0x200]
mov eax, dword [rsp + 0x254]
movdqa xmm9, xmm0
shufps xmm4, xmm0, 0x44
movdqa xmm10, xmm4
movdqu xmm2, xmmword [rsp + 0x1e0]
movdqu xmm1, xmmword [rsp + 0x240]
movdqa xmm12, xmm11
mov r8d, dword [rsp + 0x3e0]
lea ecx, [rdx + r10]
movdqu xmm3, xmmword [rsp + 0x1f0]
shufps xmm12, xmm2, 0x44
psubd xmm4, xmm12
sub edx, r10d
paddd xmm10, xmm12
shufps xmm10, xmm4, 0xe4
movdqa xmm4, xmm0
movdqa xmm5, xmm1
sub r8d, ecx
shufps xmm4, xmm1, 0x4e
paddd xmm5, xmm3
movups xmmword [rsp + 0x228], xmm10
movdqa xmm10, xmm2
shufps xmm10, xmm3, 0x4e
psubd xmm4, xmm10
movdqa xmm10, xmm3
mov r9d, dword [rsp + 0x204]
shufps xmm10, xmm11, 0x4e
movups xmmword [rsp + 0x238], xmm4
movdqa xmm4, xmm1
shufps xmm4, xmmword [rsp + 0x250], 0x4e
psubd xmm4, xmm10
psubd xmm1, xmm3
movdqu xmm3, xmmword [rsp + 0x268]
mov ecx, dword [rsp + 0x3e4]
movups xmmword [rsp + 0x248], xmm4
paddd xmm9, xmm2
lea r11d, [rax + r9]
sub eax, r9d
movdqu xmm4, xmmword [rsp + 0x3d0]
psubd xmm3, xmm1
psubd xmm0, xmm2
sub ecx, r11d
movdqu xmm1, xmmword [rsp + 0x258]
movups xmmword [rsp + 0x218], xmm5
psubd xmm4, xmm5
sub dword [rsp + 0x27c], eax
movdqu xmm5, xmmword [rsp + 0x3c0]
psubd xmm1, xmm0
movups xmmword [rsp + 0x1f0], xmm4
psubd xmm5, xmm9
movups xmmword [rsp + 0x258], xmm1
movups xmmword [rsp + 0x268], xmm3
movups xmmword [rsp + 0x1e0], xmm5
sub dword [rsp + 0x278], edx
mov rdx, r12
mov dword [rsp + 0x200], r8d
mov r8, rbp
mov dword [rsp + 0x204], ecx
movups xmmword [rsp + 0x208], xmm9
mov rcx, qword [rsp + 0x58]
call fcn.14003a220
mov rcx, qword [rsp + 0x68]
mov r8, rdi
mov rdx, r13
call fcn.14003a220
mov rcx, qword [rsp + 0x78]
mov r8, rbp
mov rdx, rdi
call fcn.14003a220
mov rcx, qword [rsp + 0x118]
mov r8, r13
mov rdx, r12
call fcn.14003a220
movzx r8d, byte [rsp + 0x60]
mov rcx, r14
mov rdx, qword [rsp + 0x198]
movups xmmword [rsp + 0x320], xmm7
xor r8d, 1
movups xmmword [rsp + 0x330], xmm6
movzx r8d, r8b
movups xmmword [rsp + 0x350], xmm6
sub r8d, 1
movups xmmword [rsp + 0x360], xmm6
shr r8d, 0x1f
movups xmmword [rsp + 0x370], xmm7
mov dword [rsp + 0x64], r8d
movups xmmword [rsp + 0x340], xmm8
movups xmmword [rsp + 0x380], xmm6
movups xmmword [rsp + 0x390], xmm6
movups xmmword [rsp + 0x3a0], xmm6
movups xmmword [rsp + 0x3b0], xmm6
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0xa8]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0xd0]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0xf0]
mov rcx, r15
call fcn.14003a1b0
movzx r8d, byte [rsp + 0x60]
mov rdx, qword [rsp + 0x128]
mov rcx, r14
xor r8d, 2
movzx r8d, r8b
sub r8d, 1
shr r8d, 0x1f
mov dword [rsp + 0x64], r8d
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x158]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x188]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x98]
mov rcx, r15
call fcn.14003a1b0
movzx r8d, byte [rsp + 0x60]
mov rdx, qword [rsp + 0xc0]
mov rcx, r14
xor r8d, 3
movzx r8d, r8b
sub r8d, 1
shr r8d, 0x1f
mov dword [rsp + 0x64], r8d
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0xe0]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x110]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x148]
mov rcx, r15
call fcn.14003a1b0
movzx r8d, byte [rsp + 0x60]
mov rdx, qword [rsp + 0x178]
mov rcx, r14
xor r8d, 4
movzx r8d, r8b
sub r8d, 1
shr r8d, 0x1f
mov dword [rsp + 0x64], r8d
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x88]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0xb0]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0xd8]
mov rcx, r15
call fcn.14003a1b0
movzx r8d, byte [rsp + 0x60]
mov rdx, qword [rsp + 0xf8]
mov rcx, r14
xor r8d, 5
movzx r8d, r8b
sub r8d, 1
shr r8d, 0x1f
mov dword [rsp + 0x64], r8d
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x130]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x160]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x190]
mov rcx, r15
call fcn.14003a1b0
movzx r8d, byte [rsp + 0x60]
mov rdx, qword [rsp + 0xa0]
mov rcx, r14
xor r8d, 6
movzx r8d, r8b
sub r8d, 1
shr r8d, 0x1f
mov dword [rsp + 0x64], r8d
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0xc8]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0xe8]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x120]
mov rcx, r15
call fcn.14003a1b0
movzx r8d, byte [rsp + 0x60]
mov rdx, qword [rsp + 0x150]
mov rcx, r14
xor r8d, 7
movzx r8d, r8b
sub r8d, 1
shr r8d, 0x1f
mov dword [rsp + 0x64], r8d
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x180]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x90]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x64]
mov rdx, qword [rsp + 0xb8]
mov rcx, r15
call fcn.14003a1b0
movzx r8d, byte [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov rcx, r14
xor r8d, 8
movzx r8d, r8b
sub r8d, 1
shr r8d, 0x1f
mov dword [rsp + 0x60], r8d
call fcn.14003a1b0
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x108]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x140]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x170]
mov rcx, r15
call fcn.14003a1b0
mov rax, qword [rsp + 0x390]
mov r8d, dword [rsp + 0x48]
mov rcx, r14
movdqu xmm2, xmmword [rsp + 0x370]
mov rdx, qword [rsp + 0x40]
movdqa xmm1, xmm6
mov qword [rsp + 0x430], rax
mov eax, dword [rsp + 0x3bc]
movups xmmword [rsp + 0x410], xmm2
movdqu xmm2, xmmword [rsp + 0x380]
movdqu xmm3, xmmword [rsp + 0x398]
mov r11d, dword [rsp + 0x3b8]
neg eax
movdqu xmm0, xmmword [rsp + 0x340]
shufps xmm0, xmmword [rsp + 0x350], 0x4e
movups xmmword [rsp + 0x420], xmm2
psubd xmm1, xmm3
movdqu xmm2, xmmword [rsp + 0x3a8]
movups xmmword [rsp + 0x3c0], xmm0
neg r11d
movdqu xmm0, xmmword [rsp + 0x350]
shufps xmm0, xmmword [rsp + 0x360], 0x4e
movups xmmword [rsp + 0x3d0], xmm0
movdqu xmm0, xmmword [rsp + 0x360]
shufps xmm0, xmmword [rsp + 0x320], 0x4e
movups xmmword [rsp + 0x3e0], xmm0
movdqu xmm0, xmmword [rsp + 0x320]
shufps xmm0, xmmword [rsp + 0x330], 0x4e
movups xmmword [rsp + 0x3f0], xmm0
movdqu xmm0, xmmword [rsp + 0x330]
shufps xmm0, xmmword [rsp + 0x340], 0x4e
movups xmmword [rsp + 0x400], xmm0
movdqa xmm0, xmm6
psubd xmm0, xmm2
mov dword [rsp + 0x45c], eax
mov dword [rsp + 0x458], r11d
movups xmmword [rsp + 0x438], xmm1
movups xmmword [rsp + 0x448], xmm0
call fcn.14003a1b0
mov r8d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x100]
mov rcx, rsi
call fcn.14003a1b0
mov r8d, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x138]
call fcn.14003a1b0
mov r8d, dword [rsp + 0x48]
mov rdx, qword [rsp + 0x168]
mov rcx, r15
call fcn.14003a1b0
mov rdx, qword [rsp + 0x58]
mov r8, r14
mov rcx, r12
call fcn.14003c970
mov r8, rbp
mov rdx, r12
mov rcx, rbx
call fcn.14003a220
mov rcx, qword [rsp + 0x30]
mov r8, rdi
mov rdx, r13
call fcn.14003a220
mov rcx, qword [rsp + 0x38]
mov r8, rbp
mov rdx, rdi
call fcn.14003a220
mov rcx, qword [rsp + 0x50]
mov rax, rcx
sub rcx, 1
mov qword [rsp + 0x50], rcx
cmp rax, qword [rsp + 0x80]
jne 0x140040250
movups xmm6, xmmword [rsp + 0x960]
movups xmm7, xmmword [rsp + 0x970]
movups xmm8, xmmword [rsp + 0x980]
movups xmm9, xmmword [rsp + 0x990]
movups xmm10, xmmword [rsp + 0x9a0]
movups xmm11, xmmword [rsp + 0x9b0]
movups xmm12, xmmword [rsp + 0x9c0]
add rsp, 0x9d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret