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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb8
push ebx
push esi
push edi
mov esi, eax
lea eax, [ebp - 0x10]
mov edx, dword [0x50adb4]
call fcn.00405e14
mov edi, dword [0x5865d0]
xor eax, eax
push ebp
push 0x5781d8
push dword fs:[eax]
mov dword fs:[eax], esp
mov bl, 1
sub si, 0x52
jne 0x5781bc
mov eax, dword [edi]
call fcn.00511c74
cmp al, 4
je 0x577f6b
xor ebx, ebx
jmp 0x5781bc
lea edx, [ebp - 0x14]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00515f1c
test al, al
je 0x577f8d
mov eax, dword [ebp - 0x14]
call fcn.004041e0
xor ebx, ebx
jmp 0x5781bc
call fcn.004b9988
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
sub eax, dword [edx + 0x13c]
cmp eax, 0x1388
jae 0x577fac
xor ebx, ebx
jmp 0x5781bc
mov eax, dword [edi]
mov dword [eax + 0x64], 0x4d
mov eax, dword [edi]
call fcn.0050e874
cmp eax, 0x5a
jl 0x577fe1
lea ecx, [ebp - 0x48]
mov eax, dword [edi]
mov dx, 0x687
call fcn.0050d5c8
test al, al
je 0x577fe1
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x12c
jge 0x577fe5
xor ebx, ebx
jmp 0x577fe7
mov bl, 1
test bl, bl
jne 0x578018
mov eax, dword [edi]
mov dword [eax + 0x64], 0x48
lea ecx, [ebp - 0x48]
mov eax, dword [edi]
mov dx, 0x686
call fcn.0050d5c8
test al, al
je 0x578012
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x64
jge 0x578016
xor ebx, ebx
jmp 0x578018
mov bl, 1
test bl, bl
jne 0x57805a
mov eax, dword [edi]
mov dword [eax + 0x64], 0x50
mov eax, dword [edi]
call fcn.0050e874
cmp eax, 0x78
jl 0x57805a
lea ecx, [ebp - 0x48]
mov eax, dword [edi]
mov dx, 0x688
call fcn.0050d5c8
test al, al
je 0x57805a
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x3e8
jge 0x578058
mov eax, dword [edi]
call fcn.00510cb8
mov bl, 1
test bl, bl
jne 0x5780ec
mov eax, dword [edi]
mov dword [eax + 0x64], 0x52
mov eax, dword [edi]
call fcn.0050e874
cmp eax, 0x91
jl 0x5780ec
lea ecx, [ebp - 0x48]
mov eax, dword [edi]
mov dx, 0x689
call fcn.0050d5c8
test al, al
je 0x5780ec
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x7d0
jge 0x5780ea
mov eax, dword [edi]
call fcn.0050eed4
cmp eax, 0x7d0
jle 0x5780ea
call fcn.004b9988
mov ebx, eax
jmp 0x5780de
mov eax, dword [edi]
call fcn.00510cb8
test al, al
je 0x5780ea
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x7d0
jge 0x5780ea
call fcn.004b9988
sub eax, ebx
cmp eax, 0x1f4
ja 0x5780ea
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
cmp byte [eax + 0xd], 0
je 0x5780b0
mov bl, 1
test bl, bl
jne 0x5781ab
lea ecx, [ebp - 0x10]
mov eax, dword [edi]
mov edx, 0x52
call fcn.0050db20
test al, al
je 0x578125
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x7d0
jl 0x578125
movzx eax, byte [ebp - 0x10]
mov edx, dword [edi]
mov dword [edx + 0x64], eax
mov bl, 1
jmp 0x5781ab
lea ecx, [ebp - 0x10]
mov eax, dword [edi]
mov edx, 0x50
call fcn.0050db20
test al, al
je 0x578153
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x3e8
jl 0x578153
movzx eax, byte [ebp - 0x10]
mov edx, dword [edi]
mov dword [edx + 0x64], eax
mov bl, 1
jmp 0x5781ab
lea ecx, [ebp - 0x10]
mov eax, dword [edi]
mov edx, 0x4d
call fcn.0050db20
test al, al
je 0x578181
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x12c
jl 0x578181
movzx eax, byte [ebp - 0x10]
mov edx, dword [edi]
mov dword [edx + 0x64], eax
mov bl, 1
jmp 0x5781ab
lea ecx, [ebp - 0x10]
mov eax, dword [edi]
mov edx, 0x48
call fcn.0050db20
test al, al
je 0x5781ab
mov eax, dword [edi]
call fcn.005107bc
cmp eax, 0x64
jl 0x5781ab
movzx eax, byte [ebp - 0x10]
mov edx, dword [edi]
mov dword [edx + 0x64], eax
mov bl, 1
call fcn.004b9988
mov edx, dword [ebp + 8]
mov edx, dword [edx - 4]
mov dword [edx + 0x13c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5781df
lea eax, [ebp - 0x10]
mov edx, dword [0x50adb4]
call fcn.00405ee4
ret