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

Disassembly:
sub esp, 0xb0
cmp dword [0x10179594], 0
push ebx
push ebp
push esi
push edi
je 0x100076c7
call fcn.10029dc3
test eax, eax
jne 0x100076c7
cmp dword [0x1018d794], eax
je 0x100076c7
push dword [0x1018d79c]
call fcn.1002a067
pop ecx
test eax, eax
jne 0x100076c7
lea eax, [esp + 0x4c]
or ebp, 0xffffffff
push eax
lea eax, [esp + 0x54]
push eax
call fcn.10040321
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.1000771b
pop ecx
test al, al
je 0x100076b6
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.1003eb0b
movss xmm0, dword [esp + 0x3c]
lea eax, [esp + 0x68]
cvtps2pd xmm0, xmm0
push eax
lea eax, [esp + 0x60]
push eax
addsd xmm0, qword [0x10074eb0]
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.10041674
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 [0x10074ea0]
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 [0x10074ea0]
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 [0x10074eac]
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 [0x10157e8c]
mulss xmm1, xmm1
mulss xmm0, dword [0x10074eac]
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 + 0xb0]
addss xmm0, dword [0x10074ed0]
movsd qword [esp + 0x44], xmm3
mulss xmm0, xmm0
comiss xmm0, xmm2
jb 0x100076b6
mov eax, dword [0x10179594]
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 0x100076b6
movss xmm0, dword [0x10074e84]
comiss xmm0, dword [esp + 0x68]
ja 0x100076b6
movss xmm1, dword [esp + 0x1c]
cvtps2pd xmm0, xmm1
comisd xmm3, xmm0
jbe 0x10007324
ucomiss xmm1, dword [0x10074e9c]
lahf
test ah, 0x44
jp 0x100076b6
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.1003ded5
movss xmm0, dword [esp + 0x88]
cvtps2pd xmm0, xmm0
push ebx
addsd xmm0, qword [0x10074eb0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x8c], xmm0
call fcn.1003e9c3
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100076b6
mov ecx, dword [0x1018d794]
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 0x100076b6
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.10029329
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.10029329
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.10029329
movss xmm0, dword [eax + 8]
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x80]
movss dword [esp + 0x88], xmm0
push eax
call fcn.10041674
movss xmm0, dword [0x10074e84]
add esp, 0x18
comiss xmm0, dword [esp + 0x8c]
ja 0x100076b4
mov ecx, dword [0x1011ded0]
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 [0x10157e8c]
cmp byte [ecx + 0x7f], 0
je 0x100074e7
mov ecx, dword [0x1011ded0]
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 [0x1011ded0]
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 0x100076c7
mov ecx, dword [0x10157e8c]
cmp dword [ecx + ebx*4 + 0x115], edi
jne 0x100076b6
cmp dword [ecx + ebx*4 + 0x15f9], edi
je 0x10007509
cmp dword [ecx + 0x98], edi
jne 0x100076b6
mov edx, dword [0x10179598]
cmp dword [ecx + 0x9c], edi
je 0x10007528
mov eax, dword [edx + ebx*4 + 0x26]
mov eax, dword [eax + 8]
cmp byte [eax + 0x1a], 0x13
je 0x100076b6
cmp dword [ecx + 0xa4], edi
je 0x10007562
movzx eax, word [edx]
push 0xff000000
push eax
call fcn.1003f1b8
push 0xff000000
push ebx
mov esi, eax
call fcn.1003f1b8
add esp, 0x10
cmp eax, esi
je 0x100076b6
mov ecx, dword [0x10157e8c]
mov edx, dword [0x10179598]
cmp dword [ecx + 0xa0], edi
je 0x10007577
mov eax, dword [edx + ebx*4 + 0x26]
cmp dword [eax], 0xa
jl 0x100076b6
cmp dword [ecx + 0xa8], edi
je 0x100075b0
mov eax, dword [edx + ebx*4 + 0x26]
mov edx, 0x6a5
mov eax, dword [eax + 8]
movzx eax, word [eax + 0x7c]
cmp ax, dx
je 0x100076b6
mov edx, 0x3fb
cmp ax, dx
je 0x100076b6
dec edx
cmp ax, dx
je 0x100076b6
cmp dword [ecx + 0x9c], edi
je 0x100075c8
push ebx
call fcn.1003ec0a
pop ecx
cmp eax, 0x13
je 0x100076b6
movsd xmm0, qword [esp + 0x44]
cvtpd2ps xmm0, xmm0
push ebx
movss dword [esp + 0x20], xmm0
call fcn.1003ec0a
pop ecx
cmp eax, 0x11
jne 0x10007644
mov eax, dword [0x10179598]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x60]
test al, al
je 0x10007637
cmp al, 1
je 0x10007637
cmp al, 2
je 0x10007637
cmp al, 3
je 0x10007637
cmp al, 4
je 0x10007637
cmp al, 5
je 0x10007637
cmp al, 6
je 0x10007637
cmp al, 7
je 0x10007637
cmp al, 8
je 0x10007637
cmp al, 0xa
je 0x10007637
cmp al, 0xb
je 0x10007637
cmp al, 0xc
je 0x10007637
cmp al, 0xd
je 0x10007637
cmp al, 0xe
je 0x10007637
cmp al, 0xf
je 0x10007637
cmp al, 0x2b
je 0x10007637
cmp al, 0x2e
jne 0x10007644
mov eax, dword [0x10157e8c]
cmp dword [eax + 0xac], edi
jne 0x100076b6
push ebx
call fcn.1003ec0a
pop ecx
cmp eax, 0x12
jne 0x100076b0
mov eax, dword [0x10179598]
mov eax, dword [eax + ebx*4 + 0x26]
mov eax, dword [eax + 8]
mov al, byte [eax + 0x27]
test al, al
je 0x100076a3
cmp al, 1
je 0x100076a3
cmp al, 2
je 0x100076a3
cmp al, 3
je 0x100076a3
cmp al, 4
je 0x100076a3
cmp al, 5
je 0x100076a3
cmp al, 6
je 0x100076a3
cmp al, 7
je 0x100076a3
cmp al, 8
je 0x100076a3
cmp al, 0xa
je 0x100076a3
cmp al, 0xb
je 0x100076a3
cmp al, 0xc
je 0x100076a3
cmp al, 0xd
je 0x100076a3
cmp al, 0xe
je 0x100076a3
cmp al, 0xf
je 0x100076a3
cmp al, 0x2b
je 0x100076a3
cmp al, 0x2e
jne 0x100076b0
mov eax, dword [0x10157e8c]
cmp dword [eax + 0xac], edi
jne 0x100076b6
mov ebp, ebx
jmp 0x100076b6
xor edi, edi
inc ebx
cmp ebx, 0x3ec
jl 0x10007147
mov eax, ebp
jmp 0x100076ca
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb0
ret