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

Disassembly:
sub esp, 0xb0
cmp dword [0x101a5538], 0
push ebx
push ebp
push esi
push edi
je 0x100086df
call fcn.1002b13b
test eax, eax
jne 0x100086df
cmp dword [0x101b979c], eax
je 0x100086df
push dword [0x101b97a4]
call fcn.1002b3df
pop ecx
test eax, eax
jne 0x100086df
lea eax, [esp + 0x4c]
or ebp, 0xffffffff
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10042ae1
and dword [esp + 0x40], 0
xorps xmm0, xmm0
and dword [esp + 0x44], 0
and dword [esp + 0x48], 0
xor edi, edi
pop ecx
pop ecx
movss dword [esp + 0x1c], xmm0
mov ebx, edi
push ebx
call fcn.100087e3
pop ecx
test al, al
je 0x100086ce
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.10041218
movss xmm0, dword [esp + 0x3c]
lea eax, [esp + 0x68]
cvtps2pd xmm0, xmm0
push eax
lea eax, [esp + 0x60]
push eax
addsd xmm0, qword [0x10083380]
cvtpd2ps xmm1, xmm0
movss xmm0, dword [esp + 0x3c]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x68], xmm0
movss dword [esp + 0x6c], xmm1
call fcn.10043dfe
movss xmm0, dword [esp + 0x70]
add esp, 0x10
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x10], xmm0
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1008336c]
subss xmm0, dword [esp + 0x14]
movss dword [esp + 0x18], xmm0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1008336c]
subss xmm0, dword [esp + 0x14]
mulss xmm0, dword [esp + 0x18]
movss dword [esp + 0x48], xmm0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1008337c]
subss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x18], xmm0
call dword [sym.imp.USER32.dll_GetSystemMetrics]
movss xmm2, dword [esp + 0x18]
movss xmm1, dword [esp + 0x10]
subss xmm1, dword [esp + 0x4c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [0x1015c858]
mulss xmm1, xmm1
mulss xmm0, dword [0x1008337c]
subss xmm0, xmm2
subss xmm2, dword [esp + 0x50]
mulss xmm0, dword [esp + 0x14]
mulss xmm2, xmm2
addss xmm0, dword [esp + 0x44]
addss xmm2, xmm1
sqrtss xmm0, xmm0
cvtps2pd xmm3, xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [eax + 0xbc]
addss xmm0, dword [0x100833a0]
movsd qword [esp + 0x44], xmm3
mulss xmm0, xmm0
comiss xmm0, xmm2
jb 0x100086ce
mov eax, dword [0x101a5538]
mov eax, dword [eax + 0x3de]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + ebx*4 + 0x26]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1d1], 2
je 0x100086ce
movss xmm0, dword [0x1008334c]
comiss xmm0, dword [esp + 0x68]
ja 0x100086ce
movss xmm1, dword [esp + 0x1c]
cvtps2pd xmm0, xmm1
comisd xmm3, xmm0
jbe 0x1000833c
ucomiss xmm1, dword [0x10083364]
lahf
test ah, 0x44
jp 0x100086ce
lea eax, [esp + 0x78]
push eax
mov eax, dword [ecx + 0x1e]
mov eax, dword [eax]
mov eax, dword [eax + 0x2a4]
mov eax, dword [eax + 0x14]
add eax, 0x30
push eax
call fcn.100403d7
movss xmm0, dword [esp + 0x88]
cvtps2pd xmm0, xmm0
push ebx
addsd xmm0, qword [0x10083380]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x8c], xmm0
call fcn.100410d0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100086ce
mov ecx, dword [0x101b979c]
mov eax, dword [ecx]
call dword [eax]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov ecx, eax
test ecx, ecx
je 0x100086ce
and dword [esp + 0x20], 0
lea edx, [esp + 0x20]
and dword [esp + 0x24], 0
and dword [esp + 0x28], 0
mov eax, dword [ecx]
push edx
push 3
call dword [eax + 0x74]
sub esp, 0xc
lea esi, [esp + 0x2c]
mov edi, esp
lea eax, [esp + 0xa8]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002a6b9
add esp, 4
lea esi, [esp + 0x2c]
mov edi, esp
movss xmm0, dword [eax]
lea eax, [esp + 0xb4]
push eax
movsd dword es:[edi], dword [esi]
movss dword [esp + 0x7c], xmm0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002a6b9
add esp, 4
lea esi, [esp + 0x2c]
mov edi, esp
movss xmm0, dword [eax + 4]
lea eax, [esp + 0xc0]
push eax
movsd dword es:[edi], dword [esi]
movss dword [esp + 0x80], xmm0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002a6b9
movss xmm0, dword [eax + 8]
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x80]
movss dword [esp + 0x88], xmm0
push eax
call fcn.10043dfe
movss xmm0, dword [0x1008334c]
add esp, 0x18
comiss xmm0, dword [esp + 0x8c]
ja 0x100086cc
mov ecx, dword [0x101228a0]
mov eax, dword [ecx]
call dword [eax + 0x38]
xor edi, edi
lea ecx, [esp + 0x20]
push edi
push edi
mov edx, dword [eax]
push 1
push 1
push edi
push edi
push 1
push ecx
lea ecx, [esp + 0x58]
push ecx
mov ecx, eax
call dword [edx + 0x24]
mov ecx, dword [0x1015c858]
cmp byte [ecx + 0x7f], 0
je 0x100084ff
mov ecx, dword [0x101228a0]
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov esi, eax
mov ecx, esi
mov edi, dword [esi]
call dword [edi + 0x28]
movzx eax, al
mov ecx, esi
push eax
call dword [edi + 0x2c]
mov ecx, dword [0x101228a0]
lea edi, [esp + 0x90]
mov esi, dword [eax + 4]
lea esi, [esi + 0x19c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ecx]
call dword [eax + 0x38]
xor edi, edi
lea ecx, [esp + 0x20]
push edi
push edi
mov edx, dword [eax]
push 1
push 1
push edi
push edi
push 1
push ecx
lea ecx, [esp + 0xb0]
push ecx
mov ecx, eax
call dword [edx + 0x24]
test al, al
je 0x100086df
mov ecx, dword [0x1015c858]
cmp dword [ecx + ebx*4 + 0x121], edi
jne 0x100086ce
cmp dword [ecx + ebx*4 + 0x1605], edi
je 0x10008521
cmp dword [ecx + 0xa4], edi
jne 0x100086ce
mov edx, dword [0x101a553c]
cmp dword [ecx + 0xa8], edi
je 0x10008540
mov eax, dword [edx + ebx*4 + 0x26]
mov eax, dword [eax + 8]
cmp byte [eax + 0x1a], 0x13
je 0x100086ce
cmp dword [ecx + 0xb0], edi
je 0x1000857a
movzx eax, word [edx]
push 0xff000000
push eax
call fcn.10041990
push 0xff000000
push ebx
mov esi, eax
call fcn.10041990
add esp, 0x10
cmp eax, esi
je 0x100086ce
mov ecx, dword [0x1015c858]
mov edx, dword [0x101a553c]
cmp dword [ecx + 0xac], edi
je 0x1000858f
mov eax, dword [edx + ebx*4 + 0x26]
cmp dword [eax], 0xa
jl 0x100086ce
cmp dword [ecx + 0xb4], edi
je 0x100085c8
mov eax, dword [edx + ebx*4 + 0x26]
mov edx, 0x6a5
mov eax, dword [eax + 8]
movzx eax, word [eax + 0x7c]
cmp ax, dx
je 0x100086ce
mov edx, 0x3fb
cmp ax, dx
je 0x100086ce
dec edx
cmp ax, dx
je 0x100086ce
cmp dword [ecx + 0xa8], edi
je 0x100085e0
push ebx
call fcn.10041317
pop ecx
cmp eax, 0x13
je 0x100086ce
movsd xmm0, qword [esp + 0x44]
cvtpd2ps xmm0, xmm0
push ebx
movss dword [esp + 0x20], xmm0
call fcn.10041317
pop ecx
cmp eax, 0x11
jne 0x1000865c
mov eax, dword [0x101a553c]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x60]
test al, al
je 0x1000864f
cmp al, 1
je 0x1000864f
cmp al, 2
je 0x1000864f
cmp al, 3
je 0x1000864f
cmp al, 4
je 0x1000864f
cmp al, 5
je 0x1000864f
cmp al, 6
je 0x1000864f
cmp al, 7
je 0x1000864f
cmp al, 8
je 0x1000864f
cmp al, 0xa
je 0x1000864f
cmp al, 0xb
je 0x1000864f
cmp al, 0xc
je 0x1000864f
cmp al, 0xd
je 0x1000864f
cmp al, 0xe
je 0x1000864f
cmp al, 0xf
je 0x1000864f
cmp al, 0x2b
je 0x1000864f
cmp al, 0x2e
jne 0x1000865c
mov eax, dword [0x1015c858]
cmp dword [eax + 0xb8], edi
jne 0x100086ce
push ebx
call fcn.10041317
pop ecx
cmp eax, 0x12
jne 0x100086c8
mov eax, dword [0x101a553c]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x27]
test al, al
je 0x100086bb
cmp al, 1
je 0x100086bb
cmp al, 2
je 0x100086bb
cmp al, 3
je 0x100086bb
cmp al, 4
je 0x100086bb
cmp al, 5
je 0x100086bb
cmp al, 6
je 0x100086bb
cmp al, 7
je 0x100086bb
cmp al, 8
je 0x100086bb
cmp al, 0xa
je 0x100086bb
cmp al, 0xb
je 0x100086bb
cmp al, 0xc
je 0x100086bb
cmp al, 0xd
je 0x100086bb
cmp al, 0xe
je 0x100086bb
cmp al, 0xf
je 0x100086bb
cmp al, 0x2b
je 0x100086bb
cmp al, 0x2e
jne 0x100086c8
mov eax, dword [0x1015c858]
cmp dword [eax + 0xb8], edi
jne 0x100086ce
mov ebp, ebx
jmp 0x100086ce
xor edi, edi
inc ebx
cmp ebx, 0x3ec
jl 0x1000815f
mov eax, ebp
jmp 0x100086e2
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret