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

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
push edi
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0xb5c4af
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [ebx + 0x40c], esi
mov eax, dword [esi + 0x24]
call fcn.00a15080
test eax, eax
jle 0xb5c2e8
mov ax, word [esi + 0x28]
test ax, ax
jne 0xb5c2de
cmp byte [esi + 0x30], 0
jne 0xb5c2de
xor edx, edx
mov eax, dword [esi + 0x24]
call fcn.00a19d90
mov edi, eax
test edi, edi
jle 0xb5c2e8
cmp edi, 0xffff
jg 0xb5c2e8
call sub.kernel32.dll_GetTickCount_1
mov dword [esi + 0x34], eax
cmp dword [ebx + 0x408], 0
je 0xb5c224
lea eax, [ebx + 0x408]
call fcn.00a1fa60
xor ecx, ecx
mov dl, 1
mov eax, dword [0xafeb38]
call fcn.00b00ab0
mov dword [ebx + 0x408], eax
xor edx, edx
mov eax, dword [ebx + 0x408]
call fcn.00b003c8
xor edx, edx
mov eax, dword [ebx + 0x408]
call fcn.00b00488
mov eax, dword [ebx + 0x408]
mov dword [eax + 0x54], ebx
mov dword [eax + 0x50], 0xb5c67c
mov eax, dword [ebx + 0x408]
mov dword [eax + 0x64], ebx
mov dword [eax + 0x60], 0xb5c6ec
mov eax, dword [ebx + 0x408]
mov dword [eax + 0x8c], ebx
mov dword [eax + 0x88], 0xb5c6fc
mov eax, dword [ebx + 0x408]
mov dword [eax + 0x7c], ebx
mov dword [eax + 0x78], 0xb5c714
mov eax, dword [esi + 0x14]
call fcn.00ae2774
test al, al
je 0xb5c2b4
mov edx, dword [esi + 0x14]
mov eax, dword [ebx + 0x408]
call fcn.00b00408
jmp 0xb5c2c2
mov edx, dword [esi + 0x14]
mov eax, dword [ebx + 0x408]
call fcn.00b00488
mov edx, edi
mov eax, dword [ebx + 0x408]
call fcn.00b00508
mov dl, 1
mov eax, dword [ebx + 0x408]
call fcn.00b003c8
jmp 0xb5c2e8
cmp ax, 1
je 0xb5c2e8
cmp ax, 2
mov eax, dword [ebx + 0x40c]
cmp byte [eax + 0x2a], 0
je 0xb5c313
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [ebx + 0x40c]
sub eax, dword [edx + 0x2c]
cmp eax, 0x2bf20
jb 0xb5c313
mov eax, dword [ebx + 0x40c]
mov byte [eax + 0x2a], 0
mov eax, dword [ebx + 0x40c]
cmp byte [eax + 0x2a], 0
je 0xb5c362
mov eax, dword [ebx + 0x394]
mov edx, dword [eax + 0x67b]
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x68]
call fcn.00a38628
lea edx, [ebp - 4]
mov eax, dword [0xb7529c]
call fcn.00a170b0
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x318]
call fcn.00a57ad0
mov dl, 1
mov eax, ebx
call fcn.00b5cab0
jmp 0xb5c494
mov eax, dword [ebx + 0x394]
mov edx, dword [eax + 0x677]
mov eax, dword [ebx + 0x318]
mov eax, dword [eax + 0x68]
call fcn.00a38628
lea edx, [ebp - 8]
mov eax, dword [0xb75148]
call fcn.00a170b0
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x318]
call fcn.00a57ad0
mov eax, dword [0xb753b4]
mov eax, dword [eax]
mov eax, dword [eax + 0x32c]
mov eax, dword [eax + 0x68]
mov edx, 0xffffff
call fcn.00a38628
lea edx, [ebp - 0xc]
mov eax, dword [0xb75148]
call fcn.00a170b0
mov edx, dword [ebp - 0xc]
mov eax, dword [0xb753b4]
mov eax, dword [eax]
mov eax, dword [eax + 0x32c]
call fcn.00a57ad0
mov eax, dword [0xb752b4]
mov eax, dword [eax]
mov eax, dword [eax + 0x314]
mov eax, dword [eax + 0x68]
mov edx, 0xffffff
call fcn.00a38628
lea edx, [ebp - 0x10]
mov eax, dword [0xb75148]
call fcn.00a170b0
mov edx, dword [ebp - 0x10]
mov eax, dword [0xb752b4]
mov eax, dword [eax]
mov eax, dword [eax + 0x314]
call fcn.00a57ad0
mov eax, dword [0xb75104]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
mov eax, dword [eax + 0x68]
mov edx, 0xffffff
call fcn.00a38628
lea edx, [ebp - 0x14]
mov eax, dword [0xb75148]
call fcn.00a170b0
mov edx, dword [ebp - 0x14]
mov eax, dword [0xb75104]
mov eax, dword [eax]
mov eax, dword [eax + 0x30c]
call fcn.00a57ad0
mov dl, 1
mov eax, ebx
call fcn.00b5cab0
mov byte [ebx + 0x39a], 0
lea eax, [ebx + 0x39c]
call fcn.00a14db0
lea eax, [ebx + 0x3a0]
call fcn.00a14db0
lea eax, [ebx + 0x3a4]
call fcn.00a14db0
xor eax, eax
mov dword [ebx + 0x3a8], eax
push 1
mov cx, word [esi + 0x18]
mov edx, dword [esi + 0x14]
mov eax, ebx
call fcn.00b5c08c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0xb5c4b6
lea eax, [ebp - 0x14]
mov edx, 5
call fcn.00a14dd4
ret