Function at 0x14002a310
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x90], xmm15
movaps xmmword [rbp + 0x80], xmm14
movaps xmmword [rbp + 0x70], xmm13
movaps xmmword [rbp + 0x60], xmm12
movaps xmmword [rbp + 0x50], xmm11
movdqa xmmword [rbp + 0x40], xmm10
movaps xmmword [rbp + 0x30], xmm9
movaps xmmword [rbp + 0x20], xmm8
movdqa xmmword [rbp + 0x10], xmm7
movaps xmmword [rbp], xmm6
mov r14, rdx
mov rsi, rcx
mov r15, qword [rbp + 0x128]
mov ecx, dword [rbp + 0x120]
mov rdx, qword [rbp + 0x118]
movss xmm0, dword [rbp + 0x110]
mov rax, qword [0x1401f7798]
xor rax, rbp
mov qword [rbp - 8], rax
cmp r9d, 0x1000000
jb 0x14002ace2
mov edi, r9d
mov rbx, r8
movss dword [rbp - 0x30], xmm0
mov qword [rbp - 0x40], rdx
mov dword [rbp - 0x34], ecx
sub rsp, 0x20
call fcn.14001c5c0
add rsp, 0x20
mov rcx, qword [0x1404493b0]
mov rax, qword [rcx + 0xc0]
mov rdx, rax
test rax, rax
jne 0x14002a3df
mov rdx, qword [rcx + 0xb0]
mov rdx, qword [rdx]
mov r12, qword [rdx + 0x48]
movsxd rdx, dword [rsi + 0x70]
test rdx, rdx
je 0x14002a3fc
mov r8, qword [r12 + 8]
mov r9, qword [rsi + 0x78]
cmp r8, qword [r9 + rdx*8 - 8]
je 0x14002a427
test rax, rax
jne 0x14002a40b
mov rax, qword [rcx + 0xb0]
mov rax, qword [rax]
mov rax, qword [rax + 0x48]
mov rdx, qword [rax + 8]
sub rsp, 0x20
mov rcx, rsi
call fcn.14002e610
add rsp, 0x20
mov al, 1
jmp 0x14002a429
xor eax, eax
mov byte [rbp - 0x29], 1
xorps xmm0, xmm0
ucomiss xmm0, dword [r15]
mov r9d, dword [rbp - 0x34]
jb 0x14002a451
ucomiss xmm0, dword [r15 + 4]
jb 0x14002a451
ucomiss xmm0, dword [r15 + 8]
jb 0x14002a451
ucomiss xmm0, dword [r15 + 0xc]
setb byte [rbp - 0x29]
test r9b, 1
mov dword [rbp - 0x54], eax
je 0x14002a4c7
cmp byte [rbp - 0x29], 0
je 0x14002a4c7
sub rsp, 0x20
mov rcx, rsi
mov rdx, r14
mov r8, rbx
mov r9, r15
call fcn.14002d8d0
add rsp, 0x20
movsxd r8, dword [rsi + 0x80]
lea rax, [r8*8 + 0xf]
mov qword [rbp - 0x50], r8
shl r8, 3
and rax, 0xfffffffffffffff0
call fcn.140111100
sub rsp, rax
mov rcx, rsp
mov rdx, qword [rsi + 0x88]
sub rsp, 0x20
mov qword [rbp - 0x48], rcx
call fcn.14017c490
mov r9d, dword [rbp - 0x34]
add rsp, 0x20
mov dword [rsi + 0x80], 0
jmp 0x14002a4f8
test r9b, 1
jne 0x14002a4ec
sub rsp, 0x20
mov rcx, rsi
mov edx, 0x36
mov r8d, 0x24
call fcn.14002f420
mov r9d, dword [rbp - 0x34]
add rsp, 0x20
xor eax, eax
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rbp - 0x50], rax
mov r10, qword [rbp - 0x40]
movss xmm5, dword [rbp - 0x30]
add r12, 0x498
xor r15d, r15d
jmp 0x14002a525
inc r15
mov r12, qword [rbp - 0x60]
add r12, 0x10
cmp r15, 3
je 0x14002ac77
mov qword [rbp - 0x60], r12
xor r13d, r13d
jmp 0x14002a5ad
movsd xmm1, qword [r10]
movaps xmm2, xmm0
unpcklps xmm2, xmm6
addps xmm2, xmm1
movlps qword [rbp - 0x20], xmm2
shufps xmm14, xmm0, 0xd4
shufps xmm14, xmm0, 0x52
addps xmm14, xmm1
movlps qword [rbp - 0x28], xmm14
sub rsp, 0x40
mov dword [rsp + 0x38], edi
mov rax, qword [rbp - 0x50]
mov dword [rsp + 0x30], eax
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x20], rax
mov rcx, rsi
lea rdx, [rbp - 0x28]
lea r8, [rbp - 0x20]
lea r9, [rbp - 0x10]
call fcn.14002df70
movss xmm5, dword [rbp - 0x30]
mov r10, qword [rbp - 0x40]
mov r9d, dword [rbp - 0x34]
add rsp, 0x40
inc r13
add r12, 0x30
cmp r13, 3
je 0x14002a510
cmp r15d, 2
je 0x14002a5e0
cmp r15d, 1
je 0x14002a5d0
xorps xmm0, xmm0
test r15d, r15d
jne 0x14002a5ee
movss xmm0, dword [r14]
movaps xmm1, xmm0
subss xmm1, xmm5
jmp 0x14002a5eb
movss xmm1, dword [r14]
movss xmm0, dword [rbx]
jmp 0x14002a5eb
movss xmm1, dword [rbx]
movaps xmm0, xmm1
addss xmm0, xmm5
unpcklps xmm0, xmm1
cmp r13d, 2
je 0x14002a630
cmp r13d, 1
je 0x14002a620
xorps xmm6, xmm6
xorps xmm14, xmm14
test r13d, r13d
jne 0x14002a63e
movss xmm6, dword [r14 + 4]
movaps xmm14, xmm6
subss xmm14, xmm5
jmp 0x14002a63e
movss xmm14, dword [r14 + 4]
movss xmm6, dword [rbx + 4]
jmp 0x14002a63e
movss xmm14, dword [rbx + 4]
movaps xmm6, xmm14
addss xmm6, xmm5
movss xmm1, dword [r12 - 0xc]
movd xmm10, dword [r12 - 8]
movss xmm2, dword [r12 - 4]
movd xmm7, dword [r12]
movss dword [rbp - 0x10], xmm1
movd dword [rbp - 0xc], xmm10
movss dword [rbp - 0x18], xmm2
movd dword [rbp - 0x14], xmm7
test r9b, 1
je 0x14002aa20
cmp byte [rbp - 0x29], 0
jne 0x14002a530
movsd xmm11, qword [r10]
movlhps xmm6, xmm0
shufps xmm6, xmm0, 0xe2
movaps xmm9, xmm11
addps xmm9, xmm6
shufps xmm14, xmm0, 0xd4
shufps xmm14, xmm0, 0x52
addps xmm11, xmm14
ucomiss xmm11, xmm9
jae 0x14002a59c
movaps xmm8, xmm9
shufps xmm8, xmm9, 0x55
movaps xmm12, xmm11
shufps xmm12, xmm11, 0x55
ucomiss xmm12, xmm8
jae 0x14002a59c
movsd xmm15, qword [r14]
movsd xmm13, qword [rbx]
movaps xmm0, xmm9
movlhps xmm0, xmm15
movaps xmm1, xmm13
movlhps xmm1, xmm11
cmpltps xmm1, xmm0
pslld xmm1, 0x1f
movmskps eax, xmm1
test eax, eax
je 0x14002a59c
maxps xmm15, xmm11
minps xmm13, xmm9
ucomiss xmm15, xmm13
jae 0x14002ab19
movaps xmm1, xmm15
shufps xmm1, xmm15, 0x55
movaps xmm0, xmm13
shufps xmm0, xmm13, 0x55
ucomiss xmm1, xmm0
jae 0x14002ab19
sub rsp, 0x20
mov rcx, rsi
mov edx, 0x18
mov r8d, 0xc
movaps xmmword [rbp - 0x80], xmm8
movaps xmm8, xmm0
movaps xmmword [rbp - 0x70], xmm1
call fcn.14002f420
movaps xmm4, xmm8
movaps xmm8, xmmword [rbp - 0x80]
add rsp, 0x20
mov rax, qword [rsi + 0x58]
mov rdx, qword [rsi + 0x50]
mov ecx, dword [rsi + 0x48]
movlps qword [rdx], xmm11
mov r8d, dword [rbp - 0x10]
mov dword [rdx + 0x10], r8d
movd dword [rdx + 0x14], xmm10
mov dword [rdx + 0xc], edi
movss dword [rdx + 0x18], xmm9
movss dword [rdx + 0x1c], xmm12
mov r9d, dword [rbp - 0x18]
mov dword [rdx + 0x28], r9d
movd dword [rdx + 0x2c], xmm10
mov dword [rdx + 0x24], edi
movlps qword [rdx + 0x30], xmm9
mov dword [rdx + 0x40], r9d
movd dword [rdx + 0x44], xmm7
mov dword [rdx + 0x3c], edi
movss dword [rdx + 0x48], xmm11
movss dword [rdx + 0x4c], xmm8
mov dword [rdx + 0x58], r8d
movd dword [rdx + 0x5c], xmm7
mov dword [rdx + 0x54], edi
subps xmm6, xmm14
rcpps xmm0, xmm6
movd xmm1, r9d
punpcklqdq xmm7, xmm1
shufps xmm7, xmm1, 0xe2
movd xmm1, r8d
punpcklqdq xmm10, xmm1
shufps xmm10, xmm1, 0xe2
subps xmm7, xmm10
movaps xmm1, xmm7
mulps xmm1, xmm0
mulps xmm6, xmm1
subps xmm7, xmm6
mulps xmm7, xmm0
addps xmm7, xmm1
movlps qword [rdx + 0x60], xmm15
rcpps xmm0, xmm7
movaps xmm1, xmm10
mulps xmm1, xmm0
movaps xmm2, xmm7
mulps xmm2, xmm1
subps xmm10, xmm2
mulps xmm10, xmm0
addps xmm10, xmm1
movaps xmm0, xmm10
subps xmm0, xmm11
movaps xmm1, xmm15
addps xmm1, xmm0
mulps xmm1, xmm7
movlps qword [rdx + 0x70], xmm1
mov dword [rdx + 0x6c], edi
movss dword [rdx + 0x78], xmm13
movaps xmm5, xmmword [rbp - 0x70]
movss dword [rdx + 0x7c], xmm5
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movss dword [rdx + 0x8c], xmm2
mov dword [rdx + 0x84], edi
movlps qword [rdx + 0x90], xmm13
movaps xmm2, xmm13
addps xmm2, xmm0
mulps xmm2, xmm7
movss dword [rdx + 0x88], xmm2
movlps qword [rdx + 0xa0], xmm2
mov dword [rdx + 0x9c], edi
movss dword [rdx + 0xa8], xmm15
movss dword [rdx + 0xac], xmm4
movss dword [rdx + 0xb8], xmm1
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
movss dword [rdx + 0xbc], xmm3
mov dword [rdx + 0xb4], edi
movss dword [rdx + 0xc0], xmm15
movss dword [rdx + 0xc4], xmm12
mulps xmm10, xmm7
shufps xmm10, xmm10, 0x55
movss dword [rdx + 0xd0], xmm1
movss dword [rdx + 0xd4], xmm10
mov dword [rdx + 0xcc], edi
movss dword [rdx + 0xd8], xmm13
movss dword [rdx + 0xdc], xmm12
movss dword [rdx + 0xe8], xmm2
movss dword [rdx + 0xec], xmm10
mov dword [rdx + 0xe4], edi
movss dword [rdx + 0xf0], xmm13
movss dword [rdx + 0xf4], xmm8
addps xmm0, xmm9
mulps xmm0, xmm7
shufps xmm0, xmm0, 0x55
movss dword [rdx + 0x100], xmm2
movss dword [rdx + 0x104], xmm0
mov dword [rdx + 0xfc], edi
movss dword [rdx + 0x108], xmm15
movss dword [rdx + 0x10c], xmm8
movss dword [rdx + 0x118], xmm1
movss dword [rdx + 0x11c], xmm0
mov dword [rdx + 0x114], edi
add qword [rsi + 0x50], 0x120
add dword [rsi + 0x48], 0xc
ucomiss xmm15, xmm11
movaps xmm0, xmm5
jbe 0x14002a997
mov word [rax], cx
lea edx, [rcx + 8]
mov word [rax + 2], dx
lea edx, [rcx + 0xb]
mov word [rax + 4], dx
mov word [rax + 6], cx
mov word [rax + 8], dx
lea edx, [rcx + 3]
mov word [rax + 0xa], dx
add rax, 0xc
mov r9d, dword [rbp - 0x34]
mov r10, qword [rbp - 0x40]
movss xmm5, dword [rbp - 0x30]
ucomiss xmm0, xmm12
ja 0x14002ac06
ucomiss xmm9, xmm13
ja 0x14002ac3c
ucomiss xmm8, xmm4
jbe 0x14002a9ea
lea edx, [rcx + 7]
mov word [rax], dx
lea r8d, [rcx + 6]
mov word [rax + 2], r8w
lea r8d, [rcx + 0xa]
mov word [rax + 4], r8w
mov word [rax + 6], dx
mov word [rax + 8], r8w
add ecx, 0xb
mov word [rax + 0xa], cx
add rax, 0xc
mov rcx, rax
sub rcx, qword [rsi + 0x58]
shr rcx, 1
mov qword [rsi + 0x58], rax
mov eax, 0x18
sub eax, ecx
mov rcx, qword [rsi + 8]
movsxd rdx, dword [rsi]
shl rdx, 6
sub dword [rdx + rcx - 0x20], eax
sub dword [rsi + 0x10], eax
jmp 0x14002a59c
mov eax, dword [rsi + 0x48]
mov rcx, qword [rsi + 0x58]
lea edx, [rax + 1]
lea r8d, [rax + 2]
movsd xmm3, qword [r10]
mov word [rcx], ax
mov rcx, qword [rsi + 0x58]
mov word [rcx + 2], dx
mov rcx, qword [rsi + 0x58]
mov word [rcx + 4], r8w
mov rcx, qword [rsi + 0x58]
mov word [rcx + 6], ax
add eax, 3
shufps xmm14, xmm0, 0xd4
shufps xmm14, xmm0, 0x52
addps xmm14, xmm3
mov rcx, qword [rsi + 0x58]
mov word [rcx + 8], r8w
mov rcx, qword [rsi + 0x58]
mov word [rcx + 0xa], ax
mov rax, qword [rsi + 0x50]
movlps qword [rax], xmm14
mov rax, qword [rsi + 0x50]
mov rcx, qword [rbp - 0x10]
mov qword [rax + 0x10], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax + 0xc], edi
mov rax, qword [rsi + 0x50]
movaps xmm4, xmm14
shufps xmm4, xmm14, 0x55
movss dword [rax + 0x1c], xmm4
movlhps xmm6, xmm0
shufps xmm6, xmm0, 0xe2
addps xmm6, xmm3
movss dword [rax + 0x18], xmm6
mov rax, qword [rsi + 0x50]
movss dword [rax + 0x28], xmm2
movd dword [rax + 0x2c], xmm10
mov rax, qword [rsi + 0x50]
mov dword [rax + 0x24], edi
mov rax, qword [rsi + 0x50]
movlps qword [rax + 0x30], xmm6
mov rax, qword [rsi + 0x50]
mov rcx, qword [rbp - 0x18]
mov qword [rax + 0x40], rcx
mov rax, qword [rsi + 0x50]
mov dword [rax + 0x3c], edi
mov rax, qword [rsi + 0x50]
movss dword [rax + 0x48], xmm14
shufps xmm6, xmm6, 0x55
movss dword [rax + 0x4c], xmm6
mov rax, qword [rsi + 0x50]
movss dword [rax + 0x58], xmm1
movd dword [rax + 0x5c], xmm7
mov rax, qword [rsi + 0x50]
mov dword [rax + 0x54], edi
add qword [rsi + 0x50], 0x60
add dword [rsi + 0x48], 4
add qword [rsi + 0x58], 0xc
jmp 0x14002a59c
sub rsp, 0x20
mov rcx, rsi
mov edx, 6
mov r8d, 4
call fcn.14002f420
movss xmm5, dword [rbp - 0x30]
mov r10, qword [rbp - 0x40]
add rsp, 0x20
mov ecx, dword [rbp - 0x18]
mov eax, dword [rbp - 0x10]
mov edx, dword [rsi + 0x48]
mov r8, qword [rsi + 0x58]
mov word [r8], dx
lea r8d, [rdx + 1]
mov r9, qword [rsi + 0x58]
mov word [r9 + 2], r8w
lea r8d, [rdx + 2]
mov r9, qword [rsi + 0x58]
mov word [r9 + 4], r8w
mov r9, qword [rsi + 0x58]
mov word [r9 + 6], dx
mov r9, qword [rsi + 0x58]
mov word [r9 + 8], r8w
mov r9d, dword [rbp - 0x34]
add edx, 3
mov r8, qword [rsi + 0x58]
mov word [r8 + 0xa], dx
mov rdx, qword [rsi + 0x50]
movlps qword [rdx], xmm11
mov rdx, qword [rsi + 0x50]
mov r8, qword [rbp - 0x10]
mov qword [rdx + 0x10], r8
mov rdx, qword [rsi + 0x50]
mov dword [rdx + 0xc], edi
mov rdx, qword [rsi + 0x50]
movss dword [rdx + 0x18], xmm9
movss dword [rdx + 0x1c], xmm12
mov rdx, qword [rsi + 0x50]
mov dword [rdx + 0x28], ecx
movd dword [rdx + 0x2c], xmm10
mov rcx, qword [rsi + 0x50]
mov dword [rcx + 0x24], edi
mov rcx, qword [rsi + 0x50]
movlps qword [rcx + 0x30], xmm9
mov rcx, qword [rsi + 0x50]
mov rdx, qword [rbp - 0x18]
mov qword [rcx + 0x40], rdx
mov rcx, qword [rsi + 0x50]
mov dword [rcx + 0x3c], edi
mov rcx, qword [rsi + 0x50]
movss dword [rcx + 0x48], xmm11
movss dword [rcx + 0x4c], xmm8
mov rcx, qword [rsi + 0x50]
mov dword [rcx + 0x58], eax
movd dword [rcx + 0x5c], xmm7
jmp 0x14002aaff
lea edx, [rcx + 8]
mov word [rax], dx
lea r8d, [rcx + 9]
mov word [rax + 2], r8w
lea r8d, [rcx + 5]
mov word [rax + 4], r8w
mov word [rax + 6], dx
mov word [rax + 8], r8w
lea edx, [rcx + 4]
mov word [rax + 0xa], dx
add rax, 0xc
ucomiss xmm9, xmm13
jbe 0x14002a9b8
lea edx, [rcx + 9]
mov word [rax], dx
lea r8d, [rcx + 1]
mov word [rax + 2], r8w
lea r8d, [rcx + 2]
mov word [rax + 4], r8w
mov word [rax + 6], dx
mov word [rax + 8], r8w
lea edx, [rcx + 0xa]
mov word [rax + 0xa], dx
add rax, 0xc
ucomiss xmm8, xmm4
ja 0x14002a9be
jmp 0x14002a9ea
cmp byte [rbp - 0x54], 0
je 0x14002ace2
mov rcx, qword [rbp - 8]
xor rcx, rbp
sub rsp, 0x20
call fcn.14010ed10
add rsp, 0x20
mov rcx, rsi
movaps xmm6, xmmword [rbp]
movaps xmm7, xmmword [rbp + 0x10]
movaps xmm8, xmmword [rbp + 0x20]
movaps xmm9, xmmword [rbp + 0x30]
movaps xmm10, xmmword [rbp + 0x40]
movaps xmm11, xmmword [rbp + 0x50]
movaps xmm12, xmmword [rbp + 0x60]
movaps xmm13, xmmword [rbp + 0x70]
movaps xmm14, xmmword [rbp + 0x80]
movaps xmm15, xmmword [rbp + 0x90]
lea rsp, [rbp + 0xa8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.1400306e0
mov rcx, qword [rbp - 8]
xor rcx, rbp
sub rsp, 0x20
call fcn.14010ed10
add rsp, 0x20
movaps xmm6, xmmword [rbp]
movaps xmm7, xmmword [rbp + 0x10]
movaps xmm8, xmmword [rbp + 0x20]
movaps xmm9, xmmword [rbp + 0x30]
movaps xmm10, xmmword [rbp + 0x40]
movaps xmm11, xmmword [rbp + 0x50]
movaps xmm12, xmmword [rbp + 0x60]
movaps xmm13, xmmword [rbp + 0x70]
movaps xmm14, xmmword [rbp + 0x80]
movaps xmm15, xmmword [rbp + 0x90]
lea rsp, [rbp + 0xa8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret