Function at 0x14001edf0
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 0x14001ee41
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x14001ee41
mov byte [rsp + 0x3b], 1
jmp 0x14001ee46
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 0x14001ef45
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 0x14001eefe
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xf8]
cmp qword [rsp + 0x88], rax
je 0x14001ef45
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0xa4], eax
mov ecx, dword [rsp + 0xa4]
call fcn.140019e00
movzx eax, al
test eax, eax
je 0x14001ef43
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c20], 3
jmp 0x14001eeea
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x14001ef5a
mov byte [rsp + 0x3c], 1
jmp 0x14001ef5f
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 0x14001f053
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 0x14001f00c
mov rax, qword [rsp + 0x90]
add rax, 4
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x100]
cmp qword [rsp + 0x90], rax
je 0x14001f053
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
mov dword [rsp + 0xa0], eax
mov ecx, dword [rsp + 0xa0]
call fcn.140019e00
movzx eax, al
test eax, eax
je 0x14001f051
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c20], 2
jmp 0x14001eff8
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 0x14001f093
call fcn.14001d0f0
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 0x14001f0cf
call fcn.14001d420
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 0x14001f14f
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c30]
test eax, eax
je 0x14001f14f
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
jne 0x14001f14f
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c33]
test eax, eax
je 0x14001f14f
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f14f
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 0x14001f17b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4bd8]
call fcn.14001e730
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f1c5
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
cmp qword [rax + 0x3b8], 0
je 0x14001f1c5
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be8], 0
jne 0x14001f1c5
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov qword [rax + 0x3b8], 0
call fcn.140021260
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14001f1dc
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f20d
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f20d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001f20d
mov dword [rsp + 0x7c], 1
jmp 0x14001f215
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 0x14001f253
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be0], 0
je 0x14001f253
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
je 0x14001f26f
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001f26f
mov dword [rsp + 0x80], 0
jmp 0x14001f27a
mov dword [rsp + 0x80], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x80]
mov byte [rax + 0xae], cl
call fcn.14001fb70
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 0x14001f650
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4c32]
test eax, eax
jne 0x14001f650
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001f650
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f650
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001f650
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f355
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140019e20
movzx eax, al
test eax, eax
jne 0x14001f3a2
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f39b
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x5a]
test eax, eax
je 0x14001f378
mov dword [rsp + 0x84], 0x27a
jmp 0x14001f383
mov dword [rsp + 0x84], 0x27c
mov edx, 0xffffffff
mov ecx, dword [rsp + 0x84]
call fcn.140019e20
movzx eax, al
test eax, eax
jne 0x14001f3a2
mov byte [rsp + 0x3d], 0
jmp 0x14001f3a7
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x14001f422
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f3db
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20c
call fcn.140019e70
movzx eax, al
test eax, eax
jne 0x14001f41b
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f422
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x5a]
test eax, eax
je 0x14001f3fb
mov dword [rsp + 0x64], 0x27a
jmp 0x14001f403
mov dword [rsp + 0x64], 0x27c
mov r8d, 0xffffffff
xor edx, edx
mov ecx, dword [rsp + 0x64]
call fcn.140019e70
movzx eax, al
test eax, eax
je 0x14001f422
mov byte [rsp + 0x3e], 1
jmp 0x14001f427
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f465
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140019e20
movzx eax, al
test eax, eax
jne 0x14001f48b
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140019e20
movzx eax, al
test eax, eax
jne 0x14001f48b
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f484
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140019e20
movzx eax, al
test eax, eax
jne 0x14001f48b
mov byte [rsp + 0x3f], 0
jmp 0x14001f490
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14001f506
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x14001f4dd
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x20d
call fcn.140019e70
movzx eax, al
test eax, eax
jne 0x14001f4ff
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x273
call fcn.140019e70
movzx eax, al
test eax, eax
jne 0x14001f4ff
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001f506
mov r8d, 0xffffffff
xor edx, edx
mov ecx, 0x27b
call fcn.140019e70
movzx eax, al
test eax, eax
je 0x14001f506
mov byte [rsp + 0x40], 1
jmp 0x14001f50b
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 0x14001f550
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x14001f550
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 0x14001f576
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f5a4
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14001f5a4
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 0x14001f5ca
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f5f2
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x14001f5dc
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x14001f5f2
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 0x14001f618
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4be0]
cmp dword [rax + 0x4114], ecx
jne 0x14001f650
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x14001f62a
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x14001f650
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.14001d0b0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001f683
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x14001f683
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 0x14001f6cd
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 0x14001f6f4
jne 0x14001f6f4
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c10], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c18], 0
je 0x14001f75a
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.14001fe80
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4c80], 0xffffffff
jne 0x14001f781
call fcn.140020900
call fcn.14001fb00
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4c30], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4bd8], 0
je 0x14001fa6c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4bd8]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14001fa6c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4db8], 0
jne 0x14001fa6c
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 0x14001f923
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x17a]
test eax, eax
je 0x14001f923
cmp dword [rsp + 0x48], 0xffffffff
je 0x14001f923
cmp dword [rsp + 0x48], 0
je 0x14001f867
cmp dword [rsp + 0x48], 1
jne 0x14001f8be
cmp dword [rsp + 0x48], 0
jne 0x14001f87e
movss xmm0, dword [0x1400e6f50]
movss dword [rsp + 0x68], xmm0
jmp 0x14001f88c
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.140018ea0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a470
cmp dword [rsp + 0x48], 2
je 0x14001f8cc
cmp dword [rsp + 0x48], 3
jne 0x14001f923
cmp dword [rsp + 0x48], 2
jne 0x14001f8e3
movss xmm0, dword [0x1400e6f50]
movss dword [rsp + 0x6c], xmm0
jmp 0x14001f8f1
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.140018ea0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a4b0
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14001fa6c
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0x98]
call fcn.140015d90
mov ecx, 0x281
call fcn.140019e00
movzx eax, al
test eax, eax
je 0x14001f977
movss xmm0, dword [0x1400e6e74]
movss dword [rsp + 0x74], xmm0
jmp 0x14001f9b2
mov ecx, 0x282
call fcn.140019e00
movzx eax, al
test eax, eax
je 0x14001f998
movss xmm0, dword [0x1400e6f04]
movss dword [rsp + 0x70], xmm0
jmp 0x14001f9a6
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 0x14001f9d2
je 0x14001fa1d
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xc8]
test eax, eax
je 0x14001fa1d
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.140018ea0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a470
movss xmm0, dword [rsp + 0x9c]
ucomiss xmm0, dword [0x1400e6e5c]
jp 0x14001fa31
je 0x14001fa6c
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.140018ea0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.14002a4b0
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x14001fa9f
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x14001fa9f
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 0x14001fada
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x14001fada
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x14001fada
lea rcx, [rsp + 0x108]
call fcn.14001cc70
mov rcx, rax
call fcn.14002b7b0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4cac], 0
add rsp, 0x118
ret