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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [0x574290]
cmp byte [eax], 0
je 0x51e798
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573b24]
sub eax, dword [edx]
cmp eax, 0x96
jbe 0x51e798
call sub.kernel32.dll_GetTickCount_1
mov edx, dword [0x573b24]
mov dword [edx], eax
mov eax, dword [0x573900]
inc dword [eax]
mov eax, dword [0x573900]
cmp dword [eax], 5
jle 0x51e598
mov eax, dword [0x573900]
xor edx, edx
mov dword [eax], edx
mov eax, dword [0x574394]
inc byte [eax]
mov eax, dword [0x574394]
cmp byte [eax], 2
jne 0x51e798
mov eax, dword [0x573900]
cmp dword [eax], 0
jne 0x51e5f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x884]
mov eax, dword [eax + 0xc]
mov edx, dword [0x573de8]
movzx edx, byte [edx]
cmp eax, edx
jne 0x51e5f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x884]
mov byte [eax + 0x26c], 0
mov eax, dword [0x574290]
mov byte [eax], 0
push 0
mov edx, dword [0x573bb8]
mov edx, dword [edx]
mov eax, dword [0x573bd8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0054e98c
mov eax, dword [0x573900]
cmp dword [eax], 1
jne 0x51e64c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x888]
mov eax, dword [eax + 0xc]
mov edx, dword [0x573de8]
movzx edx, byte [edx]
cmp eax, edx
jne 0x51e64c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x888]
mov byte [eax + 0x26c], 0
mov eax, dword [0x574290]
mov byte [eax], 0
push 0
mov edx, dword [0x573bb8]
mov edx, dword [edx]
mov eax, dword [0x573bd8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0054e98c
mov eax, dword [0x573900]
cmp dword [eax], 2
jne 0x51e69f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88c]
mov eax, dword [eax + 0xc]
mov edx, dword [0x573de8]
movzx edx, byte [edx]
cmp eax, edx
jne 0x51e69f
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88c]
mov byte [eax + 0x26c], 0
mov eax, dword [0x574290]
mov byte [eax], 0
push 0
mov edx, dword [0x573bb8]
mov edx, dword [edx]
mov eax, dword [0x573bd8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0054e98c
mov eax, dword [0x573900]
cmp dword [eax], 3
jne 0x51e6f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x894]
mov eax, dword [eax + 0xc]
mov edx, dword [0x573de8]
movzx edx, byte [edx]
cmp eax, edx
jne 0x51e6f2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x894]
mov byte [eax + 0x26c], 0
mov eax, dword [0x574290]
mov byte [eax], 0
push 0
mov edx, dword [0x573bb8]
mov edx, dword [edx]
mov eax, dword [0x573bd8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0054e98c
mov eax, dword [0x573900]
cmp dword [eax], 4
jne 0x51e745
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x890]
mov eax, dword [eax + 0xc]
mov edx, dword [0x573de8]
movzx edx, byte [edx]
cmp eax, edx
jne 0x51e745
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x890]
mov byte [eax + 0x26c], 0
mov eax, dword [0x574290]
mov byte [eax], 0
push 0
mov edx, dword [0x573bb8]
mov edx, dword [edx]
mov eax, dword [0x573bd8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0054e98c
mov eax, dword [0x573900]
cmp dword [eax], 5
jne 0x51e798
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x880]
mov eax, dword [eax + 0xc]
mov edx, dword [0x573de8]
movzx edx, byte [edx]
cmp eax, edx
jne 0x51e798
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x880]
mov byte [eax + 0x26c], 0
mov eax, dword [0x574290]
mov byte [eax], 0
push 0
mov edx, dword [0x573bb8]
mov edx, dword [edx]
mov eax, dword [0x573bd8]
mov eax, dword [eax]
xor ecx, ecx
call fcn.0054e98c
pop ecx
pop ecx
pop ebp
ret