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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
je 0x48fe79
mov eax, dword [ebp + 8]
movzx eax, word [eax + 0x1a]
mov edx, dword [ebp + 8]
movzx edx, byte [edx + 0x3c]
add eax, edx
mov edx, dword [0x5f1b38]
movzx edx, word [edx + 0x3e]
cmp eax, edx
jbe 0x48fc2c
mov eax, dword [ebp + 8]
cmp byte [eax + 0x17], 0
jne 0x48fe6a
mov eax, dword [ebp + 8]
cmp byte [eax + 0x17], 0
jne 0x48fcc8
mov eax, dword [ebp + 8]
cmp word [eax + 8], 0x1a
jne 0x48fc59
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [0x5f37d8]
cmp eax, 0x2710
jb 0x48fe79
mov eax, dword [ebp + 8]
cmp word [eax + 8], 0x1b
jne 0x48fc79
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [0x5f37dc]
cmp eax, 0xbb8
jb 0x48fe79
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [0x5f37d4]
cmp eax, 0x1f4
jbe 0x48fe79
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5f37d4], eax
xor eax, eax
mov dword [0x5f3840], eax
push 0
mov eax, dword [ebp + 8]
movzx eax, word [eax + 8]
push eax
push 0
mov eax, dword [0x5f1b38]
xor ecx, ecx
mov cl, byte [eax + 0xc]
mov edx, 0xbc9
mov eax, dword [ebp - 4]
call fcn.00492f94
jmp 0x48fe79
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
mov edx, 0xaf
mov eax, 0x186
call fcn.004d3650
mov dword [ebp - 0x10], eax
mov eax, dword [0x5f3830]
mov dword [0x5f3834], eax
mov edx, dword [0x5f3834]
mov eax, dword [0x5f18b0]
call fcn.004a10c0
test al, al
jne 0x48fd06
xor eax, eax
mov dword [0x5f3834], eax
cmp dword [0x5f3834], 0
jne 0x48fd2e
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5f18b0]
call fcn.004a0714
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x48fd51
mov eax, dword [0x5f3834]
movzx eax, word [eax + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [0x5f3834]
movzx eax, word [eax + 0xa]
mov dword [ebp - 0x18], eax
mov eax, dword [0x5f3834]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
call fcn.0049477c
test al, al
je 0x48fe79
mov eax, dword [ebp - 4]
call fcn.00494738
test al, al
je 0x48fe79
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5f37d4], eax
mov eax, 0x24
call fcn.00402eb0
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, 0x24
call fcn.00403930
mov eax, dword [ebp + 8]
movzx eax, byte [eax + 0x18]
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x10], eax
mov eax, dword [ebp + 8]
movzx eax, word [eax + 8]
mov edx, dword [ebp - 0x20]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x38]
add eax, 0xc8
mov dword [0x5f3840], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
cmp eax, 0x1f
ja case.0x48fdd9.0
mov al, byte [eax + 0x48fde0]
jmp dword [eax*4 + 0x48fe00]
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5f37e4], eax
xor eax, eax
mov dword [0x5f3844], eax
cmp dword [0x5f3834], 0
je 0x48fe43
mov eax, dword [0x5f3834]
cmp byte [eax + 0xe], 0
jne 0x48fe43
mov eax, 0x44c
call fcn.00403324
add eax, 0x12c
mov dword [0x5f3844], eax
mov eax, dword [ebp - 0x18]
push eax
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x1c]
push eax
push 0
push 0
mov ecx, dword [ebp - 0x14]
mov dx, 0xbc9
mov eax, dword [0x5f1b38]
call fcn.004c912c
jmp 0x48fe79
mov edx, 0x48fe88
mov eax, dword [0x5f18a0]
call fcn.004a9998
mov esp, ebp
pop ebp
ret 4