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

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov esi, 0x58a508
mov edi, 0x58a51c
cmp dword [0x55a640], 0
jne 0x50678d
mov dword [0x55a640], 1
xor eax, eax
mov dword [0x58a50c], eax
xor edx, edx
mov dword [0x58a510], edx
mov dword [esi], ebx
cmp dword [esi], 0
je 0x506448
push dword [esi]
call fcn.00504fe4
test eax, eax
je 0x50643c
mov eax, dword [esi]
cmp dword [eax + 0x84], 0
jne 0x506438
cmp dword [eax + 0x80], 0
je 0x50643c
mov ebx, dword [esi]
jmp 0x506479
xor eax, eax
mov dword [0x55a640], eax
jmp 0x50678d
mov ebx, dword [0x55a630]
test ebx, ebx
je 0x50673a
cmp dword [esi], 0
jne 0x50673a
cmp dword [ebx + 0x84], 0
jne 0x506471
cmp dword [ebx + 0x80], 0
je 0x506479
mov ebx, dword [ebx + 0x488]
jmp 0x50644e
cmp dword [ebx + 0x98], 0
je 0x50648a
mov ebx, dword [ebx + 0x488]
jmp 0x50644e
cmp dword [ebx + 0x94], 0
jne 0x5064b4
cmp dword [0x54e374], 0
je 0x5064a5
cmp dword [0x55bb40], 0xffffffff
jne 0x5064b4
mov dword [ebx + 0x68], 0xffffffff
mov ebx, dword [ebx + 0x488]
jmp 0x50644e
cmp dword [ebx + 0x70], 0
jl 0x506511
cmp dword [ebx + 0x74], 0
jl 0x506511
push 0x58a514
call fcn.00548b9c
pop ecx
xor eax, eax
mov al, byte [0x58a515]
cmp eax, dword [ebx + 0x70]
jne 0x506506
xor eax, eax
mov al, byte [0x58a514]
cmp eax, dword [ebx + 0x74]
jl 0x506506
mov edx, dword [ebx + 0x74]
inc edx
cmp eax, edx
jg 0x506506
mov dword [ebx + 0x70], 0xffffffff
mov dword [ebx + 0x74], 0xffffffff
call sub.KERNEL32.dll_GetTickCount
mov dword [ebx + 0x88], eax
jmp 0x506511
mov ebx, dword [ebx + 0x488]
jmp 0x50644e
cmp dword [0x58a510], 0
je 0x50652b
cmp dword [ebx + 0x78], 0
jne 0x50652b
mov ebx, dword [ebx + 0x488]
jmp 0x50644e
call sub.KERNEL32.dll_GetTickCount
mov dword [0x58a518], eax
mov ecx, dword [0x58a518]
sub ecx, dword [ebx + 0x88]
mov dword [edi], ecx
cmp dword [ebx + 0x84], 0
jne 0x506555
cmp dword [ebx + 0x80], 0
je 0x506585
mov eax, dword [edi]
cmp eax, dword [ebx + 0x64]
jge 0x506567
mov ebx, dword [ebx + 0x488]
jmp 0x50644e
mov edx, dword [ebx + 0x64]
sub dword [edi], edx
cmp dword [ebx + 0x78], 0
je 0x5065bf
mov ecx, dword [edi]
cmp ecx, dword [ebx + 0x64]
jl 0x5065bf
mov dword [0x58a50c], 1
jmp 0x5065bf
imul eax, dword [ebx + 0x64], 0x3e8
cmp eax, dword [edi]
jle 0x50659b
mov ebx, dword [ebx + 0x488]
jmp 0x50644e
imul edx, dword [ebx + 0x64], 0x3e8
sub dword [edi], edx
cmp dword [ebx + 0x78], 0
je 0x5065bf
imul ecx, dword [ebx + 0x64], 0x3e8
cmp ecx, dword [edi]
jg 0x5065bf
mov dword [0x58a50c], 1
cmp dword [ebx + 0x78], 0
jne 0x5065d2
call sub.KERNEL32.dll_GetTickCount
mov dword [ebx + 0x88], eax
jmp 0x5065df
mov eax, dword [0x58a518]
sub eax, dword [edi]
mov dword [ebx + 0x88], eax
lea edx, [ebx + 0x9c]
push esi
push edi
mov edi, edx
mov esi, 0x58a520
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push dword [ebx + 0x8c]
call fcn.00516145
test eax, eax
jne 0x506627
mov eax, dword [0x55b3d8]
mov dword [ebx + 0x8c], eax
cmp dword [ebx + 0x68], 0
jle 0x50663d
dec dword [ebx + 0x68]
cmp dword [ebx + 0x68], 0
jg 0x50663d
mov dword [ebx + 0x68], 0xffffffff
mov eax, dword [esi]
test eax, eax
je 0x506677
push eax
call fcn.00504fe4
test eax, eax
je 0x506677
mov edx, dword [esi]
cmp dword [edx + 0x68], 0xffffffff
jne 0x506677
mov ecx, dword [esi]
mov eax, dword [ecx + 0x84]
test eax, eax
je 0x50666d
push eax
push dword [0x55b3c8]
call sub.USER32.dll_KillTimer
mov edx, dword [esi]
xor ecx, ecx
mov dword [edx + 0x84], ecx
mov dword [ebx + 0x6c], 1
mov eax, dword [ebx + 0x488]
mov dword [0x58a504], eax
push dword [ebx + 0x484]
call fcn.004f1d94
test eax, eax
jne 0x5066a0
xor edx, edx
mov dword [ebx + 0x484], edx
push dword [ebx + 0x484]
push 0
push dword [ebx + 0x7c]
push 0
push 0x58a520
push dword [ebx + 0x8c]
call fcn.0049bc6c
push ebx
call fcn.00504fe4
test eax, eax
je 0x50670e
cmp dword [ebx + 0x68], 0xffffffff
jne 0x506707
cmp dword [ebx + 0x90], 0
je 0x506707
push ebx
push 0
push 0x157d
call fcn.0041c35b
push eax
push 0x58a520
call sub.USER32.dll_wsprintfA
add esp, 0xc
push dword [0x54d29c]
push 0x58a520
push dword [ebx + 0x8c]
call fcn.004e0c3e
xor ecx, ecx
mov dword [ebx + 0x6c], ecx
jmp 0x50672c
mov eax, dword [0x58a504]
test eax, eax
je 0x50673a
push eax
call fcn.00504fe4
test eax, eax
je 0x50673a
mov ebx, dword [0x58a504]
jmp 0x50644e
mov ebx, dword [ebx + 0x488]
test ebx, ebx
jne 0x506456
mov eax, dword [esi]
test eax, eax
je 0x50675b
push eax
call fcn.00504fe4
test eax, eax
je 0x50675b
mov edx, dword [esi]
cmp dword [edx + 0x68], 0xffffffff
jne 0x506762
push 2
call fcn.00505098
jmp 0x506762
push 2
call fcn.00505098
cmp dword [0x58a50c], 0
je 0x506786
xor ecx, ecx
mov dword [0x58a50c], ecx
inc dword [0x58a510]
cmp dword [0x58a510], 0x64
jl 0x506414
xor eax, eax
mov dword [0x55a640], eax
pop edi
pop esi
pop ebx
pop ebp
ret 4