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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe0
mov dword [ebp - 4], eax
cmp dword [0x5f1b38], 0
je 0x48efb9
cmp dword [0x5f3824], 0
jl 0x48ee78
mov eax, dword [ebp - 4]
call fcn.0049477c
test al, al
je 0x48ee78
mov eax, dword [ebp - 4]
call fcn.00494738
test al, al
je 0x48ee78
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 8]
cmp eax, dword [0x5f3824]
jne 0x48eaed
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 0xa]
cmp eax, dword [0x5f3828]
je 0x48ee78
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 8]
mov dword [ebp - 8], eax
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 0xa]
mov dword [ebp - 0xc], eax
mov eax, dword [0x5f3824]
mov dword [ebp - 0x10], eax
mov eax, dword [0x5f3828]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.004d3350
mov byte [ebp - 0x19], al
mov al, byte [0x5f3848]
sub al, 1
jb 0x48eb3e
je 0x48ed86
jmp 0x48ee78
mov eax, dword [0x5f1b38]
call fcn.004ca194
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov cl, byte [ebp - 0x19]
mov edx, 0xbc3
mov eax, dword [ebp - 4]
call fcn.004948b0
test al, al
je 0x48ed77
cmp dword [ebp - 0x18], 0
jle 0x48ed77
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov al, byte [ebp - 0x19]
call fcn.004d31cc
mov byte [ebp - 0x1c], 1
mov byte [ebp - 0x1d], 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5f18b0]
call fcn.004a0ee0
test al, al
jne 0x48ed45
mov byte [ebp - 0x1c], 0
mov byte [ebp - 0x1a], 0
cmp byte [ebp - 0x1c], 0
jne 0x48ebe7
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 8]
mov dword [ebp - 8], eax
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 0xa]
mov dword [ebp - 0xc], eax
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov al, byte [ebp - 0x19]
call fcn.004d31cc
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
call fcn.004914c4
test al, al
je 0x48ebe7
mov byte [ebp - 0x1d], 1
cmp byte [ebp - 0x1d], 0
jne 0x48eca1
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5f18b0]
call fcn.004a0f24
test al, al
jne 0x48eca1
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 8]
mov dword [ebp - 8], eax
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 0xa]
mov dword [ebp - 0xc], eax
xor eax, eax
mov al, byte [ebp - 0x19]
call fcn.004d3bcc
mov byte [ebp - 0x1a], al
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov al, byte [ebp - 0x1a]
call fcn.004d31cc
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5f1b34]
call fcn.004d2280
test al, al
jne 0x48ec9d
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 8]
mov dword [ebp - 8], eax
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 0xa]
mov dword [ebp - 0xc], eax
xor eax, eax
mov al, byte [ebp - 0x19]
call fcn.004d3bf4
mov byte [ebp - 0x1a], al
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov al, byte [ebp - 0x1a]
call fcn.004d31cc
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [0x5f1b34]
call fcn.004d2280
test al, al
je 0x48eca1
mov byte [ebp - 0x1c], 1
jmp 0x48eca1
mov byte [ebp - 0x1c], 1
cmp byte [ebp - 0x1c], 0
je 0x48ecd9
mov eax, dword [ebp - 0xc]
push eax
xor eax, eax
mov al, byte [ebp - 0x1a]
push eax
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 8]
mov dx, 0xbc3
mov eax, dword [0x5f1b38]
call fcn.004c91e8
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5f36f0], eax
jmp 0x48ee78
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [0x5f1b38]
movzx edx, word [eax + 0xa]
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 8]
mov ecx, dword [ebp - 0x10]
call fcn.004d3350
mov byte [ebp - 0x1b], al
mov eax, dword [0x5f1b38]
mov al, byte [eax + 0xc]
cmp al, byte [ebp - 0x1b]
je 0x48ed36
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 0xa]
push eax
xor eax, eax
mov al, byte [ebp - 0x1b]
push eax
push 0
push 0
push 0
push 0
mov eax, dword [0x5f1b38]
movzx ecx, word [eax + 8]
mov dx, 0xbc2
mov eax, dword [0x5f1b38]
call fcn.004c912c
mov dword [0x5f3824], 0xffffffff
jmp 0x48ee78
mov eax, dword [ebp - 0xc]
push eax
xor eax, eax
mov al, byte [ebp - 0x19]
push eax
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 8]
mov dx, 0xbc3
mov eax, dword [0x5f1b38]
call fcn.004c91e8
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5f36f0], eax
jmp 0x48ee78
mov dword [0x5f3824], 0xffffffff
jmp 0x48ee78
cmp dword [0x5f384c], 1
jl 0x48ee6d
mov eax, dword [0x5f1b38]
call fcn.004ca1cc
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.004d3194
cmp eax, 2
jl 0x48eb3e
cmp dword [ebp - 0x18], 0
jle 0x48eb3e
xor ecx, ecx
mov cl, byte [ebp - 0x19]
mov edx, 0xbc5
mov eax, dword [ebp - 4]
call fcn.004948b0
test al, al
je 0x48ee61
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
mov al, byte [ebp - 0x19]
call fcn.004d3288
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [0x5f1b38]
movzx ecx, word [eax + 0xa]
mov eax, dword [0x5f1b38]
movzx edx, word [eax + 8]
mov eax, dword [0x5f18b0]
call fcn.004a0e64
test al, al
je 0x48ee44
mov eax, dword [ebp - 0xc]
push eax
xor eax, eax
mov al, byte [ebp - 0x19]
push eax
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 8]
mov dx, 0xbc5
mov eax, dword [0x5f1b38]
call fcn.004c91e8
call sub.kernel32.dll_GetTickCount_1
mov dword [0x5f36f0], eax
jmp 0x48ee78
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 8]
mov dword [ebp - 8], eax
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 0xa]
mov dword [ebp - 0xc], eax
jmp 0x48eb3e
mov dword [0x5f3824], 0xffffffff
jmp 0x48ee78
inc dword [0x5f384c]
jmp 0x48eb3e
mov dword [0x5f3824], 0xffffffff
mov eax, dword [0x5f1b38]
cmp dword [eax + 0x224], 0
jle 0x48efb9
mov eax, dword [0x5f1b38]
mov eax, dword [eax + 0x224]
mov edx, dword [ebp - 4]
mov dword [edx + 0x3a0], eax
mov eax, dword [0x5f1b38]
mov eax, dword [eax + 0x230]
mov edx, dword [ebp - 4]
mov dword [edx + 0x3a4], eax
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebp - 4]
mov dword [edx + 0x3a8], eax
mov eax, dword [0x5f1b38]
cmp dword [eax + 0x224], 0xbc9
jne 0x48ef1f
mov eax, dword [0x5f1b38]
mov eax, dword [eax + 0x22c]
push eax
mov eax, dword [0x5f1b38]
mov eax, dword [eax + 0x230]
push eax
mov eax, dword [0x5f1b38]
mov eax, dword [eax + 0x238]
push eax
mov eax, dword [0x5f1b38]
mov ecx, dword [eax + 0x228]
mov eax, dword [0x5f1b38]
mov edx, dword [eax + 0x224]
mov eax, dword [ebp - 4]
call fcn.00492f94
jmp 0x48ef55
mov eax, dword [0x5f1b38]
mov eax, dword [eax + 0x22c]
push eax
mov eax, dword [0x5f1b38]
mov eax, dword [eax + 0x230]
push eax
mov eax, dword [0x5f1b38]
mov ecx, dword [eax + 0x228]
mov eax, dword [0x5f1b38]
mov edx, dword [eax + 0x224]
mov eax, dword [ebp - 4]
call fcn.00492ef4
mov eax, dword [0x5f1b38]
xor edx, edx
mov dword [eax + 0x224], edx
cmp dword [0x5f3864], 0xffffffff
je 0x48efb9
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 8]
push eax
mov eax, dword [0x5f3864]
pop edx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jge 0x48efa3
mov eax, dword [0x5f1b38]
movzx eax, word [eax + 0xa]
push eax
mov eax, dword [0x5f3868]
pop edx
sub eax, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, 8
jl 0x48efb9
mov eax, dword [0x568bc8]
mov eax, dword [eax]
call fcn.004bf7a4
mov dword [0x5f3864], 0xffffffff
mov esp, ebp
pop ebp
ret