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

Disassembly:
sub esp, 8
push ebx
mov ebx, dword [esp + 0x10]
push esi
push edi
push 1
push ebx
mov esi, ecx
call fcn.004e47f0
mov edx, dword [eax]
add esp, 8
mov ecx, eax
mov eax, dword [edx + 0x20]
push 0
call eax
mov edi, eax
test edi, edi
je 0x495b70
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x495b7e
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov ecx, edi
test ecx, ecx
mov dword [esi + 0x20], edi
jne 0x495b9f
lea ecx, [esp + 0x18]
call fcn.0051c377
push 0x6952c4
lea ecx, [esp + 0x1c]
push ecx
call fcn.005f8355
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
push ebp
push ebx
call eax
mov ecx, dword [esi + 0x24]
test ecx, ecx
mov edi, dword [esi + 0x20]
lea ebp, [esi + 0x24]
je 0x495bc3
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [ebp], 0
mov edx, dword [edi]
mov eax, dword [edx + 0x30]
push ebp
push 0
mov ecx, edi
call eax
mov ecx, dword [esi + 0x28]
test ecx, ecx
mov ebx, dword [esi + 0x20]
lea edi, [esi + 0x28]
je 0x495be9
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [edi], 0
mov edx, dword [ebx]
mov eax, dword [edx + 0x34]
push edi
push 0
mov ecx, ebx
call eax
mov ecx, dword [ebp]
xor ebx, ebx
cmp ecx, ebx
je 0x495c6d
mov dword [esi + 0x78], ebx
mov dword [esi + 0x7c], ebx
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp]
mov dword [esi + 0x80], eax
mov dword [esi + 0x84], edx
mov edx, dword [ecx]
mov eax, dword [edx + 0x1c]
push ebx
call eax
mov ecx, dword [ebp]
or eax, 0xffffffff
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov edx, dword [ecx]
mov eax, dword [edx + 8]
call eax
mov edx, dword [eax]
mov edx, dword [edx + 0x14]
push ebx
push 0x3e8
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
call edx
mov ecx, eax
call fcn.0051db92
cmp dword [edi], ebx
je 0x495c60
sar eax, 2
push eax
lea eax, [esi + 4]
push eax
lea ecx, [esi + 0x44]
call fcn.005218fd
mov ecx, dword [edi]
cmp ecx, ebx
je 0x495d3e
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
mov ebx, eax
cmp word [ebx], 1
jne 0x495d2b
movzx ecx, word [ebx + 0xc]
mov eax, 0xcccccccd
mul dword [ebx + 8]
shr edx, 2
lea eax, [edx + ecx - 1]
xor edx, edx
div ecx
mov edi, eax
imul edi, ecx
mov ecx, dword [esi + 0x98]
mov dword [esp + 0x1c], ecx
call fcn.0046cfd0
mov eax, dword [eax]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 4]
push eax
push ebx
push 2
push edi
call edx
mov ecx, dword [esi + 0x98]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
call edx
push edi
lea ecx, [esi + 0xac]
call fcn.00414d00
lea eax, [edi*4]
push eax
lea ecx, [esi + 0xb4]
call fcn.0040d5f0
movzx ecx, word [ebx + 0xc]
mov eax, dword [esi + 0x10]
xor edi, edi
push edi
push 0xa
mov dword [esi + 0xa0], ecx
mov edx, dword [ebx + 4]
push 1
push eax
mov dword [esi + 0xa4], edx
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [esi + 0x9c], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0xa8], edi
jmp 0x495d3e
mov ecx, dword [edi]
test ecx, ecx
je 0x495d38
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
mov dword [edi], 0
cmp dword [ebp], 0
pop ebp
je 0x495d4c
mov ecx, esi
call fcn.00494c50
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x495d6e
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 0
push 3
call eax
mov esi, dword [esi + 0x14]
mov edx, dword [esi]
mov eax, dword [edx + 8]
push 0
push 4
mov ecx, esi
call eax
pop edi
pop esi
pop ebx
add esp, 8
ret 4