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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov rdi, rcx
mov qword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [rsp + 0x88]
lea edx, [r9 + 0x7e]
mov rcx, qword [0x039f11b0]
call fcn.01174e90
mov ebx, eax
mov dword [rsp + 0x34], eax
test eax, eax
jns 0x17c2ad9
jmp 0x17c2f50
mov r12, qword [rsp + 0x88]
test r12, r12
jne 0x17c2af1
xor ebx, ebx
mov dword [rsp + 0x34], ebx
jmp 0x17c2f50
mov qword [rsp + 0x80], r12
xor r14d, r14d
mov qword [rsp + 0x60], r14
xor r15d, r15d
mov qword [rsp + 0x68], r15
lea rcx, [0x01580d48]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [0x017c33a8]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov byte [rsp + 0x30], r14b
mov qword [rsp + 0x50], r14
test rax, rax
je 0x17c2bc5
call rax
mov r13d, eax
mov qword [rsp + 0x50], r13
mov edx, eax
shr rdx, 0x14
lea rcx, [0x017c3340]
call fcn.018650b0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x108]
mov edx, 0xf01ff
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x17c2bb4
lea r8d, [r14 + 1]
lea rdx, [0x017c3310]
mov rcx, qword [rsp + 0x108]
call fcn.017c29e0
test eax, eax
jne 0x17c2b98
mov byte [rsp + 0x30], 1
jmp 0x17c2ba4
lea rcx, [0x017c3200]
call fcn.018650b0
mov rcx, qword [rsp + 0x108]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x17c2bc0
lea rcx, [0x017c3160]
call fcn.018650b0
test r13, r13
jne 0x17c2bd0
mov r13d, 0x100000
mov qword [rsp + 0x50], r13
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
test eax, eax
je 0x17c2f16
mov rax, qword [rsp + 0x58]
and qword [rsp + 0x118], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov rdx, qword [rsp + 0x118]
call qword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov qword [rsp + 0x78], rax
test rax, rax
je 0x17c2f16
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [rsp + 0x110], eax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x98], rax
mov dword [rsp + 0xa0], 8
lea rcx, [rsp + 0x98]
call fcn.02d87450
mov r9d, eax
mov dword [rsp + 0x3c], eax
xor edi, edi
mov dword [rsp + 0x38], edi
nop
nop
cmp edi, 0x40
jae 0x17c2eb4
test r9d, r9d
je 0x17c2eb4
mov ecx, edi
mov ebx, 1
shl rbx, cl
test qword [rsp + 0x118], rbx
jne 0x17c2c9b
jmp 0x17c2ea8
lea r8, [r13 - 1]
not r8
lea rax, [r13 + r12 - 1]
and rax, r8
mov ecx, r9d
xor edx, edx
div rcx
lea rsi, [rax + r13 - 1]
and rsi, r8
mov qword [rsp + 0x90], rsi
add r9d, 0xffffffff
mov dword [rsp + 0x3c], r9d
test rsi, rsi
je 0x17c2eb4
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, edi
call qword [sym.imp.KERNEL32.dll_SetThreadIdealProcessor]
xor eax, eax
cmp byte [rsp + 0x30], al
setne al
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x40], eax
nop
nop
test eax, eax
js 0x17c2e9f
mov rdi, rsi
mov qword [rsp + 0x48], rsi
test rdi, rdi
je 0x17c2e85
test rsi, rsi
je 0x17c2e85
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
mov ecx, dword [rsp + 0x108]
neg ecx
sbb r8d, r8d
and r8d, 0x20000000
or r8d, 0x103000
mov r9d, 4
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, ebx
lea rdx, [0x017c2fa8]
mov rbx, qword [rsp + 0x70]
test rbx, rbx
lea rcx, [0x017c2f98]
cmovne rdx, rcx
lea r9, [0x01187df8]
cmp dword [rsp + 0x108], 0
lea rcx, [0x017c2f78]
cmovne r9, rcx
mov r8, rdi
shr r8, 0x14
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdx
mov edx, dword [rsp + 0x38]
lea rcx, [0x017c30e0]
call fcn.018650b0
test rbx, rbx
je 0x17c2e45
mov rcx, qword [rsp + 0x100]
sub rcx, 0xffffffffffffff80
mov r9, rdi
mov r8, rbx
mov edx, dword [rsp + 0x38]
call fcn.017c8f00
mov ebx, eax
mov dword [rsp + 0x34], eax
test eax, eax
jns 0x17c2dfd
mov rdi, qword [rsp + 0x100]
jmp 0x17c2f50
mov rax, rdi
cmp rsi, rdi
cmovb rax, rsi
sub rsi, rax
mov qword [rsp + 0x90], rsi
mov rax, rdi
cmp r12, rdi
cmovb rax, r12
sub r12, rax
mov qword [rsp + 0x80], r12
cmp dword [rsp + 0x108], 0
je 0x17c2e3b
add r14, rdi
mov qword [rsp + 0x60], r14
jmp 0x17c2e45
add r15, rdi
mov qword [rsp + 0x68], r15
jmp 0x17c2e6e
cmp rdi, r13
jbe 0x17c2e85
lea rcx, [r13 - 1]
not rcx
mov rax, rdi
shr rax, 1
mov rdi, rcx
and rdi, rax
mov qword [rsp + 0x48], rdi
cmp rdi, r13
cmovb rdi, r13
mov qword [rsp + 0x48], rdi
mov rax, rsi
cmp rdi, rsi
cmovb rax, rdi
mov rdi, rax
mov qword [rsp + 0x48], rax
jmp 0x17c2d20
mov eax, dword [rsp + 0x108]
sub eax, 1
mov dword [rsp + 0x108], eax
mov dword [rsp + 0x40], eax
jmp 0x17c2d10
mov edi, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x3c]
add edi, 1
mov dword [rsp + 0x38], edi
jmp 0x17c2c70
call qword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [rsp + 0x110]
mov r9, r12
shr r9, 0x14
shr r15, 0x14
shr r14, 0x14
mov dword [rsp + 0x20], eax
mov r8, r15
mov rdx, r14
lea rcx, [0x017c3030]
call fcn.018650b0
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, reloc.OLEAUT32.dll_VarI4FromDisp
call qword [sym.imp.KERNEL32.dll_SetThreadIdealProcessor]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov rdx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_SetThreadAffinityMask]
mov rdi, qword [rsp + 0x100]
test r12, r12
je 0x17c2f2e
shr r12, 0x14
mov edx, r12d
lea rcx, [0x017c2fc0]
call fcn.018650b0
xor ebx, ebx
mov dword [rsp + 0x34], ebx
jmp 0x17c2f50
lea rcx, [rdi + 0x80]
call fcn.017c8260
mov eax, ebx
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret