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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x140145af0]
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 + 0xab], 0
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 2
test eax, eax
je 0x14001eef1
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x14001eef1
mov byte [rsp + 0x3b], 1
jmp 0x14001eef6
mov byte [rsp + 0x3b], 0
movzx eax, byte [rsp + 0x3b]
mov byte [rsp + 0x38], al
mov dword [rsp + 0xd8], 0x27a
mov dword [rsp + 0xdc], 0x279
mov dword [rsp + 0xe0], 0x27b
mov dword [rsp + 0xe4], 0x27c
mov dword [rsp + 0xe8], 0x27e
mov dword [rsp + 0xec], 0x27d
mov dword [rsp + 0xf0], 0x27f
mov dword [rsp + 0xf4], 0x280
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001eff5
lea rax, [rsp + 0xd8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xa8]
add rax, 0x20
mov qword [rsp + 0xf8], rax
jmp 0x14001efae
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xf8]
cmp qword [rsp + 0x88], rax
je 0x14001eff5
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0xa4], eax
mov ecx, dword [rsp + 0xa4]
call fcn.140019eb0
movzx eax, al
test eax, eax
je 0x14001eff3
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c20], 3
jmp 0x14001ef9a
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x14001f00a
mov byte [rsp + 0x3c], 1
jmp 0x14001f00f
mov byte [rsp + 0x3c], 0
movzx eax, byte [rsp + 0x3c]
mov byte [rsp + 0x39], al
mov dword [rsp + 0xb8], 0x20c
mov dword [rsp + 0xbc], 0x20d
mov dword [rsp + 0xc0], 0x20e
mov dword [rsp + 0xc4], 0x202
mov dword [rsp + 0xc8], 0x201
mov dword [rsp + 0xcc], 0x203
mov dword [rsp + 0xd0], 0x204
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f103
lea rax, [rsp + 0xb8]
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0xb0]
add rax, 0x1c
mov qword [rsp + 0x100], rax
jmp 0x14001f0bc
mov rax, qword [rsp + 0x90]
add rax, 4
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0x90], rax
je 0x14001f103
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
mov dword [rsp + 0xa0], eax
mov ecx, dword [rsp + 0xa0]
call fcn.140019eb0
movzx eax, al
test eax, eax
je 0x14001f101
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c20], 2
jmp 0x14001f0a8
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4d9c], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4d98], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4da0], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c40], 0
je 0x14001f143
call fcn.14001d1a0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c35], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c36], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c40], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c70]
test eax, eax
je 0x14001f17f
call fcn.14001d4d0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cb4], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c71], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c70], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c31]
test eax, eax
je 0x14001f1ff
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c30]
test eax, eax
je 0x14001f1ff
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
jne 0x14001f1ff
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c33]
test eax, eax
je 0x14001f1ff
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f1ff
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c31], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f22b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4bd8]
call fcn.14001e7e0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f275
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
cmp qword [rax + 0x3b8], 0
je 0x14001f275
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be8], 0
jne 0x14001f275
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov qword [rax + 0x3b8], 0
call fcn.140021310
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14001f28c
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f2bd
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f2bd
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001f2bd
mov dword [rsp + 0x7c], 1
jmp 0x14001f2c5
mov dword [rsp + 0x7c], 0
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x7c]
mov byte [rax + 0xad], cl
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + 0xad]
test eax, eax
je 0x14001f303
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be0], 0
je 0x14001f303
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
je 0x14001f31f
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001f31f
mov dword [rsp + 0x80], 0
jmp 0x14001f32a
mov dword [rsp + 0x80], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x80]
mov byte [rax + 0xae], cl
call fcn.14001fc20
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bf4], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bf0], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bec], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bf8], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be0], 0
je 0x14001f700
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
jne 0x14001f700
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001f700
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f700
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001f700
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f405
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140019ed0
movzx eax, al
test eax, eax
jne 0x14001f452
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f44b
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x5a]
test eax, eax
je 0x14001f428
mov dword [rsp + 0x84], 0x27a
jmp 0x14001f433
mov dword [rsp + 0x84], 0x27c
mov edx, 0xffffffff
mov ecx, dword [rsp + 0x84]
call fcn.140019ed0
movzx eax, al
test eax, eax
jne 0x14001f452
mov byte [rsp + 0x3d], 0
jmp 0x14001f457
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x14001f4d2
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f48b
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.140019f20
movzx eax, al
test eax, eax
jne 0x14001f4cb
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f4d2
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x5a]
test eax, eax
je 0x14001f4ab
mov dword [rsp + 0x64], 0x27a
jmp 0x14001f4b3
mov dword [rsp + 0x64], 0x27c
mov r8d, 0xffffffff
xor edx, edx
mov ecx, dword [rsp + 0x64]
call fcn.140019f20
movzx eax, al
test eax, eax
je 0x14001f4d2
mov byte [rsp + 0x3e], 1
jmp 0x14001f4d7
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f515
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140019ed0
movzx eax, al
test eax, eax
jne 0x14001f53b
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140019ed0
movzx eax, al
test eax, eax
jne 0x14001f53b
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f534
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140019ed0
movzx eax, al
test eax, eax
jne 0x14001f53b
mov byte [rsp + 0x3f], 0
jmp 0x14001f540
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14001f5b6
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f58d
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.140019f20
movzx eax, al
test eax, eax
jne 0x14001f5af
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.140019f20
movzx eax, al
test eax, eax
jne 0x14001f5af
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f5b6
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.140019f20
movzx eax, al
test eax, eax
je 0x14001f5b6
mov byte [rsp + 0x40], 1
jmp 0x14001f5bb
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4114], 0
jne 0x14001f600
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x14001f600
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
mov dword [rax + 0x4bec], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bf8], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4114], 0
je 0x14001f626
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f654
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14001f654
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
mov dword [rax + 0x4bec], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4bf8], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4114], 0
je 0x14001f67a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f6a2
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x14001f68c
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14001f6a2
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
mov dword [rax + 0x4bf0], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4114], 0
je 0x14001f6c8
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f700
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x14001f6da
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14001f700
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
mov dword [rax + 0x4bf4], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x4be0]
call fcn.14001d160
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f733
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x14001f733
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c32], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4c14]
comiss xmm0, dword [0x1400e6e5c]
jbe 0x14001f77d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x4c14]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.1400021d0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4c14], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4c14]
ucomiss xmm0, dword [0x1400e6e5c]
jp 0x14001f7a4
jne 0x14001f7a4
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c10], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c18], 0
je 0x14001f80a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4c18]
mov dword [rax + 0x4bf4], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4bf4]
mov dword [rax + 0x4bf0], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4bf0]
mov dword [rax + 0x4bec], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4c1c]
mov dword [rax + 0x4bf8], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c18], 0
call fcn.14001ff30
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c80], 0xffffffff
jne 0x14001f831
call fcn.1400209b0
call fcn.14001fbb0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c30], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001fb1c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001fb1c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001fb1c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.14000d330
mulss xmm0, dword [0x1400e6f34]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x1400e6ea0]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4c80]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x174]
test eax, eax
jne 0x14001f9d3
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x17a]
test eax, eax
je 0x14001f9d3
cmp dword [rsp + 0x48], 0xffffffff
je 0x14001f9d3
cmp dword [rsp + 0x48], 0
je 0x14001f917
cmp dword [rsp + 0x48], 1
jne 0x14001f96e
cmp dword [rsp + 0x48], 0
jne 0x14001f92e
movss xmm0, dword [0x1400e6f50]
movss dword [rsp + 0x68], xmm0
jmp 0x14001f93c
movss xmm0, dword [0x1400e6ecc]
movss dword [rsp + 0x68], xmm0
movss xmm0, dword [rsp + 0x68]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x98]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.140018f50
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a5f0
cmp dword [rsp + 0x48], 2
je 0x14001f97c
cmp dword [rsp + 0x48], 3
jne 0x14001f9d3
cmp dword [rsp + 0x48], 2
jne 0x14001f993
movss xmm0, dword [0x1400e6f50]
movss dword [rsp + 0x6c], xmm0
jmp 0x14001f9a1
movss xmm0, dword [0x1400e6ecc]
movss dword [rsp + 0x6c], xmm0
movss xmm0, dword [rsp + 0x6c]
mulss xmm0, dword [rsp + 0x60]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x9c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.140018f50
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a630
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001fb1c
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0x98]
call fcn.140015e40
mov ecx, 0x281
call fcn.140019eb0
movzx eax, al
test eax, eax
je 0x14001fa27
movss xmm0, dword [0x1400e6e78]
movss dword [rsp + 0x74], xmm0
jmp 0x14001fa62
mov ecx, 0x282
call fcn.140019eb0
movzx eax, al
test eax, eax
je 0x14001fa48
movss xmm0, dword [0x1400e6f04]
movss dword [rsp + 0x70], xmm0
jmp 0x14001fa56
movss xmm0, dword [0x1400e6ecc]
movss dword [rsp + 0x70], xmm0
movss xmm0, dword [rsp + 0x70]
movss dword [rsp + 0x74], xmm0
movss xmm0, dword [rsp + 0x74]
movss dword [rsp + 0x78], xmm0
movss xmm0, dword [rsp + 0x98]
ucomiss xmm0, dword [0x1400e6e5c]
jp 0x14001fa82
je 0x14001facd
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x14001facd
movss xmm0, dword [rsp + 0x98]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x78]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x98]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.140018f50
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a5f0
movss xmm0, dword [rsp + 0x9c]
ucomiss xmm0, dword [0x1400e6e5c]
jp 0x14001fae1
je 0x14001fb1c
movss xmm0, dword [rsp + 0x9c]
mulss xmm0, dword [rsp + 0x60]
mulss xmm0, dword [rsp + 0x78]
mov rax, qword [rsp + 0x50]
movss xmm1, dword [rax + 0x9c]
addss xmm1, xmm0
movaps xmm0, xmm1
call fcn.140018f50
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a630
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14001fb4f
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x14001fb4f
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c32], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4c33], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x14001fb8a
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x14001fb8a
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x14001fb8a
lea rcx, [rsp + 0x108]
call fcn.14001cd20
mov rcx, rax
call fcn.14002b930
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cac], 0
add rsp, 0x118
ret