Function at 0x14016b030
Capabilities:
Check for time delay via queryperformancecounter
Execute anti-debugging instructions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1c8
movapd xmmword [rsp + 0x1b0], xmm6
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x1402e0038]
xor rax, rsp
mov qword [rsp + 0x1a8], rax
mov eax, dword [0x1402f3dd0]
mov ecx, dword [0x1402f0db0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016b607
cmp byte [rbx], 0
je 0x14016b28c
mov eax, dword [0x1402f3efc]
mov ecx, dword [0x1402f0db0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016b5a7
cmp byte [0x1402f3ef8], 0
je 0x14016b1a5
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, [rsp + 0x190]
mov qword [rdx], 0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
movsd xmm0, qword [0x1402f3f00]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x14016b0fd
jnp 0x14016b45b
ucomisd xmm0, xmm6
jne 0x14016b109
jnp 0x14016b2c7
movsd xmm1, qword [rsp + 0x190]
unpcklps xmm1, xmmword [0x1402a8a90]
subpd xmm1, xmmword [0x1402a8aa0]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x1402a8ab0]
cvttsd2si rax, xmm2
mov qword [rsp + 0x50], rax
mov rax, qword [0x1402e38a8]
lea rcx, [0x140038fc0]
lea r14, [rsp + 0x58]
cmp rax, rcx
jne 0x14016b63f
mov qword [r14], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r14]
movabs rcx, 0x8637bd05af6
cmp rax, rcx
jle 0x14016b1b0
mov rcx, qword [0x1402f3f50]
cqo
idiv rcx
imul r8, rax, 0xf4240
imul rax, rdx, 0xf4240
cqo
idiv rcx
add rax, r8
jmp 0x14016b1c0
mov qword [rsp + 0x50], 0
jmp 0x14016b143
imul rax, rax, 0xf4240
cqo
idiv qword [0x1402f3f50]
mov qword [rsp + 0x58], rax
movabs rcx, 0x7fffffffffffffff
mov rdx, qword [0x1402f3c08]
lea r8, [rdx + rcx]
add r8, 2
cmp r8, 2
jae 0x14016b1fa
cmp rax, rdx
je 0x14016b650
lea rax, [rcx + 1]
test rdx, rdx
cmovs rax, rcx
jmp 0x14016b20e
xor r8d, r8d
cmp rax, rdx
setns r8b
add r8, rcx
sub rax, rdx
cmovo rax, r8
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp byte [rbx], 0
je 0x14016b28c
mov ebp, eax
mov eax, dword [0x1402f0db0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x131], 0
jne 0x14016b28c
lea r14, [rax + 0x131]
mov byte [r14], 1
mov al, byte [rbx]
test al, 8
jne 0x14016b2b8
test al, 1
je 0x14016b288
mov rax, qword [0x1402f3dc8]
test rax, rax
je 0x14016b2ce
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], rcx
mov byte [rsp + 0x20], 0
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
mov r9d, ebp
call qword [0x140318008]
mov byte [r14], 0
mov rcx, qword [rsp + 0x1a8]
xor rcx, rsp
call fcn.14010fba0
movaps xmm6, xmmword [rsp + 0x1b0]
add rsp, 0x1c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
mov rdx, rdi
call fcn.1401dd160
mov al, byte [rbx]
jmp 0x14016b24d
xor eax, eax
jmp 0x14016b13e
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x190], xmm0
mov qword [rsp + 0x1a0], 0
movabs rax, 0xaaaaaaaaaaaaaa00
lea r8, [rsp + 0x58]
mov qword [r8 + 8], rax
lea rax, [0x1402f3a78]
mov qword [r8], rax
lea rcx, [0x1402f3a70]
mov rdx, rsi
call fcn.1401c5710
mov rsi, rax
test rax, rax
je 0x14016b32d
lea rdx, [rsp + 0x48]
lea r8, [rsp + 0x50]
mov rcx, rsi
call fcn.1401db050
mov eax, dword [0x1402f3c10]
test al, 8
jne 0x14016b581
cmp byte [rsp + 0x60], 0
je 0x14016b34d
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov bl, byte [rsp + 0x1a7]
test bl, bl
js 0x14016b35d
movzx esi, bl
jmp 0x14016b365
mov rsi, qword [rsp + 0x198]
test rsi, rsi
je 0x14016b3c5
cmp dword [0x1402f4050], 2
jg 0x14016b3c5
lea rdx, str....._base_trace_event_trace_log.cc
lea rdi, [rsp + 0x58]
mov rcx, rdi
mov r8d, 0x7ab
mov r9d, 2
call fcn.1400c0e80
lea rcx, [rsp + 0x68]
test bl, bl
js 0x14016b3a6
lea rdx, [rsp + 0x190]
jmp 0x14016b3ae
mov rdx, qword [rsp + 0x190]
mov r8, rsi
call fcn.14017d289
mov rcx, rdi
call fcn.140089d40
mov bl, byte [rsp + 0x1a7]
test bl, bl
jns 0x14016b288
mov rcx, qword [rsp + 0x190]
call fcn.14010cc0c
jmp 0x14016b288
lea rcx, [0x1402f3f20]
call fcn.14010d4bc
cmp dword [0x1402f3f20], 0xffffffff
jne 0x14016b4c7
lea r14, [rsp + 0x58]
mov qword [r14], 0
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r14]
mov qword [0x1402f3f18], rax
lea rcx, [0x1402f3f20]
call fcn.14010d064
jmp 0x14016b4c7
lea rcx, [0x1402f3f10]
call fcn.14010d4bc
cmp dword [0x1402f3f10], 0xffffffff
jne 0x14016b4a2
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x1402f3f08], rdx
lea rcx, [0x1402f3f10]
call fcn.14010d064
jmp 0x14016b4a2
mov r14, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
call r14
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov ebp, eax
call r14
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [0x1402f3f10]
mov ecx, dword [0x1402f0db0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016b428
mov eax, dword [0x1402f3f20]
mov ecx, dword [0x1402f0db0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14016b3df
rdtsc
mov qword [rsp + 0x40], rax
mov r15, rdx
xor r13d, r13d
lea r12, [rsp + 0x58]
mov qword [r12], r13
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov r14, qword [r12]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, ebp
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov qword [r12], r13
lea r12, [rsp + 0x58]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
sub r14, qword [0x1402f3f18]
cvtsi2sd xmm1, r14
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [r12]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x1402a8a80]
ucomisd xmm2, xmm1
ja 0x14016b0fd
shl r15, 0x20
mov rax, qword [rsp + 0x40]
or rax, r15
sub rax, qword [0x1402f3f08]
movq xmm2, rax
punpckldq xmm2, xmmword [0x1402a8a90]
subpd xmm2, xmmword [0x1402a8aa0]
movapd xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm0, xmm2
divsd xmm0, xmm1
movsd qword [0x1402f3f00], xmm0
jmp 0x14016b0fd
mov qword [rsp + 0x20], rsi
lea rcx, [0x1402f3a70]
lea rdx, [rsp + 0x190]
lea r9, [rsp + 0x48]
mov r8b, 0x45
call fcn.1401c4fd0
jmp 0x14016b33b
lea rcx, [0x1402f3efc]
call fcn.14010d4bc
cmp dword [0x1402f3efc], 0xffffffff
jne 0x14016b0ba
lea r14, [rsp + 0x58]
mov rcx, r14
call fcn.1400f7950
mov bpl, byte [r14 + 0x29]
cmp byte [r14 + 0x5f], 0
jns 0x14016b5e5
mov rcx, qword [rsp + 0xa0]
call fcn.14010cc0c
cmp byte [rsp + 0x9f], 0
js 0x14016b653
mov byte [0x1402f3ef8], bpl
lea rcx, [0x1402f3efc]
call fcn.14010d064
jmp 0x14016b0ba
lea rcx, [0x1402f3dd0]
call fcn.14010d4bc
cmp dword [0x1402f3dd0], 0xffffffff
jne 0x14016b08c
lea rcx, [0x1402f3a70]
xor edx, edx
call fcn.14003cba0
lea rcx, [0x1402f3dd0]
call fcn.14010d064
jmp 0x14016b08c
mov rcx, r14
call qword [0x140318008]
mov rax, qword [r14]
jmp 0x14016b1c5
int3
mov rcx, qword [rsp + 0x88]
call fcn.14010cc0c
jmp 0x14016b5ef