Function at 0x485d62
Capabilities:
Create thread

Disassembly:
push 0x7c
mov eax, 0x49abbe
call fcn.004961c2
mov eax, dword [ebp + 8]
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x80], eax
cmp dword [esi + 0xdc], edi
je 0x485da9
lea ecx, [esi + 0xe4]
mov dword [esi + 0xe0], 1
call fcn.00480ddd
push 0xffffffffffffffff
push dword [esi + 0xdc]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [esi + 0xdc], edi
lea eax, [esi + 0x34]
push eax
mov dword [ebp - 0x88], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [ebp - 0x80]
lea ecx, [esi + 0x24]
mov dword [ebp - 4], edi
call fcn.0045e612
mov eax, dword [ebp + 0xc]
cmp eax, 0xffffffff
jne 0x485dd9
push dword [esi + 0x24]
mov ecx, esi
call fcn.00485af4
mov dword [esi + 0x28], eax
lea ecx, [esi + 0x50]
cmp dword [ebp - 0x80], edi
jne 0x485f1e
call fcn.00483bae
lea eax, [ebp - 0x20]
push eax
push dword [esi + 4]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
call dword [sym.imp.USER32.dll_GetClientRect]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetDC]
push dword [esi + 0x90]
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
push eax
mov dword [ebp - 0x84], eax
call ebx
push 0x5c
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x7c]
push edi
push eax
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x7c]
push eax
push 0x5c
push dword [esi + 0x90]
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebp - 0x78]
push dword [ebp - 0x80]
mov dword [esi + 0x94], eax
mov eax, dword [ebp - 0x7c]
push dword [ebp - 0x84]
mov dword [esi + 0x98], eax
call ebx
lea ecx, [esi + 0xcc]
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc8], edi
mov dword [esi + 0xbc], edi
mov dword [esi + 0xc0], edi
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
push eax
push edx
lea eax, [ebp - 0x84]
push eax
call fcn.004839fc
lea ecx, [esi + 0xe4]
mov dword [esi + 0xa8], edi
mov dword [esi + 0xac], edi
mov dword [esi + 0xa4], edi
call fcn.00480d81
lea ecx, [esi + 0x108]
call fcn.004842ca
mov eax, dword [esi + 0x28]
cmp eax, edi
jne 0x485f4c
mov ecx, dword [esi + 0x60]
mov ebx, dword [esi + 0x64]
mov eax, ecx
or eax, ebx
je 0x485ee8
mov eax, dword [esi + 0xb0]
lea eax, [eax*4 + 0xb]
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0xb0]
cdq
push edx
push eax
push ebx
push ecx
call fcn.00496650
or ecx, ebx
mov dword [esi + 0xa8], eax
mov dword [esi + 0xac], edx
je 0x485fdf
add dword [esi + 0xa8], 1
adc dword [esi + 0xac], edi
jmp 0x485fdf
push dword [esi + 0x24]
call fcn.00484264
test eax, eax
jne 0x485ded
lea ecx, [esi + 0x24]
call fcn.00460045
push dword [ebp - 0x88]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, edi
call fcn.00496245
ret 0xc
cmp eax, 1
jne 0x485f8b
mov ebx, dword [ebp + 0x10]
mov eax, dword [esi + 0x24]
cmp ebx, 0xffffffff
jne 0x485f6d
lea ecx, [esi + 0x30]
push ecx
push eax
mov ecx, esi
call fcn.00481853
mov dword [esi + 0x2c], eax
jmp 0x485f90
lea ecx, [ebp - 0x80]
push ecx
push eax
mov ecx, esi
mov dword [esi + 0x2c], ebx
mov dword [ebp - 0x80], edi
call fcn.00481853
cmp ebx, eax
jne 0x485f90
mov eax, dword [ebp - 0x80]
mov dword [esi + 0x30], eax
jmp 0x485f90
cmp eax, 2
jne 0x485fbe
push edi
push edi
push esi
push 0x485a8b
push edi
push edi
mov dword [esi + 0xe0], edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
push edi
push 0xfa
push edi
push dword [esi + 4]
mov dword [esi + 0xdc], eax
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x485fdf
cmp eax, 3
jne 0x485fdf
push edi
push edi
push esi
push 0x485a8b
push edi
push edi
mov dword [esi + 0xe0], edi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0xdc], eax
mov ecx, esi
call fcn.004821c1
push edi
push edi
push dword [esi + 4]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_UpdateWindow]
xor edi, edi
inc edi
jmp 0x485f36