Function at 0x10048200
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x6c
mov esi, dword [0x100899c0]
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
mov dword [esp + 0x50], 0
mov edi, eax
sub eax, dword [0x10085410]
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x4c], 0x14
cmp eax, 0x10
ja 0x10048310
mov eax, dword [0x10085408]
mov edx, dword [0x1008540c]
shl eax, 0x10
and eax, 0x7fff0000
and edx, 0x7fff
or eax, edx
mov dword [esi + 0x3ffbffc], eax
mov eax, dword [0x10086644]
mov dword [esi + 0x3ffbff8], eax
mov eax, dword [0x100899c8]
mov dword [eax + 0xff0], 0x5b5eb5e5
mov esi, dword [esi + 0x3ffbff8]
test esi, 0xfe
je 0x100482fd
mov edi, esi
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
shr edi, 1
and edi, 0x7f
jmp 0x100482bc
mov dword [esp], 0
call ebp
sub esp, 4
call ebx
cmp eax, dword [0x10085404]
jb 0x100482b0
call ebx
xor edx, edx
mov ecx, eax
mov dword [0x10085404], eax
mov eax, 0x3e8
div edi
mov edi, eax
mov ebp, eax
not edi
cmp ecx, edi
jb 0x100482f5
lea esi, [esi]
call ebx
mov ecx, eax
mov dword [0x10085404], eax
cmp eax, edi
jae 0x100482e8
add ebp, ecx
mov dword [0x10085404], ebp
add esp, 0x6c
mov eax, esi
pop ebx
and eax, 1
pop esi
pop edi
pop ebp
ret 4
lea eax, [esp + 0x4c]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_GetCursorInfo]
sub esp, 4
test eax, eax
je 0x1004824e
cmp dword [esp + 0x50], 1
je 0x10048350
mov dword [0x10085408], 0
xor eax, eax
mov dword [0x1008540c], 0
jmp 0x10048269
mov eax, dword [esp + 0x80]
mov dword [0x10085410], edi
mov edi, dword [sym.imp.USER32.dll_WindowFromDC]
mov dword [esp], eax
call edi
sub esp, 4
lea edx, [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [sym.imp.USER32.dll_GetWindowRect]
sub esp, 8
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call edi
sub esp, 4
lea edx, [esp + 0x3c]
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [sym.imp.USER32.dll_GetClientRect]
sub esp, 8
mov edx, dword [esp + 0x38]
sub edx, dword [esp + 0x30]
mov edi, dword [esp + 0x5c]
mov ecx, edx
sub ecx, dword [esp + 0x48]
mov eax, edi
sub eax, ecx
cmp edi, ecx
mov ecx, 0
mov edi, dword [esp + 0x34]
cmovle eax, ecx
sub edi, dword [esp + 0x2c]
cmp dword [esp + 0x58], edi
mov dword [esp + 0x5c], eax
jl 0x100483dc
cmp edx, eax
jle 0x1004824e
mov ebp, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [esp], 0
sub edi, 1
call ebp
mov edx, dword [sym.imp.KERNEL32.dll_MulDiv]
sub esp, 4
sub eax, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], edi
mov dword [esp + 0x1c], edx
mov dword [esp], eax
call edx
sub esp, 0xc
mov edi, dword [esp + 0x38]
mov dword [esp + 0x58], eax
sub edi, dword [esp + 0x30]
mov dword [esp], 1
call ebp
sub esp, 4
sub eax, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
sub edi, 1
mov edx, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp], eax
call edx
sub esp, 0xc
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [0x10085408], eax
mov eax, dword [0x10086648]
mov dword [0x1008540c], edx
test eax, eax
je 0x1004824e
mov eax, dword [esp + 0x54]
cmp eax, dword [0x10086420]
je 0x1004824e
mov dword [esp], eax
call sym._wglSetDeviceCursor3DFX_4.part.0
sub esp, 4
jmp 0x1004824e