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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x1404590c0]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x140459e30]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rax, 8
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov byte [rax + 0xc5], 0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x14018fd23
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x14018fd23
mov byte [rsp + 0x3b], 1
jmp 0x14018fd28
mov byte [rsp + 0x3b], 0
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x38], al
mov dword [rsp + 0xe8], 0x27a
mov dword [rsp + 0xec], 0x279
mov dword [rsp + 0xf0], 0x27b
mov dword [rsp + 0xf4], 0x27c
mov dword [rsp + 0xf8], 0x27e
mov dword [rsp + 0xfc], 0x27d
mov dword [rsp + 0x100], 0x27f
mov dword [rsp + 0x104], 0x280
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14018fe27
lea rax, [rsp + 0xe8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa0]
add rax, 0x20
mov qword [rsp + 0xb0], rax
jmp 0x14018fde0
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x80], rax
je 0x14018fe27
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x9c], eax
mov ecx, dword [rsp + 0x9c]
call fcn.140174250
movzx eax, al
test eax, eax
je 0x14018fe25
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b74], 3
jmp 0x14018fdcc
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x14018fe3c
mov byte [rsp + 0x3c], 1
jmp 0x14018fe41
mov byte [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
mov byte [rsp + 0x39], al
mov dword [rsp + 0xc8], 0x20c
mov dword [rsp + 0xcc], 0x20d
mov dword [rsp + 0xd0], 0x20e
mov dword [rsp + 0xd4], 0x202
mov dword [rsp + 0xd8], 0x201
mov dword [rsp + 0xdc], 0x203
mov dword [rsp + 0xe0], 0x204
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14018ff35
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xa8]
add rax, 0x1c
mov qword [rsp + 0xb8], rax
jmp 0x14018feee
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x88], rax
je 0x14018ff35
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x98], eax
mov ecx, dword [rsp + 0x98]
call fcn.140174250
movzx eax, al
test eax, eax
je 0x14018ff33
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b74], 2
jmp 0x14018feda
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b60], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b98], 0
je 0x14018ff58
call fcn.140184730
nop
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b8d], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b8e], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b98], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc8]
test eax, eax
je 0x14018ff95
call fcn.140184bd0
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c0c], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc9], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc8], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b89]
test eax, eax
je 0x140190015
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b88]
test eax, eax
je 0x140190015
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b8a]
test eax, eax
jne 0x140190015
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b8b]
test eax, eax
je 0x140190015
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x140190015
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b89], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x140190042
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4b28]
call fcn.140194200
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x14019008c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
cmp qword [rax + 0x3b0], 0
je 0x14019008c
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b78], 0
jne 0x14019008c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov qword [rax + 0x3b0], 0
call fcn.140190990
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1401900a3
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1401900d4
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x1401900d4
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1401900d4
mov dword [rsp + 0x74], 1
jmp 0x1401900dc
mov dword [rsp + 0x74], 0
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x74]
mov byte [rax + 0xc7], cl
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xc7]
test eax, eax
je 0x14019011a
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b30], 0
je 0x14019011a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b8a]
test eax, eax
je 0x140190133
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cf8], 0
jne 0x140190133
mov dword [rsp + 0x78], 0
jmp 0x14019013b
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.140191a10
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b50], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b4c], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b48], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b54], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b30], 0
je 0x1401904ca
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b8a]
test eax, eax
jne 0x1401904ca
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cf8], 0
jne 0x1401904ca
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x1401904ca
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1401904ca
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140190213
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.1401864d0
movzx eax, al
test eax, eax
jne 0x140190239
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140190232
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.1401864d0
movzx eax, al
test eax, eax
jne 0x140190239
mov byte [rsp + 0x3d], 0
jmp 0x14019023e
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x14019029b
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140190272
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140186520
movzx eax, al
test eax, eax
jne 0x140190294
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14019029b
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.140186520
movzx eax, al
test eax, eax
je 0x14019029b
mov byte [rsp + 0x3e], 1
jmp 0x1401902a0
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1401902de
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.1401864d0
movzx eax, al
test eax, eax
jne 0x140190304
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.1401864d0
movzx eax, al
test eax, eax
jne 0x140190304
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1401902fd
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.1401864d0
movzx eax, al
test eax, eax
jne 0x140190304
mov byte [rsp + 0x3f], 0
jmp 0x140190309
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14019037f
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140190356
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140186520
movzx eax, al
test eax, eax
jne 0x140190378
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140186520
movzx eax, al
test eax, eax
jne 0x140190378
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14019037f
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140186520
movzx eax, al
test eax, eax
je 0x14019037f
mov byte [rsp + 0x40], 1
jmp 0x140190384
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4074], 0
jne 0x1401903c9
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1401903c9
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
mov dword [rax + 0x4b48], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b54], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4074], 0
je 0x1401903ef
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
cmp dword [rax + 0x4074], ecx
jne 0x14019041d
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14019041d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
mov dword [rax + 0x4b48], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b54], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4074], 0
je 0x140190443
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
cmp dword [rax + 0x4074], ecx
jne 0x14019046b
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x140190455
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14019046b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
mov dword [rax + 0x4b4c], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4074], 0
je 0x140190491
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
cmp dword [rax + 0x4074], ecx
jne 0x1401904ca
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x1401904a3
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1401904ca
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
mov dword [rax + 0x4b50], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x4b30]
call fcn.1401852c0
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x1401904fd
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x1401904fd
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b8a], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b5c]
comiss xmm0, dword [0x14025fd18]
jbe 0x140190547
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x4b5c]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.14017b290
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4b5c], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b5c]
ucomiss xmm0, dword [0x14025fd18]
jp 0x14019056e
jne 0x14019056e
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b58], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b6c], 0
je 0x1401905d4
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b6c]
mov dword [rax + 0x4b50], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b50]
mov dword [rax + 0x4b4c], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b4c]
mov dword [rax + 0x4b48], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b70]
mov dword [rax + 0x4b54], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b6c], 0
call fcn.140191d10
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bd8], 0xffffffff
jne 0x1401905fd
call fcn.1401927a0
nop
call fcn.140192df0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b88], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x1401908ec
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1401908ec
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cf8], 0
jne 0x1401908ec
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.1401a4b10
mulss xmm0, dword [0x14025fe48]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x14025fd48]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4bd8]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x16c]
test eax, eax
jne 0x1401907a1
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x172]
test eax, eax
je 0x1401907a1
cmp dword [rsp + 0x48], 0xffffffff
je 0x1401907a1
cmp dword [rsp + 0x48], 0
je 0x1401906e3
cmp dword [rsp + 0x48], 1
jne 0x14019073b
cmp dword [rsp + 0x48], 0
jne 0x1401906fa
movss xmm0, dword [0x14025fe7c]
movss dword [rsp + 0x7c], xmm0
jmp 0x140190708
movss xmm0, dword [0x14025fd70]
movss dword [rsp + 0x7c], xmm0
movss xmm0, dword [rsp + 0x7c]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x8c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14017b110
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140180140
nop
cmp dword [rsp + 0x48], 2
je 0x140190749
cmp dword [rsp + 0x48], 3
jne 0x1401907a1
cmp dword [rsp + 0x48], 2
jne 0x140190760
movss xmm0, dword [0x14025fe7c]
movss dword [rsp + 0x64], xmm0
jmp 0x14019076e
movss xmm0, dword [0x14025fd70]
movss dword [rsp + 0x64], xmm0
movss xmm0, dword [rsp + 0x64]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x90]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14017b110
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140180190
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1401908ec
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0x90]
call fcn.140185c10
mov ecx, 0x281
call fcn.140174250
movzx eax, al
test eax, eax
je 0x1401907f5
movss xmm0, dword [0x140264a44]
movss dword [rsp + 0x6c], xmm0
jmp 0x140190830
mov ecx, 0x282
call fcn.140174250
movzx eax, al
test eax, eax
je 0x140190816
movss xmm0, dword [0x14025fe0c]
movss dword [rsp + 0x68], xmm0
jmp 0x140190824
movss xmm0, dword [0x14025fd70]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [rsp + 0x68]
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rsp + 0x6c]
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [rsp + 0x90]
ucomiss xmm0, dword [0x14025fd18]
jp 0x140190850
je 0x14019089c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xbc]
test eax, eax
je 0x14019089c
movss xmm0, dword [rsp + 0x90]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x8c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14017b110
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140180140
nop
movss xmm0, dword [rsp + 0x94]
ucomiss xmm0, dword [0x14025fd18]
jp 0x1401908b0
je 0x1401908ec
movss xmm0, dword [rsp + 0x94]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x70]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x90]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.14017b110
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140180190
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14019091f
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x14019091f
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b8a], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4b8b], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x14019095b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x14019095b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x14019095b
lea rcx, [rsp + 0xc0]
call fcn.140193f40
mov rcx, rax
call fcn.140186020
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c04], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140259310
add rsp, 0x118
ret