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

Disassembly:
mov rax, rsp
sub rsp, 0xd8
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax - 8], rsi
mov rsi, qword [0x14013cd88]
mov qword [rax - 0x10], rdi
mov qword [rax - 0x18], r12
mov qword [rax - 0x20], r14
mov rdi, qword [rsi + 8]
mov dword [rsi + 0x70], 1
movaps xmmword [rax - 0x38], xmm6
movss xmm0, dword [rdi + 0xe0]
comiss xmm0, dword [rdi + 0xe8]
ja 0x1400f119a
movss xmm0, dword [rdi + 0xe4]
comiss xmm0, dword [rdi + 0xec]
jbe 0x1400f1205
movss xmm0, dword [rdi + 0xd0]
movss xmm4, dword [rsi + 0x60]
subss xmm4, dword [rsi + 0x58]
movss xmm1, dword [rdi + 0xd4]
movss xmm6, dword [rsi + 0x68]
subss xmm6, dword [rsi + 0x58]
movss xmm5, dword [rsi + 0x6c]
subss xmm5, dword [rsi + 0x5c]
subss xmm4, xmm0
subss xmm6, xmm0
movss xmm0, dword [rsi + 0x64]
subss xmm0, dword [rsi + 0x5c]
subss xmm5, xmm1
shufps xmm4, xmm4, 0xe1
subss xmm0, xmm1
movss xmm4, xmm0
shufps xmm4, xmm4, 0xc6
movss xmm4, xmm6
shufps xmm4, xmm4, 0x27
movss xmm4, xmm5
shufps xmm4, xmm4, 0x39
movups xmmword [rdi + 0xe0], xmm4
cmp byte [rsi + 0x1d4], 0
mov rbx, qword [0x14013cd70]
je 0x1400f1228
cmp dword [rbx + 0x41a4], 0
je 0x1400f1228
mov dword [rdi + 0x128], 5
mov eax, dword [rdi + 0x128]
xor r12d, r12d
sub eax, 2
xorps xmm6, xmm6
test eax, 0xfffffffb
jne 0x1400f1446
xor ecx, ecx
call fcn.140052820
test al, al
jne 0x1400f126a
mov rax, qword [rbx + 0x4cf8]
test rax, rax
je 0x1400f1446
cmp rax, qword [rbx + 0x4140]
jne 0x1400f1446
movss xmm2, dword [rbx + 0xe48]
comiss xmm2, dword [rsi + 0x60]
movss xmm1, dword [rbx + 0xe4c]
jb 0x1400f1446
comiss xmm1, dword [rsi + 0x64]
jb 0x1400f1446
movss xmm0, dword [rsi + 0x68]
comiss xmm0, xmm2
jbe 0x1400f1446
movss xmm0, dword [rsi + 0x6c]
comiss xmm0, xmm1
jbe 0x1400f1446
mov rcx, qword [rsi + 8]
cmp byte [rcx + 0x148], r12b
je 0x1400f12e2
movss xmm0, dword [rcx + 0x150]
comiss xmm0, xmm6
jbe 0x1400f12e2
lea rdx, [rcx + 0x170]
mov r8b, 1
add rcx, 0x168
call fcn.1400540f0
test al, al
jne 0x1400f1446
lea rdx, [rsi + 0x48]
mov rcx, rdi
call fcn.1400ee940
mov rsi, qword [0x14013cd88]
mov eax, 0xffffffff
mov ebx, dword [rdi + 0x40]
mov r8d, r12d
movss xmm2, dword [0x14011e0b4]
movss xmm3, dword [rsi + 0xc8]
mulss xmm3, xmm3
test ebx, ebx
jle 0x1400f139d
mov r11, qword [rdi + 0x58]
mov r10, r12
cmp byte [r11], r12b
je 0x1400f138e
mov rdx, qword [rsi + 0x50]
movsxd rcx, dword [rsi + 0x48]
lea r9, [rdx + rcx*4]
cmp rdx, r9
jae 0x1400f1350
nop dword [rax]
mov ecx, dword [rdx]
add rdx, 4
cmp ecx, r8d
je 0x1400f138e
cmp rdx, r9
jb 0x1400f1340
mov rcx, qword [rdi + 0x48]
movss xmm0, dword [r10 + rcx + 0x20]
movss xmm1, dword [r10 + rcx + 0x24]
subss xmm1, dword [rsi + 0x1d0]
subss xmm0, dword [rsi + 0x1cc]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
comiss xmm3, xmm1
jbe 0x1400f138e
comiss xmm2, xmm1
jbe 0x1400f138e
movaps xmm2, xmm1
mov eax, r8d
inc r8d
inc r11
add r10, 0x34
cmp r8d, ebx
jl 0x1400f1323
mov dword [rsi + 0x1b4], eax
cmp eax, 0xffffffff
jne 0x1400f141d
mov eax, dword [rsi + 0x38]
test eax, eax
jne 0x1400f13b7
mov r10d, 0xffffffff
jmp 0x1400f1416
cmp eax, 1
jne 0x1400f13c5
mov rax, qword [rsi + 0x40]
mov r10d, dword [rax]
jmp 0x1400f1416
mov r8d, 0xffffffff
mov r10d, r8d
test eax, eax
jle 0x1400f1416
mov r9d, dword [rdi + 0xc0]
mov rbx, rax
mov r11, qword [rsi + 0x40]
mov edx, dword [r11]
mov eax, r12d
test r9d, r9d
jle 0x1400f140c
mov rcx, qword [rdi + 0xc8]
cmp dword [rcx], edx
jne 0x1400f1401
cmp eax, r8d
jle 0x1400f1401
mov r8d, eax
mov r10d, edx
inc eax
add rcx, 4
cmp eax, r9d
jl 0x1400f13f2
add r11, 4
sub rbx, 1
jne 0x1400f13e0
mov dword [rsi + 0x1ac], r10d
cmp dword [rsi + 0x1ac], 0xffffffff
jne 0x1400f1446
lea rdx, [rdi + 0x80]
lea r8, [rdi + 0x40]
lea rcx, [rsp + 0xe0]
call fcn.1400eeb30
mov ecx, dword [rax]
mov dword [rsi + 0x1b0], ecx
mov ebx, r12d
cmp dword [rdi], r12d
jle 0x1400f150d
mov rbp, r12
nop word [rax + rax]
mov rax, qword [rdi + 0x18]
cmp byte [rax + rbp], r12b
je 0x1400f1500
movsxd rcx, dword [rsi + 0x18]
mov r8, qword [rsi + 0x20]
mov r9, rcx
shl r9, 4
add r9, r8
test rcx, rcx
je 0x1400f14c1
nop word [rax + rax]
mov rdx, rcx
shr rdx, 1
mov rax, rdx
add rax, rax
cmp dword [r8 + rax*8], ebx
jae 0x1400f14b9
lea r8, [r8 + rax*8]
mov rax, 0xffffffffffffffff
sub rax, rdx
add r8, 0x10
add rcx, rax
jmp 0x1400f14bc
mov rcx, rdx
test rcx, rcx
jne 0x1400f1490
cmp r8, r9
je 0x1400f14d1
cmp dword [r8], ebx
jne 0x1400f14d1
mov r8d, dword [r8 + 8]
jmp 0x1400f14d7
mov r8d, 0xffffffff
mov rdx, qword [rsi + 0x10]
lea r8d, [r8*2 + 1]
lea rcx, [rdx + 0xa8]
call fcn.1400aebf0
mov edx, ebx
mov rcx, rdi
call fcn.1400ef210
mov rsi, qword [0x14013cd88]
inc ebx
inc rbp
cmp ebx, dword [rdi]
jl 0x1400f1460
mov rdx, qword [rsi + 0x10]
xor r8d, r8d
lea rcx, [rdx + 0xa8]
call fcn.1400aebf0
mov ebx, r12d
mov rbp, qword [0x14013cd88]
cmp dword [rdi + 0x80], r12d
jle 0x1400f167b
mov qword [rsp + 0xb0], r15
mov rsi, r12
mov r15, r12
mov rax, qword [rdi + 0x98]
cmp byte [r15 + rax], r12b
je 0x1400f165e
mov rcx, qword [rdi + 0x48]
mov r14, qword [rdi + 0x88]
movss xmm0, dword [rbp + 0xb0]
movss dword [rsp + 0x20], xmm0
movsxd rax, dword [rsi + r14 + 4]
imul rdx, rax, 0x34
movsxd rax, dword [rsi + r14 + 8]
imul r8, rax, 0x34
mov r9d, dword [rdx + rcx + 0x18]
mov rdx, qword [rdx + rcx + 0x20]
mov r8, qword [r8 + rcx + 0x20]
lea rcx, [rsp + 0x78]
call fcn.1400ecd40
movups xmm0, xmmword [rax]
mov r10d, dword [rax + 0x20]
movups xmm1, xmmword [rax + 0x10]
mov dword [rsp + 0x70], r10d
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
cmp dword [rbp + 0x1b0], ebx
jne 0x1400f15d0
cmp dword [rdi + 0x128], 4
je 0x1400f15d0
mov r9b, 1
mov dword [rbp + 0x1b0], ebx
jmp 0x1400f15d3
xor r9b, r9b
cmp dword [rbp + 0x1b8], ebx
je 0x1400f165e
mov rcx, qword [rdi + 0x108]
movsxd rax, dword [rdi + 0x100]
mov r8d, dword [rsi + r14 + 0xc]
lea rdx, [rcx + rax*4]
cmp rcx, rdx
jae 0x1400f1613
nop dword [rax + rax]
mov eax, dword [rcx]
add rcx, 4
cmp eax, ebx
je 0x1400f1752
cmp rcx, rdx
jb 0x1400f1600
test r9b, r9b
je 0x1400f161d
mov r8d, dword [rsi + r14 + 0x10]
movss xmm0, dword [rbp + 0xac]
lea rax, [rsp + 0x68]
mov rcx, qword [rbp + 0x10]
lea r9, [rsp + 0x60]
mov dword [rsp + 0x38], r10d
lea rdx, [rsp + 0x50]
movss dword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], r8d
lea r8, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.1400ae000
mov rbp, qword [0x14013cd88]
inc ebx
inc r15
add rsi, 0x18
cmp ebx, dword [rdi + 0x80]
jl 0x1400f1545
mov r15, qword [rsp + 0xb0]
mov rcx, qword [rbp + 0x10]
mov edx, 1
call fcn.1400ed490
mov rax, qword [0x14013cd88]
mov rdx, qword [rax + 0x10]
mov r8d, dword [rdx + 0xac]
lea rcx, [rdx + 0xa8]
dec r8d
call fcn.1400aebf0
mov rbx, qword [0x14013cd88]
mov rax, qword [rbx + 8]
cmp byte [rax + 0x148], r12b
je 0x1400f16dc
movss xmm0, dword [rax + 0x150]
comiss xmm0, xmm6
jbe 0x1400f16dc
call fcn.1400ef6e0
call fcn.1400f0090
mov rbx, qword [0x14013cd88]
mov rcx, qword [rbx + 8]
cmp byte [rcx + 0x148], r12b
je 0x1400f1714
movss xmm0, dword [rcx + 0x150]
comiss xmm0, xmm6
jbe 0x1400f1714
lea rdx, [rcx + 0x170]
mov r8b, 1
add rcx, 0x168
call fcn.1400540f0
test al, al
jne 0x1400f19c1
movzx r14d, byte [rbx + 0x1d4]
test r14b, r14b
je 0x1400f17c1
mov edx, dword [rbx + 0x1b0]
cmp edx, 0xffffffff
je 0x1400f175c
mov r8d, dword [rbx + 0x1b4]
mov rcx, rdi
call fcn.1400edad0
mov rbx, qword [0x14013cd88]
mov rsi, qword [0x14013cd70]
jmp 0x1400f189f
mov r8d, dword [rsi + r14 + 0x14]
jmp 0x1400f161d
mov eax, dword [rbx + 0x1b4]
cmp eax, 0xffffffff
je 0x1400f179b
mov rsi, qword [0x14013cd70]
mov dword [rdi + 0x128], 2
mov dword [rdi + 0x12c], eax
mov dword [rdi + 0x130], 0xffffffff
mov dword [rdi + 0x134], r12d
or dword [rbx + 0x1c0], 1
jmp 0x1400f189f
mov edx, dword [rbx + 0x1ac]
cmp edx, 0xffffffff
je 0x1400f17ee
mov rcx, rdi
call fcn.1400ed7f0
mov rbx, qword [0x14013cd88]
mov rsi, qword [0x14013cd70]
jmp 0x1400f189f
cmp byte [rbx + 0x1d5], r12b
jne 0x1400f17ee
cmp byte [rbx + 0x1d6], r12b
jne 0x1400f17ee
movss xmm0, dword [rbx + 0x1dc]
ucomiss xmm0, xmm6
jp 0x1400f17ee
jne 0x1400f17ee
mov rsi, qword [0x14013cd70]
jmp 0x1400f189f
cmp dword [rbx + 0x1ac], 0xffffffff
mov rsi, qword [0x14013cd70]
jne 0x1400f1827
cmp dword [rbx + 0x1b0], 0xffffffff
jne 0x1400f1827
cmp dword [rbx + 0x1b4], 0xffffffff
jne 0x1400f1827
cmp dword [rsi + 0x4190], r12d
jne 0x1400f1827
cmp dword [rsi + 0x4194], r12d
jne 0x1400f1827
xor bpl, bpl
jmp 0x1400f182a
mov bpl, 1
call fcn.1400ed780
cmp dword [rdi + 0x128], 6
jne 0x1400f189f
test bpl, bpl
jne 0x1400f189f
test al, al
je 0x1400f189f
cmp byte [rbx + 0x1d6], r12b
je 0x1400f1856
mov dword [rdi + 0x128], 3
jmp 0x1400f189f
test r14b, r14b
je 0x1400f189f
mov dword [rdi + 0x128], 4
movss xmm1, dword [rbx + 0x1cc]
movss xmm0, dword [rbx + 0x1d0]
subss xmm1, dword [rbx + 0x58]
subss xmm0, dword [rbx + 0x5c]
subss xmm1, dword [rdi + 0xd0]
subss xmm0, dword [rdi + 0xd4]
movss dword [rdi + 0x138], xmm1
movss dword [rdi + 0x13c], xmm0
mov eax, dword [rdi + 0x128]
test eax, 0xfffffff9
jne 0x1400f19c1
cmp eax, 6
je 0x1400f19c1
xor ecx, ecx
call fcn.140052820
test al, al
jne 0x1400f18d9
mov rax, qword [rsi + 0x4cf8]
test rax, rax
je 0x1400f190d
cmp rax, qword [rsi + 0x4140]
jne 0x1400f190d
movss xmm2, dword [rsi + 0xe48]
comiss xmm2, dword [rbx + 0x60]
movss xmm1, dword [rsi + 0xe4c]
jb 0x1400f190d
comiss xmm1, dword [rbx + 0x64]
jb 0x1400f190d
movss xmm0, dword [rbx + 0x68]
comiss xmm0, xmm2
jbe 0x1400f190d
movss xmm0, dword [rbx + 0x6c]
comiss xmm0, xmm1
ja 0x1400f19c1
movss xmm4, dword [rbx + 0x68]
addss xmm4, dword [rbx + 0x60]
movss xmm5, dword [rbx + 0x6c]
addss xmm5, dword [rbx + 0x64]
mulss xmm4, dword [0x14011dea4]
mulss xmm5, dword [0x14011dea4]
subss xmm4, dword [rsi + 0xe48]
subss xmm5, dword [rsi + 0xe4c]
movaps xmm0, xmm4
mulss xmm0, xmm4
movaps xmm1, xmm5
mulss xmm1, xmm5
addss xmm1, xmm0
comiss xmm1, xmm6
jbe 0x1400f1961
movaps xmm3, xmm1
rsqrtss xmm3, xmm1
jmp 0x1400f1964
movaps xmm3, xmm6
movss xmm1, dword [rbx + 0x94]
movaps xmm2, xmm3
mulss xmm2, xmm4
mulss xmm3, xmm5
mulss xmm2, dword [rsi + 0x18]
mulss xmm3, dword [rsi + 0x18]
mulss xmm2, xmm1
mulss xmm3, xmm1
movss dword [rdi + 0xd8], xmm2
movss dword [rdi + 0xdc], xmm3
movss xmm0, dword [rdi + 0xd4]
addss xmm2, dword [rdi + 0xd0]
movss dword [rdi + 0xd0], xmm2
addss xmm0, dword [rdi + 0xdc]
movss dword [rdi + 0xd4], xmm0
mov rcx, rdi
call fcn.1400ee0b0
mov rcx, rdi
call fcn.1400ec020
mov esi, r12d
movaps xmm6, xmmword [rsp + 0xa0]
cmp dword [rdi + 0x50], r12d
jle 0x1400f1ad2
mov rbp, r12
mov r14, r12
nop dword [rax]
mov rax, qword [rdi + 0x48]
mov r9d, dword [r14 + rax]
mov rax, qword [rdi + 0x58]
cmp byte [rax + rbp], r12b
jne 0x1400f1ac0
movsxd rcx, dword [rdi + 0x70]
mov r8, qword [rdi + 0x78]
mov r11, rcx
shl r11, 4
add r11, r8
test rcx, rcx
je 0x1400f1a51
nop dword [rax]
mov rdx, rcx
shr rdx, 1
mov rax, rdx
add rax, rax
cmp dword [r8 + rax*8], r9d
jae 0x1400f1a49
lea r8, [r8 + rax*8]
mov rax, 0xffffffffffffffff
sub rax, rdx
add r8, 0x10
add rcx, rax
jmp 0x1400f1a4c
mov rcx, rdx
test rcx, rcx
jne 0x1400f1a20
cmp r8, r11
je 0x1400f1a61
cmp dword [r8], r9d
jne 0x1400f1a61
mov eax, dword [r8 + 8]
jmp 0x1400f1a66
mov eax, 0xffffffff
cmp eax, esi
jne 0x1400f1ac0
mov r8d, 0xffffffff
lea rcx, [rdi + 0x70]
mov edx, r9d
call fcn.140041090
mov ecx, dword [rdi + 0x64]
mov r8d, dword [rdi + 0x60]
cmp r8d, ecx
jne 0x1400f1ab2
inc r8d
test ecx, ecx
je 0x1400f1a9a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1400f1a9f
mov eax, 8
cmp eax, r8d
lea rcx, [rdi + 0x60]
cmovg r8d, eax
mov edx, r8d
call fcn.1400774f0
movsxd rcx, dword [rdi + 0x60]
mov rax, qword [rdi + 0x68]
mov dword [rax + rcx*4], esi
inc dword [rdi + 0x60]
inc esi
inc rbp
add r14, 0x34
cmp esi, dword [rdi + 0x50]
jl 0x1400f19f0
mov r14, qword [0x14013cd88]
cmp dword [r14 + 0x18], 2
jl 0x1400f1bf4
mov r8d, dword [rdi + 0xc0]
mov r10, qword [rdi + 0xc8]
dec r8d
mov r9, qword [r14 + 0x30]
movsxd rdx, r8d
lea rcx, [r10 + rdx*4]
mov eax, dword [r9 + rdx*4]
cmp dword [rcx], eax
jne 0x1400f1b29
sub r9, r10
nop dword [rax + rax]
dec r8d
lea rcx, [rcx - 4]
sub rdx, 1
je 0x1400f1bf4
mov eax, dword [r9 + rcx]
cmp dword [rcx], eax
je 0x1400f1b10
movsxd rbp, r8d
test r8d, r8d
jle 0x1400f1bf4
nop word [rax + rax]
mov rax, qword [rdi + 0xc8]
mov rsi, 0xffffffffffffffff
movsxd rcx, dword [r14 + 0x28]
mov r10d, esi
mov edx, r12d
mov r9d, dword [rax + rbp*4]
mov rax, r12
test ecx, ecx
jle 0x1400f1b90
mov r8, rcx
mov rcx, qword [r14 + 0x30]
nop word [rax + rax]
cmp dword [rcx], r9d
je 0x1400f1b85
inc edx
inc rax
add rcx, 4
cmp rax, r8
jl 0x1400f1b70
jmp 0x1400f1b95
mov r10d, edx
mov rsi, rax
cmp rax, rbp
je 0x1400f1be8
cmp rsi, rbp
jge 0x1400f1be8
lea edx, [r10*2 + 1]
nop dword [rax]
mov rcx, qword [r14 + 0x10]
lea ebx, [rdx + 2]
add rcx, 0xa8
mov r8d, ebx
call fcn.1400ed6e0
mov rcx, qword [r14 + 0x10]
lea r8d, [rdx + 3]
add rcx, 0xa8
inc edx
call fcn.1400ed6e0
mov rdx, qword [r14 + 0x30]
mov ecx, dword [rdx + rsi*4]
mov eax, dword [rdx + rsi*4 + 4]
mov dword [rdx + rsi*4], eax
mov dword [rdx + rsi*4 + 4], ecx
inc rsi
mov edx, ebx
cmp rsi, rbp
jl 0x1400f1ba0
dec rbp
test rbp, rbp
jg 0x1400f1b40
mov rbp, qword [rsp + 0xf0]
cmp dword [rdi + 0x90], r12d
jle 0x1400f1d15
mov rsi, r12
mov r14, r12
nop
mov rax, qword [rdi + 0x88]
mov r9d, dword [r14 + rax]
mov rax, qword [rdi + 0x98]
cmp byte [rsi + rax], 0
jne 0x1400f1cf7
movsxd rcx, dword [rdi + 0xb0]
mov r8, qword [rdi + 0xb8]
mov r11, rcx
shl r11, 4
add r11, r8
test rcx, rcx
je 0x1400f1c81
nop dword [rax]
mov rdx, rcx
shr rdx, 1
mov rax, rdx
add rax, rax
cmp dword [r8 + rax*8], r9d
jae 0x1400f1c79
lea r8, [r8 + rax*8]
mov rax, 0xffffffffffffffff
sub rax, rdx
add r8, 0x10
add rcx, rax
jmp 0x1400f1c7c
mov rcx, rdx
test rcx, rcx
jne 0x1400f1c50
cmp r8, r11
je 0x1400f1c91
cmp dword [r8], r9d
jne 0x1400f1c91
mov eax, dword [r8 + 8]
jmp 0x1400f1c96
mov eax, 0xffffffff
cmp eax, r12d
jne 0x1400f1cf7
mov r8d, 0xffffffff
lea rcx, [rdi + 0xb0]
mov edx, r9d
call fcn.140041090
lea rbx, [rdi + 0xa0]
mov r8d, dword [rbx + 4]
mov ecx, dword [rbx]
cmp ecx, r8d
jne 0x1400f1cea
inc ecx
test r8d, r8d
je 0x1400f1cd6
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x1400f1cdb
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.1400774f0
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], r12d
inc dword [rbx]
inc r12d
inc rsi
add r14, 0x18
cmp r12d, dword [rdi + 0x90]
jl 0x1400f1c10
mov r14, qword [0x14013cd88]
mov rdx, qword [r14 + 0x10]
lea rcx, [rdx + 0xa8]
call fcn.1400ae820
call fcn.14004b5b0
mov r9, qword [0x14013cd70]
mov r14, qword [rsp + 0xb8]
mov r12, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xc8]
movsxd rax, dword [r9 + 0x4be8]
mov rsi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xe8]
cmp eax, 1
jl 0x1400f1d90
mov rdx, qword [r9 + 0x4bf0]
lea r8, [rax + rax*4]
movsxd rax, dword [rdx + r8*4 - 0x14]
movups xmm0, xmmword [rdx + r8*4 - 0x10]
add rax, 0x3ae
add rax, rax
movups xmmword [r9 + rax*8], xmm0
dec dword [r9 + 0x4be8]
mov ecx, 1
call fcn.140042b10
mov ecx, 1
call fcn.140042b10
add rsp, 0xd8
jmp fcn.140056e30