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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x140211040]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x1402129e0]
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 0x14009e293
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x14009e293
mov byte [rsp + 0x3b], 1
jmp 0x14009e298
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 0x14009e397
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x98]
add rax, 0x20
mov qword [rsp + 0xa8], rax
jmp 0x14009e350
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x80], rax
je 0x14009e397
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x94]
call fcn.140093f20
movzx eax, al
test eax, eax
je 0x14009e395
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b64], 3
jmp 0x14009e33c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x14009e3ac
mov byte [rsp + 0x3c], 1
jmp 0x14009e3b1
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 0x14009e4a5
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xa0]
add rax, 0x1c
mov qword [rsp + 0xb0], rax
jmp 0x14009e45e
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], rax
je 0x14009e4a5
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
call fcn.140093f20
movzx eax, al
test eax, eax
je 0x14009e4a3
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b64], 2
jmp 0x14009e44a
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b50], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b88], 0
je 0x14009e4c8
call fcn.14009ef00
nop
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b7d], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b7e], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b88], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc0]
test eax, eax
je 0x14009e505
call fcn.14009fec0
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c04], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc1], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc0], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b79]
test eax, eax
je 0x14009e585
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b78]
test eax, eax
je 0x14009e585
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b7a]
test eax, eax
jne 0x14009e585
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b7b]
test eax, eax
je 0x14009e585
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14009e585
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b79], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14009e5b2
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4b18]
call fcn.14009d9a0
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14009e5fc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
cmp qword [rax + 0x3b0], 0
je 0x14009e5fc
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b68], 0
jne 0x14009e5fc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov qword [rax + 0x3b0], 0
call fcn.1400a11c0
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14009e613
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14009e644
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14009e644
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14009e644
mov dword [rsp + 0x74], 1
jmp 0x14009e64c
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 0x14009e68a
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b20], 0
je 0x14009e68a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b7a]
test eax, eax
je 0x14009e6a3
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d10], 0
jne 0x14009e6a3
mov dword [rsp + 0x78], 0
jmp 0x14009e6ab
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.1400a0540
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b40], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b3c], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b38], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b44], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b20], 0
je 0x14009ea3a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b7a]
test eax, eax
jne 0x14009ea3a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d10], 0
jne 0x14009ea3a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14009ea3a
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14009ea3a
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14009e783
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140093f40
movzx eax, al
test eax, eax
jne 0x14009e7a9
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14009e7a2
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.140093f40
movzx eax, al
test eax, eax
jne 0x14009e7a9
mov byte [rsp + 0x3d], 0
jmp 0x14009e7ae
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x14009e80b
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14009e7e2
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140093fd0
movzx eax, al
test eax, eax
jne 0x14009e804
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14009e80b
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.140093fd0
movzx eax, al
test eax, eax
je 0x14009e80b
mov byte [rsp + 0x3e], 1
jmp 0x14009e810
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14009e84e
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140093f40
movzx eax, al
test eax, eax
jne 0x14009e874
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140093f40
movzx eax, al
test eax, eax
jne 0x14009e874
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14009e86d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140093f40
movzx eax, al
test eax, eax
jne 0x14009e874
mov byte [rsp + 0x3f], 0
jmp 0x14009e879
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14009e8ef
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14009e8c6
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140093fd0
movzx eax, al
test eax, eax
jne 0x14009e8e8
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140093fd0
movzx eax, al
test eax, eax
jne 0x14009e8e8
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14009e8ef
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140093fd0
movzx eax, al
test eax, eax
je 0x14009e8ef
mov byte [rsp + 0x40], 1
jmp 0x14009e8f4
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4064], 0
jne 0x14009e939
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x14009e939
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
mov dword [rax + 0x4b38], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b44], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4064], 0
je 0x14009e95f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
cmp dword [rax + 0x4064], ecx
jne 0x14009e98d
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14009e98d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
mov dword [rax + 0x4b38], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b44], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4064], 0
je 0x14009e9b3
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
cmp dword [rax + 0x4064], ecx
jne 0x14009e9db
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x14009e9c5
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14009e9db
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
mov dword [rax + 0x4b3c], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4064], 0
je 0x14009ea01
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
cmp dword [rax + 0x4064], ecx
jne 0x14009ea3a
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x14009ea13
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14009ea3a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b20]
mov dword [rax + 0x4b40], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x4b20]
call fcn.14009c490
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14009ea6d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x14009ea6d
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b7a], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b4c]
comiss xmm0, dword [0x1401fd374]
jbe 0x14009eab7
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x4b4c]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.1400a7dd0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4b4c], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b4c]
ucomiss xmm0, dword [0x1401fd374]
jp 0x14009eade
jne 0x14009eade
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b48], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b5c], 0
je 0x14009eb44
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b5c]
mov dword [rax + 0x4b40], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b40]
mov dword [rax + 0x4b3c], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b3c]
mov dword [rax + 0x4b38], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b60]
mov dword [rax + 0x4b44], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b5c], 0
call fcn.14009f1e0
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bd0], 0xffffffff
jne 0x14009eb6d
call fcn.14009fca0
nop
call fcn.14009dbd0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b78], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b18], 0
je 0x14009ee5c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14009ee5c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d10], 0
jne 0x14009ee5c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b18]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.14007b750
mulss xmm0, dword [0x1401fd660]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x1401fd444]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4bd0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x16c]
test eax, eax
jne 0x14009ed11
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x172]
test eax, eax
je 0x14009ed11
cmp dword [rsp + 0x48], 0xffffffff
je 0x14009ed11
cmp dword [rsp + 0x48], 0
je 0x14009ec53
cmp dword [rsp + 0x48], 1
jne 0x14009ecab
cmp dword [rsp + 0x48], 0
jne 0x14009ec6a
movss xmm0, dword [0x1401fd73c]
movss dword [rsp + 0x7c], xmm0
jmp 0x14009ec78
movss xmm0, dword [0x1401fd4d8]
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.1400788f0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14009a460
nop
cmp dword [rsp + 0x48], 2
je 0x14009ecb9
cmp dword [rsp + 0x48], 3
jne 0x14009ed11
cmp dword [rsp + 0x48], 2
jne 0x14009ecd0
movss xmm0, dword [0x1401fd73c]
movss dword [rsp + 0x64], xmm0
jmp 0x14009ecde
movss xmm0, dword [0x1401fd4d8]
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.1400788f0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14009a4a0
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14009ee5c
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0xc0]
call fcn.1400935e0
mov ecx, 0x281
call fcn.140093f20
movzx eax, al
test eax, eax
je 0x14009ed65
movss xmm0, dword [0x1401fd3bc]
movss dword [rsp + 0x6c], xmm0
jmp 0x14009eda0
mov ecx, 0x282
call fcn.140093f20
movzx eax, al
test eax, eax
je 0x14009ed86
movss xmm0, dword [0x1401fd5f8]
movss dword [rsp + 0x68], xmm0
jmp 0x14009ed94
movss xmm0, dword [0x1401fd4d8]
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 + 0xc0]
ucomiss xmm0, dword [0x1401fd374]
jp 0x14009edc0
je 0x14009ee0c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xbc]
test eax, eax
je 0x14009ee0c
movss xmm0, dword [rsp + 0xc0]
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.1400788f0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14009a460
nop
movss xmm0, dword [rsp + 0xc4]
ucomiss xmm0, dword [0x1401fd374]
jp 0x14009ee20
je 0x14009ee5c
movss xmm0, dword [rsp + 0xc4]
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.1400788f0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14009a4a0
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14009ee8f
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x14009ee8f
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b7a], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4b7b], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x14009eecb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x14009eecb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x14009eecb
lea rcx, [rsp + 0xb8]
call fcn.14009ddd0
mov rcx, rax
call fcn.1400947c0
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bfc], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140165580
add rsp, 0x118
ret