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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x140146c78]
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 0x14001ef91
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x14001ef91
mov byte [rsp + 0x3b], 1
jmp 0x14001ef96
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 0x14001f095
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 0x14001f04e
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xf8]
cmp qword [rsp + 0x88], rax
je 0x14001f095
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0xa4], eax
mov ecx, dword [rsp + 0xa4]
call fcn.140019ee0
movzx eax, al
test eax, eax
je 0x14001f093
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c20], 3
jmp 0x14001f03a
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x14001f0aa
mov byte [rsp + 0x3c], 1
jmp 0x14001f0af
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 0x14001f1a3
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 0x14001f15c
mov rax, qword [rsp + 0x90]
add rax, 4
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0x90], rax
je 0x14001f1a3
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
mov dword [rsp + 0xa0], eax
mov ecx, dword [rsp + 0xa0]
call fcn.140019ee0
movzx eax, al
test eax, eax
je 0x14001f1a1
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c20], 2
jmp 0x14001f148
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 0x14001f1e4
call fcn.14001d210
nop
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 0x14001f221
call fcn.14001d540
nop
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 0x14001f2a1
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c30]
test eax, eax
je 0x14001f2a1
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
jne 0x14001f2a1
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c33]
test eax, eax
je 0x14001f2a1
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f2a1
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 0x14001f2ce
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4bd8]
call fcn.14001e880
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f318
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
cmp qword [rax + 0x3b8], 0
je 0x14001f318
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be8], 0
jne 0x14001f318
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov qword [rax + 0x3b8], 0
call fcn.1400213c0
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14001f32f
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f360
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f360
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001f360
mov dword [rsp + 0x7c], 1
jmp 0x14001f368
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 0x14001f3a6
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be0], 0
je 0x14001f3a6
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
je 0x14001f3c2
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001f3c2
mov dword [rsp + 0x80], 0
jmp 0x14001f3cd
mov dword [rsp + 0x80], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x80]
mov byte [rax + 0xae], cl
call fcn.14001fcc0
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 0x14001f7a4
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
jne 0x14001f7a4
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001f7a4
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f7a4
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001f7a4
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f4a8
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140019f00
movzx eax, al
test eax, eax
jne 0x14001f4f5
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f4ee
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x5a]
test eax, eax
je 0x14001f4cb
mov dword [rsp + 0x84], 0x27a
jmp 0x14001f4d6
mov dword [rsp + 0x84], 0x27c
mov edx, 0xffffffff
mov ecx, dword [rsp + 0x84]
call fcn.140019f00
movzx eax, al
test eax, eax
jne 0x14001f4f5
mov byte [rsp + 0x3d], 0
jmp 0x14001f4fa
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x14001f575
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f52e
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.140019f50
movzx eax, al
test eax, eax
jne 0x14001f56e
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f575
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x5a]
test eax, eax
je 0x14001f54e
mov dword [rsp + 0x64], 0x27a
jmp 0x14001f556
mov dword [rsp + 0x64], 0x27c
mov r8d, 0xffffffff
xor edx, edx
mov ecx, dword [rsp + 0x64]
call fcn.140019f50
movzx eax, al
test eax, eax
je 0x14001f575
mov byte [rsp + 0x3e], 1
jmp 0x14001f57a
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f5b8
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140019f00
movzx eax, al
test eax, eax
jne 0x14001f5de
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140019f00
movzx eax, al
test eax, eax
jne 0x14001f5de
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f5d7
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140019f00
movzx eax, al
test eax, eax
jne 0x14001f5de
mov byte [rsp + 0x3f], 0
jmp 0x14001f5e3
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14001f659
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f630
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.140019f50
movzx eax, al
test eax, eax
jne 0x14001f652
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.140019f50
movzx eax, al
test eax, eax
jne 0x14001f652
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f659
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.140019f50
movzx eax, al
test eax, eax
je 0x14001f659
mov byte [rsp + 0x40], 1
jmp 0x14001f65e
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 0x14001f6a3
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x14001f6a3
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 0x14001f6c9
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f6f7
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14001f6f7
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 0x14001f71d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f745
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x14001f72f
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14001f745
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 0x14001f76b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f7a4
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x14001f77d
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14001f7a4
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.14001d1d0
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f7d7
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x14001f7d7
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 [0x1400e7e14]
jbe 0x14001f821
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.140002180
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4c14], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4c14]
ucomiss xmm0, dword [0x1400e7e14]
jp 0x14001f848
jne 0x14001f848
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c10], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c18], 0
je 0x14001f8ae
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.14001ffd0
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c80], 0xffffffff
jne 0x14001f8d7
call fcn.140020a60
nop
call fcn.14001fc50
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c30], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001fbc6
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001fbc6
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001fbc6
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.14000d370
mulss xmm0, dword [0x1400e7eec]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x1400e7e58]
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 0x14001fa7b
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x17a]
test eax, eax
je 0x14001fa7b
cmp dword [rsp + 0x48], 0xffffffff
je 0x14001fa7b
cmp dword [rsp + 0x48], 0
je 0x14001f9bd
cmp dword [rsp + 0x48], 1
jne 0x14001fa15
cmp dword [rsp + 0x48], 0
jne 0x14001f9d4
movss xmm0, dword [0x1400e7f08]
movss dword [rsp + 0x68], xmm0
jmp 0x14001f9e2
movss xmm0, dword [0x1400e7e84]
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.140018f80
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a6e0
nop
cmp dword [rsp + 0x48], 2
je 0x14001fa23
cmp dword [rsp + 0x48], 3
jne 0x14001fa7b
cmp dword [rsp + 0x48], 2
jne 0x14001fa3a
movss xmm0, dword [0x1400e7f08]
movss dword [rsp + 0x6c], xmm0
jmp 0x14001fa48
movss xmm0, dword [0x1400e7e84]
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.140018f80
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a720
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001fbc6
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0x98]
call fcn.140015e70
mov ecx, 0x281
call fcn.140019ee0
movzx eax, al
test eax, eax
je 0x14001facf
movss xmm0, dword [0x1400e7e2c]
movss dword [rsp + 0x74], xmm0
jmp 0x14001fb0a
mov ecx, 0x282
call fcn.140019ee0
movzx eax, al
test eax, eax
je 0x14001faf0
movss xmm0, dword [0x1400e7ebc]
movss dword [rsp + 0x70], xmm0
jmp 0x14001fafe
movss xmm0, dword [0x1400e7e84]
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 [0x1400e7e14]
jp 0x14001fb2a
je 0x14001fb76
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x14001fb76
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.140018f80
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a6e0
nop
movss xmm0, dword [rsp + 0x9c]
ucomiss xmm0, dword [0x1400e7e14]
jp 0x14001fb8a
je 0x14001fbc6
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.140018f80
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a720
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14001fbf9
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x14001fbf9
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 0x14001fc35
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x14001fc35
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x14001fc35
lea rcx, [rsp + 0x108]
call fcn.14001cd80
mov rcx, rax
call fcn.14002ba20
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cac], 0
add rsp, 0x118
ret