Function at 0x1401bfdf0
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, 0x228
movapd xmmword [rsp + 0x210], xmm6
mov rsi, r9
mov r12, r8
mov r14d, ecx
mov r15d, dword [rsp + 0x2b8]
mov rax, qword [0x140346038]
xor rax, rsp
mov qword [rsp + 0x208], rax
mov eax, dword [0x140362658]
mov ecx, dword [0x1403576e0]
mov r8, qword gs:[0x58]
mov rcx, qword [r8 + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401c0faf
mov ebx, dword [rsp + 0x2a0]
test r15d, 0x410
jne 0x1401c0955
mov rdi, rdx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, ebx
jne 0x1401c0ff7
mov eax, dword [0x140362784]
mov ecx, dword [0x1403576e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401c0ee3
cmp byte [0x140362780], 0
je 0x1401c0ff7
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, [rsp + 0x90]
mov qword [rdx], 0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
movsd xmm0, qword [0x140362788]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x1401bfee1
jnp 0x1401c0b29
ucomisd xmm0, xmm6
mov rdx, rdi
jne 0x1401bfef0
jnp 0x1401c0955
movsd xmm1, qword [rsp + 0x90]
unpcklps xmm1, xmmword [0x1403068f0]
subpd xmm1, xmmword [0x140306900]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x14030e398]
cvttsd2si rax, xmm2
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x88], 0
mov dword [rsp + 0xc0], ebx
mov qword [rsp + 0x68], rdx
cmp byte [rdx], 0
je 0x1401c0ff0
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov r13, qword [rcx + rax*8]
cmp byte [r13 + 0x151], 0
jne 0x1401c0ff0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, ebx
mov rdx, qword [rsp + 0x68]
jne 0x1401bffc0
mov rax, qword [0x140362b30]
cmp rax, 1
jbe 0x1401c0f5c
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x188]
mov qword [rsp + 0xb8], rax
test rax, rax
je 0x1401bffc0
cmp rax, qword [rcx + 0x158]
jne 0x1401c0dbc
mov r9, qword [rsp + 0x2b0]
mov r10, qword [rsp + 0x290]
lea r13, [r13 + 0x151]
test byte [rdx], 8
jne 0x1401c1009
mov r8, qword [rsp + 0x2a8]
movabs rax, 0x7fffffffffffffff
mov bpl, byte [r13]
mov byte [r13], 1
xor ecx, ecx
bt r15d, 0xb
mov edi, 0
jae 0x1401c0010
mov rdi, qword [0x140362480]
test r15d, 0x180
cmove rdi, rcx
mov rcx, qword [0x140362490]
mov rbx, qword [r8]
lea r8, [rcx + rax]
add r8, 2
cmp r8, 2
jae 0x1401c0049
cmp rbx, rcx
je 0x1401c1006
lea rbx, [rax + 1]
test rcx, rcx
cmovs rbx, rax
jmp 0x1401c005d
xor r8d, r8d
cmp rbx, rcx
setns r8b
add r8, rax
sub rbx, rcx
cmovo rbx, r8
test byte [rdx], 1
je 0x1401c0127
mov byte [rsp + 0x67], r14b
mov r14d, r15d
mov r15, r12
mov r12, r13
mov r13, rsi
mov byte [rsp + 0x78], bpl
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x150], 0
jne 0x1401c0108
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x1a0], 0
je 0x1401c0108
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x168], 0
je 0x1401c0108
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbp, [rax + 0x148]
mov rsi, qword [rbp]
test rsi, rsi
je 0x1401c0eb0
mov eax, dword [0x140362634]
cmp eax, dword [rsi + 0x38]
jne 0x1401c0e80
test byte [rdx], 1
mov bpl, byte [rsp + 0x78]
mov rsi, r13
mov r13, r12
mov r12, r15
mov r15d, r14d
mov r14b, byte [rsp + 0x67]
jne 0x1401c03e4
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
movzx ebx, byte [rsp + 0xa7]
test bl, bl
js 0x1401c0155
mov r15d, ebx
and r15d, 0x7f
jmp 0x1401c015d
mov r15, qword [rsp + 0x98]
test r15, r15
je 0x1401c0292
cmp dword [0x1403629c0], 2
jg 0x1401c0292
lea rax, [0x1402fff50]
lea rsi, [rsp + 0xe0]
mov qword [rsi - 0x10], rax
mov dword [rsi - 8], 2
mov rcx, rsi
mov edx, 1
call fcn.1400e9c6a
lea rdi, str....._base_trace_event_trace_log.cc
mov qword [rsi + 0x110], rdi
mov dword [rsi + 0x118], 0x706
lea rcx, [rsp + 0x1fc]
call fcn.140117fa0
lea rcx, [rsp + 0xd0]
mov rdx, rdi
mov r8d, 0x706
call fcn.140082090
test bl, bl
js 0x1401c0235
lea rdi, [rsp + 0x90]
jmp 0x1401c023d
mov qword [rsp + 0x110], 0
cmp qword [rsp + 0x80], 0
setne dl
lea rsi, [rsp + 0xd0]
lea r8, [rsp + 0x88]
mov rcx, rsi
mov rax, qword [rsp + 0x68]
call qword [0x14037e008]
cmp byte [rsi + 0x48], 0
jne 0x1401c0a0e
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x1401c02a3
jmp 0x1401c0c65
mov rdi, qword [rsp + 0x90]
mov rax, qword [rsp + 0xe0]
movsxd rbx, dword [rax + 4]
cmp dword [rsp + rbx + 0x100], 0
je 0x1401c02de
movsxd rax, dword [rax + 4]
cmp qword [rsp + rax + 0x108], 0
je 0x1401c027e
cmp dword [rsp + rax + 0x100], 0
jne 0x1401c027e
test byte [rsp + rax + 0xe9], 0x20
jne 0x1401c103d
lea rcx, [rsp + 0xd0]
call fcn.14009caf0
mov bl, byte [rsp + 0xa7]
test bl, bl
jns 0x1401c02a3
mov rcx, qword [rsp + 0x90]
call fcn.140153bcc
mov byte [r13], bpl
mov rsi, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x208]
xor rcx, rsp
call fcn.140156fe0
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x210]
add rsp, 0x228
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + rbx + 0x168]
test rcx, rcx
je 0x1401c02fc
call fcn.1400cc15a
mov rax, qword [rsp + 0xe0]
movsxd rbx, dword [rax + 4]
mov eax, dword [rsp + rbx + 0x170]
cmp eax, 0xffffffff
jne 0x1401c0368
add rbx, rsi
lea r14, [rsp + 0xa8]
mov rcx, rbx
mov rdx, r14
call fcn.1400c466a
lea rdx, [0x140361538]
mov rcx, r14
call fcn.1400c467a
mov rcx, qword [rax]
mov r8, qword [rcx + 0x38]
mov rcx, rax
mov dl, 0x20
mov rax, r8
call qword [0x14037e008]
mov r12d, ebp
mov ebp, eax
mov rcx, r14
call fcn.1400ea6dc
movsx eax, bpl
mov ebp, r12d
mov dword [rbx + 0x90], eax
mov rcx, qword [rsp + 0xe0]
movsxd rbx, dword [rcx + 4]
lea rcx, [rsi + rbx]
add r15, rdi
mov edx, 0xb0
and edx, dword [rsp + rbx + 0xe8]
cmp edx, 0x20
mov r9, rdi
cmove r9, r15
mov rdx, qword [rsp + rbx + 0x108]
mov byte [rsp + 0x30], al
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r15
lea rbx, [rsp + 0xa8]
mov rcx, rbx
mov r8, rdi
call fcn.140063f10
cmp qword [rbx], 0
mov rax, qword [rsp + 0xe0]
jne 0x1401c0257
movsxd rax, dword [rax + 4]
lea rcx, [rsi + rax]
mov edx, dword [rsp + rax + 0x100]
or edx, 5
call fcn.1400cba8e
mov rax, qword [rsp + 0xe0]
jmp 0x1401c0257
xor rdi, qword [rsp + 0x298]
mov eax, dword [0x1403576e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x148]
mov rax, qword [0x140362640]
test rax, rax
mov qword [rsp + 0x80], rcx
je 0x1401c0833
mov qword [rsp + 0x68], rax
movapd xmm0, xmmword [0x1402fccc0]
movupd xmmword [rsp + 0x118], xmm0
movupd xmmword [rsp + 0x138], xmm0
movupd xmmword [rsp + 0x148], xmm0
movupd xmmword [rsp + 0x128], xmm0
mov qword [rsp + 0xd0], rbx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], 0xffffffffffffffff
xor eax, eax
mov qword [rsp + 0xe8], rax
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0xf8], r10
mov qword [rsp + 0x100], rdx
mov qword [rsp + 0x108], r12
mov qword [rsp + 0x110], rax
mov byte [rsp + 0x118], 0
mov eax, dword [rsp + 0x2a0]
mov dword [rsp + 0x140], eax
mov dword [rsp + 0x144], r15d
mov qword [rsp + 0x148], rdi
mov byte [rsp + 0x150], r14b
test r9, r9
je 0x1401c04e6
lea rax, [rsp + 0x118]
cmp rax, r9
jne 0x1401c080e
test r15b, 1
je 0x1401c0556
test r12, r12
je 0x1401c052a
mov rcx, r12
call fcn.14017ed70
mov rdi, rax
inc rdi
test rsi, rsi
je 0x1401c052e
mov rcx, rsi
call fcn.14017ed70
mov rsi, rax
inc rsi
add rsi, rdi
movzx edi, byte [rsp + 0x118]
test rdi, rdi
je 0x1401c05b0
xor ebx, ebx
jmp 0x1401c0545
xor edi, edi
jmp 0x1401c04ff
xor esi, esi
jmp 0x1401c0512
call fcn.14017ed70
inc rax
add rsi, rax
inc rbx
cmp rdi, rbx
je 0x1401c0569
mov rcx, qword [rsp + rbx*8 + 0x120]
test rcx, rcx
jne 0x1401c0532
xor eax, eax
jmp 0x1401c053a
movzx edi, byte [rsp + 0x118]
test rdi, rdi
je 0x1401c01e3
xor esi, esi
xor ebx, ebx
jmp 0x1401c0580
call fcn.14017ed70
inc rax
add rsi, rax
inc rbx
cmp rdi, rbx
je 0x1401c05b0
mov al, byte [rsp + rbx + 0x119]
test r15b, 1
je 0x1401c05aa
cmp al, 6
jne 0x1401c05aa
mov byte [rsp + rbx + 0x119], 7
mov rcx, qword [rsp + rbx*8 + 0x130]
test rcx, rcx
jne 0x1401c056d
xor eax, eax
jmp 0x1401c0575
cmp al, 7
je 0x1401c0599
jmp 0x1401c0578
test rsi, rsi
je 0x1401c01e3
lea rdi, [rsi + 8]
lea rbx, fcn.14013c1c0
mov rcx, rbx
xor edx, edx
mov r8, rdi
xor r9d, r9d
call fcn.1400eb1a0
mov r14, rax
test rdi, rdi
je 0x1401c05ee
test r14, r14
jne 0x1401c05ee
cmp byte [0x14035d7a0], 0
jne 0x1401c109a
mov qword [rsp + 0x110], r14
mov qword [r14], rsi
lea rcx, [r14 + 8]
test r14, r14
cmove rcx, r14
lea rax, [rcx + rsi]
test r15b, 1
jne 0x1401c06b2
mov r9b, byte [rsp + 0x118]
test r9b, r9b
je 0x1401c01ef
mov rdx, rax
neg rdx
xor r8d, r8d
jmp 0x1401c0665
mov byte [r9 + rcx - 1], 0
lea r11, [r9 + 1]
cmp byte [r10 + r9], 0
mov r9, r11
jne 0x1401c0634
mov qword [rsp + r8*8 + 0x130], rcx
add rcx, r11
mov r9b, byte [rsp + 0x118]
inc r8
movzx r10d, r9b
cmp r8, r10
jae 0x1401c01ef
cmp byte [rsp + r8 + 0x119], 7
jne 0x1401c0655
mov r10, qword [rsp + r8*8 + 0x130]
test r10, r10
je 0x1401c0655
mov r9, rax
sub r9, rcx
je 0x1401c0634
lea rsi, [rdx + rcx]
mov r11d, 1
mov bl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bl
test bl, bl
je 0x1401c0642
lea rdi, [rsi + r11]
inc rdi
inc r11
cmp rdi, 1
jne 0x1401c068f
jmp 0x1401c062e
mov r8, qword [rsp + 0x108]
mov rdx, rcx
test r8, r8
je 0x1401c070d
mov r9, rsi
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x1401c0702
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x1401c06cd
mov byte [rsi + rcx - 1], 0
mov r9, rsi
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x1401c06f4
mov qword [rsp + 0x108], rcx
add rdx, rcx
mov r8, qword [rsp + 0xf0]
test r8, r8
je 0x1401c076e
mov r9, rax
sub r9, rdx
je 0x1401c0755
mov r11, rdx
sub r11, rsi
sub r11, rcx
mov r10d, 1
mov bl, byte [r8 + r10 - 1]
mov byte [rdx + r10 - 1], bl
test bl, bl
je 0x1401c0763
lea rdi, [r11 + r10]
inc rdi
inc r10
cmp rdi, 1
jne 0x1401c0731
mov byte [r9 + rdx - 1], 0
lea r10, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, r10
jne 0x1401c0755
mov qword [rsp + 0xf0], rdx
add rdx, r10
mov r9b, byte [rsp + 0x118]
test r9b, r9b
je 0x1401c01ef
lea r8, [rsi + rcx]
dec r8
xor r10d, r10d
mov rcx, rdx
jmp 0x1401c07c5
mov byte [r9 + rcx - 1], 0
lea r11, [r9 + 1]
cmp byte [rdx + r9], 0
mov r9, r11
jne 0x1401c0794
mov qword [rsp + r10*8 + 0x120], rcx
add rcx, r11
mov r9b, byte [rsp + 0x118]
inc r10
movzx edx, r9b
cmp r10, rdx
jae 0x1401c061a
mov rdx, qword [rsp + r10*8 + 0x120]
test rdx, rdx
je 0x1401c07b5
mov r9, rax
sub r9, rcx
je 0x1401c0794
mov r11b, byte [rdx]
mov byte [rcx], r11b
test r11b, r11b
je 0x1401c0809
mov rsi, r8
sub rsi, rcx
xor r11d, r11d
cmp rsi, r11
je 0x1401c078e
mov bl, byte [rdx + r11 + 1]
mov byte [rcx + r11 + 1], bl
inc r11
test bl, bl
jne 0x1401c07ee
inc r11
jmp 0x1401c07a2
xor r11d, r11d
jmp 0x1401c0804
mov rcx, qword [r9 + 0x20]
mov qword [rax + 0x20], rcx
movupd xmm0, xmmword [r9]
movupd xmm1, xmmword [r9 + 0x10]
movupd xmmword [rax + 0x10], xmm1
movupd xmmword [rax], xmm0
mov byte [r9], 0
jmp 0x1401c04e6
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
test rcx, rcx
je 0x1401c0860
lea rdx, [rsp + 0x88]
call fcn.140239210
jmp 0x1401c0895
lea rcx, [0x140362300]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x1401c087e
lea rcx, [0x140362300]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [0x1403622f8]
lea rdx, [rsp + 0x88]
mov r8b, 1
call fcn.140239f60
test rax, rax
mov r8, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x290]
je 0x1401c08f4
mov dword [rsp + 0x58], r15d
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r8
mov byte [rsp + 0x20], r14b
mov rcx, rax
mov edx, dword [rsp + 0x2a0]
mov r8, rbx
mov rsi, rax
mov r9, qword [rsp + 0x70]
call fcn.1400f6de0
mov rax, rsi
mov ecx, dword [0x140362498]
test cl, 8
jne 0x1401c0920
cmp qword [rsp + 0x80], 0
jne 0x1401c0140
lea rcx, [0x140362300]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1401c0140
cmp r14b, 0x58
movzx ecx, r14b
mov r8d, 0x42
cmovne r8d, ecx
mov qword [rsp + 0x20], rax
lea rcx, [0x1403622f8]
lea rdx, [rsp + 0x90]
mov r9, qword [rsp + 0x2a8]
call fcn.14023a0d0
jmp 0x1401c08ff
xor eax, eax
jmp 0x1401bff25
call fcn.1401541d4
jmp 0x1401c09ae
mov rsi, qword [rsp + r12*8 + 0x130]
test rsi, rsi
je 0x1401c0a35
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x1401c0990
mov r15, qword [rcx]
call fcn.140153bcc
mov rcx, r15
test r15, r15
jne 0x1401c0980
mov qword [rsi + 0xa8], rdi
lea rax, [0x1402fd540]
mov qword [rsi], rax
mov rcx, qword [rsi + 0x38]
mov qword [rsi + 0x38], rdi
test rcx, rcx
jne 0x1401c095c
mov rbp, qword [rsi + 0x20]
test rbp, rbp
je 0x1401c09f8
mov r15, qword [rsi + 0x28]
mov rcx, rbp
cmp r15, rbp
je 0x1401c09ef
add r15, 0xffffffffffffffe8
test r15, r15
je 0x1401c10af
mov rcx, qword [r15]
mov qword [r15], 0
test rcx, rcx
jne 0x1401c0a07
lea rax, [r15 - 0x18]
cmp r15, rbp
mov r15, rax
jne 0x1401c09c7
mov rcx, qword [rsi + 0x20]
mov qword [rsi + 0x28], rbp
call fcn.140153bcc
mov rcx, rsi
call fcn.140153bcc
mov bpl, byte [rsp + 0x78]
jmp 0x1401c0a35
call fcn.1401541d4
jmp 0x1401c09df
xor edi, edi
lea rbx, [0x140153440]
lea r14, [0x140301be0]
xor r12d, r12d
mov al, byte [rsp + r12 + 0x119]
cmp al, 8
je 0x1401c0a4b
cmp al, 9
je 0x1401c0963
inc r12
movzx eax, byte [rsp + 0x118]
cmp r12, rax
jae 0x1401c0223
jmp 0x1401c0a21
mov rsi, qword [rsp + r12*8 + 0x130]
test rsi, rsi
je 0x1401c0a35
mov rax, qword [rsi]
mov rax, qword [rax]
cmp rax, rbx
jne 0x1401c0a9a
mov qword [rsi], r14
mov rcx, qword [rsi + 8]
mov qword [rsi + 8], 0
test rcx, rcx
je 0x1401c0a88
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x14037e008]
mov rcx, rsi
call fcn.140153bcc
mov al, byte [rsp + r12 + 0x119]
jmp 0x1401c0a2d
mov rcx, rsi
mov edx, 1
call qword [0x14037e008]
jmp 0x1401c0a90
lea rcx, [0x1403627a8]
call fcn.1401547b8
cmp dword [0x1403627a8], 0xffffffff
jne 0x1401c0b98
lea rsi, [rsp + 0xd0]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
mov qword [0x1403627a0], rax
lea rcx, [0x1403627a8]
call fcn.140153cf4
jmp 0x1401c0b98
lea rcx, [0x140362798]
call fcn.1401547b8
cmp dword [0x140362798], 0xffffffff
jne 0x1401c0b73
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x140362790], rdx
lea rcx, [0x140362798]
call fcn.140153cf4
jmp 0x1401c0b73
mov qword [rsp + 0x68], rsi
mov rsi, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
call rsi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov ebx, eax
call rsi
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [0x140362798]
mov ecx, dword [0x1403576e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401c0af6
mov eax, dword [0x1403627a8]
mov ecx, dword [0x1403576e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401c0aaa
rdtsc
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rdx
xor r13d, r13d
lea rsi, [rsp + 0xd0]
mov qword [rsi], r13
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rbp, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, ebx
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov qword [rsi], r13
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
sub rbp, qword [0x1403627a0]
cvtsi2sd xmm1, rbp
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x14030e390]
ucomisd xmm2, xmm1
jbe 0x1401c0c1e
mov rsi, qword [rsp + 0x68]
mov ebx, dword [rsp + 0x2a0]
jmp 0x1401bfee1
mov rcx, qword [rsp + 0x78]
shl rcx, 0x20
mov rax, qword [rsp + 0x70]
or rax, rcx
sub rax, qword [0x140362790]
movq xmm2, rax
punpckldq xmm2, xmmword [0x1403068f0]
subpd xmm2, xmmword [0x140306900]
movapd xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm0, xmm2
divsd xmm0, xmm1
movsd qword [0x140362788], xmm0
jmp 0x1401c0c0d
lea rcx, fcn.14013c1c0
xor r8d, r8d
call fcn.140135500
jmp 0x1401c02a3
mov rcx, rbx
mov dl, 0x2c
call fcn.1400d519c
jmp 0x1401c0d83
mov qword [rsp + 0x78], r12
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0xe0], rax
movapd xmm0, xmmword [0x1402fccc0]
movapd xmmword [rsp + 0xd0], xmm0
lea rax, [0x140303de2]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x98], 1
lea rbx, [rcx + 0x18]
movzx eax, byte [rcx + 0x2f]
test al, al
jns 0x1401c0cf9
mov rdx, qword [rcx + 0x18]
mov rax, qword [rcx + 0x20]
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], rax
test rax, rax
jns 0x1401c0d0c
jmp 0x1401c10b2
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rax
mov rdx, rbx
test rdx, rdx
jne 0x1401c0d1a
test rax, rax
jne 0x1401c10b5
mov dword [rsp + 0x20], 1
lea rdi, [rsp + 0xd0]
lea rdx, [rsp + 0xa8]
lea r8, [rsp + 0x90]
mov rcx, rdi
xor r9d, r9d
call fcn.1400efaa0
mov rdx, qword [rdi]
mov rsi, qword [rdi + 8]
lea r12, [rsp + 0xc8]
lea r9, [rsp + 0xb8]
mov rcx, r12
mov r8, rsi
call fcn.14023abc0
cmp qword [r12], rsi
jne 0x1401c0d93
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
jne 0x1401c0c79
mov rdx, qword [rsp + 0xb8]
mov rcx, rbx
call fcn.140122f1a
lea rcx, [rsp + 0xc8]
mov qword [rcx], rdi
call fcn.14014d816
mov r12, qword [rsp + 0x78]
jmp 0x1401c0e66
lea rcx, [0x140362308]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x1401c0de3
cmp byte [rax], 0
je 0x1401bffc0
mov rbp, rsi
lea rcx, [rcx + 0x158]
mov qword [rcx], rax
lea rcx, [0x140362308]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x1401c0dad
lea rcx, [0x140362400]
lea rsi, [rsp + 0xd0]
lea rbx, [rsp + 0xc0]
mov rdx, rsi
mov r8, rbx
call fcn.140129240
mov rcx, qword [rsi]
test rcx, rcx
jne 0x1401c0c88
mov rsi, qword [rsp + 0xb8]
lea rax, [rsp + 0xc8]
mov qword [rax], rbx
lea rcx, [rsp + 0xc7]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [0x140362400]
lea r9, [0x14030589b]
lea rdi, [rsp + 0xd0]
mov rdx, rdi
mov r8, rbx
call fcn.14011b630
mov rcx, qword [rdi]
add rcx, 0x18
mov rdx, rsi
call fcn.1400d7d0c
lea rcx, [0x140362308]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, rbp
mov rdx, qword [rsp + 0x68]
jmp 0x1401bffc0
mov rcx, rsi
call fcn.14011a610
mov rcx, rsi
call fcn.140153bcc
mov r10, qword [rsp + 0x290]
mov r9, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x68]
cmp qword [rbp], 0
jne 0x1401c0108
mov ecx, 0x40
call fcn.140153bd4
mov rsi, rax
mov rcx, rax
call fcn.140238f90
mov r10, qword [rsp + 0x290]
mov r9, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x68]
mov qword [rbp], rsi
jmp 0x1401c0108
lea rcx, [0x140362784]
call fcn.1401547b8
cmp dword [0x140362784], 0xffffffff
jne 0x1401bfe9e
mov ebp, ebx
mov r13, rsi
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call fcn.140140320
mov bl, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x1401c0f27
mov rcx, qword [rsp + 0x118]
call fcn.140153bcc
cmp byte [rsp + 0x117], 0
js 0x1401c0f4d
mov byte [0x140362780], bl
lea rcx, [0x140362784]
call fcn.140153cf4
mov rsi, r13
mov ebx, ebp
jmp 0x1401bfe9e
mov rcx, qword [rsp + 0x100]
call fcn.140153bcc
jmp 0x1401c0f31
mov rdi, rsi
lea rcx, [0x140362b30]
call fcn.1400d86a0
test al, al
je 0x1401c0fa6
mov ecx, pe_nt_image_headers64
call fcn.140153bd4
mov rsi, rax
mov rcx, rax
call fcn.140067d50
lea rcx, [0x140362b30]
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call fcn.1400d85d0
mov rsi, rdi
mov rdx, qword [rsp + 0x68]
jmp 0x1401bff8c
mov rax, qword [0x140362b30]
jmp 0x1401c0f99
lea rcx, [0x140362658]
mov rdi, rdx
call fcn.1401547b8
mov rdx, rdi
cmp dword [0x140362658], 0xffffffff
jne 0x1401bfe54
lea rcx, [0x1403622f8]
xor edx, edx
call fcn.140042250
lea rcx, [0x140362658]
call fcn.140153cf4
mov rdx, rdi
jmp 0x1401bfe54
xor esi, esi
jmp 0x1401c02af
xor eax, eax
mov qword [rsp + 0x70], rax
mov rdx, rdi
jmp 0x1401bff2a
int3
test r12, r12
lea r8, [0x140304344]
cmovne r8, r12
mov qword [rsp + 0x20], r9
mov ecx, r14d
mov rdi, r9
mov r9, r10
mov rbx, r10
call fcn.1402506f0
mov r10, rbx
mov r9, rdi
mov rdx, qword [rsp + 0x68]
jmp 0x1401bffe0
call fcn.1402206f3
test al, al
jne 0x1401c027e
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax + 4]
mov rcx, qword [rsp + rax + 0x108]
mov rax, qword [rcx]
mov rax, qword [rax + 0x28]
call qword [0x14037e008]
cmp eax, 0xffffffff
jne 0x1401c027e
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax + 4]
add rsi, rax
mov edx, dword [rsp + rax + 0x100]
or edx, 1
mov rcx, rsi
call fcn.1400cba8e
jmp 0x1401c027e
mov rcx, rdi
call fcn.1401f7890
test al, al
jne 0x1401c05c4
jmp 0x1401c05ee
int3
int3
int3