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

Disassembly:
sub esp, 0x8c
cmp dword [0x101d5644], 0
push ebx
push ebp
push esi
push edi
je 0x10007aeb
lea eax, [esp + 0x4c]
or ebp, 0xffffffff
push eax
lea eax, [esp + 0x54]
push eax
call fcn.1000346b
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
xorps xmm1, xmm1
mov eax, dword [0x1015448c]
xor edx, edx
pop ecx
pop ecx
mov ecx, dword [0x101d5648]
xor edi, edi
movss dword [esp + 0x30], xmm1
inc edx
cmp dword [ecx + edi*4 + 0xfd6], edx
jne 0x100075cd
mov edx, dword [ecx + edi*4 + 0x26]
test edx, edx
je 0x100075ca
mov edx, dword [edx + 8]
test edx, edx
je 0x100075ca
xor esi, esi
cmp dword [edx + 4], esi
je 0x100075ca
lea eax, [esp + 0x18]
push eax
push edi
call fcn.10040b10
movss xmm1, dword [esp + 0x28]
lea eax, [esp + 0x98]
addss xmm1, dword [0x1007c130]
movss xmm0, dword [esp + 0x20]
push eax
movss dword [esp + 0x78], xmm0
lea eax, [esp + 0x78]
movss xmm0, dword [esp + 0x28]
push eax
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x80], xmm0
movss dword [esp + 0x84], xmm1
call fcn.100437a2
movss xmm0, dword [esp + 0xa0]
add esp, 0x10
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x94]
movss dword [esp + 0x10], xmm0
push 1
call ebx
push 1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1007c134]
subss xmm0, dword [esp + 0x14]
movss dword [esp + 0x18], xmm0
call ebx
push esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1007c134]
subss xmm0, dword [esp + 0x14]
mulss xmm0, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
call ebx
push esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1007c13c]
subss xmm0, dword [esp + 0x28]
movss dword [esp + 0x18], xmm0
call ebx
movss xmm1, dword [esp + 0x30]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x1007c13c]
subss xmm0, dword [esp + 0x24]
mulss xmm0, dword [esp + 0x14]
addss xmm0, dword [esp + 0x10]
sqrtss xmm0, xmm0
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp + 0x24], xmm2
comisd xmm2, xmm0
jbe 0x100073bf
ucomiss xmm1, dword [0x1007c128]
lahf
test ah, 0x44
jp 0x100075bf
mov ecx, dword [0x101d5648]
mov eax, dword [0x1015448c]
mov edx, dword [ecx + edi*4 + 0x26]
mov esi, dword [edx + 8]
cmp byte [esi + 0x1a], 0x13
jne 0x100073e4
cmp byte [eax + 0xb5], 0
jne 0x100075ca
cmp dword [edx], 0xa
jge 0x100073f6
cmp byte [eax + 0xb8], 0
jne 0x100075ca
movzx edx, word [esi + 0x7c]
mov dword [esp + 0x14], 0x6a5
cmp dx, word [esp + 0x14]
jne 0x10007416
cmp byte [eax + 0xb6], 0
jne 0x100075ca
mov dword [esp + 0x14], 0x3fb
cmp dx, word [esp + 0x14]
jne 0x10007432
cmp byte [eax + 0xb6], 0
jne 0x100075ca
mov dword [esp + 0x14], 0x3fa
cmp dx, word [esp + 0x14]
jne 0x1000744e
cmp byte [eax + 0xb6], 0
jne 0x100075ca
cmp dword [esi + 0x1d1], 2
je 0x100075ca
cmp byte [eax + 0xb7], 0
je 0x10007495
movzx eax, word [ecx]
push 0xff000000
push eax
call fcn.100411ea
push 0xff000000
push edi
mov esi, eax
call fcn.100411ea
add esp, 0x10
cmp eax, esi
je 0x100075bf
mov ecx, dword [0x101d5648]
mov eax, dword [0x1015448c]
xor edx, edx
inc edx
cmp byte [eax + edi + 0x15b0], dl
je 0x100074ae
cmp byte [eax + 0xb9], 0
jne 0x100075cd
cmp byte [eax + 0xb4], dl
jne 0x1000793f
push edi
call fcn.10040c0f
pop ecx
cmp eax, 0x11
jne 0x1000754d
mov ecx, dword [0x101d5648]
xor edx, edx
inc edx
mov eax, dword [ecx + edi*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x60]
test al, al
je 0x100075b8
cmp al, dl
je 0x100075b8
cmp al, 2
je 0x100075b8
cmp al, 3
je 0x100075b8
cmp al, 4
je 0x100075b8
cmp al, 5
je 0x100075b8
cmp al, 6
je 0x100075b8
cmp al, 7
je 0x100075b8
cmp al, 8
je 0x100075b8
cmp al, 0xa
je 0x100075b8
cmp al, 0xb
je 0x100075b8
cmp al, 0xc
je 0x100075b8
cmp al, 0xd
je 0x100075b8
cmp al, 0xe
je 0x100075b8
cmp al, 0xf
je 0x100075b8
cmp al, 0x2b
je 0x100075b8
cmp al, 0x2e
je 0x100075b8
push edi
call fcn.10040c0f
pop ecx
mov ecx, dword [0x101d5648]
cmp eax, 0x12
jne 0x10007923
mov eax, dword [ecx + edi*4 + 0x26]
xor edx, edx
inc edx
mov eax, dword [eax + 8]
mov al, byte [eax + 0x27]
test al, al
je 0x100075b8
cmp al, dl
je 0x100075b8
cmp al, 2
je 0x100075b8
cmp al, 3
je 0x100075b8
cmp al, 4
je 0x100075b8
cmp al, 5
je 0x100075b8
cmp al, 6
je 0x100075b8
cmp al, 7
je 0x100075b8
cmp al, 8
je 0x100075b8
cmp al, 0xa
je 0x100075b8
cmp al, 0xb
je 0x100075b8
cmp al, 0xc
je 0x100075b8
cmp al, 0xd
je 0x100075b8
cmp al, 0xe
je 0x100075b8
cmp al, 0xf
je 0x100075b8
cmp al, 0x2b
je 0x100075b8
cmp al, 0x2e
jne 0x10007926
mov eax, dword [0x1015448c]
jmp 0x100075cd
mov ecx, dword [0x101d5648]
mov eax, dword [0x1015448c]
xor edx, edx
inc edx
inc edi
cmp edi, 0x3ec
jl 0x10007267
cmp byte [eax + 0x89], 0
je 0x10007ae7
mov eax, dword [eax + 0x96]
cmp eax, 0xffffffff
je 0x10007ae7
push eax
call fcn.10040a12
mov esi, eax
pop ecx
test esi, esi
je 0x10007aeb
mov ecx, dword [0x101ea7bc]
mov eax, dword [ecx]
call dword [eax]
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x64]
mov edi, eax
test edi, edi
je 0x10007aeb
xor esi, esi
inc esi
cmp esi, 8
jbe 0x10007655
cmp esi, 0x15
jb 0x10007635
cmp esi, 0x1a
jbe 0x10007655
cmp esi, 0x1f
jb 0x1000763f
cmp esi, 0x24
jbe 0x10007655
cmp esi, 0x29
jb 0x10007649
cmp esi, 0x2c
jbe 0x10007655
lea eax, [esi - 0x33]
cmp eax, 3
ja 0x100077bb
mov eax, dword [edi]
lea ecx, [esp + 0x24]
and dword [esp + 0x24], 0
and dword [esp + 0x28], 0
and dword [esp + 0x2c], 0
and dword [esp + 0x18], 0
and dword [esp + 0x1c], 0
and dword [esp + 0x20], 0
push ecx
push 8
mov ecx, edi
call dword [eax + 0x74]
mov eax, dword [edi]
lea ecx, [esp + 0x18]
push ecx
push 0x2c
mov ecx, edi
call dword [eax + 0x74]
movss xmm0, dword [esp + 0x24]
lea eax, [esp + 0x40]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x84], xmm0
movss xmm0, dword [esp + 0x1c]
push eax
movss dword [esp + 0x8c], xmm0
lea eax, [esp + 0x7c]
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x94], xmm0
call fcn.100437a2
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x90]
push eax
call fcn.100437a2
movss xmm0, dword [0x1007c140]
add esp, 0x10
comiss xmm0, dword [esp + 0x48]
ja 0x100077bb
comiss xmm0, dword [esp + 0x3c]
ja 0x100077bb
movss xmm3, dword [esp + 0x44]
movss xmm4, dword [esp + 0x40]
movaps xmm0, xmm3
subss xmm0, dword [esp + 0x38]
mov ecx, dword [0x101dd3d8]
push 0
push 0xff0082ff
sub esp, 0x10
cvtps2pd xmm2, xmm0
movaps xmm0, xmm4
subss xmm0, dword [esp + 0x4c]
mulsd xmm2, xmm2
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm0
cvtpd2ps xmm1, xmm0
cvtpd2ps xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
mulss xmm0, dword [0x1007c144]
movaps xmm1, xmm0
movss dword [esp + 0xc], xmm0
mulss xmm1, dword [0x1007c138]
mulss xmm0, dword [0x1007c12c]
movss dword [esp + 8], xmm1
mulss xmm1, dword [0x1007c138]
subss xmm3, xmm0
subss xmm4, xmm1
movss dword [esp + 4], xmm3
movss dword [esp], xmm4
call fcn.10041ae5
inc esi
cmp esi, 0x36
jle 0x10007626
mov eax, dword [0x1015448c]
and dword [esp + 0x60], 0
and dword [esp + 0x64], 0
and dword [esp + 0x68], 0
and dword [esp + 0x54], 0
and dword [esp + 0x58], 0
and dword [esp + 0x5c], 0
cmp byte [eax + 0x8a], 0
je 0x1000785a
mov ecx, dword [0x101ea7c4]
lea edx, [esp + 0x60]
push edx
push 2
mov eax, dword [ecx]
call dword [eax + 0x74]
mov eax, dword [edi]
lea ecx, [esp + 0x54]
push ecx
push 3
mov ecx, edi
call dword [eax + 0x74]
push 0xff0082ff
sub esp, 0xc
lea esi, [esp + 0x64]
mov edi, esp
lea eax, [esp + 0x44]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.1002a128
add esp, 0x10
lea esi, [esp + 0x64]
push eax
sub esp, 0xc
lea eax, [esp + 0x54]
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.1002a128
mov ecx, dword [0x101dd3d8]
add esp, 0x10
push eax
call fcn.10042021
mov eax, dword [0x1015448c]
cmp byte [eax + 0x8b], 0
je 0x10007ab9
cmp byte [eax + 0xa0], 0
je 0x10007ab9
mov ecx, dword [0x101ea7bc]
xor bl, bl
mov byte [esp + 0x10], 0
mov eax, dword [ecx]
call dword [eax + 0x78]
push 0
push 0xffffffffffffffff
mov edi, eax
call fcn.1002a80b
pop ecx
pop ecx
mov ecx, eax
movzx eax, byte [ecx + 0x718]
imul eax, eax, 0x1c
mov esi, dword [eax + ecx + 0x5a0]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 8]
test al, al
je 0x100079d8
cmp esi, 0x16
je 0x100078ff
cmp esi, 0x17
je 0x100078ff
cmp esi, 0x18
je 0x100078ff
cmp esi, 0x1a
je 0x100078ff
cmp esi, 0x1b
je 0x100078ff
cmp esi, 0x1c
je 0x100078ff
cmp esi, 0x1d
je 0x100078ff
cmp esi, 0x1e
je 0x100078ff
cmp esi, 0x1f
je 0x100078ff
cmp esi, 0x20
je 0x100078ff
cmp esi, 0x25
je 0x100078ff
cmp esi, 0x26
je 0x100078ff
cmp esi, 0x29
je 0x100078ff
cmp esi, 0x2a
jne 0x100079d8
mov eax, dword [edi]
mov ecx, edi
push 2
push 0
call dword [eax + 4]
push eax
call fcn.10038c3e
push eax
call fcn.1003f4fe
pop ecx
pop ecx
test eax, eax
je 0x10007964
mov byte [esp + 0x10], 1
jmp 0x10007990
xor edx, edx
inc edx
mov eax, dword [ecx + edi*4 + 0x26]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1d1], 2
je 0x100075b8
mov eax, dword [0x1015448c]
cmp dword [eax + edi*4 + 0xcc], 0
jne 0x100075cd
movsd xmm0, qword [esp + 0x24]
mov ebp, edi
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x30], xmm0
jmp 0x100075cd
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
call dword [eax + 4]
push eax
call fcn.10038c3e
push eax
call fcn.1003f4fe
pop ecx
pop ecx
mov ecx, dword [esp + 0x10]
test eax, eax
push 1
movzx ecx, cl
pop eax
cmovne ecx, eax
mov dword [esp + 0x10], ecx
mov eax, dword [edi]
mov ecx, edi
push 2
push 0x2d
call dword [eax + 4]
push eax
call fcn.10038c3e
push eax
call fcn.1003f4fe
pop ecx
pop ecx
test eax, eax
je 0x100079b4
xor eax, eax
lea ebx, [eax + 1]
jmp 0x100079d8
mov eax, dword [edi]
mov ecx, edi
push 0
push 0x2d
call dword [eax + 4]
push eax
call fcn.10038c3e
push eax
call fcn.1003f4fe
pop ecx
pop ecx
test eax, eax
movzx ebx, bl
push 1
pop eax
cmovne ebx, eax
mov ecx, dword [0x101d5648]
mov eax, dword [ecx + 0x1e]
cmp dword [eax + 0x1cf], 0
jne 0x100079f8
test bl, bl
jne 0x100079f8
cmp byte [esp + 0x10], bl
je 0x10007ab9
mov eax, dword [0x1015448c]
mov eax, dword [eax + 0x96]
mov eax, dword [ecx + eax*4 + 0x26]
mov eax, dword [eax + 8]
mov eax, dword [eax + 4]
mov esi, dword [eax + 0x2a4]
test esi, esi
je 0x10007aeb
mov ecx, dword [0x101ea7bc]
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 0x10007aeb
and dword [esp + 0x18], 0
lea eax, [esp + 0x18]
and dword [esp + 0x1c], 0
and dword [esp + 0x20], 0
mov edx, dword [ecx]
push eax
mov eax, dword [0x1015448c]
push dword [eax + 0xad]
call dword [edx + 0x78]
movss xmm0, dword [esp + 0x18]
lea eax, [esp + 0x40]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x1c]
push eax
movss dword [esp + 0x3c], xmm0
lea eax, [esp + 0x38]
movss xmm0, dword [esp + 0x24]
push eax
movss dword [esp + 0x44], xmm0
call fcn.100437a2
cvttss2si eax, dword [esp + 0x4c]
pop ecx
pop ecx
push 0xffffffffffffffff
mov ecx, dword [0x101dd3d8]
push eax
cvttss2si eax, dword [esp + 0x48]
push eax
cvttss2si eax, dword [esp + 0x58]
push eax
cvttss2si eax, dword [esp + 0x60]
push eax
call fcn.10041cb6
mov ecx, dword [0x101dd3d8]
push 0xff
push 0xff0082ff
sub esp, 0x10
and dword [esp + 0xc], 0
mov dword [esp + 8], 0x41400000
and dword [esp + 4], 0
and dword [esp], 0
call fcn.10041ae5
mov eax, ebp
jmp 0x10007aee
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret