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

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0x90
mov rbp, rsp
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x50], r8
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0xb8], rdx
mov rcx, qword [rbp + 0xb8]
call fcn.0040e240
nop
mov rax, qword [rbp + 0x50]
movzx rax, byte [rax]
sub al, 1
cmp al, 0xff
je 0x68738f
sub al, 4
test al, al
jne 0x687746
jmp 0x68767e
lea rcx, [0x006877bc]
mov rdx, qword [rbp + 0xb8]
call fcn.00685220
cmp al, 1
jne 0x6873d7
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0xb], 0
je 0x687747
mov rax, qword [rbp + 0x50]
mov byte [rax], 1
lea rcx, [rax + 8]
call fcn.0040e0d0
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x50]
mov dword [rcx + 4], eax
lea rcx, [0x006877d0]
mov rdx, qword [rbp + 0xb8]
call fcn.00685220
cmp al, 1
jne 0x6874bb
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0xa], 0
je 0x687747
mov rax, qword [rbp + 0x50]
mov byte [rax], 3
mov rax, qword [rbp + 0x58]
cmp word [rax + 0x3000a0], 0
jne 0x687433
mov rax, qword [rbp + 0x50]
lea rcx, [rax + 8]
mov rdx, qword [0x009b4cb0]
mov r8, qword [0x009b4cc0]
call fcn.0040ef90
jmp 0x6874a9
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
mov ebx, eax
mov rcx, qword [0x009b4ca0]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
mov esi, eax
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
lea rcx, [rbp + 0x78]
mov rdx, qword [rbp + 0xb8]
mov r8d, ebx
add r8d, 1
mov r9d, esi
sub r9d, eax
sub r9d, 1
call fcn.0040f370
mov rax, qword [rbp + 0x50]
lea rcx, [rax + 8]
mov rdx, qword [0x009b4cb0]
mov r8, qword [rbp + 0x78]
call fcn.0040ef90
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x50]
mov dword [rcx + 4], eax
lea rcx, [0x006877e4]
mov rdx, qword [rbp + 0xb8]
call fcn.00685220
cmp al, 1
jne 0x6875c0
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0xa], 0
je 0x687747
mov rcx, qword [rbp + 0xb8]
lea rdx, [rbp + 0x88]
lea r8, [rbp + 0x80]
call fcn.00687140
mov rax, qword [rbp + 0x50]
mov byte [rax], 4
mov rax, qword [rbp + 0x58]
cmp word [rax + 0x3000a0], 0
jne 0x687543
mov rax, qword [rbp + 0x50]
lea rcx, [rax + 8]
mov edx, 3
mov r8, qword [rbp + 0x88]
mov r9, qword [0x009b4cb0]
mov rax, qword [0x009b4cc0]
mov qword [rsp + 0x20], rax
call fcn.0040f220
jmp 0x6875ae
lea rcx, [rbp + 0x70]
mov rax, qword [rbp + 0x50]
mov rdx, qword [rax + 8]
call fcn.00687250
mov rax, qword [rbp + 0x50]
lea rcx, [rax + 8]
mov edx, 7
mov r8, qword [rbp + 0x88]
mov r9, qword [0x009b4cb0]
lea rax, [0x006877f8]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [0x0068780c]
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [0x00687828]
mov qword [rsp + 0x40], rax
call fcn.0040f220
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x50]
mov dword [rcx + 4], eax
lea rcx, [0x00687838]
mov rdx, qword [rbp + 0xb8]
call fcn.00685220
cmp al, 1
jne 0x687746
mov rax, qword [rbp + 0x58]
cmp byte [rax + 0xa], 0
je 0x687747
mov rax, qword [rbp + 0x50]
mov byte [rax], 5
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
mov ebx, eax
mov rcx, qword [0x009b4ca0]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
mov esi, eax
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0xb8]
mov r8d, ebx
add r8d, 1
mov r9d, esi
sub r9d, eax
sub r9d, 1
call fcn.0040f370
mov rax, qword [rbp + 0x50]
lea rcx, [rax + 8]
mov rdx, qword [rbp + 0x68]
mov r8, qword [0x009b4cb0]
call fcn.0040ef90
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x50]
mov dword [rcx + 4], eax
jmp 0x687746
lea rcx, [0x0068784c]
mov rdx, qword [rbp + 0xb8]
call fcn.00685220
cmp al, 1
jne 0x687746
mov rax, qword [rbp + 0x50]
mov byte [rax], 6
mov rax, qword [rbp + 0x58]
cmp word [rax + 0x3000a0], 0
jne 0x6876c5
mov rax, qword [rbp + 0x50]
lea rcx, [rax + 8]
mov rdx, qword [0x009b4cc0]
call fcn.0040eea0
jmp 0x687734
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
mov ebx, eax
mov rcx, qword [0x009b4ca0]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
mov esi, eax
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0xb8]
call fcn.00410a70
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0xb8]
mov r8d, ebx
add r8d, 1
mov r9d, esi
sub r9d, eax
sub r9d, 1
call fcn.0040f370
mov rax, qword [rbp + 0x50]
lea rcx, [rax + 8]
mov rdx, qword [rbp + 0x60]
call fcn.0040eea0
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x50]
mov dword [rcx + 4], eax
nop
lea rcx, [rbp + 0x60]
mov edx, 6
call fcn.0040e190
lea rcx, [rbp + 0xb8]
call fcn.0040e0d0
lea rsp, [rbp + 0x90]
pop rbx
pop rsi
pop rbp
ret