Function at 0x171b16f30
Capabilities:
Check for time delay via gettickcount
Get thread local storage value

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x210
mov rax, qword [0x171b91788]
xor rax, rsp
mov qword [rsp + 0x1f0], rax
mov r14d, edx
mov rbx, rcx
mov ebp, 0x80004005
test rcx, rcx
je 0x171b317ba
mov ecx, dword [0x171b92280]
cmp ecx, 0xffffffff
je 0x171b1708d
mov qword [rsp + 0x238], rdi
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsGetValue]
nop dword [rax + rax]
test rax, rax
je 0x171b1707f
mov rdi, qword [rax]
test rdi, rdi
je 0x171b1707f
mov rdi, qword [rdi]
mov qword [rsp + 0x230], rsi
xor esi, esi
mov qword [rsp + 0x40], rdi
mov ecx, esi
movsxd rax, dword [rdi + 0x10]
test eax, eax
jle 0x171b317b0
mov r8, rax
mov edx, esi
mov rax, qword [rdi]
cmp qword [rax], rbx
jne 0x171b170da
cmp ecx, 0xffffffff
je 0x171b317b0
mov rbx, qword [rdi + 8]
movsxd rax, ecx
mov rbx, qword [rbx + rax*8]
test rbx, rbx
je 0x171b317b0
mov edx, r14d
mov rcx, rbx
call fcn.171b17330
cmp dword [rbx + 0x20], 1
mov ebp, eax
jne 0x171b17077
movsxd rax, dword [rdi + 0x10]
mov edx, esi
test eax, eax
jle 0x171b17025
mov r8, rax
mov rcx, rsi
mov rax, qword [rdi + 8]
cmp qword [rax], rbx
jne 0x171b170f1
cmp edx, 0xffffffff
je 0x171b17025
mov rcx, rdi
call fcn.171b1f070
cmp dword [rbx + 0x20], 3
je 0x171b31764
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
nop dword [rax + rax]
mov dword [rbx + 0x58], eax
mov dword [rbx + 0x20], esi
lock inc dword [0x171b92a08]
mov r14d, esi
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
nop dword [rax + rax]
mov ecx, eax
mov ebx, eax
sub ecx, dword [0x171b92960]
cmp ecx, 0x3e8
ja 0x171b17115
cmp dword [rdi + 0x18], 0
je 0x171b17108
mov rsi, qword [rsp + 0x230]
mov ecx, dword [0x171b92280]
mov rdi, qword [rsp + 0x238]
mov byte [rsp + 0x30], 0
cmp ecx, 0xffffffff
je 0x171b170bb
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsGetValue]
nop dword [rax + rax]
test rax, rax
je 0x171b170bb
mov ecx, dword [rax + 8]
test ecx, ecx
jle 0x171b170bb
sub ecx, 1
mov dword [rax + 8], ecx
je 0x171b1719f
mov eax, ebp
mov rcx, qword [rsp + 0x1f0]
xor rcx, rsp
call fcn.171b28ea0
add rsp, 0x210
pop r14
pop rbp
pop rbx
ret
inc ecx
inc rdx
add rax, 8
cmp rdx, r8
jl 0x171b16fc2
jmp 0x171b317b0
inc edx
inc rcx
add rax, 8
cmp rcx, r8
jl 0x171b1700f
jmp 0x171b17025
mov rcx, rdi
call fcn.171b17c00
jmp 0x171b17077
lea rcx, [0x171b92ec8]
mov qword [rsp + 0x208], r13
mov dword [0x171b92960], ebx
call qword [sym.imp.ntdll.dll_RtlAcquireSRWLockShared]
nop dword [rax + rax]
mov rcx, qword [0x171b92a00]
mov r13d, 1
movsxd rax, dword [rcx + 8]
test eax, eax
jle 0x171b1717a
mov rcx, qword [rcx]
mov r9, rax
mov rdx, rsi
mov r8, qword [rcx]
cmp dword [r8 + 0x20], esi
jne 0x171b1716e
mov eax, ebx
sub eax, dword [r8 + 0x58]
cmp eax, 0x3e8
jae 0x171b17319
inc rdx
add rcx, 8
cmp rdx, r9
jl 0x171b17154
lea rcx, [0x171b92ec8]
call qword [sym.imp.ntdll.dll_RtlReleaseSRWLockShared]
nop dword [rax + rax]
test r14d, r14d
jne 0x171b171cb
mov r13, qword [rsp + 0x208]
jmp 0x171b1706d
mov rcx, qword [rax]
test rcx, rcx
je 0x171b171ac
call fcn.171b1ad60
lea rcx, [rsp + 0x30]
call fcn.171b1e2c0
cmp byte [rsp + 0x30], 0
je 0x171b170bb
call fcn.171b19e50
jmp 0x171b170bb
test byte [0x171b93540], r13b
mov qword [rsp + 0x200], r15
jne 0x171b31778
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetTickCount]
nop dword [rax + rax]
lea rcx, [0x171b92ec8]
mov dword [rsp + 0x34], eax
mov edi, esi
call qword [sym.imp.ntdll.dll_RtlAcquireSRWLockExclusive]
nop dword [rax + rax]
mov r15, qword [0x171b92a00]
mov ebx, esi
cmp dword [r15 + 8], ebx
jle 0x171b172d6
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x240], r12
mov r14, rsi
mov qword [rsp + 0x38], rcx
mov esi, dword [rsp + 0x34]
mov rax, qword [r15]
mov r12, qword [r14 + rax]
cmp dword [r12 + 0x20], 0
jne 0x171b172b9
mov eax, esi
sub eax, dword [r12 + 0x58]
cmp eax, 0x3e8
jb 0x171b172b9
test ebx, ebx
js 0x171b1728b
mov edx, dword [r15 + 8]
cmp r13d, edx
je 0x171b17284
jg 0x171b1728b
mov rax, qword [r15]
sub edx, ebx
dec edx
movsxd rcx, ebx
movsxd r8, edx
shl r8, 3
lea rcx, [rax + rcx*8]
lea rdx, [rcx + 8]
call sub.msvcrt.dll_memmove
mov edx, dword [r15 + 8]
mov rcx, qword [rsp + 0x38]
lea eax, [rdx - 1]
mov dword [r15 + 8], eax
lock dec dword [0x171b92a08]
dec ebx
dec r13d
sub r14, 8
cmp edi, 0x32
jae 0x171b3179e
inc edi
mov qword [rcx], r12
add rcx, 8
mov qword [rsp + 0x38], rcx
mov r15, qword [0x171b92a00]
inc ebx
inc r13d
add r14, 8
cmp ebx, dword [r15 + 8]
jl 0x171b17231
mov r12, qword [rsp + 0x240]
xor esi, esi
lea rcx, [0x171b92ec8]
call qword [sym.imp.ntdll.dll_RtlReleaseSRWLockExclusive]
nop dword [rax + rax]
mov r15, qword [rsp + 0x200]
movsxd rbx, edi
test edi, edi
jle 0x171b1730f
mov rcx, qword [rsp + rsi*8 + 0x60]
test rcx, rcx
je 0x171b17307
call fcn.171b19918
inc rsi
cmp rsi, rbx
jl 0x171b172f8
mov rdi, qword [rsp + 0x40]
jmp 0x171b17192
mov r14d, r13d
jmp 0x171b1717a
mov rcx, rbx
call fcn.171b23b78
mov qword [rbx + 0x110], rsi
jmp 0x171b1702f
lea rax, [rsp + 0x48]
mov r9d, r13d
lea rdx, [0x171b68bf8]
mov qword [rsp + 0x20], rax
lea rcx, [0x171b91320]
call fcn.171b38688
nop
jmp 0x171b171e0
mov rcx, r12
call fcn.171b19918
mov rcx, qword [rsp + 0x38]
jmp 0x171b172b2
mov ebp, 0x80070057
jmp 0x171b17077
mov eax, 0x80070057
jmp 0x171b170bd