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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
push ebx
push esi
push edi
mov esi, eax
lea eax, [ebp - 0x18]
mov edx, dword [0x50ad94]
call fcn.00405e14
xor eax, eax
push ebp
push 0x525b75
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x19], 0
cmp esi, 8
jne 0x5256a7
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x24], 0
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x1e6], 0
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov edx, 0x525b90
call fcn.00511968
test al, al
je 0x525b59
lea ecx, [ebp - 0x5c]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov dx, 0x59f
call fcn.0050d5c8
test al, al
je 0x52563d
push 0
mov eax, dword [0x5865d0]
mov eax, dword [eax]
movzx ecx, word [ebp - 0x54]
movzx edx, word [ebp - 0x58]
call fcn.0050f6d0
push 0x12c
call sub.kernel32.dll_Sleep_2
call fcn.004b9988
mov ebx, eax
jmp 0x525678
mov eax, dword [0x586a98]
mov eax, dword [eax]
cmp byte [eax + 0x24], 0
jne 0x525684
mov eax, dword [0x586a98]
mov eax, dword [eax]
cmp byte [eax + 0x1e6], 0
jne 0x525684
call fcn.004b9988
sub eax, ebx
cmp eax, 0x3e8
ja 0x525684
push 0x64
call sub.kernel32.dll_Sleep_2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
cmp byte [eax + 0xd], 0
je 0x525646
mov eax, dword [0x586a98]
mov eax, dword [eax]
cmp byte [eax + 0x24], 0
jne 0x5256dd
mov eax, dword [0x586a98]
mov eax, dword [eax]
cmp byte [eax + 0x1e6], 0
je 0x525b59
jmp 0x5256dd
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x20]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00515160
test al, al
je 0x525b59
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov ecx, 0x3e8
mov edx, dword [ebp - 0x20]
call fcn.005220b8
test al, al
je 0x525b59
push 0xc8
call sub.kernel32.dll_Sleep_2
mov dl, 1
mov eax, dword [0x41b508]
call fcn.004041b0
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x525b52
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x28]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00514a6c
jmp 0x525b2f
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0041dea4
mov ebx, eax
cmp byte [ebp - 0x19], 0
jne 0x525b19
test esi, esi
jne 0x5257da
cmp dword [ebx], 0x3da
jne 0x525781
cmp dword [ebx + 8], 0x64
jle 0x52575a
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x32
call fcn.00510fe8
jmp 0x52576e
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp dword [ebx], 0x272
jne 0x525b19
cmp dword [ebx + 8], 4
jl 0x525b19
cmp dword [ebx + 8], 0x64
jle 0x5257b3
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x32
call fcn.00510fe8
jmp 0x5257c7
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 1
jne 0x525848
mov edi, dword [ebx]
cmp edi, 0xdd2
je 0x525805
cmp edi, 0x34f
je 0x525805
cmp edi, 0xdd1
je 0x525805
cmp edi, 0x350
jne 0x525b19
cmp dword [ebx + 8], 0x64
jle 0x525821
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x32
call fcn.00510fe8
jmp 0x525835
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 2
jne 0x5258c4
cmp dword [ebx], 0xdd1
je 0x525881
cmp dword [ebx], 0xdd2
je 0x525881
cmp dword [ebx], 0x3d7
je 0x525881
cmp dword [ebx], 0x685
je 0x525881
cmp dword [ebx], 0x34d
je 0x525881
cmp dword [ebx], 0x34e
jne 0x525b19
cmp dword [ebx + 8], 0x64
jle 0x52589d
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x64
call fcn.00510fe8
jmp 0x5258b1
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 3
jne 0x525920
cmp dword [ebx], 0x3f4
je 0x5258dd
cmp dword [ebx], 0x3f5
jne 0x525b19
cmp dword [ebx + 8], 0x64
jle 0x5258f9
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x32
call fcn.00510fe8
jmp 0x52590d
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 4
jne 0x525974
cmp dword [ebx], 0x34f
jne 0x525b19
cmp dword [ebx + 8], 0x64
jle 0x52594d
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x32
call fcn.00510fe8
jmp 0x525961
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 5
jne 0x5259c8
cmp dword [ebx], 0x350
jne 0x525b19
cmp dword [ebx + 8], 0x64
jle 0x5259a1
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x32
call fcn.00510fe8
jmp 0x5259b5
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 6
jne 0x525a1c
cmp dword [ebx], 0x34d
jne 0x525b19
cmp dword [ebx + 8], 0x64
jle 0x5259f5
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x32
call fcn.00510fe8
jmp 0x525a09
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 7
jne 0x525a70
cmp dword [ebx], 0x34e
jne 0x525b19
cmp dword [ebx + 8], 0x64
jle 0x525a49
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 0x32
call fcn.00510fe8
jmp 0x525a5d
movzx ecx, word [ebx + 8]
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 8
jne 0x525aa5
cmp dword [ebx], 0x59f
jne 0x525b19
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 1
call fcn.00510fe8
push 0xc8
call sub.kernel32.dll_Sleep_2
mov byte [ebp - 0x19], 1
jmp 0x525b19
cmp esi, 9
jne 0x525ae0
lea ecx, [ebp - 0x18]
mov edx, dword [ebx]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.005170b8
mov eax, dword [ebp - 0x14]
mov edx, 0x525ba4
call fcn.004055d0
jne 0x525b19
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 1
call fcn.00510fe8
jmp 0x525b19
cmp esi, 0xa
jne 0x525b19
lea ecx, [ebp - 0x18]
mov edx, dword [ebx]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.005170b8
mov eax, dword [ebp - 0x14]
mov edx, 0x525bb8
call fcn.004055d0
jne 0x525b19
movzx edx, word [ebx + 4]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov cx, 1
call fcn.00510fe8
mov edx, 0x34
mov eax, ebx
call fcn.00402f6c
xor edx, edx
mov eax, dword [ebp - 0x28]
call fcn.0041dd98
mov eax, dword [ebp - 0x28]
cmp dword [eax + 8], 0
jg 0x525718
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x525b59
mov eax, dword [ebp - 0x28]
call fcn.004041e0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x525b7c
lea eax, [ebp - 0x18]
mov edx, dword [0x50ad94]
call fcn.00405ee4
ret