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

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xc8
mov rbp, rsp
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x38], rdx
mov dword [rbp + 0x4c], r8d
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x78], 0
nop
or esi, 0xffffffff
xor rbx, rbx
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 0xa0]
mov edi, dword [rax + 0x10]
sub edi, 1
cmp ebx, edi
jg 0x6ef85d
add edi, 1
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, ebx
call fcn.004684d0
mov ecx, dword [rbp + 0x4c]
cmp dword [rax], ecx
jne 0x6ef856
mov esi, ebx
jmp 0x6ef85d
add ebx, 1
cmp ebx, edi
jne 0x6ef839
nop
mov rcx, qword [rbp + 0x40]
movzx rax, byte [rcx + 0x5d]
xor al, byte [rcx + 0x58]
cmp al, byte [rcx + 0x5d]
jne 0x6ef938
mov rcx, qword [rbp + 0x40]
movzx rax, byte [rcx + 0x5a]
xor al, byte [rcx + 0x5b]
cmp al, byte [rcx + 0x59]
jne 0x6ef8de
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xbc], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xac], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb0], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb8], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb4], eax
jmp 0x6ef9f5
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb4], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb0], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xbc], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xac], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb8], eax
jmp 0x6ef9f5
mov rcx, qword [rbp + 0x40]
movzx rax, byte [rcx + 0x5a]
xor al, byte [rcx + 0x5b]
cmp al, byte [rcx + 0x59]
jne 0x6ef9a0
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb8], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xac], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xbc], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb0], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb4], eax
jmp 0x6ef9f5
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xac], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb8], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb0], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xbc], eax
mov ecx, 7
call fcn.00406550
mov dword [rbp + 0xb4], eax
cmp esi, 0xffffffff
jne 0x6efd51
mov ecx, 0x18
mov rdx, qword [0x006eb5c0]
call fcn.004117c0
mov rbx, rax
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov rdx, rbx
call fcn.00468210
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 0xa0]
cmp dword [rax + 0x10], 7
jne 0x6efa70
mov rcx, qword [rbp + 0x40]
movzx rax, byte [rcx + 0x5a]
xor al, byte [rcx + 0x5c]
cmp al, byte [rcx + 0x59]
je 0x6efa70
mov rax, qword [rbp + 0x40]
lea rax, [rax + 0xa0]
mov rcx, qword [rax]
mov qword [rax], 0
call fcn.0040ae10
mov rcx, qword [rbp + 0x38]
call fcn.0040e080
jmp 0x6efe36
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 0x50]
movsxd rcx, dword [rbp + 0xb8]
mov rax, qword [rax + rcx*8]
movsxd rcx, dword [rbp + 0xb0]
mov rdx, qword [rbp + 0x40]
mov rdx, qword [rdx + 0x50]
movsxd r8, dword [rbp + 0xb0]
mov rdx, qword [rdx + r8*8]
movsxd r8, dword [rbp + 0xb4]
mov r9, qword [rbp + 0x40]
mov r9, qword [r9 + 0x50]
movsxd r10, dword [rbp + 0xb8]
mov r9, qword [r9 + r10*8]
movsxd r10, dword [rbp + 0xbc]
movzx rdx, word [rdx + r8*2]
or dx, word [r9 + r10*2]
and dx, 0xffff
mov r8, qword [rbp + 0x40]
mov r8, qword [r8 + 0x50]
movsxd r9, dword [rbp + 0xac]
mov r8, qword [r8 + r9*8]
movsxd r9, dword [rbp + 0xb8]
xor dx, word [r8 + r9*2]
mov r8, qword [rbp + 0x40]
mov r8, qword [r8 + 0x50]
movsxd r9, dword [rbp + 0xac]
mov r8, qword [r8 + r9*8]
movsxd r9, dword [rbp + 0xb4]
xor dx, word [r8 + r9*2]
cmp word [rax + rcx*2], dx
jne 0x6efb20
mov ecx, dword [rbp + 0x4c]
mov dword [rbx], ecx
call fcn.00643b80
mov qword [rbx + 8], rax
jmp 0x6efb31
mov ecx, dword [rbp + 0x4c]
call fcn.00643b80
mov qword [rbx + 8], rax
mov eax, dword [rbp + 0x4c]
mov dword [rbx], eax
lea rcx, [rbp + 0x78]
mov rdx, qword [rbx + 8]
call fcn.00643bf0
lea rcx, [rbx + 0x10]
mov rdx, qword [rbp + 0x78]
call fcn.0040e6f0
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbx + 0x10]
call fcn.0040e6f0
xor rbx, rbx
mov rax, qword [rbp + 0x40]
mov rax, qword [rax + 0xa0]
mov esi, dword [rax + 0x10]
sub esi, 1
cmp ebx, esi
jg 0x6efc82
add esi, 1
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, ebx
call fcn.004684d0
mov rcx, qword [rax + 8]
lea rdx, [rbp + 0xa4]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x94]
lea rax, [rbp + 0x8c]
mov qword [rsp + 0x20], rax
call sub.kernel32.dll_GetProcessTimes
test eax, eax
setne al
cmp al, 1
jne 0x6efc26
cmp dword [rbp + 0x9c], 0
ja 0x6efbd3
cmp dword [rbp + 0xa0], 0
jbe 0x6efc77
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, ebx
call fcn.004684d0
mov rcx, qword [rax + 8]
call sub.kernel32.dll_CloseHandle_1
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, ebx
call fcn.004684d0
mov rcx, rax
mov rdx, qword [0x006eb5c0]
call fcn.004117f0
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, ebx
xor r8, r8
call fcn.00468780
jmp 0x6efc77
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, ebx
call fcn.004684d0
mov rcx, qword [rax + 8]
call sub.kernel32.dll_CloseHandle_1
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, ebx
call fcn.004684d0
mov rcx, rax
mov rdx, qword [0x006eb5c0]
call fcn.004117f0
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, ebx
xor r8, r8
call fcn.00468780
add ebx, 1
cmp ebx, esi
jne 0x6efb77
nop
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
call fcn.00468840
call sub.kernel32.dll_GetTickCount_1
mov rcx, qword [rbp + 0x40]
mov ecx, dword [rcx + 0xb0]
add ecx, 0x36ee80
cmp ecx, eax
jae 0x6efe36
call sub.kernel32.dll_GetTickCount_1
mov rcx, qword [rbp + 0x40]
mov dword [rcx + 0xb0], eax
mov rax, qword [rbp + 0x40]
cmp byte [rax + 0x5a], 0
je 0x6efe36
mov rax, qword [0x00a8db68]
mov rcx, qword [rax]
call fcn.004816d0
lea rcx, [rbp + 0x60]
movzx edx, ax
mov r8d, 4
call fcn.0042bf90
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
mov r8d, 3
mov r9d, 1
call fcn.00410500
lea rcx, [rbp + 0x70]
lea rdx, [0x006efe94]
mov r8, qword [rbp + 0x68]
call fcn.004102f0
mov rcx, qword [rbp + 0x70]
call fcn.0042bfd0
mov rdx, qword [rbp + 0x40]
movzx rcx, byte [rdx + 0x5d]
xor cl, byte [rdx + 0x5a]
movzx rcx, cl
cmp eax, ecx
je 0x6efe36
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0x60]
call sub.kernel32.dll_SetEvent
jmp 0x6efe36
mov rax, qword [rbp + 0x40]
mov rcx, qword [rax + 0xa0]
mov edx, esi
call fcn.004684d0
mov rbx, rax
mov rcx, qword [rbx + 8]
lea rdx, [rbp + 0xa4]
lea r8, [rbp + 0x9c]
lea r9, [rbp + 0x94]
lea rax, [rbp + 0x8c]
mov qword [rsp + 0x20], rax
call sub.kernel32.dll_GetProcessTimes
test eax, eax
setne al
cmp al, 1
jne 0x6efdf9
cmp dword [rbp + 0x9c], 0
ja 0x6efdac
cmp dword [rbp + 0xa0], 0
jbe 0x6efdea
mov rcx, qword [rbx + 8]
call sub.kernel32.dll_CloseHandle_1
mov ecx, dword [rbp + 0x4c]
call fcn.00643b80
mov qword [rbx + 8], rax
lea rcx, [rbp + 0x58]
mov rdx, qword [rbx + 8]
call fcn.00643bf0
lea rcx, [rbx + 0x10]
mov rdx, qword [rbp + 0x58]
call fcn.0040e6f0
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbx + 0x10]
call fcn.0040e6f0
jmp 0x6efe35
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbx + 0x10]
call fcn.0040e6f0
jmp 0x6efe35
mov rcx, qword [rbx + 8]
call sub.kernel32.dll_CloseHandle_1
mov ecx, dword [rbp + 0x4c]
call fcn.00643b80
mov qword [rbx + 8], rax
lea rcx, [rbp + 0x50]
mov rdx, qword [rbx + 8]
call fcn.00643bf0
lea rcx, [rbx + 0x10]
mov rdx, qword [rbp + 0x50]
call fcn.0040e6f0
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbx + 0x10]
call fcn.0040e6f0
nop
lea rcx, [rbp + 0x50]
mov edx, 6
call fcn.0040e160
mov rax, qword [rbp + 0x38]
lea rsp, [rbp + 0xc8]
pop rbx
pop rsi
pop rdi
pop rbp
ret