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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 8], 0
movsx eax, word [0x9ce430]
test eax, eax
jne 0x4823df
push 0x5eb090
push 0x9ce7c0
call fcn.005cc4f5
add esp, 8
push 0
push 0x9ce7c0
call fcn.00462350
add esp, 8
add eax, 0x6f
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov dword [0x9ce7bc], eax
cmp dword [0x9ce7bc], 2
jge 0x482351
mov dword [0x9ce7bc], 2
mov dword [0x9ce7b8], 1
cmp dword [0x9ce7b8], 2
jge 0x48236e
mov dword [0x9ce7b8], 2
mov ecx, dword [0x9ce7bc]
shl ecx, 6
mov eax, 0x280
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
mov dword [0x9ce7b4], eax
mov edx, dword [0x9ce7b8]
imul edx, edx, 0x30
mov eax, 0x1e0
sub eax, edx
cdq
sub eax, edx
sar eax, 1
mov dword [0x9ce7b0], eax
push 1
push 4
mov eax, dword [0x9ce7b8]
imul eax, eax, 0x30
push eax
mov ecx, dword [0x9ce7bc]
shl ecx, 6
push ecx
mov edx, dword [0x9ce7b0]
push edx
mov eax, dword [0x9ce7b4]
push eax
call fcn.00571bd0
add esp, 0x18
mov dword [0x9ce7ac], eax
mov ecx, 2
mov word [0x9ce430], cx
movsx edx, word [0x9ce430]
cmp edx, 1
jne 0x482490
movsx eax, word [0x9ce434]
test eax, eax
jne 0x482430
call fcn.00584a80
test eax, eax
jge 0x48240c
mov dword [ebp - 8], 0xfffffffc
jmp 0x482430
call fcn.00584d40
cmp eax, 1
je 0x48241f
mov dword [ebp - 8], 0xfffffffd
jmp 0x482430
call fcn.00584e70
mov ecx, 1
mov word [0x9ce434], cx
movsx edx, word [0x9ce434]
cmp edx, 1
jne 0x482473
call fcn.00584f20
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 1
jne 0x482457
mov eax, 2
mov word [0x9ce434], ax
jmp 0x482473
cmp dword [ebp - 0xc], 0xffffffff
jne 0x482466
mov dword [ebp - 8], 0xfffffffd
jmp 0x482473
cmp dword [ebp - 0xc], 0xffffffff
jne 0x482473
mov dword [ebp - 8], 0xfffffffc
movsx ecx, word [0x9ce434]
cmp ecx, 2
jne 0x482490
call fcn.00585140
mov edx, 2
mov word [0x9ce430], dx
movsx eax, word [0x9ce430]
cmp eax, 2
jne 0x482507
call fcn.005772b0
mov ecx, dword [0x605204]
push ecx
call fcn.005b56b0
add esp, 4
call fcn.00577230
test eax, eax
je 0x482500
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x4824da
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0x20], edx
jmp 0x4824e3
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x20]
mov dword [0x9ce438], edx
mov byte [0x9ce417], 0
mov eax, 3
mov word [0x9ce430], ax
jmp 0x482507
mov dword [ebp - 8], 0xffffffff
movsx ecx, word [0x9ce430]
cmp ecx, 3
jne 0x482524
call fcn.005778f0
mov edx, 4
mov word [0x9ce430], dx
movsx eax, word [0x9ce430]
cmp eax, 4
jne 0x48259a
call fcn.00577910
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
jne 0x482547
mov dword [ebp - 8], 1
jmp 0x48259a
cmp dword [ebp - 4], 0
jl 0x482593
call dword [sym.imp.kernel32.dll_GetTickCount]
cmp eax, 0x35a4e900
jbe 0x48256e
call dword [sym.imp.kernel32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x35a4e900
div ecx
mov dword [ebp - 0x24], edx
jmp 0x482577
call dword [sym.imp.kernel32.dll_GetTickCount]
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
sub edx, dword [0x9ce438]
cmp edx, 0x4e20
ja 0x482593
movzx eax, byte [0x9ce417]
test eax, eax
je 0x48259a
mov dword [ebp - 8], 0xfffffffe
cmp dword [ebp - 8], 0
je 0x4825d1
cmp dword [0x9ce7ac], 0
je 0x4825c2
mov ecx, dword [0x9ce7ac]
push ecx
call fcn.004013e0
add esp, 4
mov dword [0x9ce7ac], 0
mov edx, dword [0x605204]
push edx
call fcn.005b56f0
add esp, 4
cmp dword [0x9ce7ac], 0
je 0x4826ed
push 1
mov ecx, dword [0x9ce7ac]
add ecx, 0x170
call fcn.005b7460
movzx ecx, al
test ecx, ecx
je 0x4826ed
push 0
push 0x9ce7c0
call fcn.00462350
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [0x9ce7bc]
shl eax, 6
sub eax, dword [ebp - 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x10], eax
mov eax, dword [0x9ce7b8]
imul eax, eax, 0x30
sub eax, 0x10
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x1c], eax
push 0
push 0
push 0x9ce7c0
push 0
push 0
push 2
mov edx, dword [0x9ce7b0]
add edx, dword [ebp - 0x1c]
push edx
mov eax, dword [0x9ce7b4]
add eax, dword [ebp - 0x10]
push eax
call fcn.00477f60
add esp, 0x20
mov byte [ebp - 0x15], 0
push 0xffffffffffffffff
mov ecx, dword [0x9ce7b0]
add ecx, 0x54
push ecx
mov edx, dword [0x9ce7b4]
add edx, 0x80
push edx
mov eax, dword [0x9ce7b0]
add eax, 0x42
push eax
mov ecx, dword [0x9ce7b4]
add ecx, 0x3e
push ecx
call fcn.00572260
add esp, 0x14
test eax, eax
je 0x48269e
mov byte [ebp - 0x15], 1
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x4826b7
mov eax, dword [0xf1ce2c]
and eax, 1
je 0x4826b7
mov byte [0x9ce417], 1
push 0
push 0
movzx ecx, byte [ebp - 0x15]
neg ecx
sbb ecx, ecx
and ecx, 2
add ecx, 0x3be48
push ecx
push 0xdf
mov edx, dword [0x9ce7b0]
add edx, 0x4b
push edx
mov eax, dword [0x9ce7b4]
add eax, 0x5f
push eax
call fcn.005a19f0
add esp, 0x18
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret