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

Disassembly:
sub rsp, 0x118
mov rax, qword [0x14045b0c0]
xor rax, rsp
mov qword [rsp + 0x108], rax
mov rax, qword [0x14045be30]
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 0x1401907c3
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 1
test eax, eax
je 0x1401907c3
mov byte [rsp + 0x3b], 1
jmp 0x1401907c8
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 0x1401908c7
lea rax, [rsp + 0xe8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xa0]
add rax, 0x20
mov qword [rsp + 0xb0], rax
jmp 0x140190880
mov rax, qword [rsp + 0x80]
add rax, 4
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0xb0]
cmp qword [rsp + 0x80], rax
je 0x1401908c7
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
mov dword [rsp + 0x9c], eax
mov ecx, dword [rsp + 0x9c]
call fcn.140174cf0
movzx eax, al
test eax, eax
je 0x1401908c5
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b74], 3
jmp 0x14019086c
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 1
test eax, eax
je 0x1401908dc
mov byte [rsp + 0x3c], 1
jmp 0x1401908e1
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 0x1401909d5
lea rax, [rsp + 0xc8]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xa8]
add rax, 0x1c
mov qword [rsp + 0xb8], rax
jmp 0x14019098e
mov rax, qword [rsp + 0x88]
add rax, 4
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xb8]
cmp qword [rsp + 0x88], rax
je 0x1401909d5
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
mov dword [rsp + 0x98], eax
mov ecx, dword [rsp + 0x98]
call fcn.140174cf0
movzx eax, al
test eax, eax
je 0x1401909d3
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b74], 2
jmp 0x14019097a
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b60], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b98], 0
je 0x1401909f8
call fcn.1401851d0
nop
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b8d], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b8e], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b98], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4bc8]
test eax, eax
je 0x140190a35
call fcn.140185670
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c0c], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc9], 0
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4bc8], 0
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b89]
test eax, eax
je 0x140190ab5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b88]
test eax, eax
je 0x140190ab5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b8a]
test eax, eax
jne 0x140190ab5
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b8b]
test eax, eax
je 0x140190ab5
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x140190ab5
mov byte [rsp + 0x3a], 1
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b89], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x140190ae2
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x4b28]
call fcn.140194ca0
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x140190b2c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
cmp qword [rax + 0x3b0], 0
je 0x140190b2c
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b78], 0
jne 0x140190b2c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov qword [rax + 0x3b0], 0
call fcn.140191430
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x140190b43
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140190b74
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x140190b74
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x140190b74
mov dword [rsp + 0x74], 1
jmp 0x140190b7c
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 0x140190bba
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b30], 0
je 0x140190bba
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b8a]
test eax, eax
je 0x140190bd3
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cf8], 0
jne 0x140190bd3
mov dword [rsp + 0x78], 0
jmp 0x140190bdb
mov dword [rsp + 0x78], 1
mov rax, qword [rsp + 0x58]
movzx ecx, byte [rsp + 0x78]
mov byte [rax + 0xc8], cl
call fcn.1401924b0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b50], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b4c], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b48], 0
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b54], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b30], 0
je 0x140190f6a
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + 0x4b8a]
test eax, eax
jne 0x140190f6a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cf8], 0
jne 0x140190f6a
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x140190f6a
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x140190f6a
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140190cb3
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140186f70
movzx eax, al
test eax, eax
jne 0x140190cd9
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140190cd2
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.140186f70
movzx eax, al
test eax, eax
jne 0x140190cd9
mov byte [rsp + 0x3d], 0
jmp 0x140190cde
mov byte [rsp + 0x3d], 1
movzx eax, byte [rsp + 0x3d]
mov byte [rsp + 0x41], al
movzx eax, byte [rsp + 0x41]
test eax, eax
je 0x140190d3b
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140190d12
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20c
call fcn.140186fc0
movzx eax, al
test eax, eax
jne 0x140190d34
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140190d3b
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27c
call fcn.140186fc0
movzx eax, al
test eax, eax
je 0x140190d3b
mov byte [rsp + 0x3e], 1
jmp 0x140190d40
mov byte [rsp + 0x3e], 0
movzx eax, byte [rsp + 0x3e]
mov byte [rsp + 0x43], al
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140190d7e
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140186f70
movzx eax, al
test eax, eax
jne 0x140190da4
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140186f70
movzx eax, al
test eax, eax
jne 0x140190da4
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140190d9d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140186f70
movzx eax, al
test eax, eax
jne 0x140190da4
mov byte [rsp + 0x3f], 0
jmp 0x140190da9
mov byte [rsp + 0x3f], 1
movzx eax, byte [rsp + 0x3f]
mov byte [rsp + 0x42], al
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x140190e1f
movzx eax, byte [rsp + 0x39]
test eax, eax
je 0x140190df6
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x20d
call fcn.140186fc0
movzx eax, al
test eax, eax
jne 0x140190e18
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x273
call fcn.140186fc0
movzx eax, al
test eax, eax
jne 0x140190e18
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x140190e1f
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x27b
call fcn.140186fc0
movzx eax, al
test eax, eax
je 0x140190e1f
mov byte [rsp + 0x40], 1
jmp 0x140190e24
mov byte [rsp + 0x40], 0
movzx eax, byte [rsp + 0x40]
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4074], 0
jne 0x140190e69
movzx eax, byte [rsp + 0x43]
test eax, eax
je 0x140190e69
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
mov dword [rax + 0x4b48], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b54], 2
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4074], 0
je 0x140190e8f
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
cmp dword [rax + 0x4074], ecx
jne 0x140190ebd
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x140190ebd
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
mov dword [rax + 0x4b48], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b54], 1
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4074], 0
je 0x140190ee3
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
cmp dword [rax + 0x4074], ecx
jne 0x140190f0b
movzx eax, byte [rsp + 0x41]
test eax, eax
jne 0x140190ef5
movzx eax, byte [rsp + 0x42]
test eax, eax
je 0x140190f0b
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
mov dword [rax + 0x4b4c], ecx
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4074], 0
je 0x140190f31
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
cmp dword [rax + 0x4074], ecx
jne 0x140190f6a
movzx eax, byte [rsp + 0x43]
test eax, eax
jne 0x140190f43
movzx eax, byte [rsp + 0x44]
test eax, eax
je 0x140190f6a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b30]
mov dword [rax + 0x4b50], ecx
mov rax, qword [rsp + 0x30]
mov ecx, dword [rax + 0x4b30]
call fcn.140185d60
nop
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x140190f9d
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
je 0x140190f9d
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b8a], 1
mov rax, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b5c]
comiss xmm0, dword [0x140260d18]
jbe 0x140190fe7
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
movss xmm0, dword [rax + 0x4b5c]
subss xmm0, dword [rcx + 0x10]
movaps xmm1, xmm0
xorps xmm0, xmm0
call fcn.14017bd30
mov rax, qword [rsp + 0x30]
movss dword [rax + 0x4b5c], xmm0
mov rax, qword [rsp + 0x30]
movss xmm0, dword [rax + 0x4b5c]
ucomiss xmm0, dword [0x140260d18]
jp 0x14019100e
jne 0x14019100e
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b58], 0
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4b6c], 0
je 0x140191074
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b6c]
mov dword [rax + 0x4b50], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b50]
mov dword [rax + 0x4b4c], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b4c]
mov dword [rax + 0x4b48], ecx
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x30]
mov ecx, dword [rcx + 0x4b70]
mov dword [rax + 0x4b54], ecx
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4b6c], 0
call fcn.1401927b0
nop
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0x4bd8], 0xffffffff
jne 0x14019109d
call fcn.140193240
nop
call fcn.140193890
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b88], 0
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4b28], 0
je 0x14019138c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov eax, dword [rax + 0x14]
and eax, 0x10000
test eax, eax
jne 0x14019138c
mov rax, qword [rsp + 0x30]
cmp qword [rax + 0x4cf8], 0
jne 0x14019138c
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x4b28]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call fcn.1401a55b0
mulss xmm0, dword [0x140260e48]
mov rax, qword [rsp + 0x58]
mulss xmm0, dword [rax + 0x10]
addss xmm0, dword [0x140260d48]
cvttss2si eax, xmm0
cvtsi2ss xmm0, eax
movss dword [rsp + 0x60], xmm0
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0x4bd8]
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0x50]
movsx eax, word [rax + 0x16c]
test eax, eax
jne 0x140191241
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0x172]
test eax, eax
je 0x140191241
cmp dword [rsp + 0x48], 0xffffffff
je 0x140191241
cmp dword [rsp + 0x48], 0
je 0x140191183
cmp dword [rsp + 0x48], 1
jne 0x1401911db
cmp dword [rsp + 0x48], 0
jne 0x14019119a
movss xmm0, dword [0x140260e7c]
movss dword [rsp + 0x7c], xmm0
jmp 0x1401911a8
movss xmm0, dword [0x140260d70]
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.14017bbb0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140180be0
nop
cmp dword [rsp + 0x48], 2
je 0x1401911e9
cmp dword [rsp + 0x48], 3
jne 0x140191241
cmp dword [rsp + 0x48], 2
jne 0x140191200
movss xmm0, dword [0x140260e7c]
movss dword [rsp + 0x64], xmm0
jmp 0x14019120e
movss xmm0, dword [0x140260d70]
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.14017bbb0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140180c30
nop
movzx eax, byte [rsp + 0x38]
test eax, eax
je 0x14019138c
mov dword [rsp + 0x20], 0x28a
mov r9d, 0x289
mov r8d, 0x288
mov edx, 0x287
lea rcx, [rsp + 0x90]
call fcn.1401866b0
mov ecx, 0x281
call fcn.140174cf0
movzx eax, al
test eax, eax
je 0x140191295
movss xmm0, dword [0x140265a34]
movss dword [rsp + 0x6c], xmm0
jmp 0x1401912d0
mov ecx, 0x282
call fcn.140174cf0
movzx eax, al
test eax, eax
je 0x1401912b6
movss xmm0, dword [0x140260e0c]
movss dword [rsp + 0x68], xmm0
jmp 0x1401912c4
movss xmm0, dword [0x140260d70]
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 + 0x90]
ucomiss xmm0, dword [0x140260d18]
jp 0x1401912f0
je 0x14019133c
mov rax, qword [rsp + 0x50]
movzx eax, byte [rax + 0xbc]
test eax, eax
je 0x14019133c
movss xmm0, dword [rsp + 0x90]
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.14017bbb0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140180be0
nop
movss xmm0, dword [rsp + 0x94]
ucomiss xmm0, dword [0x140260d18]
jp 0x140191350
je 0x14019138c
movss xmm0, dword [rsp + 0x94]
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.14017bbb0
movaps xmm1, xmm0
mov rcx, qword [rsp + 0x50]
call fcn.140180c30
nop
movzx eax, byte [rsp + 0x39]
test eax, eax
jne 0x1401913bf
movzx eax, byte [rsp + 0x38]
test eax, eax
jne 0x1401913bf
mov rax, qword [rsp + 0x30]
mov byte [rax + 0x4b8a], 1
mov byte [rsp + 0x3a], 0
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rsp + 0x3a]
mov byte [rax + 0x4b8b], cl
movzx eax, byte [rsp + 0x3a]
test eax, eax
je 0x1401913fb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax]
and eax, 4
test eax, eax
je 0x1401913fb
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 4]
and eax, 4
test eax, eax
je 0x1401913fb
lea rcx, [rsp + 0xc0]
call fcn.1401949e0
mov rcx, rax
call fcn.140186ac0
nop
mov rax, qword [rsp + 0x30]
mov dword [rax + 0x4c04], 0
mov rcx, qword [rsp + 0x108]
xor rcx, rsp
call fcn.140259db0
add rsp, 0x118
ret