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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x1801ca040]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x18046a430]
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 0x180081003
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x180081003
mov byte [rsp + 0x3b], 1
jmp 0x180081008
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 0x180081107
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 0x1800810c0
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x80], rax
je 0x180081107
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x94]
call fcn.1800777d0
movzx eax, al
test eax, eax
je 0x180081105
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b7c], 3
jmp 0x1800810ac
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x18008111c
mov byte [rsp + 0x3c], 1
jmp 0x180081121
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 0x180081215
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 0x1800811ce
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], rax
je 0x180081215
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
call fcn.1800777d0
movzx eax, al
test eax, eax
je 0x180081213
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b7c], 2
jmp 0x1800811ba
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b68], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4ba0], 0
je 0x180081238
call fcn.180081c70
nop
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b95], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b96], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4ba0], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bd0]
test eax, eax
je 0x180081275
call fcn.180082c30
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c14], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bd1], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bd0], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b91]
test eax, eax
je 0x1800812f5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b90]
test eax, eax
je 0x1800812f5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b92]
test eax, eax
jne 0x1800812f5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b93]
test eax, eax
je 0x1800812f5
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x1800812f5
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b91], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x180081322
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4b30]
call fcn.180080710
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x18008136c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
cmp qword [rax + 0x3b0], 0
je 0x18008136c
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b80], 0
jne 0x18008136c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov qword [rax + 0x3b0], 0
call fcn.180083f40
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x180081383
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1800813b4
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x1800813b4
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1800813b4
mov dword [rsp + 0x74], 1
jmp 0x1800813bc
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 0x1800813fa
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b38], 0
je 0x1800813fa
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b92]
test eax, eax
je 0x180081413
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d00], 0
jne 0x180081413
mov dword [rsp + 0x78], 0
jmp 0x18008141b
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.1800832c0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b58], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b54], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b50], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b5c], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b38], 0
je 0x1800817aa
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b92]
test eax, eax
jne 0x1800817aa
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d00], 0
jne 0x1800817aa
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x1800817aa
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1800817aa
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1800814f3
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.1800777f0
movzx eax, al
test eax, eax
jne 0x180081519
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x180081512
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.1800777f0
movzx eax, al
test eax, eax
jne 0x180081519
mov byte [rsp + 0x3d], 0
jmp 0x18008151e
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x18008157b
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x180081552
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.180077880
movzx eax, al
test eax, eax
jne 0x180081574
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x18008157b
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.180077880
movzx eax, al
test eax, eax
je 0x18008157b
mov byte [rsp + 0x3e], 1
jmp 0x180081580
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x1800815be
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.1800777f0
movzx eax, al
test eax, eax
jne 0x1800815e4
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.1800777f0
movzx eax, al
test eax, eax
jne 0x1800815e4
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1800815dd
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.1800777f0
movzx eax, al
test eax, eax
jne 0x1800815e4
mov byte [rsp + 0x3f], 0
jmp 0x1800815e9
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x18008165f
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x180081636
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.180077880
movzx eax, al
test eax, eax
jne 0x180081658
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.180077880
movzx eax, al
test eax, eax
jne 0x180081658
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x18008165f
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.180077880
movzx eax, al
test eax, eax
je 0x18008165f
mov byte [rsp + 0x40], 1
jmp 0x180081664
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x407c], 0
jne 0x1800816a9
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x1800816a9
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
mov dword [rax + 0x4b50], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b5c], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x407c], 0
je 0x1800816cf
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
cmp dword [rax + 0x407c], ecx
jne 0x1800816fd
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1800816fd
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
mov dword [rax + 0x4b50], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b5c], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x407c], 0
je 0x180081723
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
cmp dword [rax + 0x407c], ecx
jne 0x18008174b
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x180081735
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x18008174b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
mov dword [rax + 0x4b54], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x407c], 0
je 0x180081771
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
cmp dword [rax + 0x407c], ecx
jne 0x1800817aa
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x180081783
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x1800817aa
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
mov dword [rax + 0x4b58], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x4b38]
call fcn.18007f270
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x1800817dd
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x1800817dd
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b92], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b64]
comiss xmm0, dword [0x1801b7fc0]
jbe 0x180081827
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x4b64]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.180025de0
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4b64], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b64]
ucomiss xmm0, dword [0x1801b7fc0]
jp 0x18008184e
jne 0x18008184e
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b60], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b74], 0
je 0x1800818b4
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b74]
mov dword [rax + 0x4b58], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b58]
mov dword [rax + 0x4b54], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b54]
mov dword [rax + 0x4b50], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b78]
mov dword [rax + 0x4b5c], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b74], 0
call fcn.180081f50
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be0], 0xffffffff
jne 0x1800818dd
call fcn.180082a10
nop
call fcn.180080940
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b90], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x180081bcc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x180081bcc
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d00], 0
jne 0x180081bcc
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.1800284e0
mulss xmm0, dword [0x1801b820c]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x1801b8060]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4be0]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x16c]
test eax, eax
jne 0x180081a81
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x172]
test eax, eax
je 0x180081a81
cmp dword [rsp + 0x48], 0xffffffff
je 0x180081a81
cmp dword [rsp + 0x48], 0
je 0x1800819c3
cmp dword [rsp + 0x48], 1
jne 0x180081a1b
cmp dword [rsp + 0x48], 0
jne 0x1800819da
movss xmm0, dword [0x1801b82a0]
movss dword [rsp + 0x7c], xmm0
jmp 0x1800819e8
movss xmm0, dword [0x1801b80f8]
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.180027c30
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.18007d880
nop
cmp dword [rsp + 0x48], 2
je 0x180081a29
cmp dword [rsp + 0x48], 3
jne 0x180081a81
cmp dword [rsp + 0x48], 2
jne 0x180081a40
movss xmm0, dword [0x1801b82a0]
movss dword [rsp + 0x64], xmm0
jmp 0x180081a4e
movss xmm0, dword [0x1801b80f8]
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.180027c30
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.18007d8c0
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x180081bcc
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0xc0]
call fcn.180076ea0
mov ecx, 0x281
call fcn.1800777d0
movzx eax, al
test eax, eax
je 0x180081ad5
movss xmm0, dword [0x1801b8000]
movss dword [rsp + 0x6c], xmm0
jmp 0x180081b10
mov ecx, 0x282
call fcn.1800777d0
movzx eax, al
test eax, eax
je 0x180081af6
movss xmm0, dword [0x1801b81b0]
movss dword [rsp + 0x68], xmm0
jmp 0x180081b04
movss xmm0, dword [0x1801b80f8]
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 [0x1801b7fc0]
jp 0x180081b30
je 0x180081b7c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xbc]
test eax, eax
je 0x180081b7c
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.180027c30
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.18007d880
nop
movss xmm0, dword [rsp + 0xc4]
ucomiss xmm0, dword [0x1801b7fc0]
jp 0x180081b90
je 0x180081bcc
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.180027c30
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.18007d8c0
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x180081bff
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x180081bff
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b92], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4b93], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x180081c3b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x180081c3b
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x180081c3b
lea rcx, [rsp + 0xb8]
call fcn.180080b40
mov rcx, rax
call fcn.180077fb0
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c0c], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.18016d7d0
add rsp, 0x118
ret