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

Disassembly:
push rbp
push rsi
push rbx
sub rsp, 0xa0
mov rbp, rsp
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0xc8], rdx
mov rcx, qword [rbp + 0xc8]
call fcn.0040e240
nop
mov rax, qword [rbp + 0x38]
movzx rax, byte [rax]
cmp rax, 5
jg 0x6880e1
cmp rax, 5
je 0x68866f
sub rax, 1
cmp rax, 0xffffffffffffffff
je 0x688100
sub rax, 2
test rax, rax
jne 0x68882e
jmp 0x688552
sub rax, 6
test rax, rax
je 0x6886c8
sub rax, 2
test rax, rax
jne 0x68882e
jmp 0x688721
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0xc8]
call fcn.00410a70
test eax, eax
je 0x68882f
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0xc8]
call fcn.00410a70
lea rcx, [rbp + 0x90]
mov rdx, qword [rbp + 0xc8]
mov r8d, 1
mov r9d, eax
call fcn.0040f370
lea rcx, [rbp + 0x88]
mov rdx, qword [rbp + 0x90]
lea r8, [0x006888ac]
call fcn.0040ef90
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0xc8]
call fcn.00685220
cmp al, 1
jne 0x688435
mov rax, qword [rbp + 0x40]
cmp byte [rax + 0x10], 0
je 0x68882f
mov rax, qword [rbp + 0x38]
mov byte [rax], 1
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x38]
mov dword [rcx + 4], eax
lea rcx, [0x006888c0]
mov rdx, qword [rbp + 0xc8]
call fcn.00410a70
test eax, eax
jne 0x6882d5
lea rcx, [0x006888d0]
mov rdx, qword [rbp + 0xc8]
call fcn.00410a70
mov ebx, eax
mov rcx, qword [0x009b4ca0]
mov rdx, qword [rbp + 0xc8]
call fcn.00410a70
mov esi, eax
lea rcx, [0x006888d0]
mov rdx, qword [rbp + 0xc8]
call fcn.00410a70
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0xc8]
mov r8d, ebx
add r8d, 6
mov r9d, esi
sub r9d, eax
sub r9d, 6
call fcn.0040f370
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
mov rcx, qword [rbp + 0x38]
lea rcx, [rcx + 8]
mov rdx, qword [rbp + 0x98]
mov r8d, 1
mov r9d, eax
sub r9d, 1
call fcn.0040f370
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
lea rcx, [rbp + 0x98]
mov edx, 1
mov r8d, eax
call fcn.0040f3f0
mov rax, qword [rbp + 0x40]
cmp word [rax + 0x3000a0], 0
jne 0x6882a2
lea rcx, [rbp + 0x98]
mov rdx, qword [0x009b4cc0]
call fcn.0040e890
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 8]
mov edx, 3
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 8]
mov r9, qword [0x009b4cb0]
mov rax, qword [rbp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.0040f220
jmp 0x688435
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0xc8]
call fcn.0040e890
lea rcx, [0x006888c0]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
lea rcx, [rbp + 0x98]
mov edx, 1
mov r8d, eax
call fcn.0040f3f0
lea rcx, [0x006888c0]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
mov rcx, qword [rbp + 0x38]
lea rcx, [rcx + 8]
mov rdx, qword [rbp + 0x98]
mov r8d, 1
mov r9d, eax
sub r9d, 1
call fcn.0040f370
lea rcx, [0x006888c0]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
lea rcx, [rbp + 0x98]
mov edx, 1
mov r8d, eax
call fcn.0040f3f0
lea rcx, [0x006888c0]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
lea rcx, [rbp + 0x98]
mov edx, 1
mov r8d, eax
call fcn.0040f3f0
mov rax, qword [rbp + 0x40]
cmp word [rax + 0x3000a0], 0
jne 0x6883d3
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 8]
mov edx, 3
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 8]
mov r9, qword [0x009b4cb0]
mov rax, qword [0x009b4cc0]
mov qword [rsp + 0x20], rax
call fcn.0040f220
jmp 0x688435
lea rcx, [0x006888c0]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0x98]
mov r8d, 1
mov r9d, eax
sub r9d, 1
call fcn.0040f370
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 8]
mov edx, 3
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 8]
mov r9, qword [0x009b4cb0]
mov rax, qword [rbp + 0x80]
mov qword [rsp + 0x20], rax
call fcn.0040f220
lea rcx, [rbp + 0x78]
mov rdx, qword [rbp + 0x90]
lea r8, [0x006888e4]
call fcn.0040ef90
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0xc8]
call fcn.00685220
cmp al, 1
jne 0x688491
mov rax, qword [rbp + 0x40]
cmp byte [rax + 0x10], 0
je 0x68882f
mov rax, qword [rbp + 0x38]
mov byte [rax], 8
lea rcx, [rax + 8]
call fcn.0040e0d0
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x38]
mov dword [rcx + 4], eax
lea rcx, [rbp + 0x70]
mov rdx, qword [rbp + 0x90]
lea r8, [0x00688904]
call fcn.0040ef90
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0xc8]
call fcn.00685220
cmp al, 1
jne 0x6884ed
mov rax, qword [rbp + 0x40]
cmp byte [rax + 0x10], 0
je 0x68882f
mov rax, qword [rbp + 0x38]
mov byte [rax], 2
lea rcx, [rax + 8]
call fcn.0040e0d0
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x38]
mov dword [rcx + 4], eax
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x90]
lea r8, [0x00688928]
call fcn.0040ef90
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0xc8]
call fcn.00685220
cmp al, 1
jne 0x68882e
mov rax, qword [rbp + 0x40]
cmp byte [rax + 0x10], 0
je 0x68882f
mov rax, qword [rbp + 0x38]
mov byte [rax], 4
lea rcx, [rax + 8]
call fcn.0040e0d0
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x38]
mov dword [rcx + 4], eax
jmp 0x68882e
mov rax, qword [rbp + 0x38]
mov byte [rax], 1
mov rcx, qword [0x009b4ca0]
mov rdx, qword [rbp + 0xc8]
call fcn.00410a70
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0xc8]
mov r8d, 1
mov r9d, eax
sub r9d, 1
call fcn.0040f370
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0x60]
call fcn.00619c50
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x98]
mov r8d, 1
mov r9d, eax
sub r9d, 1
call fcn.0040f370
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 8]
mov edx, 4
mov r8, qword [rbp + 0x58]
mov r9, qword [0x009b4cb0]
lea rax, [0x00688948]
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 8]
mov qword [rsp + 0x28], rax
call fcn.0040f220
mov rcx, qword [0x009b4c98]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
lea rcx, [rbp + 0x98]
mov edx, 1
mov r8d, eax
call fcn.0040f3f0
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 8]
mov edx, 3
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 8]
lea r9, [0x00688960]
mov rax, qword [rbp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.0040f220
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x38]
mov dword [rcx + 4], eax
jmp 0x68882e
mov rax, qword [rbp + 0x38]
mov byte [rax], 6
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0xc8]
call fcn.00619c50
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 8]
mov edx, 3
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 8]
mov r9, qword [rbp + 0x50]
mov rax, qword [0x009b4cb0]
mov qword [rsp + 0x20], rax
call fcn.0040f220
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x38]
mov dword [rcx + 4], eax
jmp 0x68882e
mov rax, qword [rbp + 0x38]
mov byte [rax], 1
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0xc8]
call fcn.00619c50
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 8]
mov edx, 3
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 8]
mov r9, qword [rbp + 0x48]
mov rax, qword [0x009b4cb0]
mov qword [rsp + 0x20], rax
call fcn.0040f220
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x38]
mov dword [rcx + 4], eax
jmp 0x68882e
mov rax, qword [rbp + 0x38]
mov byte [rax], 1
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0xc8]
call fcn.00619c50
xor rax, rax
cmp qword [rbp + 0x98], 0
je 0x688752
mov rax, qword [rbp + 0x98]
mov eax, dword [rax - 4]
cmp eax, 1
jle 0x688770
lea rcx, [rbp + 0x98]
mov edx, 1
mov r8d, 1
call fcn.0040f3f0
lea rcx, [0x00688970]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
mov rcx, qword [rbp + 0x38]
lea rcx, [rcx + 8]
mov rdx, qword [rbp + 0x98]
mov r8d, 1
mov r9d, eax
sub r9d, 1
call fcn.0040f370
lea rcx, [0x00688970]
mov rdx, qword [rbp + 0x98]
call fcn.00410a70
lea rcx, [rbp + 0x98]
mov edx, 1
mov r8d, eax
call fcn.0040f3f0
mov rax, qword [rbp + 0x40]
cmp word [rax + 0x3000a0], 0
jne 0x6887ee
lea rcx, [rbp + 0x98]
mov rdx, qword [0x009b4cc0]
call fcn.0040e890
mov rax, qword [rbp + 0x38]
lea rcx, [rax + 8]
mov edx, 3
mov rax, qword [rbp + 0x38]
mov r8, qword [rax + 8]
mov r9, qword [0x009b4cb0]
mov rax, qword [rbp + 0x98]
mov qword [rsp + 0x20], rax
call fcn.0040f220
call sub.kernel32.dll_GetTickCount_1
add eax, 0xea60
mov rcx, qword [rbp + 0x38]
mov dword [rcx + 4], eax
nop
lea rcx, [rbp + 0x48]
mov edx, 0xb
call fcn.0040e190
lea rcx, [rbp + 0xc8]
call fcn.0040e0d0
lea rsp, [rbp + 0xa0]
pop rbx
pop rsi
pop rbp
ret