Function at 0x4ae42c
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 0x4ae7be
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 [0x534350]
movzx edx, word [edx + 0x64]
cmp eax, edx
jbe 0x4ae470
mov eax, dword [ebp + 8]
cmp byte [eax + 0x17], 0
jne 0x4ae7af
mov eax, dword [ebp + 8]
cmp byte [eax + 0x17], 0
jne 0x4ae50c
mov eax, dword [ebp + 8]
cmp word [eax + 8], 0x1a
jne 0x4ae49d
call fcn.00406bb0
sub eax, dword [0x536030]
cmp eax, 0x2710
jb 0x4ae7be
mov eax, dword [ebp + 8]
cmp word [eax + 8], 0x1b
jne 0x4ae4bd
call fcn.00406bb0
sub eax, dword [0x536034]
cmp eax, 0xbb8
jb 0x4ae7be
call fcn.00406bb0
sub eax, dword [0x53602c]
cmp eax, 0x1f4
jbe 0x4ae7be
call fcn.00406bb0
mov dword [0x53602c], eax
xor eax, eax
mov dword [0x5360b4], eax
push 0
mov eax, dword [ebp + 8]
movzx eax, word [eax + 8]
push eax
push 0
mov eax, dword [0x534350]
xor ecx, ecx
mov cl, byte [eax + 0xc]
mov edx, 0xbc9
mov eax, dword [ebp - 4]
call fcn.004b3aa0
jmp 0x4ae7be
mov eax, dword [0x536090]
mov dword [0x536094], eax
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
call fcn.004bd920
cmp byte [0x54d852], 1
jne 0x4ae617
cmp byte [0x53a030], 0
jne 0x4ae617
push ebp
mov eax, dword [ebp + 8]
movzx eax, word [eax + 8]
call fcn.004ae3cc
pop ecx
test al, al
je 0x4ae617
mov edx, dword [0x536098]
mov eax, dword [0x5342e8]
call fcn.004c6834
test al, al
jne 0x4ae56c
xor eax, eax
mov dword [0x536098], eax
cmp dword [0x536098], 0
je 0x4ae5ae
mov eax, dword [0x536098]
cmp byte [eax + 0x2c], 0
jne 0x4ae5a7
mov eax, dword [0x536098]
cmp byte [eax + 0x85], 0
je 0x4ae5a7
mov eax, dword [0x536098]
mov edx, dword [eax + 0x40]
mov eax, dword [0x534350]
mov eax, dword [eax + 0x40]
call fcn.00404c88
test eax, eax
jle 0x4ae5ae
xor eax, eax
mov dword [0x536098], eax
cmp dword [0x536094], 0
je 0x4ae5e0
mov eax, dword [0x536094]
cmp byte [eax + 0x2c], 0
jne 0x4ae5e0
cmp byte [0x54d857], 0
jne 0x4ae5e0
cmp byte [0x53a030], 0
jne 0x4ae5e0
mov eax, dword [0x536094]
mov dword [0x536098], eax
jmp 0x4ae617
mov eax, dword [0x536098]
mov dword [0x536094], eax
cmp dword [0x536094], 0
je 0x4ae617
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x536094]
movzx ecx, word [eax + 0xa]
mov eax, dword [0x536094]
movzx edx, word [eax + 8]
mov eax, dword [0x5342e8]
call fcn.004c5db8
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
mov edx, 0xaf
mov eax, 0x186
call fcn.0050b7d8
mov dword [ebp - 0x10], eax
mov edx, dword [0x536094]
mov eax, dword [0x5342e8]
call fcn.004c6834
test al, al
jne 0x4ae64b
xor eax, eax
mov dword [0x536094], eax
cmp dword [0x536094], 0
jne 0x4ae673
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 [0x5342e8]
call fcn.004c5e3c
xor eax, eax
mov dword [ebp - 0x1c], eax
jmp 0x4ae696
mov eax, dword [0x536094]
movzx eax, word [eax + 8]
mov dword [ebp - 0x14], eax
mov eax, dword [0x536094]
movzx eax, word [eax + 0xa]
mov dword [ebp - 0x18], eax
mov eax, dword [0x536094]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
call fcn.004b5354
test al, al
je 0x4ae7be
mov eax, dword [ebp - 4]
call fcn.004b5310
test al, al
je 0x4ae7be
call fcn.00406bb0
mov dword [0x53602c], eax
mov eax, 0x24
call fcn.0040279c
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
xor ecx, ecx
mov edx, 0x24
call fcn.00403178
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 [0x5360b4], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
cmp eax, 0x1f
ja case.0x4ae71e.0
mov al, byte [eax + 0x4ae725]
jmp dword [eax*4 + 0x4ae745]
call fcn.00406bb0
mov dword [0x53603c], eax
xor eax, eax
mov dword [0x5360b8], eax
cmp dword [0x536094], 0
je 0x4ae788
mov eax, dword [0x536094]
cmp byte [eax + 0xe], 0
jne 0x4ae788
mov eax, 0x44c
call fcn.00403198
add eax, 0x12c
mov dword [0x5360b8], 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 [0x534350]
call fcn.00500504
jmp 0x4ae7be
mov edx, 0x4ae7cc
mov eax, dword [0x5342d8]
call fcn.004cdaf4
mov esp, ebp
pop ebp
ret 4