Function at 0x140189ab0
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, 0x238
movapd xmmword [rsp + 0x220], xmm6
mov rsi, r9
mov qword [rsp + 0xb0], r8
mov r14, rdx
mov byte [rsp + 0x66], cl
mov eax, dword [0x14033ae38]
mov ecx, dword [0x140337e40]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14018ab41
mov r15d, dword [rsp + 0x2b0]
test dword [rsp + 0x2c8], 0x410
jne 0x140189cf7
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, r15d
jne 0x140189cf7
mov eax, dword [0x14033af74]
mov ecx, dword [0x140337e40]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14018ab79
cmp byte [0x14033af70], 0
je 0x140189cf7
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 [0x14033af78]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x140189b93
jnp 0x14018a808
ucomisd xmm0, xmm6
jne 0x140189b9f
jnp 0x140189cf7
movsd xmm1, qword [rsp + 0x90]
unpcklps xmm1, xmmword [0x1402eee10]
subpd xmm1, xmmword [0x1402eee20]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x1402eee30]
cvttsd2si rax, xmm2
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x78], 0
mov dword [rsp + 0xbc], r15d
cmp byte [r14], 0
je 0x14018acbb
mov eax, dword [0x140337e40]
mov rcx, qword gs:[0x58]
mov r12, qword [rcx + rax*8]
cmp byte [r12 + 0x131], 0
jne 0x14018acbb
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, r15d
jne 0x140189c66
mov rax, qword [0x14033c3a0]
cmp rax, 1
jbe 0x14018abee
mov eax, dword [0x140337e40]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x170]
mov qword [rsp + 0x80], rax
test rax, rax
je 0x140189c66
cmp rax, qword [rcx + 0x138]
jne 0x14018a93e
mov r10, qword [rsp + 0x2c0]
mov r9, qword [rsp + 0x2a0]
lea r13, [r12 + 0x131]
test byte [r14], 8
jne 0x14018acca
mov rdx, qword [rsp + 0x2b8]
mov bpl, byte [r13]
mov byte [r13], 1
xor eax, eax
mov ecx, dword [rsp + 0x2c8]
bt ecx, 0xb
mov edi, 0
jae 0x140189cb4
mov rdi, qword [0x14033ac60]
test ecx, 0x180
cmove rdi, rax
mov rax, qword [0x14033ac70]
mov rbx, qword [rdx]
movabs rcx, 0x8000000000000001
add rcx, rax
cmp rcx, 2
jae 0x140189cfe
cmp rbx, rax
je 0x14018acc2
sar rax, 0x3f
movabs rbx, 0x8000000000000000
add rbx, rax
jmp 0x140189d1a
xor eax, eax
jmp 0x140189bd4
xor ecx, ecx
cmp rbx, rax
setns cl
movabs rdx, 0x7fffffffffffffff
add rdx, rcx
sub rbx, rax
cmovo rbx, rdx
test byte [r14], 1
je 0x140189dd8
mov r12, r13
mov r13, rsi
mov byte [rsp + 0x67], bpl
mov eax, dword [0x140337e40]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x130], 0
jne 0x140189dbb
mov eax, dword [0x140337e40]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x188], 0
je 0x140189dbb
mov eax, dword [0x140337e40]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp qword [rax + 0x148], 0
je 0x140189dbb
mov eax, dword [0x140337e40]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rbp, [rax + 0x128]
mov rsi, qword [rbp]
test rsi, rsi
je 0x14018ab13
mov eax, dword [0x14033ae14]
cmp eax, dword [rsi + 0x38]
jne 0x14018aae8
test byte [r14], 1
mov bpl, byte [rsp + 0x67]
mov rsi, r13
mov r13, r12
mov r12d, dword [rsp + 0x2c8]
jne 0x14018a0e4
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
movzx ebx, byte [rsp + 0xa7]
test bl, bl
js 0x140189e06
mov r14d, ebx
and r14d, 0x7f
jmp 0x140189e0e
mov r14, qword [rsp + 0x98]
test r14, r14
je 0x140189efa
cmp dword [0x14033b1a8], 2
jg 0x140189efa
lea rax, [0x1402e3570]
lea rsi, [rsp + 0xe0]
mov qword [rsi - 0x10], rax
mov dword [rsi - 8], 2
mov rcx, rsi
mov edx, 1
call fcn.1400d50b2
lea rdi, str....._base_trace_event_trace_log.cc
mov qword [rsi + 0x110], rdi
mov dword [rsi + 0x118], 0x701
lea rcx, [rsp + 0x1fc]
call fcn.14012fda0
lea rcx, [rsp + 0xd0]
mov rdx, rdi
mov r8d, 0x701
call fcn.1400a01a0
test bl, bl
js 0x140189e94
lea rdi, [rsp + 0x90]
jmp 0x140189e9c
mov rdi, qword [rsp + 0x90]
mov rax, qword [rsp + 0xe0]
movsxd r15, dword [rax + 4]
cmp dword [rsp + r15 + 0x100], 0
je 0x140189f88
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax + 4]
cmp qword [rsp + rax + 0x108], 0
je 0x140189ee6
cmp dword [rsp + rax + 0x100], 0
jne 0x140189ee6
test byte [rsp + rax + 0xe9], 0x20
jne 0x14018ad0e
lea rcx, [rsp + 0xd0]
call fcn.1400a0470
mov bl, byte [rsp + 0xa7]
test bl, bl
jns 0x140189f0b
mov rcx, qword [rsp + 0x90]
call fcn.14013a6ac
mov byte [r13], bpl
mov rax, qword [rsp + 0x78]
movaps xmm6, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x110], 0
test r15, r15
setne dl
lea rsi, [rsp + 0xd0]
lea r8, [rsp + 0x78]
mov rcx, rsi
mov rax, qword [rsp + 0x218]
call qword [case.0x14017aab5.0]
cmp byte [rsi + 0x48], 0
jne 0x14018a6ad
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x140189f0b
lea rcx, fcn.1401247b0
xor r8d, r8d
call fcn.14011d530
jmp 0x140189f0b
mov rcx, qword [rsp + r15 + 0x168]
test rcx, rcx
je 0x140189fa6
call fcn.1400be59a
mov rax, qword [rsp + 0xe0]
movsxd r15, dword [rax + 4]
mov eax, dword [rsp + r15 + 0x170]
cmp eax, 0xffffffff
jne 0x14018a064
mov rbx, qword [rsp + r15 + 0x110]
lock inc dword [rbx + 8]
lea rax, [0x140339d20]
mov qword [rsp + 0xc0], rax
lea rax, [0x1401eb220]
mov qword [rsp + 0xc8], rax
mov rax, qword [0x140339d20]
cmp rax, 0xffffffffffffffff
jne 0x14018ad95
movsxd rax, dword [0x140339d28]
lea rdx, [rax - 1]
mov rcx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
sub r8, rcx
sar r8, 3
cmp r8, rdx
jbe 0x14018acc5
mov rcx, qword [rcx + rax*8 - 8]
test rcx, rcx
je 0x14018acc5
mov r12d, ebp
mov rax, qword [rcx]
mov rax, qword [rax + 0x38]
mov dl, 0x20
call qword [case.0x14017aab5.0]
mov ebp, eax
mov eax, 0xffffffff
lock xadd dword [rbx + 8], eax
test eax, eax
je 0x14018ad80
movsx eax, bpl
mov dword [rsp + r15 + 0x170], eax
mov rcx, qword [rsp + 0xe0]
movsxd r15, dword [rcx + 4]
mov ebp, r12d
lea rcx, [rsi + r15]
add r14, rdi
mov edx, 0xb0
and edx, dword [rsp + r15 + 0xe8]
cmp edx, 0x20
mov r9, rdi
cmove r9, r14
mov rdx, qword [rsp + r15 + 0x108]
mov byte [rsp + 0x30], al
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], r14
lea rbx, [rsp + 0xc0]
mov rcx, rbx
mov r8, rdi
call fcn.140188160
cmp qword [rbx], 0
jne 0x140189eb7
mov rax, qword [rsp + 0xe0]
movsxd rax, dword [rax + 4]
mov ecx, dword [rsp + rax + 0x100]
or ecx, 5
mov dword [rsp + rax + 0x100], ecx
test dword [rsp + rax + 0x104], ecx
je 0x140189eb7
jmp 0x14018ad02
xor rdi, qword [rsp + 0x2a8]
mov eax, dword [0x140337e40]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r8, qword [rax + 0x128]
mov r11, qword [0x14033ae20]
test r11, r11
je 0x14018a522
movapd xmm0, xmmword [0x1402e6d80]
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 + 0x68]
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], r9
mov qword [rsp + 0x100], r14
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rax
mov byte [rsp + 0x118], 0
mov dword [rsp + 0x140], r15d
mov dword [rsp + 0x144], r12d
mov qword [rsp + 0x148], rdi
mov al, byte [rsp + 0x66]
mov byte [rsp + 0x150], al
test r10, r10
je 0x14018a1de
lea rax, [rsp + 0x118]
cmp rax, r10
jne 0x14018a4fd
test r12b, 1
mov qword [rsp + 0x218], r11
mov r15, r8
jne 0x14018a20a
movzx edi, byte [rsp + 0x118]
test rdi, rdi
je 0x140189f30
xor esi, esi
xor ebx, ebx
jmp 0x14018a27c
xor edi, edi
jmp 0x14018a21a
test rcx, rcx
je 0x14018a206
call fcn.140164e30
mov rdi, rax
inc rdi
test rsi, rsi
je 0x14018a241
mov rcx, rsi
call fcn.140164e30
mov rsi, rax
inc rsi
add rsi, rdi
movzx edi, byte [rsp + 0x118]
test rdi, rdi
je 0x14018a2ac
xor ebx, ebx
jmp 0x14018a258
xor esi, esi
jmp 0x14018a22d
call fcn.140164e30
inc rax
add rsi, rax
inc rbx
cmp rdi, rbx
je 0x14018a202
mov rcx, qword [rsp + rbx*8 + 0x120]
test rcx, rcx
jne 0x14018a245
xor eax, eax
jmp 0x14018a24d
call fcn.140164e30
inc rax
add rsi, rax
inc rbx
cmp rdi, rbx
je 0x14018a2ac
mov al, byte [rsp + rbx + 0x119]
test r12b, 1
je 0x14018a2a6
cmp al, 6
jne 0x14018a2a6
mov byte [rsp + rbx + 0x119], 7
mov rcx, qword [rsp + rbx*8 + 0x130]
test rcx, rcx
jne 0x14018a269
xor eax, eax
jmp 0x14018a271
cmp al, 7
je 0x14018a295
jmp 0x14018a274
test rsi, rsi
je 0x140189f30
lea rdi, [rsi + 8]
lea rbx, fcn.1401247b0
mov rcx, rbx
xor edx, edx
mov r8, rdi
xor r9d, r9d
call fcn.140073fb0
mov r14, rax
test rdi, rdi
je 0x14018a2ea
test r14, r14
jne 0x14018a2ea
cmp byte [0x14033b034], 0
jne 0x14018ad6b
mov qword [rsp + 0x110], r14
mov qword [r14], rsi
lea rcx, [r14 + 8]
test r14, r14
cmove rcx, r14
lea rax, [rcx + rsi]
test r12b, 1
jne 0x14018a3a7
mov dl, byte [rsp + 0x118]
test dl, dl
je 0x140189f3c
mov r8, rax
neg r8
xor r9d, r9d
jmp 0x14018a35d
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14018a32d
mov qword [rsp + r9*8 + 0x130], rcx
add rcx, r11
mov dl, byte [rsp + 0x118]
inc r9
movzx r10d, dl
cmp r9, r10
jae 0x140189f3c
cmp byte [rsp + r9 + 0x119], 7
jne 0x14018a34d
mov r10, qword [rsp + r9*8 + 0x130]
test r10, r10
je 0x14018a34d
mov rdx, rax
sub rdx, rcx
je 0x14018a32d
lea rsi, [r8 + rcx]
mov r11d, 1
mov bl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bl
test bl, bl
je 0x14018a33b
lea rdi, [rsi + r11]
inc rdi
inc r11
cmp rdi, 1
jne 0x14018a387
jmp 0x14018a328
mov r8, qword [rsp + 0x108]
mov rdx, rcx
test r8, r8
je 0x14018a402
mov r9, rsi
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x14018a3f7
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x14018a3c2
mov byte [rsi + rcx - 1], 0
mov r9, rsi
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x14018a3e9
mov qword [rsp + 0x108], rcx
add rdx, rcx
mov r8, qword [rsp + 0xf0]
test r8, r8
je 0x14018a4f5
mov r9, rax
sub r9, rdx
je 0x14018a44e
mov r10, rdx
sub r10, rsi
sub r10, rcx
mov ecx, 1
mov r11b, byte [r8 + rcx - 1]
mov byte [rdx + rcx - 1], r11b
test r11b, r11b
je 0x14018a45c
lea r11, [r10 + rcx]
inc r11
inc rcx
cmp r11, 1
jne 0x14018a429
mov byte [r9 + rdx - 1], 0
lea rcx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rcx
jne 0x14018a44e
mov qword [rsp + 0xf0], rdx
add rcx, rdx
mov dl, byte [rsp + 0x118]
test dl, dl
je 0x140189f3c
mov r8, rax
neg r8
xor r9d, r9d
jmp 0x14018a4b6
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14018a486
mov qword [rsp + r9*8 + 0x120], rcx
add rcx, r11
mov dl, byte [rsp + 0x118]
inc r9
movzx r10d, dl
cmp r9, r10
jae 0x14018a315
mov r10, qword [rsp + r9*8 + 0x120]
test r10, r10
je 0x14018a4a6
mov rdx, rax
sub rdx, rcx
je 0x14018a486
lea rsi, [r8 + rcx]
mov r11d, 1
mov bl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bl
test bl, bl
je 0x14018a494
lea rdi, [rsi + r11]
inc rdi
inc r11
cmp rdi, 1
jne 0x14018a4d5
jmp 0x14018a481
mov rcx, rdx
jmp 0x14018a467
mov rdx, qword [r10 + 0x20]
mov qword [rax + 0x20], rdx
movupd xmm0, xmmword [r10]
movupd xmm1, xmmword [r10 + 0x10]
movupd xmmword [rax + 0x10], xmm1
movupd xmmword [rax], xmm0
mov byte [r10], 0
jmp 0x14018a1de
xorpd xmm0, xmm0
movapd xmmword [rsp + 0x90], xmm0
mov qword [rsp + 0xa0], 0
test r8, r8
mov qword [rsp + 0x210], r8
je 0x14018a557
lea rdx, [rsp + 0x78]
mov rcx, r8
call fcn.1401f1db0
jmp 0x14018a589
lea rcx, [0x14033aae0]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14018a575
lea rcx, [0x14033aae0]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [0x14033aad8]
lea rdx, [rsp + 0x78]
mov r8b, 1
call fcn.1401f3140
mov rdx, rax
test rax, rax
mov rax, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x2a0]
je 0x14018a5ed
mov dword [rsp + 0x58], r12d
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rsi
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov al, byte [rsp + 0x66]
mov byte [rsp + 0x20], al
mov rcx, rdx
mov rsi, rdx
mov edx, r15d
mov r8, rbx
mov r9, qword [rsp + 0x68]
call fcn.140181210
mov rdx, rsi
mov eax, dword [0x14033ac78]
test al, 8
jne 0x14018a618
cmp qword [rsp + 0x210], 0
jne 0x140189df1
lea rcx, [0x14033aae0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140189df1
mov al, byte [rsp + 0x66]
cmp al, 0x58
movzx eax, al
mov r8d, 0x42
cmovne r8d, eax
mov qword [rsp + 0x20], rdx
lea rcx, [0x14033aad8]
lea rdx, [rsp + 0x90]
mov r9, qword [rsp + 0x2b8]
call fcn.1401f32b0
jmp 0x14018a5f7
mov rcx, rsi
mov edx, 1
call qword [case.0x14017aab5.0]
jmp 0x14018a6a3
mov rsi, qword [rsp + r12*8 + 0x130]
test rsi, rsi
je 0x14018a6d0
mov rax, qword [rsi]
mov rax, qword [rax]
cmp rax, rbx
jne 0x14018a64e
mov qword [rsi], r14
mov rcx, qword [rsi + 8]
mov qword [rsi + 8], 0
test rcx, rcx
je 0x14018a69b
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14017aab5.0]
mov rcx, rsi
call fcn.14013a6ac
mov al, byte [rsp + r12 + 0x119]
jmp 0x14018a6cc
xor edi, edi
lea rbx, [0x14013a0f0]
lea r14, [0x1402e4730]
xor r12d, r12d
mov al, byte [rsp + r12 + 0x119]
cmp al, 8
je 0x14018a65e
cmp al, 9
je 0x14018a6e6
inc r12
movzx eax, byte [rsp + 0x118]
cmp r12, rax
jae 0x140189f6a
jmp 0x14018a6c0
mov rsi, qword [rsp + r12*8 + 0x130]
test rsi, rsi
je 0x14018a6d0
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x14018a70f
mov r15, qword [rcx]
call fcn.14013a6ac
mov rcx, r15
test r15, r15
jne 0x14018a6ff
mov qword [rsi + 0xa8], rdi
lea rax, [0x1402e0ce0]
mov qword [rsi], rax
mov rcx, qword [rsi + 0x38]
mov qword [rsi + 0x38], rdi
test rcx, rcx
jne 0x14018a782
mov rbp, qword [rsi + 0x20]
test rbp, rbp
je 0x14018a769
mov r15, qword [rsi + 0x28]
mov rcx, rbp
cmp r15, rbp
je 0x14018a760
mov rcx, qword [r15 - 0x18]
mov qword [r15 - 0x18], 0
add r15, 0xffffffffffffffe8
test rcx, rcx
jne 0x14018a77b
cmp r15, rbp
jne 0x14018a742
mov rcx, qword [rsi + 0x20]
mov qword [rsi + 0x28], rbp
call fcn.14013a6ac
mov rcx, rsi
call fcn.14013a6ac
mov bpl, byte [rsp + 0x67]
jmp 0x14018a6d0
call fcn.14013b350
jmp 0x14018a757
call fcn.14013b350
jmp 0x14018a72d
lea rcx, [0x14033af98]
call fcn.14013b388
cmp dword [0x14033af98], 0xffffffff
jne 0x14018a877
lea rsi, [rsp + 0xd0]
mov qword [rsi], 0
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsi]
mov qword [0x14033af90], rax
lea rcx, [0x14033af98]
call fcn.14013a7d4
jmp 0x14018a877
lea rcx, [0x14033af88]
call fcn.14013b388
cmp dword [0x14033af88], 0xffffffff
jne 0x14018a852
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x14033af80], rdx
lea rcx, [0x14033af88]
call fcn.14013a7d4
jmp 0x14018a852
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 [0x14033af88]
mov ecx, dword [0x140337e40]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14018a7d5
mov eax, dword [0x14033af98]
mov ecx, dword [0x140337e40]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14018a789
rdtsc
mov rdi, rax
mov r12, 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 [0x14033af90]
cvtsi2sd xmm1, rbp
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x1402eee00]
ucomisd xmm2, xmm1
jbe 0x14018a8f2
mov rsi, qword [rsp + 0x68]
jmp 0x140189b93
shl r12, 0x20
or rdi, r12
sub rdi, qword [0x14033af80]
movq xmm2, rdi
punpckldq xmm2, xmmword [0x1402eee10]
subpd xmm2, xmmword [0x1402eee20]
movapd xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm0, xmm2
divsd xmm0, xmm1
movsd qword [0x14033af78], xmm0
jmp 0x14018a8e8
lea rcx, [0x14033aae8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14018a965
cmp byte [rax], 0
je 0x140189c66
mov r13, rsi
lea rcx, [rcx + 0x138]
mov qword [rcx], rax
lea rcx, [0x14033aae8]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14018a92f
lea rcx, [0x14033abe0]
lea rsi, [rsp + 0xd0]
lea rbx, [rsp + 0xbc]
mov rdx, rsi
mov r8, rbx
call fcn.14010c3c0
mov rax, qword [rsi]
test rax, rax
jne 0x14018a9f6
mov rsi, qword [rsp + 0x80]
lea rax, [rsp + 0x88]
mov qword [rax], rbx
lea rcx, [rsp + 0x77]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [0x14033abe0]
lea r9, [0x1402e7f2f]
lea rdi, [rsp + 0xd0]
mov rdx, rdi
mov r8, rbx
call fcn.1400f0730
mov rcx, qword [rdi]
add rcx, 0x18
mov rdx, rsi
call fcn.1400d953e
lea rcx, [0x14033aae8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rsi, r13
jmp 0x140189c66
movabs rcx, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0xd0]
mov qword [rsi + 0x10], rcx
movapd xmm0, xmmword [0x1402e6d80]
movapd xmmword [rsi], xmm0
lea rcx, [0x1402e75ba]
lea r8, [rsp + 0x90]
mov qword [r8], rcx
mov qword [r8 + 8], 1
lea rbx, [rax + 0x18]
movzx ecx, byte [rax + 0x2f]
mov r9d, ecx
and r9d, 0x7f
test cl, cl
mov rcx, qword [rax + 0x18]
cmovns rcx, rbx
lea rdx, [rsp + 0xc0]
mov qword [rdx], rcx
cmovs r9, qword [rax + 0x20]
mov qword [rdx + 8], r9
mov dword [rsp + 0x20], 1
mov rcx, rsi
xor r9d, r9d
call fcn.1400ace70
mov rdx, qword [rsi]
mov rsi, qword [rsi + 8]
lea rdi, [rsp + 0x88]
lea r9, [rsp + 0x80]
mov rcx, rdi
mov r8, rsi
call fcn.1401f3d60
cmp qword [rdi], rsi
jne 0x14018aac5
mov rax, qword [rsp + 0xd0]
cmp rax, qword [rsp + 0xd8]
je 0x14018aab5
mov rcx, rbx
mov dl, 0x2c
call fcn.1400c1d94
mov rdx, qword [rsp + 0x80]
mov rcx, rbx
call fcn.140121f20
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
je 0x14018a9e1
mov qword [rsp + 0xd8], rcx
call fcn.14013a6ac
jmp 0x14018a9e1
mov rcx, rsi
call fcn.1400f2d00
mov rcx, rsi
call fcn.14013a6ac
mov r9, qword [rsp + 0x2a0]
mov r10, qword [rsp + 0x2c0]
cmp qword [rbp], 0
jne 0x140189dbb
mov ecx, 0x40
call fcn.14013a6b4
mov rsi, rax
mov rcx, rax
call fcn.1401f1b30
mov r9, qword [rsp + 0x2a0]
mov r10, qword [rsp + 0x2c0]
mov qword [rbp], rsi
jmp 0x140189dbb
lea rcx, [0x14033ae38]
call fcn.14013b388
cmp dword [0x14033ae38], 0xffffffff
jne 0x140189b03
lea rcx, [0x14033aad8]
xor edx, edx
call fcn.14003e8b0
lea rcx, [0x14033ae38]
call fcn.14013a7d4
jmp 0x140189b03
lea rcx, [0x14033af74]
call fcn.14013b388
cmp dword [0x14033af74], 0xffffffff
jne 0x140189b50
mov rdi, rsi
lea rsi, [rsp + 0xd0]
mov rcx, rsi
call fcn.140129810
mov bl, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x14018abbb
mov rcx, qword [rsp + 0x118]
call fcn.14013a6ac
cmp byte [rsp + 0x117], 0
js 0x14018abdf
mov byte [0x14033af70], bl
lea rcx, [0x14033af74]
call fcn.14013a7d4
mov rsi, rdi
jmp 0x140189b50
mov rcx, qword [rsp + 0x100]
call fcn.14013a6ac
jmp 0x14018abc5
mov rdi, rsi
mov ecx, 1
xor eax, eax
lock cmpxchg qword [0x14033c3a0], rcx
jne 0x14018ac30
mov ecx, pe_nt_image_headers64
call fcn.14013a6b4
mov rsi, rax
mov rcx, rax
call fcn.140065460
mov qword [0x14033c3a0], rsi
mov rsi, rdi
jmp 0x140189c32
mov rax, qword [0x14033c3a0]
jmp 0x14018ac1f
mov rax, qword [0x14033c3a0]
cmp rax, 1
jne 0x14018ac27
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xd0]
mov qword [rcx], rax
call fcn.1400c6500
lea rbx, [rsp + 0x88]
movabs rsi, 0x7fffffffffffffff
jmp 0x14018ac7d
call fcn.1400e7d70
mov rax, qword [0x14033c3a0]
cmp rax, 1
jne 0x14018ac27
mov rcx, rbx
call fcn.1400c6500
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xd0]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, rsi
sub rax, rcx
cmovo rax, rdx
cmp rax, 0x3e7
jle 0x14018ac6b
mov ecx, 0x3e8
call fcn.1400e8370
jmp 0x14018ac70
xor eax, eax
jmp 0x140189f14
int3
call fcn.1401a18d2
mov rax, qword [rsp + 0xb0]
test rax, rax
lea r8, [0x1402e7b24]
cmovne r8, rax
mov qword [rsp + 0x20], r10
mov cl, byte [rsp + 0x66]
mov rdx, r14
mov rdi, r10
mov rbx, r9
call fcn.1402132f0
mov r9, rbx
mov r10, rdi
jmp 0x140189c88
lea rcx, str.ios_base::clear
call fcn.1401d91f5
call fcn.1401d8fa5
test al, al
jne 0x140189ee6
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 [case.0x14017aab5.0]
cmp eax, 0xffffffff
jne 0x140189ee6
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.1400b6100
jmp 0x140189ee6
mov rcx, rdi
call fcn.14021a640
test al, al
jne 0x14018a2c0
jmp 0x14018a2ea
mov rax, qword [rbx]
mov rax, qword [rax + 8]
mov rcx, rbx
call qword [case.0x14017aab5.0]
jmp 0x14018a049
lea rax, [rsp + 0xc0]
lea rcx, [rsp + 0x88]
mov qword [rcx], rax
lea rdx, [rsp + 0x80]
mov qword [rdx], rcx
lea rcx, [0x140339d20]
lea r8, [0x14003e830]
call fcn.1400b66f1
jmp 0x140189ff2