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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea eax, [ebp - 0x1c]
mov edx, dword [0x50ad94]
call fcn.00405e14
xor eax, eax
push ebp
push 0x57552b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x586a98]
mov eax, dword [eax]
cmp byte [eax + 0x42], 0
je 0x5753b7
mov eax, dword [0x586a98]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
jg 0x5752c0
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x575544
call fcn.00512050
call fcn.004b9988
mov edx, dword [ebp - 4]
mov dword [edx + 0x8c], eax
push 0x3e8
call sub.kernel32.dll_Sleep_2
jmp 0x57550f
call fcn.004b9988
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x90]
cmp eax, 0x7530
jbe 0x5752f9
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x575554
call fcn.00512050
call fcn.004b9988
mov edx, dword [ebp - 4]
mov dword [edx + 0x90], eax
jmp 0x57550f
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x98]
jg 0x57550f
push ebp
call fcn.00575158
pop ecx
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x98]
jle 0x57550f
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov ecx, dword [eax + 0x44]
mov eax, ecx
cdq
push edx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
xor edx, edx
cmp edx, dword [esp + 4]
jne 0x57534b
cmp eax, dword [esp]
pop edx
pop eax
je 0x575370
mov eax, dword [0x586a98]
mov eax, dword [ebp - 4]
mov dword [eax + 0x94], ecx
call fcn.004b9988
mov edx, dword [ebp - 4]
mov dword [edx + 0x9c], eax
jmp 0x57550f
call fcn.004b9988
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x9c]
cmp eax, 0x1d4c0
jbe 0x57550f
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x575544
call fcn.00512050
call fcn.004b9988
mov edx, dword [ebp - 4]
mov dword [edx + 0x8c], eax
push 0x3e8
call sub.kernel32.dll_Sleep_2
jmp 0x57550f
call fcn.004b9988
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x8c]
cmp eax, 0x1388
jb 0x57550f
mov dl, 1
mov eax, dword [0x41b508]
call fcn.004041b0
mov dword [ebp - 0x20], eax
mov dl, 1
mov eax, dword [0x41b508]
call fcn.004041b0
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x5754fa
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x20]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050c5bc
xor edi, edi
jmp 0x575474
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0041dea4
mov ebx, eax
cmp edi, 7
jge 0x57545e
lea ecx, [ebp - 0x1c]
mov edx, dword [ebx]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.005170b8
push ebp
mov eax, dword [ebp - 0x18]
call fcn.00574fe0
pop ecx
mov esi, eax
test esi, esi
jle 0x575450
mov dword [ebx + 0x24], esi
mov edx, ebx
mov eax, dword [ebp - 0x24]
call fcn.0041dd4c
jmp 0x57546a
mov edx, 0x34
mov eax, ebx
call fcn.00402f6c
jmp 0x57546a
mov edx, 0x34
mov eax, ebx
call fcn.00402f6c
xor edx, edx
mov eax, dword [ebp - 0x20]
call fcn.0041dd98
mov eax, dword [ebp - 0x20]
cmp dword [eax + 8], 0
jg 0x57540f
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
jle 0x5754d3
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x88]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x24]
call fcn.00511290
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
mov edx, dword [0x586a98]
mov edx, dword [edx]
mov dword [edx + 0x44], eax
jmp 0x5754d3
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.0041dea4
mov ebx, eax
mov edx, 0x34
mov eax, ebx
call fcn.00402f6c
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.0041dd98
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
jg 0x5754b1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x575501
mov eax, dword [ebp - 0x20]
call fcn.004041e0
mov eax, dword [ebp - 0x24]
call fcn.004041e0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x575532
lea eax, [ebp - 0x1c]
mov edx, dword [0x50ad94]
call fcn.00405ee4
ret