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

Disassembly:
sub esp, 0x64
cmp dword [0x101f3d14], 0
push ebx
push ebp
push esi
push edi
je 0x10008925
or dword [esp + 0x20], 0xffffffff
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.10003130
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
xorps xmm1, xmm1
pop ecx
pop ecx
mov ecx, dword [0x1015f9f0]
xor ebx, ebx
xor edi, edi
movss dword [esp + 0x1c], xmm1
inc ebx
mov dword [esp + 0x10], 0x6a5
mov eax, dword [0x101f3d18]
cmp dword [eax + edi*4 + 0xfd6], ebx
jne 0x100084b3
mov eax, dword [eax + edi*4 + 0x26]
test eax, eax
je 0x100084b3
mov eax, dword [eax + 8]
test eax, eax
je 0x100084b3
cmp dword [eax + 4], 0
je 0x100084b3
lea eax, [esp + 0x38]
push eax
push edi
call fcn.10043786
movss xmm1, dword [esp + 0x48]
lea eax, [esp + 0x4c]
addss xmm1, dword [0x10085868]
movss xmm0, dword [esp + 0x40]
push eax
movss dword [esp + 0x5c], xmm0
lea eax, [esp + 0x5c]
movss xmm0, dword [esp + 0x48]
push eax
movss dword [esp + 0x50], xmm1
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x68], xmm1
call fcn.10003018
add esp, 0x10
push ebx
call ebp
push ebx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1008586c]
subss xmm0, dword [esp + 0x4c]
movss dword [esp + 0x1c], xmm0
call ebp
push 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1008586c]
subss xmm0, dword [esp + 0x4c]
mulss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x18], xmm0
call ebp
push 0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10085874]
subss xmm0, dword [esp + 0x48]
movss dword [esp + 0x1c], xmm0
call ebp
movss xmm1, dword [esp + 0x1c]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10085874]
subss xmm0, dword [esp + 0x44]
mulss xmm0, dword [esp + 0x18]
addss xmm0, dword [esp + 0x14]
sqrtss xmm0, xmm0
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x2c], xmm2
comisd xmm2, xmm0
jbe 0x100081e9
ucomiss xmm1, dword [0x10085864]
lahf
test ah, 0x44
jnp 0x100081e9
mov ecx, dword [0x1015f9f0]
jmp 0x100084b3
mov eax, dword [0x101f3d18]
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
cmp byte [eax + 0x1a], 0x13
jne 0x1000820e
mov ecx, dword [0x1015f9f0]
cmp byte [ecx + 0x6ece], 0
jne 0x100084b3
push edi
call fcn.10043885
pop ecx
mov ecx, dword [0x1015f9f0]
cmp eax, 0x21
jne 0x1000822d
cmp byte [ecx + 0x6ece], 0
jne 0x100084b3
mov eax, dword [0x101f3d18]
mov esi, dword [eax + edi*4 + 0x26]
mov edx, dword [esi + 8]
movzx eax, word [edx + 0x7c]
cmp ax, word [esp + 0x10]
jne 0x10008251
cmp byte [ecx + 0x6edb], 0
jne 0x100084b3
mov dword [esp + 0x18], 0x3fb
cmp ax, word [esp + 0x18]
jne 0x1000826d
cmp byte [ecx + 0x6edb], 0
jne 0x100084b3
mov dword [esp + 0x18], 0x3fa
cmp ax, word [esp + 0x18]
jne 0x10008289
cmp byte [ecx + 0x6edb], 0
jne 0x100084b3
cmp dword [edx + 0x20], 0
jne 0x1000829c
cmp byte [ecx + 0x73d], 0
jne 0x100084b3
cmp byte [ecx + 0x6edb], 0
je 0x100082e4
lea eax, [ecx + 0x18b3]
test eax, eax
je 0x100082e4
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x2a4]
movss xmm0, dword [eax + 0x540]
ucomiss xmm0, dword [0x10085864]
lahf
test ah, 0x44
jp 0x100082e4
cmp byte [ecx + edi + 0x1c9b], 0
je 0x100082e4
cmp byte [ecx + 0x6ece], 0
jne 0x100084b3
cmp byte [ecx + edi + 0x744], 0
jne 0x100082f7
cmp byte [ecx + 0xc82], 0
jmp 0x100082fe
cmp dword [ecx + 0x6ee1], 0
jne 0x100084b3
cmp dword [ecx + 0x6ee5], 0
je 0x10008316
cmp dword [esi], 4
jl 0x100084b3
cmp dword [ecx + 0x6ee9], 0
je 0x10008350
mov eax, dword [0x101f3d18]
push 0xff000000
movzx eax, word [eax]
push eax
call fcn.1004409b
push 0xff000000
push edi
mov esi, eax
call fcn.1004409b
mov ecx, dword [0x1015f9f0]
add esp, 0x10
cmp eax, esi
je 0x100084b3
mov eax, dword [0x101f3d14]
mov eax, dword [eax + 0x3de]
mov eax, dword [eax + 8]
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1d1], 2
jne 0x1000837b
cmp dword [ecx + 0x6edd], 0
jne 0x100084b3
mov eax, dword [0x101f3d18]
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1d1], 2
jne 0x1000839d
cmp dword [ecx + 0x6edd], 0
jne 0x100084b3
mov edx, 0x6a5
cmp word [eax + 0x7c], dx
jne 0x100083b5
cmp byte [ecx + 0x6edb], 0
jne 0x100084b3
push edi
call fcn.10043885
pop ecx
cmp eax, 0x11
jne 0x10008427
mov eax, dword [0x101f3d18]
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x60]
test al, al
je 0x10008414
cmp al, 1
je 0x10008414
cmp al, 2
je 0x10008414
cmp al, 3
je 0x10008414
cmp al, 4
je 0x10008414
cmp al, 5
je 0x10008414
cmp al, 6
je 0x10008414
cmp al, 7
je 0x10008414
cmp al, 8
je 0x10008414
cmp al, 0xa
je 0x10008414
cmp al, 0xb
je 0x10008414
cmp al, 0xc
je 0x10008414
cmp al, 0xd
je 0x10008414
cmp al, 0xe
je 0x10008414
cmp al, 0xf
je 0x10008414
cmp al, 0x2b
je 0x10008414
cmp al, 0x2e
jne 0x10008427
mov ecx, dword [0x1015f9f0]
cmp byte [ecx + 0x83e8], 0
jne 0x100084b3
push edi
call fcn.10043885
pop ecx
mov ecx, dword [0x1015f9f0]
cmp eax, 0x12
jne 0x10008495
mov eax, dword [0x101f3d18]
mov eax, dword [eax + edi*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x27]
test al, al
je 0x1000848c
cmp al, 1
je 0x1000848c
cmp al, 2
je 0x1000848c
cmp al, 3
je 0x1000848c
cmp al, 4
je 0x1000848c
cmp al, 5
je 0x1000848c
cmp al, 6
je 0x1000848c
cmp al, 7
je 0x1000848c
cmp al, 8
je 0x1000848c
cmp al, 0xa
je 0x1000848c
cmp al, 0xb
je 0x1000848c
cmp al, 0xc
je 0x1000848c
cmp al, 0xd
je 0x1000848c
cmp al, 0xe
je 0x1000848c
cmp al, 0xf
je 0x1000848c
cmp al, 0x2b
je 0x1000848c
cmp al, 0x2e
jne 0x10008495
cmp byte [ecx + 0x83e8], 0
jne 0x100084b3
cmp dword [ecx + edi*4 + 0xbe30], 0
jne 0x100084b3
movsd xmm0, qword [esp + 0x2c]
cvtpd2ps xmm0, xmm0
mov dword [esp + 0x20], edi
movss dword [esp + 0x1c], xmm0
inc edi
cmp edi, 0x3ec
jl 0x100080ad
cmp byte [ecx + 0xc82], 0
mov ebp, 0x3ec
je 0x100084f3
xor esi, esi
cmp byte [ecx + esi + 0x744], 0
je 0x100084ee
push esi
call fcn.10043885
push esi
call fcn.10043885
pop ecx
pop ecx
mov ecx, dword [0x1015f9f0]
inc esi
cmp esi, ebp
jl 0x100084d0
cmp byte [ecx + 0x73d], 0
je 0x1000851a
xor esi, esi
cmp byte [ecx + esi + 0x744], 0
je 0x10008515
push esi
call fcn.10043885
pop ecx
mov ecx, dword [0x1015f9f0]
inc esi
cmp esi, ebp
jl 0x100084fe
cmp byte [ecx + 0x18af], 0
je 0x1000891f
mov eax, dword [ecx + 0xbdfc]
cmp eax, 0xffffffff
je 0x1000891f
push eax
call fcn.10043688
mov esi, eax
pop ecx
test esi, esi
je 0x10008925
mov ecx, dword [0x1020159c]
mov eax, dword [ecx]
call dword [eax]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov ebx, eax
test ebx, ebx
je 0x10008925
xorps xmm5, xmm5
xor edi, edi
inc edi
movss dword [esp + 0x1c], xmm5
movss dword [esp + 0x14], xmm5
mov esi, edi
movss dword [esp + 0x18], xmm5
movss dword [esp + 0x10], xmm5
cmp esi, edi
jl 0x1000858c
cmp esi, 8
jle 0x100085b6
cmp esi, 0x15
jl 0x10008596
cmp esi, 0x1a
jle 0x100085b6
cmp esi, 0x1f
jl 0x100085a0
cmp esi, 0x24
jle 0x100085b6
cmp esi, 0x29
jl 0x100085aa
cmp esi, 0x2c
jle 0x100085b6
lea eax, [esi - 0x33]
cmp eax, 3
ja 0x100086bf
mov eax, dword [ebx]
lea ecx, [esp + 0x2c]
and dword [esp + 0x2c], 0
and dword [esp + 0x30], 0
and dword [esp + 0x34], 0
push ecx
push esi
mov ecx, ebx
call dword [eax + 0x74]
movss xmm0, dword [esp + 0x2c]
lea eax, [esp + 0x5c]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x30]
push eax
movss dword [esp + 0x58], xmm0
lea eax, [esp + 0x54]
movss xmm0, dword [esp + 0x38]
push eax
movss dword [esp + 0x60], xmm0
call fcn.10003018
movss xmm0, dword [0x10085878]
comiss xmm0, dword [esp + 0x6c]
pop ecx
pop ecx
ja 0x100086c9
movss xmm1, dword [esp + 0x1c]
xorps xmm5, xmm5
movss xmm3, dword [esp + 0x60]
movss xmm4, dword [esp + 0x5c]
ucomiss xmm1, xmm5
push 0x44
pop ecx
lahf
test cl, ah
jp 0x1000867e
movss xmm2, dword [esp + 0x14]
ucomiss xmm2, xmm5
movss xmm2, dword [esp + 0x10]
lahf
test cl, ah
jp 0x10008684
movss xmm0, dword [esp + 0x18]
ucomiss xmm0, xmm5
lahf
test cl, ah
jp 0x10008684
ucomiss xmm2, xmm5
lahf
test cl, ah
jp 0x10008684
movaps xmm1, xmm3
movaps xmm0, xmm4
movaps xmm2, xmm1
movss dword [esp + 0x18], xmm0
movss dword [esp + 0x14], xmm2
movaps xmm2, xmm0
jmp 0x10008684
movss xmm2, dword [esp + 0x10]
movaps xmm0, xmm3
minss xmm3, dword [esp + 0x14]
maxss xmm0, xmm1
movaps xmm1, xmm0
movaps xmm0, xmm4
minss xmm4, dword [esp + 0x18]
maxss xmm0, xmm2
movss dword [esp + 0x1c], xmm1
movaps xmm1, xmm3
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x10], xmm0
movaps xmm0, xmm4
movss dword [esp + 0x18], xmm0
inc esi
cmp esi, 0x36
jle 0x10008583
movss xmm1, dword [esp + 0x18]
movss xmm2, dword [esp + 0x10]
movss xmm0, dword [esp + 0x14]
subss xmm2, xmm1
movss xmm3, dword [esp + 0x1c]
mov ecx, dword [0x101fbad0]
subss xmm3, xmm0
and dword [esp + 0x38], 0
and dword [esp + 0x3c], 0
addss xmm2, dword [0x10085898]
and dword [esp + 0x40], 0
and dword [esp + 0x44], 0
and dword [esp + 0x48], 0
and dword [esp + 0x4c], 0
push 0xff
push 0xffffffffffffffff
sub esp, 0x10
movss dword [esp + 0x40], xmm3
movss dword [esp + 0x44], xmm2
movss dword [esp + 0xc], xmm3
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
call fcn.10044996
mov edi, dword [0x1015f9f0]
cmp dword [edi + 0x115b1], 0
je 0x10008860
mov eax, dword [0x101fba88]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x100858a0]
cvtpd2ps xmm0, xmm0
ucomiss xmm0, dword [0x10085864]
lahf
test ah, 0x44
jnp 0x10008789
xor eax, eax
inc eax
jmp 0x1000878b
xor al, al
mov byte [edi + 0x115b0], al
mov eax, dword [0x101fba84]
mov edi, dword [0x1015f9f0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
xor esi, esi
addsd xmm0, qword [eax*8 + 0x100858a0]
cvtpd2ps xmm0, xmm0
mulss xmm0, dword [0x10085870]
movss dword [esp + 0x24], xmm0
cmp byte [esi + edi + 0x744], 0
je 0x10008857
push esi
call fcn.1000458d
pop ecx
test al, al
je 0x10008857
lea eax, [esp + 0x5c]
push eax
push esi
call fcn.10043786
movss xmm0, dword [esp + 0x64]
lea eax, [esp + 0x70]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [esp + 0x68]
push eax
movss dword [esp + 0x60], xmm0
lea eax, [esp + 0x5c]
movss xmm0, dword [esp + 0x70]
push eax
movss dword [esp + 0x68], xmm0
call fcn.10003018
movss xmm0, dword [0x10085878]
add esp, 0x10
comiss xmm0, dword [esp + 0x70]
ja 0x10008851
cvttss2si eax, dword [esp + 0x6c]
mov ecx, dword [0x101fbad0]
push 0xffffffffffffffff
push eax
cvttss2si eax, dword [esp + 0x70]
push eax
cvttss2si eax, dword [esp + 0x30]
push 0
push eax
call fcn.10044bb3
mov edi, dword [0x1015f9f0]
inc esi
cmp esi, ebp
jl 0x100087c4
cmp byte [edi + 0x5f11], 0
je 0x100088ca
mov ecx, dword [0x102015a4]
lea edx, [esp + 0x38]
push edx
push 8
mov eax, dword [ecx]
call dword [eax + 0x74]
mov eax, dword [ebx]
lea ecx, [esp + 0x44]
push ecx
push 2
mov ecx, ebx
call dword [eax + 0x74]
push 0xffffffffffffffff
sub esp, 0xc
lea esi, [esp + 0x54]
mov edi, esp
lea eax, [esp + 0x78]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b102
add esp, 0x10
lea esi, [esp + 0x3c]
push eax
sub esp, 0xc
lea eax, [esp + 0x70]
mov edi, esp
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002b102
mov ecx, dword [0x101fbad0]
add esp, 0x10
push eax
call fcn.10044f1e
movss xmm0, dword [esp + 0x28]
call fcn.1005f1a0
movss xmm0, dword [esp + 0x2c]
push eax
call fcn.1005f1a0
movss xmm2, dword [esp + 0x18]
movss xmm0, dword [esp + 0x20]
mov ecx, dword [0x101fbad0]
push eax
sub esp, 0x10
movss dword [esp + 0xc], xmm2
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + 0x30]
movss dword [esp], xmm0
call fcn.10044996
mov eax, dword [esp + 0x20]
jmp 0x10008928
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret