Function at 0x1402dfd30
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x100
lea rbp, [rsp + 0x40]
mov qword [rbp + 0xf0], rbx
mov qword [rbp + 0xf8], rsi
mov qword [rbp + 0x100], rdi
movaps xmmword [rbp + 0xb0], xmm6
movaps xmmword [rbp + 0xa0], xmm7
movaps xmmword [rbp + 0x90], xmm8
movaps xmmword [rbp + 0x80], xmm9
movaps xmmword [rbp + 0x70], xmm10
mov rax, qword [0x140424a38]
xor rax, rbp
mov qword [rbp + 0x60], rax
movsxd rbx, r9d
mov r15d, edx
mov r9d, edx
sar r15d, 1
mov r14d, edx
sar r9d, 2
sar r14d, 3
mov esi, edx
mov dword [rbp + 4], edx
mov rdi, rcx
mov rdx, qword [r8 + 0x80]
mov ecx, dword [r8 + 0x94]
mov qword [rbp + 0x48], r8
mov dword [rbp + 0x3c], r15d
mov dword [rbp + 0x14], r9d
mov dword [rbp], r14d
mov dword [rbp + 0x18], ecx
test rdx, rdx
je 0x1402dfdfb
lea eax, [r15*4 + 7]
and eax, 0xfffffff8
sub ecx, eax
cmp ecx, dword [r8 + 0x90]
jge 0x1402dfdec
xor r12d, r12d
jmp 0x1402dfe29
movsxd r12, ecx
add r12, rdx
mov dword [r8 + 0x94], ecx
jmp 0x1402dfe29
movsxd rax, r15d
shl rax, 2
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1402dfe15
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.140322a20
sub rsp, rcx
lea r12, [rsp + 0x40]
mov r13, qword [r8 + rbx*8 + 0x588]
lea eax, [r15 - 2]
movsxd rcx, eax
mov rax, rdi
movsxd r10, r15d
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x50], rbx
lea r8, [r12 + rcx*4]
mov qword [rbp + 0x40], r13
lea rdx, [r10*4]
mov qword [rbp + 0x58], r10
add rdx, rdi
mov rcx, r13
cmp rdi, rdx
je 0x1402dfeb8
nop word [rax + rax]
movss xmm0, dword [rax + 8]
mulss xmm0, dword [rcx + 4]
movss xmm1, dword [rcx]
mulss xmm1, dword [rax]
subss xmm1, xmm0
movss dword [r8 + 4], xmm1
movss xmm2, dword [rcx]
movss xmm0, dword [rcx + 4]
add rcx, 8
mulss xmm2, dword [rax + 8]
mulss xmm0, dword [rax]
add rax, 0x10
addss xmm2, xmm0
movss dword [r8], xmm2
sub r8, 8
cmp rax, rdx
jne 0x1402dfe70
movss xmm10, dword [0x140397840]
lea rdx, [rdi - 0xc]
lea rdx, [rdx + r10*4]
cmp r8, r12
jb 0x1402e0079
mov rax, r8
sub rax, r12
add rax, 8
and rax, 0xfffffffffffffff8
cmp rax, 0x20
jb 0x1402e0025
lea rax, [r12 + 0x18]
nop
movss xmm1, dword [rdx + 8]
movss xmm0, dword [rdx]
xorps xmm1, xmm10
mulss xmm1, dword [rcx]
xorps xmm0, xmm10
mulss xmm0, dword [rcx + 4]
subss xmm1, xmm0
movss dword [r8 + 4], xmm1
movss xmm1, dword [rdx]
movss xmm0, dword [rdx + 8]
xorps xmm1, xmm10
mulss xmm1, dword [rcx]
mulss xmm0, dword [rcx + 4]
subss xmm1, xmm0
movss dword [r8], xmm1
movss xmm1, dword [rdx - 8]
movss xmm0, dword [rdx - 0x10]
xorps xmm1, xmm10
mulss xmm1, dword [rcx + 8]
xorps xmm0, xmm10
mulss xmm0, dword [rcx + 0xc]
subss xmm1, xmm0
movss dword [r8 - 4], xmm1
movss xmm1, dword [rdx - 0x10]
movss xmm0, dword [rdx - 8]
xorps xmm1, xmm10
mulss xmm1, dword [rcx + 8]
mulss xmm0, dword [rcx + 0xc]
subss xmm1, xmm0
movss dword [r8 - 8], xmm1
movss xmm1, dword [rdx - 0x18]
movss xmm0, dword [rdx - 0x20]
xorps xmm1, xmm10
mulss xmm1, dword [rcx + 0x10]
xorps xmm0, xmm10
mulss xmm0, dword [rcx + 0x14]
subss xmm1, xmm0
movss dword [r8 - 0xc], xmm1
movss xmm1, dword [rdx - 0x20]
movss xmm0, dword [rdx - 0x18]
xorps xmm1, xmm10
mulss xmm1, dword [rcx + 0x10]
mulss xmm0, dword [rcx + 0x14]
subss xmm1, xmm0
movss dword [r8 - 0x10], xmm1
movss xmm1, dword [rdx - 0x28]
movss xmm0, dword [rdx - 0x30]
xorps xmm1, xmm10
mulss xmm1, dword [rcx + 0x18]
xorps xmm0, xmm10
mulss xmm0, dword [rcx + 0x1c]
subss xmm1, xmm0
movss dword [r8 - 0x14], xmm1
movss xmm1, dword [rdx - 0x30]
movss xmm0, dword [rdx - 0x28]
xorps xmm1, xmm10
mulss xmm1, dword [rcx + 0x18]
sub rdx, 0x40
mulss xmm0, dword [rcx + 0x1c]
add rcx, 0x20
subss xmm1, xmm0
movss dword [r8 - 0x18], xmm1
sub r8, 0x20
cmp r8, rax
jae 0x1402dfef0
cmp r8, r12
jb 0x1402e0079
movss xmm1, dword [rdx + 8]
movss xmm0, dword [rdx]
xorps xmm1, xmm10
mulss xmm1, dword [rcx]
xorps xmm0, xmm10
mulss xmm0, dword [rcx + 4]
subss xmm1, xmm0
movss dword [r8 + 4], xmm1
movss xmm1, dword [rdx]
movss xmm0, dword [rdx + 8]
xorps xmm1, xmm10
mulss xmm1, dword [rcx]
sub rdx, 0x10
mulss xmm0, dword [rcx + 4]
add rcx, 8
subss xmm1, xmm0
movss dword [r8], xmm1
sub r8, 8
cmp r8, r12
jae 0x1402e0025
movsxd rax, r9d
lea rcx, [r13 - 0x20]
lea rcx, [rcx + r10*4]
mov rbx, r12
mov r9, rdi
lea r8, [r12 + rax*4]
lea r11, [rdi + rax*4]
cmp rcx, r13
jb 0x1402e0536
lea rax, [r10*4]
and rax, 0xffffffffffffffe0
cmp rax, 0x80
jb 0x1402e0439
mov rax, r12
lea r10, [r13 + 0x60]
sub rax, rdi
nop dword [rax]
movss xmm1, dword [r8 + 4]
movss xmm2, dword [r8]
movaps xmm3, xmm1
addss xmm1, dword [rax + r9 + 4]
subss xmm2, dword [rbx]
subss xmm3, dword [rax + r9 + 4]
movss dword [r11 + 4], xmm1
movss xmm0, dword [rbx]
addss xmm0, dword [r8]
movaps xmm1, xmm3
movss dword [r11], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx + 0x14]
mulss xmm1, dword [rcx + 0x10]
subss xmm1, xmm0
movss dword [r9 + 4], xmm1
mulss xmm2, dword [rcx + 0x10]
mulss xmm3, dword [rcx + 0x14]
addss xmm2, xmm3
movss dword [r9], xmm2
movss xmm0, dword [r8 + 0xc]
movss xmm1, dword [rax + r9 + 0xc]
movaps xmm3, xmm0
movss xmm2, dword [r8 + 8]
subss xmm3, xmm1
subss xmm2, dword [rax + r9 + 8]
addss xmm1, xmm0
movss dword [r11 + 0xc], xmm1
movaps xmm1, xmm3
movss xmm0, dword [rax + r9 + 8]
addss xmm0, dword [r8 + 8]
movss dword [r11 + 8], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx + 4]
mulss xmm1, dword [rcx]
subss xmm1, xmm0
movss dword [r9 + 0xc], xmm1
mulss xmm2, dword [rcx]
mulss xmm3, dword [rcx + 4]
addss xmm2, xmm3
movss dword [r9 + 8], xmm2
movss xmm0, dword [r8 + 0x14]
movss xmm1, dword [rax + r9 + 0x14]
movaps xmm3, xmm0
movss xmm2, dword [r8 + 0x10]
subss xmm3, xmm1
subss xmm2, dword [rax + r9 + 0x10]
addss xmm1, xmm0
movss dword [r11 + 0x14], xmm1
movaps xmm1, xmm3
movss xmm0, dword [r8 + 0x10]
addss xmm0, dword [rax + r9 + 0x10]
movss dword [r11 + 0x10], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx - 0xc]
mulss xmm1, dword [rcx - 0x10]
subss xmm1, xmm0
movss dword [r9 + 0x14], xmm1
mulss xmm2, dword [rcx - 0x10]
mulss xmm3, dword [rcx - 0xc]
addss xmm2, xmm3
movss dword [r9 + 0x10], xmm2
movss xmm0, dword [r8 + 0x1c]
movss xmm1, dword [rax + r9 + 0x1c]
movaps xmm3, xmm0
movss xmm2, dword [r8 + 0x18]
subss xmm3, xmm1
subss xmm2, dword [rax + r9 + 0x18]
addss xmm1, xmm0
movss dword [r11 + 0x1c], xmm1
movaps xmm1, xmm3
movss xmm0, dword [r8 + 0x18]
addss xmm0, dword [rax + r9 + 0x18]
movss dword [r11 + 0x18], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx - 0x1c]
mulss xmm1, dword [rcx - 0x20]
subss xmm1, xmm0
movss dword [r9 + 0x1c], xmm1
mulss xmm2, dword [rcx - 0x20]
mulss xmm3, dword [rcx - 0x1c]
addss xmm2, xmm3
movss dword [r9 + 0x18], xmm2
movss xmm0, dword [r8 + 0x24]
movss xmm1, dword [rax + r9 + 0x24]
movaps xmm3, xmm0
movss xmm2, dword [r8 + 0x20]
subss xmm3, xmm1
subss xmm2, dword [rax + r9 + 0x20]
addss xmm1, xmm0
movss dword [r11 + 0x24], xmm1
movaps xmm1, xmm3
movss xmm0, dword [r8 + 0x20]
addss xmm0, dword [rax + r9 + 0x20]
movss dword [r11 + 0x20], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx - 0x2c]
mulss xmm1, dword [rcx - 0x30]
subss xmm1, xmm0
movss dword [r9 + 0x24], xmm1
mulss xmm2, dword [rcx - 0x30]
mulss xmm3, dword [rcx - 0x2c]
addss xmm2, xmm3
movss dword [r9 + 0x20], xmm2
movss xmm0, dword [r8 + 0x2c]
movss xmm1, dword [rax + r9 + 0x2c]
movaps xmm3, xmm0
movss xmm2, dword [r8 + 0x28]
subss xmm3, xmm1
subss xmm2, dword [rax + r9 + 0x28]
addss xmm1, xmm0
movss dword [r11 + 0x2c], xmm1
movaps xmm1, xmm3
movss xmm0, dword [r8 + 0x28]
addss xmm0, dword [rax + r9 + 0x28]
movss dword [r11 + 0x28], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx - 0x3c]
mulss xmm1, dword [rcx - 0x40]
subss xmm1, xmm0
movss dword [r9 + 0x2c], xmm1
mulss xmm2, dword [rcx - 0x40]
mulss xmm3, dword [rcx - 0x3c]
addss xmm2, xmm3
movss dword [r9 + 0x28], xmm2
movss xmm0, dword [r8 + 0x34]
movss xmm1, dword [rax + r9 + 0x34]
movaps xmm3, xmm0
movss xmm2, dword [r8 + 0x30]
subss xmm3, xmm1
subss xmm2, dword [rax + r9 + 0x30]
addss xmm1, xmm0
movss dword [r11 + 0x34], xmm1
movaps xmm1, xmm3
movss xmm0, dword [r8 + 0x30]
addss xmm0, dword [rax + r9 + 0x30]
movss dword [r11 + 0x30], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx - 0x4c]
mulss xmm1, dword [rcx - 0x50]
subss xmm1, xmm0
movss dword [r9 + 0x34], xmm1
mulss xmm2, dword [rcx - 0x50]
mulss xmm3, dword [rcx - 0x4c]
addss xmm2, xmm3
movss dword [r9 + 0x30], xmm2
movss xmm0, dword [r8 + 0x3c]
movss xmm1, dword [rax + r9 + 0x3c]
movaps xmm3, xmm0
movss xmm2, dword [r8 + 0x38]
subss xmm3, xmm1
subss xmm2, dword [rax + r9 + 0x38]
addss xmm1, xmm0
movss dword [r11 + 0x3c], xmm1
movaps xmm1, xmm3
movss xmm0, dword [r8 + 0x38]
addss xmm0, dword [rax + r9 + 0x38]
movss dword [r11 + 0x38], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx - 0x5c]
mulss xmm1, dword [rcx - 0x60]
subss xmm1, xmm0
movss dword [r9 + 0x3c], xmm1
add r11, 0x40
mulss xmm2, dword [rcx - 0x60]
add rbx, 0x40
add r8, 0x40
mulss xmm3, dword [rcx - 0x5c]
add rcx, 0xffffffffffffff80
addss xmm2, xmm3
movss dword [r9 + 0x38], xmm2
add r9, 0x40
cmp rcx, r10
jae 0x1402e00c0
cmp rcx, r13
jb 0x1402e0536
add rcx, 0x14
lea r10, [r11 + 0xc]
add r9, 0xc
lea rdx, [rbx + 8]
add r8, 8
sub r11, rbx
movss xmm1, dword [r8 - 4]
movss xmm0, dword [rdx - 4]
movaps xmm3, xmm1
movss xmm2, dword [r8 - 8]
subss xmm3, xmm0
subss xmm2, dword [rdx - 8]
addss xmm0, xmm1
movaps xmm1, xmm3
movss dword [r10 - 8], xmm0
movss xmm0, dword [rdx - 8]
addss xmm0, dword [r8 - 8]
movss dword [rdx + r11 - 8], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx]
mulss xmm1, dword [rcx - 4]
subss xmm1, xmm0
movss dword [r9 - 8], xmm1
mulss xmm2, dword [rcx - 4]
mulss xmm3, dword [rcx]
addss xmm2, xmm3
movss dword [r9 - 0xc], xmm2
movss xmm0, dword [r8 + 4]
movss xmm1, dword [rdx + 4]
movaps xmm3, xmm0
movss xmm2, dword [r8]
subss xmm3, xmm1
subss xmm2, dword [rdx]
addss xmm1, xmm0
movss dword [r10], xmm1
movaps xmm1, xmm3
movss xmm0, dword [rdx]
add rdx, 0x10
addss xmm0, dword [r8]
add r8, 0x10
movss dword [r10 - 4], xmm0
movaps xmm0, xmm2
mulss xmm0, dword [rcx - 0x10]
add r10, 0x10
mulss xmm1, dword [rcx - 0x14]
subss xmm1, xmm0
movss dword [r9], xmm1
mulss xmm2, dword [rcx - 0x14]
mulss xmm3, dword [rcx - 0x10]
sub rcx, 0x20
addss xmm2, xmm3
lea rax, [rcx - 0x14]
movss dword [r9 - 4], xmm2
add r9, 0x10
cmp rax, r13
jae 0x1402e0450
mov ecx, esi
call fcn.1402dee30
mov r9d, r14d
mov dword [rbp + 8], eax
lea r14d, [r15 - 1]
mov qword [rsp + 0x20], r13
mov ebx, esi
mov dword [rbp + 0xc], r14d
sar ebx, 4
neg r9d
mov ecx, ebx
mov r8d, r14d
mov rdx, rdi
call fcn.1402df6a0
mov r8d, r15d
mov qword [rsp + 0x20], r13
sub r8d, dword [rbp + 0x14]
mov rdx, rdi
dec r8d
mov ecx, ebx
call fcn.1402df6a0
mov eax, esi
mov dword [rsp + 0x28], 0x10
sar eax, 5
neg ebx
mov ecx, eax
mov dword [rbp + 0x10], eax
mov r9d, ebx
mov qword [rsp + 0x20], r13
mov r8d, r14d
mov rdx, rdi
call fcn.1402deed0
mov ecx, dword [rbp + 0x10]
mov r8d, r15d
sub r8d, dword [rbp]
mov rdx, rdi
dec r8d
mov dword [rsp + 0x28], 0x10
mov qword [rsp + 0x20], r13
call fcn.1402deed0
mov eax, dword [rbp]
mov r8d, r15d
mov ecx, dword [rbp + 0x10]
mov rdx, rdi
mov dword [rsp + 0x28], 0x10
mov qword [rsp + 0x20], r13
lea r9d, [rax + rax]
sub r8d, r9d
mov r9d, ebx
dec r8d
call fcn.1402deed0
mov eax, dword [rbp]
mov r8d, r15d
mov ecx, dword [rbp + 0x10]
mov rdx, rdi
mov dword [rsp + 0x28], 0x10
mov qword [rsp + 0x20], r13
lea eax, [rax + rax*2]
sub r8d, eax
dec r8d
call fcn.1402deed0
mov eax, dword [rbp + 8]
mov r8d, 2
lea ecx, [rax - 4]
sar ecx, 1
lea r15d, [r8 - 1]
cmp ecx, r8d
jle 0x1402e06e7
lea edx, [r8 + 2]
mov dword [rbp + 0x20], ecx
mov r8d, 5
lea eax, [rcx - 2]
mov dword [rbp], r8d
mov qword [rbp + 0x28], rax
nop dword [rax]
rol edx, 1
lea ecx, [r8 - 1]
mov r14d, esi
mov dword [rbp + 0x38], edx
sar r14d, cl
mov r9d, r14d
sar r9d, 1
test edx, edx
jle 0x1402e06c3
mov ebx, dword [rbp + 0xc]
mov r12d, r15d
mov ecx, r8d
mov r15d, esi
rol r12d, cl
neg r9d
lea ecx, [r8 + 1]
mov esi, edx
sar r15d, cl
nop dword [rax]
nop dword [rax + rax]
mov dword [rsp + 0x28], r12d
mov r8d, ebx
mov rdx, rdi
mov qword [rsp + 0x20], r13
mov ecx, r15d
call fcn.1402deed0
sub ebx, r14d
sub rsi, 1
jne 0x1402e0690
mov edx, dword [rbp + 0x38]
lea r15d, [rsi + 1]
mov esi, dword [rbp + 4]
mov r8d, dword [rbp]
mov rax, qword [rbp + 0x28]
inc r8d
sub rax, 1
mov dword [rbp], r8d
mov qword [rbp + 0x28], rax
jne 0x1402e0650
mov r12, qword [rbp + 0x30]
mov r14d, dword [rbp + 0xc]
mov r8d, dword [rbp + 0x20]
mov eax, dword [rbp + 8]
add eax, 0xfffffff9
cmp r8d, eax
jge 0x1402e07a1
mov ecx, r8d
lea edx, [r8 + 6]
rol r15d, cl
sub eax, r8d
mov dword [rbp + 8], edx
mov r8d, eax
mov qword [rbp + 0x28], r8
jmp 0x1402e0713
mov esi, dword [rbp + 4]
mov ebx, dword [rbp + 4]
lea ecx, [rdx - 4]
mov r12d, esi
mov eax, r15d
sar r12d, cl
mov rsi, r13
mov r9d, r12d
rol eax, 3
mov ecx, edx
sar r9d, 1
rol r15d, 1
sar ebx, cl
test ebx, ebx
jle 0x1402e0786
mov r13d, eax
neg r9d
lea eax, [rax*4]
cdqe
shl rax, 2
mov qword [rbp + 0x20], rax
mov dword [rsp + 0x30], r12d
mov r8d, r14d
mov dword [rsp + 0x28], r13d
mov rdx, rdi
mov ecx, r15d
mov qword [rsp + 0x20], rsi
call fcn.1402df0c0
add rsi, qword [rbp + 0x20]
sub r14d, 8
dec ebx
test ebx, ebx
jg 0x1402e0750
mov r13, qword [rbp + 0x40]
mov edx, dword [rbp + 8]
mov r8, qword [rbp + 0x28]
mov r14d, dword [rbp + 0xc]
inc edx
sub r8, 1
mov dword [rbp + 8], edx
mov qword [rbp + 0x28], r8
jne 0x1402e0710
mov r12, qword [rbp + 0x30]
mov r10d, dword [rbp + 4]
mov r9, r13
mov r8d, dword [rbp + 0xc]
mov rdx, rdi
mov ecx, dword [rbp + 0x10]
mov dword [rsp + 0x20], r10d
call fcn.1402df340
mov eax, dword [rbp + 0x14]
mov rsi, qword [rbp + 0x48]
add eax, 0xfffffffc
mov r15, qword [rbp + 0x50]
movsxd rcx, eax
mov eax, dword [rbp + 0x3c]
add eax, 0xfffffffc
mov r9, qword [rsi + r15*8 + 0x5c8]
movsxd rbx, eax
lea rdx, [r12 + rcx*4]
lea r8, [r12 + rbx*4]
cmp rdx, r12
jb 0x1402e09a6
lea rax, [rcx*4 + 0x10]
and rax, 0xfffffffffffffff0
cmp rax, 0x40
jb 0x1402e0937
lea r11, [r12 + 0x30]
nop word [rax + rax]
movzx ecx, word [r9]
mov eax, dword [rdi + rcx*4]
mov dword [r8 + 0xc], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r8 + 8], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [rdx + 0xc], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx + 8], eax
movzx ecx, word [r9 + 2]
mov eax, dword [rdi + rcx*4]
mov dword [r8 + 4], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r8], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [rdx + 4], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx], eax
movzx ecx, word [r9 + 4]
mov eax, dword [rdi + rcx*4]
mov dword [r8 - 4], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r8 - 8], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [rdx - 4], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx - 8], eax
movzx ecx, word [r9 + 6]
mov eax, dword [rdi + rcx*4]
mov dword [r8 - 0xc], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r8 - 0x10], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [rdx - 0xc], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx - 0x10], eax
movzx ecx, word [r9 + 8]
mov eax, dword [rdi + rcx*4]
mov dword [r8 - 0x14], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r8 - 0x18], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [rdx - 0x14], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx - 0x18], eax
movzx ecx, word [r9 + 0xa]
mov eax, dword [rdi + rcx*4]
mov dword [r8 - 0x1c], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r8 - 0x20], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [rdx - 0x1c], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx - 0x20], eax
movzx ecx, word [r9 + 0xc]
mov eax, dword [rdi + rcx*4]
mov dword [r8 - 0x24], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r8 - 0x28], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [rdx - 0x24], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx - 0x28], eax
movzx ecx, word [r9 + 0xe]
add r9, 0x10
mov eax, dword [rdi + rcx*4]
mov dword [r8 - 0x2c], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r8 - 0x30], eax
sub r8, 0x40
mov eax, dword [rdi + rcx*4 + 8]
mov dword [rdx - 0x2c], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx - 0x30], eax
sub rdx, 0x40
cmp rdx, r11
jae 0x1402e0810
cmp rdx, r12
jb 0x1402e09a6
lea r11, [rdx + 8]
sub rdx, r8
lea r10, [r8 + 8]
movzx ecx, word [r9]
lea r10, [r10 - 0x10]
lea r9, [r9 + 4]
lea r11, [r11 - 0x10]
mov eax, dword [rdi + rcx*4]
mov dword [r10 + 0x14], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r10 + 0x10], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [r11 + 0x14], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [r11 + 0x10], eax
movzx ecx, word [r9 - 2]
mov eax, dword [rdi + rcx*4]
mov dword [r10 + 0xc], eax
mov eax, dword [rdi + rcx*4 + 4]
mov dword [r10 + 8], eax
mov eax, dword [rdi + rcx*4 + 8]
mov dword [r11 + 0xc], eax
mov eax, dword [rdi + rcx*4 + 0xc]
mov dword [rdx + r10 + 8], eax
lea rax, [r10 - 8]
add rax, rdx
cmp rax, r12
jae 0x1402e0942
mov r10d, dword [rbp + 4]
mov r14, qword [rbp + 0x58]
lea rcx, [r14 - 4]
lea rcx, [r12 + rcx*4]
cmp r12, rcx
jae 0x1402e0aed
mov r8, qword [rsi + r15*8 + 0x5a8]
lea rdx, [r12 + 8]
add r8, 8
nop dword [rax]
movss xmm7, dword [r8 - 4]
movss xmm2, dword [r8 - 8]
movaps xmm0, xmm7
movss xmm9, dword [rdx - 8]
movaps xmm5, xmm2
movss xmm8, dword [rdx - 4]
movaps xmm3, xmm9
addss xmm9, dword [rcx + 8]
subss xmm3, dword [rcx + 8]
movaps xmm1, xmm8
addss xmm1, dword [rcx + 0xc]
subss xmm8, dword [rcx + 0xc]
mulss xmm0, xmm3
mulss xmm7, xmm1
mulss xmm5, xmm1
movaps xmm1, xmm8
mulss xmm2, xmm3
addss xmm5, xmm0
movaps xmm0, xmm9
subss xmm7, xmm2
addss xmm0, xmm5
subss xmm9, xmm5
addss xmm1, xmm7
subss xmm7, xmm8
movss dword [rdx - 8], xmm0
movss dword [rdx - 4], xmm1
movss dword [rcx + 8], xmm9
movss xmm9, dword [rcx]
movss dword [rcx + 0xc], xmm7
movss xmm8, dword [rdx + 4]
movss xmm2, dword [r8]
movaps xmm1, xmm8
addss xmm1, dword [rcx + 4]
movss xmm7, dword [r8 + 4]
movaps xmm0, xmm2
movss xmm6, dword [rdx]
movaps xmm5, xmm7
subss xmm8, dword [rcx + 4]
movaps xmm3, xmm6
add r8, 0x10
mulss xmm0, xmm1
subss xmm3, xmm9
mulss xmm7, xmm1
addss xmm9, xmm6
movaps xmm1, xmm8
mulss xmm5, xmm3
mulss xmm2, xmm3
addss xmm5, xmm0
movaps xmm0, xmm9
subss xmm7, xmm2
addss xmm0, xmm5
subss xmm9, xmm5
addss xmm1, xmm7
subss xmm7, xmm8
movss dword [rdx], xmm0
movss dword [rdx + 4], xmm1
add rdx, 0x10
movss dword [rcx], xmm9
movss dword [rcx + 4], xmm7
sub rcx, 0x10
lea rax, [rdx - 8]
cmp rax, rcx
jb 0x1402e09d0
lea rdx, [r14 - 8]
lea rdx, [r12 + rdx*4]
lea r11, [rdi + rbx*4]
cmp rdx, r12
jb 0x1402e0cbe
movsxd rcx, r10d
lea r8, [r14 + 2]
sub rcx, 4
lea r8, [rdi + r8*4]
mov rax, rcx
lea rdi, [r14*4]
sub rax, rbx
lea r9, [r14 - 2]
add rax, 2
sub rbx, rcx
mov rcx, r14
neg rcx
lea r10, [r11 + rax*4]
mov rax, qword [rsi + r15*8 + 0x598]
mov r15d, 4
sub r15, rdi
lea r9, [rax + r9*4]
mov rax, 0xfffffffffffffffc
sub rax, rdi
mov rdi, 0xfffffffffffffffe
sub rdi, r14
nop dword [rax]
movss xmm3, dword [r9 + 4]
movss xmm5, dword [rdx + 0x18]
movaps xmm4, xmm3
movss xmm2, dword [rdx + 0x1c]
mulss xmm4, xmm5
movaps xmm0, xmm2
mulss xmm0, dword [r9]
xorps xmm5, xmm10
mulss xmm5, dword [r9]
subss xmm4, xmm0
mulss xmm3, xmm2
subss xmm5, xmm3
movss dword [r8 + rdi*4], xmm4
xorps xmm4, xmm10
movss dword [r10 + rbx*4 + 4], xmm4
movss dword [r8 - 8], xmm5
movss dword [r10 + 4], xmm5
movss xmm3, dword [r9 - 4]
movss xmm1, dword [r9 - 8]
movaps xmm4, xmm3
mulss xmm3, dword [rdx + 0x14]
movaps xmm0, xmm1
mulss xmm0, dword [rdx + 0x14]
movss xmm5, dword [rdx + 0x10]
mulss xmm4, xmm5
xorps xmm5, xmm10
mulss xmm5, xmm1
subss xmm4, xmm0
subss xmm5, xmm3
movss dword [rax + r8], xmm4
xorps xmm4, xmm10
movss dword [r10 + rbx*4], xmm4
movss dword [r8 - 4], xmm5
movss dword [r10], xmm5
movss xmm3, dword [r9 - 0xc]
movss xmm1, dword [r9 - 0x10]
movaps xmm4, xmm3
movss xmm5, dword [rdx + 8]
movaps xmm0, xmm1
mulss xmm0, dword [rdx + 0xc]
mulss xmm3, dword [rdx + 0xc]
mulss xmm4, xmm5
xorps xmm5, xmm10
mulss xmm5, xmm1
subss xmm4, xmm0
subss xmm5, xmm3
movss dword [r8 + rcx*4], xmm4
xorps xmm4, xmm10
movss dword [r10 + rbx*4 - 4], xmm4
movss dword [r8], xmm5
movss dword [r10 - 4], xmm5
movss xmm3, dword [r9 - 0x14]
movss xmm1, dword [r9 - 0x18]
movaps xmm4, xmm3
movss xmm5, dword [rdx]
movaps xmm0, xmm1
mulss xmm0, dword [rdx + 4]
sub r9, 0x20
mulss xmm3, dword [rdx + 4]
sub rdx, 0x20
mulss xmm4, xmm5
xorps xmm5, xmm10
mulss xmm5, xmm1
subss xmm4, xmm0
subss xmm5, xmm3
movss dword [r8 + r15], xmm4
xorps xmm4, xmm10
movss dword [r11], xmm4
sub r11, 0x10
movss dword [r8 + 4], xmm5
add r8, 0x10
movss dword [r10 - 8], xmm5
sub r10, 0x10
cmp rdx, r12
jae 0x1402e0b60
mov eax, dword [rbp + 0x18]
mov dword [rsi + 0x94], eax
mov rcx, qword [rbp + 0x60]
xor rcx, rbp
call fcn.140322a80
mov rbx, qword [rbp + 0xf0]
mov rsi, qword [rbp + 0xf8]
mov rdi, qword [rbp + 0x100]
movaps xmm6, xmmword [rbp + 0xb0]
movaps xmm7, xmmword [rbp + 0xa0]
movaps xmm8, xmmword [rbp + 0x90]
movaps xmm9, xmmword [rbp + 0x80]
movaps xmm10, xmmword [rbp + 0x70]
lea rsp, [rbp + 0xc0]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret