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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x180259040]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x18078d910]
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 0x180087603
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x180087603
mov byte [rsp + 0x3b], 1
jmp 0x180087608
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 0x180087707
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 0x1800876c0
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa8]
cmp qword [rsp + 0x80], rax
je 0x180087707
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x94], eax
mov ecx, dword [rsp + 0x94]
call fcn.18007dd60
movzx eax, al
test eax, eax
je 0x180087705
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b7c], 3
jmp 0x1800876ac
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x18008771c
mov byte [rsp + 0x3c], 1
jmp 0x180087721
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 0x180087815
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 0x1800877ce
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x88], rax
je 0x180087815
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x90], eax
mov ecx, dword [rsp + 0x90]
call fcn.18007dd60
movzx eax, al
test eax, eax
je 0x180087813
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b7c], 2
jmp 0x1800877ba
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b68], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4ba0], 0
je 0x180087837
call fcn.180088260
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 0x180087873
call fcn.180089210
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 0x1800878f3
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b90]
test eax, eax
je 0x1800878f3
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b92]
test eax, eax
jne 0x1800878f3
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b93]
test eax, eax
je 0x1800878f3
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x1800878f3
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 0x18008791f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4b30]
call fcn.180086d20
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x180087969
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
cmp qword [rax + 0x3b0], 0
je 0x180087969
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b80], 0
jne 0x180087969
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov qword [rax + 0x3b0], 0
call fcn.18008a510
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x180087980
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1800879b1
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x1800879b1
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1800879b1
mov dword [rsp + 0x74], 1
jmp 0x1800879b9
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 0x1800879f7
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b38], 0
je 0x1800879f7
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b92]
test eax, eax
je 0x180087a10
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d00], 0
jne 0x180087a10
mov dword [rsp + 0x78], 0
jmp 0x180087a18
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.1800898a0
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 0x180087da6
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b92]
test eax, eax
jne 0x180087da6
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d00], 0
jne 0x180087da6
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x180087da6
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x180087da6
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x180087af0
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.18007dd80
movzx eax, al
test eax, eax
jne 0x180087b16
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x180087b0f
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.18007dd80
movzx eax, al
test eax, eax
jne 0x180087b16
mov byte [rsp + 0x3d], 0
jmp 0x180087b1b
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x180087b78
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x180087b4f
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.18007de10
movzx eax, al
test eax, eax
jne 0x180087b71
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x180087b78
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.18007de10
movzx eax, al
test eax, eax
je 0x180087b78
mov byte [rsp + 0x3e], 1
jmp 0x180087b7d
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x180087bbb
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.18007dd80
movzx eax, al
test eax, eax
jne 0x180087be1
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.18007dd80
movzx eax, al
test eax, eax
jne 0x180087be1
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x180087bda
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.18007dd80
movzx eax, al
test eax, eax
jne 0x180087be1
mov byte [rsp + 0x3f], 0
jmp 0x180087be6
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x180087c5c
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x180087c33
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.18007de10
movzx eax, al
test eax, eax
jne 0x180087c55
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.18007de10
movzx eax, al
test eax, eax
jne 0x180087c55
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x180087c5c
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.18007de10
movzx eax, al
test eax, eax
je 0x180087c5c
mov byte [rsp + 0x40], 1
jmp 0x180087c61
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 0x180087ca6
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x180087ca6
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 0x180087ccc
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
cmp dword [rax + 0x407c], ecx
jne 0x180087cfa
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x180087cfa
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 0x180087d20
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
cmp dword [rax + 0x407c], ecx
jne 0x180087d48
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x180087d32
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x180087d48
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 0x180087d6e
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b38]
cmp dword [rax + 0x407c], ecx
jne 0x180087da6
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x180087d80
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x180087da6
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.180085890
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x180087dd9
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x180087dd9
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 [0x180245284]
jbe 0x180087e23
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.180027500
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4b64], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b64]
ucomiss xmm0, dword [0x180245284]
jp 0x180087e4a
jne 0x180087e4a
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b60], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b74], 0
je 0x180087eb0
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.180088540
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4be0], 0xffffffff
jne 0x180087ed7
call fcn.180088ff0
call fcn.180086f40
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b90], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b30], 0
je 0x1800881c2
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x1800881c2
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4d00], 0
jne 0x1800881c2
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b30]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.180029be0
mulss xmm0, dword [0x1802454ec]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x180245320]
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 0x180088079
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x172]
test eax, eax
je 0x180088079
cmp dword [rsp + 0x48], 0xffffffff
je 0x180088079
cmp dword [rsp + 0x48], 0
je 0x180087fbd
cmp dword [rsp + 0x48], 1
jne 0x180088014
cmp dword [rsp + 0x48], 0
jne 0x180087fd4
movss xmm0, dword [0x1802455b0]
movss dword [rsp + 0x7c], xmm0
jmp 0x180087fe2
movss xmm0, dword [0x1802453b8]
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.180029330
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.180083ec0
cmp dword [rsp + 0x48], 2
je 0x180088022
cmp dword [rsp + 0x48], 3
jne 0x180088079
cmp dword [rsp + 0x48], 2
jne 0x180088039
movss xmm0, dword [0x1802455b0]
movss dword [rsp + 0x64], xmm0
jmp 0x180088047
movss xmm0, dword [0x1802453b8]
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.180029330
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.180083f00
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x1800881c2
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0xc0]
call fcn.18007d430
mov ecx, 0x281
call fcn.18007dd60
movzx eax, al
test eax, eax
je 0x1800880cd
movss xmm0, dword [0x1802452c0]
movss dword [rsp + 0x6c], xmm0
jmp 0x180088108
mov ecx, 0x282
call fcn.18007dd60
movzx eax, al
test eax, eax
je 0x1800880ee
movss xmm0, dword [0x180245484]
movss dword [rsp + 0x68], xmm0
jmp 0x1800880fc
movss xmm0, dword [0x1802453b8]
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 [0x180245284]
jp 0x180088128
je 0x180088173
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xbc]
test eax, eax
je 0x180088173
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.180029330
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.180083ec0
movss xmm0, dword [rsp + 0xc4]
ucomiss xmm0, dword [0x180245284]
jp 0x180088187
je 0x1800881c2
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.180029330
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.180083f00
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1800881f5
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x1800881f5
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 0x180088230
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x180088230
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x180088230
lea rcx, [rsp + 0xb8]
call fcn.180087140
mov rcx, rax
call fcn.18007e590
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c0c], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.180189ea0
add rsp, 0x118
ret