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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff8
push ebx
mov ebx, eax
mov eax, ebx
call fcn.006a92b8
cmp byte [ebx + 0x370], 0
jne 0x63587a
cmp byte [ebx + 0x378], 0
jne 0x63587a
cmp byte [ebx + 0x331], 0
jne 0x63587a
cmp byte [ebx + 0x3a6], 0
jne 0x63587a
mov eax, ebx
call fcn.006a2f84
test al, al
je 0x63587a
mov eax, ebx
call fcn.00635354
test al, al
je 0x63550a
mov eax, ebx
call fcn.006b4584
jmp 0x635881
cmp byte [ebx + 0xcdc], 0
je 0x63552d
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebx + 0xcd8]
cmp eax, dword [ebx + 0xcd4]
jbe 0x63552d
mov byte [ebx + 0xcdc], 0
cmp byte [ebx + 0xcdc], 0
jne 0x63587a
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebx + 0x490]
cmp eax, dword [ebx + 0xcc8]
jle 0x63587a
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0x490], eax
inc dword [ebx + 0xcd0]
mov eax, dword [ebx + 0xcd0]
cmp eax, dword [ebx + 0xccc]
jle 0x63558a
xor eax, eax
mov dword [ebx + 0xcd0], eax
mov byte [ebx + 0xcdc], 1
call sub.kernel32.dll_GetTickCount_1
mov dword [ebx + 0xcd8], eax
cmp byte [ebx + 0xd7c], 0
jne 0x6357fc
cmp byte [ebx + 0x334], 0
jne 0x6355ee
cmp dword [ebx + 0x410], 0
je 0x6355c3
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x98]
test al, al
je 0x6355ee
mov eax, ebx
call fcn.006b4584
jmp 0x635881
mov dword [ebx + 0xd74], 0xffffffff
cmp byte [ebx + 0x39a], 0
je 0x6355ee
mov eax, dword [ebx + 0x39c]
mov dword [ebx + 0xd74], eax
mov eax, dword [ebx + 0x3a0]
mov dword [ebx + 0xd78], eax
cmp dword [ebx + 0x304], 0
je 0x635827
mov eax, dword [ebx + 0x36c]
cmp byte [eax + 0x10c], 0
je 0x6356f6
mov edx, dword [ebx + 0x304]
cmp eax, dword [edx + 0x36c]
je 0x6356f6
lea ecx, [ebp - 8]
lea edx, [ebp - 4]
mov eax, dword [ebx + 0x304]
call fcn.006aaab0
mov eax, dword [ebx + 0xd74]
sub eax, dword [ebp - 4]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x635653
mov eax, dword [ebx + 0xd78]
sub eax, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
dec eax
jle 0x6356ae
mov eax, dword [ebp - 4]
mov dword [ebx + 0xd74], eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0xd78], eax
mov eax, dword [ebx + 0x24]
sub eax, dword [ebp - 4]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x6356ae
mov eax, dword [ebx + 0x28]
sub eax, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x6356ae
push 1
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x36c]
call fcn.006b7460
test eax, eax
je 0x6356ae
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0xd74], eax
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0xd78], eax
mov eax, dword [ebx + 0xd78]
push eax
push 1
mov eax, dword [ebx + 0x304]
mov edx, dword [eax + 0x36c]
mov ecx, dword [ebx + 0xd74]
mov eax, ebx
call fcn.006b27c0
mov eax, dword [ebx + 0x304]
cmp byte [eax + 0x31c], 0
je 0x635827
push 1
xor ecx, ecx
mov edx, 0x635890
call fcn.006a6c7c
jmp 0x635827
cmp dword [ebx + 0x410], 0
jne 0x635791
lea ecx, [ebp - 8]
lea edx, [ebp - 4]
mov eax, dword [ebx + 0x304]
call fcn.006aaab0
mov eax, dword [ebx + 0xd74]
sub eax, dword [ebp - 4]
cdq
xor eax, edx
sub eax, edx
dec eax
jg 0x635736
mov eax, dword [ebx + 0xd78]
sub eax, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
dec eax
jle 0x635791
mov eax, dword [ebp - 4]
mov dword [ebx + 0xd74], eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0xd78], eax
mov eax, dword [ebx + 0x24]
sub eax, dword [ebp - 4]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x635791
mov eax, dword [ebx + 0x28]
sub eax, dword [ebp - 8]
cdq
xor eax, edx
sub eax, edx
cmp eax, 2
jg 0x635791
push 1
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x36c]
call fcn.006b7460
test eax, eax
je 0x635791
mov eax, dword [ebx + 0x24]
mov dword [ebx + 0xd74], eax
mov eax, dword [ebx + 0x28]
mov dword [ebx + 0xd78], eax
mov eax, dword [ebx + 0x304]
cmp byte [eax + 0x31c], 0
jne 0x635827
mov ecx, dword [ebx + 0x304]
mov eax, dword [ecx + 0x36c]
cmp eax, dword [ebx + 0x36c]
jne 0x6357d8
mov eax, dword [ebx + 0x24]
sub eax, dword [ecx + 0x24]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x14
jg 0x6357d8
mov eax, dword [ebx + 0x28]
sub eax, dword [ecx + 0x28]
cdq
xor eax, edx
sub eax, edx
cmp eax, 0x14
jle 0x635827
mov eax, dword [ebx + 0xd78]
push eax
push 1
mov eax, dword [ebx + 0x304]
mov edx, dword [eax + 0x36c]
mov ecx, dword [ebx + 0xd74]
mov eax, ebx
call fcn.006b27c0
jmp 0x635827
cmp dword [ebx + 0xd84], 0
jbe 0x635827
call sub.kernel32.dll_GetTickCount_1
sub eax, dword [ebx + 0xd80]
cmp eax, dword [ebx + 0xd84]
jbe 0x635827
mov byte [ebx + 0xd7c], 0
xor eax, eax
mov dword [ebx + 0xd84], eax
mov eax, dword [ebx + 0x304]
test eax, eax
je 0x635843
cmp byte [eax + 0x31c], 0
je 0x635843
mov eax, ebx
call fcn.006b4584
jmp 0x635881
cmp dword [ebx + 0xd74], 0xffffffff
je 0x635858
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x88]
jmp 0x63587a
cmp dword [ebx + 0x410], 0
jne 0x63587a
mov eax, dword [ebx + 0x36c]
cmp byte [eax + 0x10c], 0
jne 0x63587a
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x8c]
mov eax, ebx
call fcn.006b4584
pop ebx
pop ecx
pop ecx
pop ebp
ret