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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
xor edx, edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x490237
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4ea22c]
mov eax, dword [eax]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x14]
call fcn.004b7510
mov edx, dword [0x4ea64c]
cmp eax, dword [edx]
jne 0x490221
call fcn.0040a51c
add esp, 0xfffffff8
fstp qword [esp]
wait
lea ecx, [ebp - 0x16]
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x12]
call fcn.0040a4d4
mov eax, dword [ebp - 4]
push dword [eax + 0x23c]
push dword [eax + 0x238]
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x1a]
lea eax, [ebp - 0x18]
call fcn.0040a4d4
mov ax, word [ebp - 0x12]
cmp ax, word [ebp - 0x18]
jne 0x48fedd
mov ax, word [ebp - 0x14]
cmp ax, word [ebp - 0x1a]
jne 0x48fedd
mov ax, word [ebp - 0x16]
cmp ax, word [ebp - 0x1c]
je 0x48fefe
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x244], edx
call fcn.0040a57c
mov eax, dword [ebp - 4]
fstp qword [eax + 0x238]
wait
mov eax, dword [ebp - 4]
mov byte [eax + 0x40], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x40], 0
jne 0x4900a5
mov eax, dword [ebp - 4]
cmp byte [eax + 0x41], 0
jne 0x4900a5
call fcn.0040a548
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0xe]
lea edx, [ebp - 0xc]
lea eax, [ebp - 0xa]
call fcn.0040a1bc
cmp word [ebp - 0xa], 0x14
jne 0x4900a5
mov eax, dword [ebp - 4]
mov byte [eax + 0x40], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [eax]
call dword [edx + 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
mov eax, dword [eax + 8]
dec eax
cmp eax, 0
jl 0x49001d
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00411704
push dword [eax + 4]
push dword [eax]
lea ecx, [ebp - 0x1c]
lea edx, [ebp - 0x1a]
lea eax, [ebp - 0x18]
call fcn.0040a4d4
mov ax, word [ebp - 0x12]
cmp ax, word [ebp - 0x18]
jne 0x490010
mov ax, word [ebp - 0x14]
cmp ax, word [ebp - 0x1a]
jne 0x490010
mov ax, word [ebp - 0x16]
cmp ax, word [ebp - 0x1c]
jne 0x490010
mov eax, dword [ebp - 4]
mov byte [eax + 0x41], 1
mov eax, dword [ebp - 4]
mov byte [eax + 0x42], 0
call fcn.0040a57c
mov eax, dword [ebp - 4]
fstp qword [eax + 0x38]
wait
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 4]
mov dword [edx + 0x44], eax
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00411704
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.00411558
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00411704
mov edx, dword [0x48e338]
call fcn.00404998
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.004115a4
dec dword [ebp - 8]
cmp dword [ebp - 8], 0xffffffff
jne 0x48ff69
mov eax, dword [ebp - 4]
cmp byte [eax + 0x41], 0
je 0x4900a5
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
call fcn.00411558
mov eax, dword [ebp - 4]
call fcn.00491074
mov eax, dword [ebp - 4]
call fcn.0048ebd0
push 0
mov ecx, dword [0x4ea64c]
mov ecx, dword [ecx]
mov eax, dword [0x4ea490]
mov eax, dword [eax]
mov edx, 0xd4
call fcn.004af728
lea eax, [ebp - 0x20]
mov edx, 0x49024c
call fcn.00403ce4
mov eax, dword [0x4ea490]
mov eax, dword [eax]
mov edx, dword [ebp - 0x20]
call fcn.004aeaf0
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [0x4ea64c]
mov ecx, dword [ecx]
mov eax, dword [0x4ea490]
mov eax, dword [eax]
mov edx, 0xcc
call fcn.004af728
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00490460
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
cmp dword [edx + eax*8 + 0xc8], 0
je 0x4900e8
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*8 + 0xc8]
cmp byte [eax + 0x2fc], 0
je 0x4900e8
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov dword [edx + eax*8 + 0xc8], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jne 0x4900aa
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
cmp dword [edx + eax*8 + 0x128], 0
je 0x490134
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
mov eax, dword [edx + eax*8 + 0x128]
cmp byte [eax + 0x2fc], 0
je 0x490134
mov eax, dword [ebp - 8]
lea eax, [eax + eax*2]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov dword [edx + eax*8 + 0x128], ecx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xc
jne 0x4900f6
mov eax, dword [ebp - 4]
cmp byte [eax + 0x41], 0
je 0x4901f1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
mov byte [eax + 0x345], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x98]
mov byte [eax + 0x345], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb0]
mov byte [eax + 0x345], 0
mov eax, dword [ebp - 4]
cmp byte [eax + 0x42], 0
jne 0x4901d5
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x44]
cmp eax, 0x64b540
jbe 0x4901d5
mov eax, dword [ebp - 4]
mov byte [eax + 0x42], 1
lea eax, [ebp - 0x20]
mov edx, 0x49026c
call fcn.00403ce4
mov eax, dword [0x4ea490]
mov eax, dword [eax]
mov edx, dword [ebp - 0x20]
call fcn.004aeaf0
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [0x4ea64c]
mov ecx, dword [ecx]
mov eax, dword [0x4ea490]
mov eax, dword [eax]
mov edx, 0xcc
call fcn.004af728
call sub.kernel32.dll_GetTickCount
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x44]
cmp eax, 0x6ddd00
jbe 0x490221
mov eax, dword [ebp - 4]
call fcn.00491408
jmp 0x490221
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x80]
mov byte [eax + 0x345], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x98]
mov byte [eax + 0x345], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb0]
mov byte [eax + 0x345], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x49023e
lea eax, [ebp - 0x20]
call fcn.00403c4c
ret