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

Disassembly:
push ebx
push esi
push edi
mov ebx, eax
mov eax, dword [0x586404]
mov eax, dword [eax]
mov eax, dword [eax + 0x5d0]
sub eax, 1
jb 0x527807
sub eax, 0xc7
jb 0x527b27
jmp case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c74
add al, 0xfe
sub al, 2
jae 0x527905
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e874
cmp eax, 0x32
jle 0x527855
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e8f4
cmp eax, 0x14
jge 0x527855
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d20
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e874
cmp eax, 0x32
jle 0x52788d
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050ef00
cmp eax, 0x14
jge 0x52788d
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d34
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e874
cmp eax, 0x46
jle 0x5278c5
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e8f4
cmp eax, 0x17
jge 0x5278c5
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d20
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e874
cmp eax, 0x46
jle case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050ef00
cmp eax, 0x17
jge case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d34
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c74
cmp al, 3
jne 0x5279d1
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e8f4
cmp eax, 0x19
jl 0x5279d1
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050b184
cmp eax, 2
jle case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e8f4
mov esi, eax
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d34
call fcn.00512050
call fcn.004b9988
mov edi, eax
jmp 0x5279c6
push 0x32
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e8f4
cmp esi, eax
jl case.default.0x527b50
call fcn.004b9988
sub eax, edi
cmp eax, 0x190
jbe 0x5279c6
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e874
cmp eax, 0x64
jle case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d48
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
jmp case.default.0x527b50
cmp byte [ebx + 0xd], 0
je 0x52796b
jmp case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c74
cmp al, 3
jne 0x527ab0
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050b184
cmp eax, 4
jle 0x527ab0
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e8f4
cmp eax, 0x19
jge 0x527a52
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e8f4
mov ebx, eax
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e874
sub eax, 2
cmp ebx, eax
jge 0x527a3f
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d20
call fcn.00512050
jmp 0x527aa4
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d34
call fcn.00512050
jmp 0x527aa4
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d34
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e8f4
cmp eax, 0x19
jl 0x527aa4
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050ef00
cmp eax, 0x64
jle 0x527aa4
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d48
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
jmp case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c74
sub al, 1
jb 0x527acf
je 0x527ae5
dec al
je 0x527afb
dec al
je 0x527b11
jmp case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d48
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d5c
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d20
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d34
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050b184
cmp eax, 4
jle case.default.0x527b50
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c74
movzx eax, al
cmp eax, 4
ja case.default.0x527b50
jmp dword [eax*4 + 0x527b57]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d48
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d5c
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d20
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d34
call fcn.00512050
jmp case.default.0x527b50
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d70
call fcn.00512050
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510770
test eax, eax
jle 0x527d13
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c74
sub al, 1
jb 0x527c03
je 0x527c49
dec al
je 0x527c8f
dec al
je 0x527cd2
jmp 0x527d13
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d84
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527d98
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527dac
call fcn.00512050
jmp 0x527d13
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527dc0
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527dd4
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527de8
call fcn.00512050
jmp 0x527d13
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527dfc
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527e10
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527e24
call fcn.00512050
jmp 0x527d13
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527e38
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527e4c
call fcn.00512050
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, 0x527e60
call fcn.00512050
pop edi
pop esi
pop ebx
ret