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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52e3cd
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x5c2460]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push esi
push edi
mov eax, dword [0x5c2460]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x34], 0
jne 0x49415d
mov eax, 0x80004005
jmp 0x494511
mov ecx, dword [edi + 0x98]
test ecx, ecx
je 0x494153
mov eax, dword [edi + 0x94]
test al, 0x20
jne 0x494179
xor eax, eax
inc eax
jmp 0x494511
and eax, 0xffffffdf
push 3
mov dword [edi + 0x94], eax
pop eax
cmp dword [edi + 0x5c], eax
jne 0x494234
mov eax, SysReAllocString
lea edx, [esp + 0x14]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x108]
mov eax, dword [edi + 0x98]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x174]
movss xmm3, dword [0x597278]
mov edx, eax
xorps xmm2, xmm2
movd xmm1, dword [edx]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [edi + 0x40]
movaps xmm0, xmm1
addss xmm0, xmm3
comiss xmm1, xmm2
cvttss2si ecx, xmm0
movaps xmm0, xmm1
subss xmm0, xmm3
cvttss2si eax, xmm0
cmovae eax, ecx
mov dword [edi + 0x60], eax
movd xmm1, dword [edx + 4]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [edi + 0x4c]
movaps xmm0, xmm1
addss xmm0, xmm3
comiss xmm1, xmm2
cvttss2si ecx, xmm0
movaps xmm0, xmm1
subss xmm0, xmm3
cvttss2si eax, xmm0
cmovae eax, ecx
xor ebx, ebx
mov dword [edi + 0x64], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov eax, dword [edx]
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 4]
jmp 0x494387
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
cmp eax, 0xffffffff
jne 0x494259
cmp ecx, eax
jne 0x494259
lea eax, [esp + 0x54]
push eax
push dword [edi + 0x34]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
movd xmm1, eax
xorps xmm2, xmm2
cvtdq2ps xmm1, xmm1
movss xmm3, dword [0x597278]
divss xmm1, dword [edi + 0x40]
movaps xmm0, xmm1
addss xmm0, xmm3
comiss xmm1, xmm2
cvttss2si eax, xmm0
movaps xmm0, xmm1
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm0, xmm3
divss xmm1, dword [edi + 0x4c]
cvttss2si edx, xmm0
movaps xmm0, xmm1
cmovae edx, eax
addss xmm0, xmm3
comiss xmm1, xmm2
cvttss2si eax, xmm0
movaps xmm0, xmm1
subss xmm0, xmm3
cvttss2si ecx, xmm0
cmovae ecx, eax
cmp dword [edi + 0x5c], 1
mov eax, SysReAllocString
cmove edx, eax
cmp dword [edi + 0x5c], 2
mov dword [esp + 0x14], edx
lea edx, [esp + 0x14]
cmove ecx, eax
mov eax, dword [edi + 0x98]
mov dword [esp + 0x18], ecx
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x108]
mov eax, dword [edi + 0x98]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x174]
movss xmm3, dword [0x597278]
mov edx, eax
xorps xmm2, xmm2
movd xmm1, dword [edx]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [edi + 0x40]
movaps xmm0, xmm1
addss xmm0, xmm3
comiss xmm1, xmm2
cvttss2si ecx, xmm0
movaps xmm0, xmm1
subss xmm0, xmm3
cvttss2si eax, xmm0
cmovae eax, ecx
mov dword [edi + 0x60], eax
movd xmm1, dword [edx + 4]
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [edi + 0x4c]
movaps xmm0, xmm1
addss xmm0, xmm3
comiss xmm1, xmm2
cvttss2si ecx, xmm0
movaps xmm0, xmm1
subss xmm0, xmm3
cvttss2si eax, xmm0
cmovae eax, ecx
cmp dword [edi + 0x5c], 1
mov dword [edi + 0x64], eax
jne 0x494364
mov eax, dword [edx]
mov dword [esp + 0x14], eax
jmp 0x494371
cmp dword [edi + 0x5c], 2
jne 0x494371
mov eax, dword [edx + 4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
xor ebx, ebx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], eax
lea edx, [esp + 0x44]
mov eax, dword [edi + 0x98]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x10c]
or dword [edi + 0x94], 0x10
mov ecx, edi
call fcn.00493ed2
mov esi, dword [edi + 0x70]
jmp 0x4944de
mov eax, dword [esi]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x178]
mov dword [esp + 0x1c], eax
mov ecx, dword [eax]
mov dword [esp + 0x14], ecx
cmp ecx, dword [esi + 4]
je 0x494434
mov ecx, dword [esi]
push 3
pop eax
mov word [esp + 0x34], ax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x78], ebx
mov eax, dword [esi + 4]
push 3
pop edx
mov word [esp + 0x44], dx
mov dword [esp + 0x4c], eax
lea edx, [esp + 0x34]
mov byte [esp + 0x78], 1
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x48]
push edx
push 0x413
push ecx
call dword [eax + 0xf4]
lea eax, [esp + 0x44]
mov byte [esp + 0x78], bl
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
or dword [esp + 0x78], 0xffffffff
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 4]
cmp edx, dword [esi + 8]
je 0x4944a1
mov ecx, dword [esi]
push 3
pop eax
mov word [esp + 0x54], ax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x78], 2
mov eax, dword [esi + 8]
push 3
pop edx
mov word [esp + 0x24], dx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x78], dl
lea edx, [esp + 0x54]
mov eax, dword [ecx]
push edx
lea edx, [esp + 0x28]
push edx
push 0x412
push ecx
call dword [eax + 0xf4]
lea eax, [esp + 0x24]
mov byte [esp + 0x78], 2
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
or dword [esp + 0x78], 0xffffffff
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x1c]
push eax
lea eax, [esi + 4]
push eax
lea ecx, [esp + 0x28]
call fcn.00485dba
mov dword [esp + 0x78], 4
mov eax, dword [esi]
push dword [esp + 0x20]
push 0x13e5
mov ecx, dword [eax]
push eax
call dword [ecx + 0x4c]
or dword [esp + 0x78], 0xffffffff
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4944db
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
add esi, 0xc
cmp esi, dword [edi + 0x74]
jne 0x4943b5
mov ebx, dword [edi + 0x74]
mov esi, dword [edi + 0x70]
jmp 0x4944fe
mov ecx, dword [esi]
test ecx, ecx
je 0x4944fb
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
add esi, 0xc
cmp esi, ebx
jne 0x4944ef
mov eax, dword [edi + 0x70]
mov ecx, edi
mov dword [edi + 0x74], eax
call fcn.00494056
xor eax, eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.00501d03
mov esp, ebp
pop ebp
ret 8