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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x20
push 0
push 0
dec ecx
jne 0x4ac23d
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov esi, 0x4b6cf4
mov edi, dword [0x4b3cf8]
xor eax, eax
push ebp
push 0x4aca27
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0xd], 0
xor ecx, ecx
mov dl, 1
mov eax, dword [0x4aa924]
call fcn.0049a1d4
mov dword [0x4b6cd8], eax
xor eax, eax
push ebp
push 0x4ac993
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x4b6cd8]
mov edx, dword [0x4b6cd8]
mov dword [eax + 0x2b4], edx
mov dword [eax + 0x2b0], 0x4ad0e0
xor eax, eax
mov dword [0x4b6cf0], eax
cmp dword [0x4b6cf0], 2
jge 0x4ac3b6
mov byte [esi], 0
lea eax, [ebp - 0x3c]
mov edx, dword [0x4b6cec]
call fcn.004050f4
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x4b6cd8]
call fcn.0049dc04
call sub.kernel32.dll_GetTickCount
mov ebx, eax
jmp 0x4ac2f4
mov eax, dword [0x4b4074]
mov eax, dword [eax]
call fcn.004549ec
call sub.kernel32.dll_GetTickCount
sub eax, ebx
cmp eax, 0x7530
jae 0x4ac30c
cmp byte [edi], 0
jne 0x4ac30c
cmp byte [esi], 0
je 0x4ac2e8
cmp byte [edi], 0
je 0x4ac31e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac9a7
cmp byte [esi], 0
je 0x4ac3a9
lea eax, [ebp - 0x14]
push eax
push 0x4aca38
push 0x4aca48
push 0x4aca50
lea edx, [ebp - 0x80]
mov eax, dword [0x4b6cd8]
call fcn.0049ae6c
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00410114
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00410114
add esp, 0xc
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00410114
add esp, 0xc
lea edx, [ebp - 0x50]
lea eax, [ebp - 0x40]
call fcn.004134ec
mov eax, dword [ebp - 0x40]
mov ecx, 9
mov edx, 1
call fcn.00404dc0
mov eax, dword [ebp - 0x14]
mov edx, 0x4aca64
call fcn.00404cac
je 0x4ac3b6
inc dword [0x4b6cf0]
cmp dword [0x4b6cf0], 2
jl 0x4ac2c1
cmp dword [0x4b6cf0], 2
jge 0x4ac989
push 0x4aca38
push 0x4aca48
push 0x4aca50
lea edx, [ebp - 0xc0]
mov eax, dword [0x4b6cd8]
call fcn.0049ae6c
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xb0]
push eax
call fcn.00410114
add esp, 0xc
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00410114
add esp, 0xc
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00410114
add esp, 0xc
lea edx, [ebp - 0x90]
lea eax, [ebp - 0x14]
call fcn.004134ec
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca78
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac4e0
lea eax, [ebp - 0x14]
mov ecx, 0xa
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca8c
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac4e0
push 0x4b6cdc
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac4e0
xor eax, eax
push ebp
push 0x4ac4d6
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc4]
push eax
mov ecx, esi
sub ecx, ebx
dec ecx
lea edx, [ebx + 1]
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov eax, dword [ebp - 0xc4]
call fcn.00409144
mov dword [0x4b6ce0], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac4e0
mov edx, dword [ebp - 0x14]
mov eax, 0x4acaa4
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac52c
lea ecx, [ebx + 7]
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac52c
push 0x4b6cf8
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov edx, dword [ebp - 0x14]
mov eax, 0x4acab8
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac578
lea ecx, [ebx + 7]
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac578
push 0x4b6cfc
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov edx, dword [ebp - 0x14]
mov eax, 0x4acacc
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac5f8
lea ecx, [ebx + 9]
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac5f8
xor eax, eax
push ebp
push 0x4ac5ee
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc8]
push eax
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov eax, dword [ebp - 0xc8]
call fcn.00409144
mov dword [0x4b6d0c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac5f8
mov edx, dword [ebp - 0x14]
mov eax, 0x4acae0
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac678
lea ecx, [ebx + 9]
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac678
xor eax, eax
push ebp
push 0x4ac66e
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xcc]
push eax
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov eax, dword [ebp - 0xcc]
call fcn.00409144
mov dword [0x4b6d10], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac678
cmp dword [0x4b6d0c], 0x19
jne 0x4ac68a
mov byte [0x4b6d08], 0
jmp 0x4ac691
mov byte [0x4b6d08], 1
mov edx, dword [ebp - 0x14]
mov eax, 0x4acaf4
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac6dd
lea ecx, [ebx + 9]
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac6dd
push 0x4b6d00
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov edx, dword [ebp - 0x14]
mov eax, 0x4acb08
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac74c
lea ecx, [ebx + 6]
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac74c
lea eax, [ebp - 0xd4]
push eax
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0xd0]
call fcn.004aac38
mov edx, dword [ebp - 0xd0]
mov eax, 0x4b6d04
call fcn.004048f4
mov edx, dword [ebp - 0x14]
mov eax, 0x4acb18
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac798
lea ecx, [ebx + 7]
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac798
push 0x4b6cec
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
mov edx, dword [ebp - 0x14]
mov eax, 0x4acb2c
call fcn.00404ea4
mov ebx, eax
test ebx, ebx
jle 0x4ac7e3
lea ecx, [ebx + 0xc]
lea eax, [ebp - 0x14]
mov edx, 1
call fcn.00404e00
mov edx, dword [ebp - 0x14]
mov eax, 0x4aca98
call fcn.00404ea4
mov esi, eax
cmp esi, 1
jle 0x4ac7e3
mov eax, dword [ebp - 4]
push eax
mov ecx, esi
dec ecx
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00404dc0
lea ecx, [ebp - 0xd8]
mov edx, 0xcb
mov eax, dword [0x4b6cd8]
call fcn.0049add4
mov edx, dword [ebp - 0xd8]
lea eax, [ebp - 0x28]
call fcn.00414678
push 0x4acb44
push 0x4acb50
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00410114
add esp, 0x10
xor eax, eax
push ebp
push 0x4ac87b
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x38]
call fcn.00414bc8
lea eax, [ebp - 0x38]
call fcn.00414bb4
test al, al
jne 0x4ac871
cmp dword [ebp - 0x14], 0
je 0x4ac871
push 0x4acb64
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.00410114
add esp, 0xc
lea edx, [ebp - 0xe8]
mov eax, dword [ebp - 8]
call fcn.004134ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac885
push 0x4acb78
push 0x4acb50
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00410114
add esp, 0x10
xor eax, eax
push ebp
push 0x4ac8fa
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x38]
call fcn.00414bc8
lea eax, [ebp - 0x38]
call fcn.00414bb4
test al, al
jne 0x4ac8f0
cmp dword [ebp - 0x14], 0
je 0x4ac8f0
push 0x4acb64
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0xf8]
push eax
call fcn.00410114
add esp, 0xc
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0xc]
call fcn.004134ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac904
push 0x4acb8c
push 0x4acb50
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00410114
add esp, 0x10
xor eax, eax
push ebp
push 0x4ac97b
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x14]
lea eax, [ebp - 0x38]
call fcn.00414bc8
lea eax, [ebp - 0x38]
call fcn.00414bb4
test al, al
jne 0x4ac971
cmp dword [ebp - 0x14], 0
je 0x4ac971
push 0x4acb64
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00410114
add esp, 0xc
lea edx, [ebp - 0x108]
mov eax, dword [0x4b4120]
call fcn.004134ec
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac985
mov byte [ebp - 0xd], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4ac99d
mov eax, dword [0x4b6cd8]
call fcn.00403a90
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4aca2e
lea eax, [ebp - 0x108]
mov edx, dword [0x401114]
mov ecx, 3
call fcn.004053d0
lea eax, [ebp - 0xd8]
call fcn.004063c8
lea eax, [ebp - 0xd4]
mov edx, 5
call fcn.004048c4
lea eax, [ebp - 0xc0]
mov edx, dword [0x401114]
mov ecx, 8
call fcn.004053d0
lea eax, [ebp - 0x40]
call fcn.004048a0
lea eax, [ebp - 0x3c]
call fcn.00404fa8
lea eax, [ebp - 0x38]
mov edx, dword [0x401114]
mov ecx, 2
call fcn.004053d0
lea eax, [ebp - 0x14]
call fcn.004048a0
ret