Function at 0x14005e860
Capabilities:
Check for time delay via queryperformancecounter
Encode data using base64
Execute anti-debugging instructions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x258
movapd xmmword [rsp + 0x240], xmm6
mov qword [rsp + 0xa0], r9
mov qword [rsp + 0x98], r8
mov r14, rdx
mov byte [rsp + 0x6f], cl
mov rax, qword [0x140131028]
xor rax, rsp
mov qword [rsp + 0x238], rax
mov eax, dword [0x140149378]
mov ecx, dword [0x140140950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005fd3a
mov esi, dword [rsp + 0x2d0]
test dword [rsp + 0x2e8], 0x410
jne 0x14005ed2e
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, esi
cmp eax, esi
jne 0x14005ed30
mov eax, dword [0x1401493e8]
mov ecx, dword [0x140140950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005fd72
cmp byte [0x1401493e4], 0
je 0x14005ed30
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov qword [rsp + 0xc0], 0
lea rdx, [rsp + 0xc0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
movsd xmm0, qword [0x1401493f0]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x14005e95f
jnp 0x14005f810
ucomisd xmm0, xmm6
jne 0x14005e96b
jnp 0x14005ed30
movsd xmm1, qword [rsp + 0xc0]
unpcklps xmm1, xmmword [0x140116a10]
subpd xmm1, xmmword [0x140116a20]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x140119e08]
cvttsd2si rax, xmm2
mov qword [rsp + 0x90], rax
mov qword [rsp + 0xb8], 0
mov rax, qword [rsp + 0x2d8]
mov r12, qword [rax]
mov dword [rsp + 0xf0], edi
cmp byte [r14], 0
je 0x140060168
mov eax, dword [0x140140950]
mov rcx, qword gs:[0x58]
mov rbx, qword [rcx + rax*8]
cmp byte [rbx + 0x131], 0
jne 0x140060168
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movabs r13, 0x7fffffffffffffff
cmp eax, edi
jne 0x14005ea49
mov rax, qword [0x1401495c0]
cmp rax, 1
jbe 0x14005fec2
mov eax, dword [0x140140950]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x150]
mov qword [rsp + 0xe8], rax
test rax, rax
je 0x14005ea49
cmp rax, qword [rcx + 0x138]
jne 0x14005fa9e
mov rdx, qword [rsp + 0x2e0]
mov r9, qword [rsp + 0x2c0]
lea rbx, [rbx + 0x131]
test byte [r14], 8
jne 0x1400601c6
movzx eax, byte [rbx]
mov byte [rsp + 0x7f], al
mov byte [rbx], 1
xor eax, eax
mov r12d, 0
test dword [rsp + 0x2e8], 0x800
je 0x14005ea90
mov r12, qword [0x1401491a0]
test dword [rsp + 0x2e8], 0x180
cmove r12, rax
mov rax, qword [0x1401491b0]
mov rcx, qword [rsp + 0x2d8]
mov r15, qword [rcx]
lea rcx, [rax + r13]
add rcx, 2
cmp rcx, 2
jb 0x14006016f
xor ecx, ecx
cmp r15, rax
setns cl
add rcx, r13
sub r15, rax
cmovo r15, rcx
test byte [r14], 1
je 0x140060083
mov eax, dword [0x140140950]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x130], 0
jne 0x14005eb6e
mov eax, dword [0x140140950]
mov rcx, qword gs:[0x58]
mov rbp, qword [rcx + rax*8]
cmp qword [rbp + 0x168], 0
je 0x14005eb6e
mov eax, dword [0x140140950]
mov rcx, qword gs:[0x58]
mov r13, qword [rcx + rax*8]
cmp qword [r13 + 0x140], 0
je 0x14005eb6e
mov eax, dword [0x140140950]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov rsi, qword [rax + 0x128]
test rsi, rsi
je 0x14005efdd
mov eax, dword [0x140149354]
cmp eax, dword [rsi + 0x38]
jne 0x140060187
test byte [r14], 1
je 0x140060083
xor r12, qword [rsp + 0x2c8]
mov eax, dword [0x140140950]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r13, qword [rax + 0x128]
mov rsi, qword [0x140149360]
test rsi, rsi
je 0x14005ff97
movapd xmm0, xmmword [0x140115d80]
movupd xmmword [rsp + 0x148], xmm0
movupd xmmword [rsp + 0x168], xmm0
movupd xmmword [rsp + 0x178], xmm0
movupd xmmword [rsp + 0x158], xmm0
mov qword [rsp + 0x100], r15
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], 0xffffffffffffffff
mov qword [rsp + 0x118], 0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], r9
mov qword [rsp + 0x130], r14
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0x140], 0
mov byte [rsp + 0x148], 0
mov dword [rsp + 0x170], edi
mov eax, dword [rsp + 0x2e8]
mov dword [rsp + 0x174], eax
mov qword [rsp + 0x178], r12
movzx eax, byte [rsp + 0x6f]
mov byte [rsp + 0x180], al
test rdx, rdx
je 0x14005ec89
lea rax, [rsp + 0x148]
cmp rax, rdx
jne 0x14005ed37
mov eax, dword [rsp + 0x2e8]
test al, 1
jne 0x14005fe34
movzx r14d, byte [rsp + 0x148]
test r14, r14
jne 0x14005edaa
mov qword [rsp + 0x140], 0
test r13, r13
setne dl
lea rcx, [rsp + 0x100]
lea r8, [rsp + 0xb8]
mov rax, rsi
call qword [0x140154008]
cmp byte [rsp + 0x148], 0
jne 0x14005ed59
mov rdx, qword [rsp + 0x140]
test rdx, rdx
jne 0x14005ed96
movzx eax, byte [rsp + 0x7f]
mov byte [rbx], al
mov rsi, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.140096c60
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edi, esi
xor eax, eax
jmp 0x14005e9a0
mov rcx, qword [rdx + 0x20]
mov qword [rax + 0x20], rcx
movupd xmm0, xmmword [rdx]
movupd xmm1, xmmword [rdx + 0x10]
movupd xmmword [rax + 0x10], xmm1
movupd xmmword [rax], xmm0
mov byte [rdx], 0
jmp 0x14005ec89
xor edi, edi
lea r14, [0x1400871f0]
lea r15, [0x140115d38]
mov al, byte [rsp + rdi + 0x149]
cmp al, 8
je 0x14005ef08
cmp al, 9
je 0x14005ef6d
inc rdi
movzx eax, byte [rsp + 0x148]
cmp rdi, rax
jae 0x14005ecdf
jmp 0x14005ed69
lea rcx, fcn.140066790
xor r8d, r8d
call fcn.140068d10
jmp 0x14005ecf0
xor r12d, r12d
xor r15d, r15d
movzx eax, byte [rsp + r15 + 0x149]
mov ecx, dword [rsp + 0x2e8]
test cl, 1
jne 0x14005fea2
cmp eax, 7
je 0x14005eee7
inc r15
cmp r14, r15
jne 0x14005edb0
test r12, r12
je 0x14005ecaa
lea rbp, [r12 + 8]
lea r14, [0x1401165b5]
mov rcx, qword [0x140144580]
test rcx, rcx
je 0x14006020a
xor edx, edx
mov r8, rbp
mov r9, r14
call fcn.14006bed0
mov r15, rax
test rbp, rbp
je 0x14005ee26
test r15, r15
jne 0x14005ee26
cmp byte [0x140144560], 0
jne 0x140060226
mov qword [rsp + 0x140], r15
mov qword [r15], r12
lea rcx, [r15 + 8]
test r15, r15
cmove rcx, r15
lea rax, [rcx + r12]
mov edx, dword [rsp + 0x2e8]
test dl, 1
jne 0x14005f97f
mov dl, byte [rsp + 0x148]
test dl, dl
je 0x14005ecb6
mov r8, rax
neg r8
xor r9d, r9d
cmp byte [rsp + r9 + 0x149], 7
jne 0x14005eed6
mov r10, qword [rsp + r9*8 + 0x160]
test r10, r10
je 0x14005eed6
mov rdx, rax
sub rdx, rcx
je 0x14005eeb6
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x14005eec4
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x14005ee92
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14005eeb6
mov qword [rsp + r9*8 + 0x160], rcx
add rcx, r11
mov dl, byte [rsp + 0x148]
inc r9
movzx r10d, dl
cmp r9, r10
jb 0x14005ee68
jmp 0x14005ecb6
mov rcx, qword [rsp + r15*8 + 0x160]
test rcx, rcx
je 0x140060203
call fcn.1400b1190
inc rax
add r12, rax
jmp 0x14005edd2
mov rsi, qword [rsp + rdi*8 + 0x160]
test rsi, rsi
je 0x14005ed80
mov rax, qword [rsi]
mov rax, qword [rax]
cmp rax, r14
jne 0x14005ef5d
mov qword [rsi], r15
mov rcx, qword [rsi + 8]
mov qword [rsi + 8], 0
test rcx, rcx
je 0x14005ef49
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x140154008]
mov rcx, rsi
call fcn.140094ae4
mov al, byte [rsp + rdi + 0x149]
jmp 0x14005ed78
mov rcx, rsi
mov edx, 1
call qword [0x140154008]
jmp 0x14005ef51
mov rsi, qword [rsp + rdi*8 + 0x160]
test rsi, rsi
je 0x14005ed80
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x14005ef9a
mov r12, qword [rcx]
call fcn.140094ae4
mov rcx, r12
test r12, r12
jne 0x14005ef8a
mov qword [rsi + 0xa8], 0
mov rcx, rsi
call fcn.14006af80
mov rcx, rsi
call fcn.140094ae4
jmp 0x14005ed80
mov rcx, qword [rsp + 0x70]
call fcn.14005ae30
mov rax, qword [rsp + 0x70]
jmp 0x14005f07c
mov rcx, qword [rsp + 0x70]
call fcn.14005b760
jmp 0x14005f09f
lea rax, [rbp + 0x168]
mov qword [rsp + 0x70], rax
mov rsi, rcx
mov ecx, 0x40
call fcn.140094aec
mov rbp, rax
lea rax, [0x140114bb8]
mov qword [rbp], rax
lea rax, [0x140115258]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rsi
mov rax, qword [rsi]
mov qword [rsp + 0xa8], rsi
mov qword [rsi], rbp
movabs rsi, 0xfffffffc00000000
mov qword [rbp + 0x18], rax
lea rcx, [0x140149018]
mov rax, rcx
and rax, rsi
cmp rax, qword [0x140131e48]
je 0x140060250
mov qword [rbp + 0x20], rcx
xorpd xmm0, xmm0
movupd xmmword [rbp + 0x28], xmm0
mov eax, dword [0x140149354]
mov dword [rbp + 0x38], eax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
and rsi, rax
cmp rsi, qword [0x140131e48]
mov qword [rsp + 0x70], rax
je 0x14005efba
lea r13, [r13 + 0x140]
lea rcx, [rax + 0x2c8]
mov rdx, rbp
call fcn.140012090
cmp rsi, qword [0x140131e48]
je 0x14005efce
call fcn.140017df0
mov rcx, qword [r13]
test rcx, rcx
je 0x140060217
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x14005f0d1
mov ecx, 1
lock xadd dword [r9 + 8], ecx
cmp ecx, 0x7fffffff
je 0x140060220
mov rdx, rbp
add rdx, 8
lea rcx, [rsp + 0x100]
mov byte [rcx], 1
mov qword [rsp + 0x20], rcx
lea r8, [0x140119e10]
mov rcx, rax
call fcn.1400799a0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rcx, [0x140149020]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14006023e
mov rax, qword [r13]
test rax, rax
je 0x14006021a
mov qword [rsp + 0x80], rbp
mov r13, qword [rax + 0x10]
test r13, r13
je 0x14005f148
mov eax, 1
lock xadd dword [r13 + 8], eax
cmp eax, 0x7fffffff
je 0x140060223
mov dword [rsp + 0x88], esi
mov eax, esi
mov qword [rsp + 0x70], rax
mov rsi, qword [0x140149300]
test rsi, rsi
jne 0x14005f1ca
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x20
call fcn.140094aec
cmp rax, 0xfffffffffffffff0
je 0x14006021d
mov r9, rax
mov eax, dword [rsp + 0x88]
mov dword [r9 + 0x10], eax
xor eax, eax
mov qword [r9 + 0x18], rax
mov rcx, qword [rsp + 0x70]
mov qword [r9 + 8], rcx
mov qword [r9], rax
mov rax, qword [0x140149310]
inc rax
jns 0x14005f295
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14005f29a
mov rax, rsi
shr rax, 1
movabs rcx, 0x5555555555555555
and rcx, rax
mov rax, rsi
sub rax, rcx
movabs rcx, 0x3333333333333333
mov rdx, rax
and rdx, rcx
shr rax, 2
and rax, rcx
add rax, rdx
mov rcx, rax
shr rcx, 4
add rcx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rcx
movabs rcx, 0x101010101010101
imul rcx, rax
shr rcx, 0x38
cmp rcx, 1
ja 0x14005f5c1
mov eax, 0xffffffff
add eax, esi
mov rdx, qword [rsp + 0x70]
mov ebp, edx
and ebp, eax
mov rax, qword [0x1401492f8]
mov rax, qword [rax + rbp*8]
test rax, rax
je 0x14005f16c
mov r9, qword [rax]
test r9, r9
je 0x14005f16c
lea r8, [rsi - 1]
mov rax, qword [r9 + 8]
cmp rax, qword [rsp + 0x70]
je 0x140060279
cmp ecx, 1
ja 0x140060297
and rax, r8
cmp rax, rbp
jne 0x14005f16c
mov r9, qword [r9]
test r9, r9
jne 0x14005f264
jmp 0x14005f16c
cvtsi2ss xmm0, rax
mov r8, qword [rsp + 0x80]
mov rdx, rbp
mov rcx, rsi
shr rcx, 1
mov eax, esi
and eax, 1
or rax, rcx
test rsi, rsi
jns 0x14005f2c3
cvtsi2ss xmm1, rax
addss xmm1, xmm1
jmp 0x14005f2c8
cvtsi2ss xmm1, rsi
mov rbp, r8
movss xmm2, dword [0x140149318]
je 0x14005f2e2
mulss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x14005f3d8
mov qword [rsp + 0x88], r9
divss xmm0, xmm2
call fcn.1400c6d14
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140117560]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rdx, [rsi + rsi]
mov ecx, 1
cmp rsi, 3
jae 0x140060268
or rcx, rdx
cmp rcx, rax
cmovbe rcx, rax
mov eax, 2
cmp rcx, 1
jne 0x14005f4ab
cmp rax, rsi
jbe 0x14005f5f8
mov rsi, rax
mov rax, rsi
shr rax, 0x3d
jne 0x14006023b
lea rcx, [rsi*8]
call fcn.140094aec
mov rcx, qword [0x1401492f8]
mov qword [0x1401492f8], rax
test rcx, rcx
jne 0x14005f4a1
mov qword [0x140149300], rsi
xor eax, eax
mov rcx, qword [0x1401492f8]
mov qword [rcx + rax*8], 0
inc rax
cmp rsi, rax
jne 0x14005f384
mov r8, qword [0x140149308]
test r8, r8
jne 0x14005f4c9
mov rsi, qword [0x140149300]
lea rax, [rsi - 1]
test rsi, rax
jne 0x14005f487
mov eax, 0xffffffff
add eax, esi
mov rcx, qword [rsp + 0x70]
and ecx, eax
mov rdx, rcx
mov r9, qword [rsp + 0x88]
mov rcx, qword [0x1401492f8]
mov rax, qword [rcx + rdx*8]
test rax, rax
jne 0x14005f451
lea rax, [0x140149308]
mov r8, qword [0x140149308]
mov qword [r9], r8
mov qword [0x140149308], r9
mov qword [rcx + rdx*8], rax
mov rax, qword [r9]
test rax, rax
jne 0x14005f45c
inc qword [0x140149310]
mov rcx, qword [r9 + 0x18]
mov qword [r9 + 0x18], r13
test rcx, rcx
jne 0x14005f5e4
lea rcx, [0x140149020]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0xa8]
mov qword [rax], rbp
mov rdx, qword [rsp + 0x2e0]
mov r9, qword [rsp + 0x2c0]
jmp 0x14005eb6e
mov rcx, qword [rax]
mov qword [r9], rcx
mov qword [rax], r9
jmp 0x14005f40c
mov rax, qword [rax + 8]
lea rcx, [rsi - 1]
test rsi, rcx
je 0x1400602c7
cmp rax, rsi
jb 0x14005f47a
xor edx, edx
div rsi
mov rax, rdx
shl rax, 3
add rax, qword [0x1401492f8]
jmp 0x14005f457
cmp rsi, qword [rsp + 0x70]
ja 0x1400602cf
mov rax, qword [rsp + 0x70]
xor edx, edx
div rsi
jmp 0x14005f3d0
call fcn.140094ae4
jmp 0x14005f37b
lea rax, [rcx - 1]
test rcx, rax
je 0x1400602bf
call fcn.1400826d0
mov rsi, qword [0x140149300]
jmp 0x14005f33e
mov rcx, qword [r8 + 8]
mov rax, rsi
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov r11, rsi
mov rax, rsi
sub rax, rdx
movabs rdx, 0x3333333333333333
mov r9, rax
and r9, rdx
shr rax, 2
and rax, rdx
add rax, r9
mov rdx, rax
shr rdx, 4
add rdx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs r9, 0x101010101010101
imul r9, rax
shr r9, 0x38
cmp r9, 1
jbe 0x1400602d9
cmp rcx, r11
jb 0x14005f546
mov rax, rcx
xor edx, edx
div r11
mov rcx, rdx
mov rax, qword [0x1401492f8]
lea rdx, [0x140149308]
mov qword [rax + rcx*8], rdx
mov r10, qword [r8]
test r10, r10
mov rbp, qword [rsp + 0x80]
je 0x14005f3ab
mov rbp, qword [rsp + 0x80]
mov rax, qword [r10 + 8]
cmp r9d, 1
jbe 0x14005f755
cmp rax, r11
jb 0x14005f58f
xor edx, edx
div r11
mov rax, rdx
cmp rax, rcx
je 0x14005f789
mov rdx, qword [0x1401492f8]
cmp qword [rdx + rax*8], 0
jne 0x14005f761
mov qword [rdx + rax*8], r8
mov r8, r10
mov r10, qword [r10]
mov rcx, rax
test r10, r10
jne 0x14005f574
jmp 0x14005f3ab
mov rax, qword [rsp + 0x70]
mov rbp, rax
cmp rsi, rax
ja 0x14005f240
mov rax, qword [rsp + 0x70]
xor edx, edx
div rsi
mov rbp, rdx
jmp 0x14005f240
lock dec dword [rcx + 8]
jne 0x14005f424
call fcn.140063b80
jmp 0x14005f424
mov qword [rsp + 0xb0], rax
jae 0x14005f3ab
mov rax, qword [0x140149310]
test rax, rax
jns 0x14005f62c
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14005f634
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm0, dword [0x140149318]
call fcn.1400c6d14
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140117560]
cvttss2si rax, xmm0
sar rdx, 0x3f
and rax, rdx
or rax, rcx
cmp rsi, 3
jb 0x14005f6ed
mov rcx, rsi
shr rcx, 1
movabs rdx, 0x5555555555555555
and rdx, rcx
mov rcx, rsi
sub rcx, rdx
movabs rdx, 0x3333333333333333
mov r8, rcx
shr r8, 2
and rcx, rdx
and r8, rdx
add r8, rcx
mov rcx, r8
shr rcx, 4
add rcx, r8
movabs rdx, 0xf0f0f0f0f0f0f0f
and rdx, rcx
movabs rcx, 0x101010101010101
imul rcx, rdx
shr rcx, 0x38
cmp ecx, 1
ja 0x14005f6ed
lea rcx, [rax - 1]
bsr rcx, rcx
xor ecx, 0x3f
neg cl
mov edx, 1
shl rdx, cl
cmp rax, 2
cmovb rdx, rax
mov rax, rdx
jmp 0x14005f6f5
mov rcx, rax
call fcn.1400826d0
mov rcx, qword [rsp + 0xb0]
cmp rcx, rax
cmova rax, rcx
cmp rax, rsi
mov rbp, qword [rsp + 0x80]
jae 0x14005f3ab
mov rsi, rax
test rax, rax
jne 0x14005f34a
mov rcx, qword [0x1401492f8]
mov qword [0x1401492f8], 0
test rcx, rcx
je 0x14005f73d
call fcn.140094ae4
mov qword [0x140149300], 0
mov rbp, qword [rsp + 0x80]
jmp 0x14005f3ab
lea rdx, [r11 - 1]
and rax, rdx
jmp 0x14005f58f
mov rdx, qword [r10]
mov qword [r8], rdx
mov rdx, qword [0x1401492f8]
mov rdx, qword [rdx + rax*8]
mov rdx, qword [rdx]
mov qword [r10], rdx
mov rdx, qword [0x1401492f8]
mov rax, qword [rdx + rax*8]
mov qword [rax], r10
mov r10, r8
mov rax, rcx
jmp 0x14005f5ae
lea rcx, [0x140149410]
call fcn.140094c5c
cmp dword [0x140149410], 0xffffffff
jne 0x14005f87a
lea r15, [rsp + 0x100]
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
mov qword [0x140149408], rax
lea rcx, [0x140149410]
call fcn.140094bfc
jmp 0x14005f87a
lea rcx, [0x140149400]
call fcn.140094c5c
cmp dword [0x140149400], 0xffffffff
jne 0x14005f855
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x1401493f8], rdx
lea rcx, [0x140149400]
call fcn.140094bfc
jmp 0x14005f855
mov rbx, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
call rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov esi, eax
call rbx
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [0x140149400]
mov ecx, dword [0x140140950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005f7dd
mov eax, dword [0x140149410]
mov ecx, dword [0x140140950]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14005f791
rdtsc
mov r15, rax
mov r12, rdx
xor ebx, ebx
lea r13, [rsp + 0x100]
mov qword [r13], rbx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rbp, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov rcx, rax
mov edx, esi
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov qword [r13], rbx
lea rsi, [rsp + 0x100]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
sub rbp, qword [0x140149408]
cvtsi2sd xmm1, rbp
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x140119e00]
ucomisd xmm2, xmm1
ja 0x14005e95f
shl r12, 0x20
or r15, r12
sub r15, qword [0x1401493f8]
movq xmm0, r15
punpckldq xmm0, xmmword [0x140116a10]
subpd xmm0, xmmword [0x140116a20]
haddpd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [0x1401493f0], xmm0
jmp 0x14005e95f
mov r9, rax
sub r9, rdx
je 0x14005f964
mov r10, rdx
sub r10, r12
sub r10, rcx
mov ecx, 1
mov r11b, byte [r8 + rcx - 1]
mov byte [rdx + rcx - 1], r11b
test r11b, r11b
je 0x14005f972
lea r11, [r10 + rcx]
inc r11
inc rcx
cmp r11, 1
jne 0x14005f93f
mov byte [r9 + rdx - 1], 0
lea rcx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rcx
jne 0x14005f964
mov qword [rsp + 0x120], rdx
add rcx, rdx
jmp 0x14005f9ef
mov r8, qword [rsp + 0x138]
mov rdx, rcx
test r8, r8
je 0x14005f9db
mov r9, r12
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x14005f9d0
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x14005f99a
mov byte [r12 + rcx - 1], 0
mov r9, r12
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x14005f9c2
mov qword [rsp + 0x138], rcx
add rdx, rcx
mov r8, qword [rsp + 0x120]
test r8, r8
jne 0x14005f929
mov rcx, rdx
mov dl, byte [rsp + 0x148]
test dl, dl
je 0x14005ecb6
mov r8, rax
neg r8
xor r9d, r9d
mov r10, qword [rsp + r9*8 + 0x150]
test r10, r10
je 0x14005fa6a
mov rdx, rax
sub rdx, rcx
je 0x14005fa4a
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x14005fa58
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x14005fa26
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14005fa4a
mov qword [rsp + r9*8 + 0x150], rcx
add rcx, r11
mov dl, byte [rsp + 0x148]
inc r9
movzx r10d, dl
cmp r9, r10
jae 0x14005ee57
jmp 0x14005fa07
lea rcx, [0x140149028]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005fac2
mov eax, 0xffffffff
add eax, r9d
mov r8d, ecx
and r8d, eax
jmp 0x14005fb4d
cmp byte [rax], 0
je 0x14005ea49
lea rcx, [rcx + 0x138]
mov qword [rcx], rax
lea rcx, [0x140149028]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14005fa7c
mov r9, qword [0x140149128]
test r9, r9
je 0x14005fb9a
mov ecx, edi
mov rax, r9
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov rax, r9
sub rax, rdx
movabs rdx, 0x3333333333333333
mov r8, rax
and r8, rdx
shr rax, 2
and rax, rdx
add rax, r8
mov rdx, rax
shr rdx, 4
add rdx, rax
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs r10, 0x101010101010101
imul r10, rax
shr r10, 0x38
cmp r10, 1
jbe 0x14005fa8b
mov r8, rcx
cmp r9, rcx
ja 0x14005fb4d
mov rax, rcx
xor edx, edx
div r9
mov r8, rdx
mov rax, qword [0x140149120]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14005fb9a
mov r11, qword [rax]
test r11, r11
je 0x14005fb9a
lea rsi, [r9 - 1]
mov rax, qword [r11 + 8]
cmp rax, rcx
je 0x14005fc0b
cmp r10d, 1
jbe 0x14005fc06
cmp rax, r9
jb 0x14005fb8d
xor edx, edx
div r9
mov rax, rdx
cmp rax, r8
jne 0x14005fb9a
mov r11, qword [r11]
test r11, r11
jne 0x14005fb69
mov rsi, qword [rsp + 0xe8]
lea r8, [rsp + 0xf0]
lea rax, [rsp + 0xf8]
mov qword [rax], r8
lea rcx, [rsp + 0xf7]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [0x140149120]
lea r9, [0x14011673e]
lea r15, [rsp + 0x100]
mov rdx, r15
call fcn.140019cd0
mov rcx, qword [r15]
add rcx, 0x18
mov rdx, rsi
call fcn.14008c8d0
lea rcx, [0x140149028]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14005ea49
and rax, rsi
jmp 0x14005fb8d
cmp dword [r11 + 0x10], edi
jne 0x14005fb92
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x110], rax
movapd xmm0, xmmword [0x140115d80]
movapd xmmword [rsp + 0x100], xmm0
lea rax, [0x1401167a9]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rbp, [r11 + 0x18]
movzx eax, byte [r11 + 0x2f]
test al, al
jns 0x14005fc7e
mov rcx, qword [r11 + 0x18]
mov rax, qword [r11 + 0x20]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rax
test rax, rax
jns 0x14005fc91
jmp 0x1400602e5
mov qword [rsp + 0xd8], rbp
mov qword [rsp + 0xe0], rax
mov rcx, rbp
test rcx, rcx
jne 0x14005fc9f
test rax, rax
jne 0x1400602e8
mov dword [rsp + 0x20], 1
lea rsi, [rsp + 0x100]
lea rdx, [rsp + 0xd8]
lea r8, [rsp + 0xc0]
mov rcx, rsi
xor r9d, r9d
call fcn.140091810
mov rdx, qword [rsi]
mov r15, qword [rsi + 8]
lea rsi, [rsp + 0xf8]
lea r9, [rsp + 0xe8]
mov rcx, rsi
mov r8, r15
call fcn.1400ece70
cmp qword [rsi], r15
jne 0x14005fd1d
mov rax, qword [rsp + 0x100]
cmp rax, qword [rsp + 0x108]
je 0x14005fd0d
mov rcx, rbp
mov dl, 0x2c
call fcn.14007c050
mov rdx, qword [rsp + 0xe8]
mov rcx, rbp
call fcn.140034ab0
lea rcx, [rsp + 0xf8]
lea rax, [rsp + 0x100]
mov qword [rcx], rax
call fcn.140090ba0
jmp 0x14005fbf4
lea rcx, [0x140149378]
call fcn.140094c5c
cmp dword [0x140149378], 0xffffffff
jne 0x14005e8ca
lea rcx, [0x140149018]
xor edx, edx
call fcn.140017b50
lea rcx, [0x140149378]
call fcn.140094bfc
jmp 0x14005e8ca
lea rcx, [0x1401493e8]
call fcn.140094c5c
cmp dword [0x1401493e8], 0xffffffff
jne 0x14005e917
lea rsi, [rsp + 0x130]
xorpd xmm6, xmm6
movupd xmmword [rsi - 0x15], xmm6
movapd xmmword [rsi - 0x20], xmm6
movapd xmmword [rsi - 0x30], xmm6
lea rdx, str.unknown
mov rcx, rsi
call fcn.1400c8790
movupd xmmword [rsi + 0x18], xmm6
mov qword [rsi + 0x28], 0
lea rsi, [rsp + 0x100]
mov rcx, rsi
xor edx, edx
call fcn.14001c860
mov bl, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x14005fdea
mov rcx, qword [rsp + 0x148]
call fcn.140094ae4
cmp byte [rsp + 0x147], 0
js 0x14005fe0b
mov byte [0x1401493e4], bl
lea rcx, [0x1401493e8]
call fcn.140094bfc
jmp 0x14005e917
mov rcx, qword [rsp + 0x130]
call fcn.140094ae4
jmp 0x14005fdf4
mov rcx, qword [rsp + 0xa0]
call fcn.1400b1190
mov r12, rax
inc r12
jmp 0x14005fe60
xor r14d, r14d
jmp 0x14005fe52
cmp qword [rsp + 0x98], 0
je 0x14005fe2f
mov rcx, qword [rsp + 0x98]
call fcn.1400b1190
mov r14, rax
inc r14
cmp qword [rsp + 0xa0], 0
jne 0x14005fe1a
xor r12d, r12d
add r12, r14
movzx r14d, byte [rsp + 0x148]
test r14, r14
je 0x14005edda
xor r15d, r15d
mov rcx, qword [rsp + r15*8 + 0x150]
test rcx, rcx
je 0x14005fe9e
call fcn.1400b1190
inc rax
add r12, rax
inc r15
cmp r14, r15
je 0x14005edad
jmp 0x14005fe78
xor eax, eax
jmp 0x14005fe8d
cmp eax, 7
je 0x14005eee7
cmp eax, 6
jne 0x14005edd2
mov byte [rsp + r15 + 0x149], 7
jmp 0x14005eee7
mov ecx, 1
xor eax, eax
lock cmpxchg qword [0x1401495c0], rcx
jne 0x14005fef5
mov ecx, pe_nt_image_headers64
call fcn.140094aec
mov rsi, rax
mov rcx, rax
call fcn.14001a390
mov qword [0x1401495c0], rsi
jmp 0x14005ea15
mov rax, qword [0x1401495c0]
cmp rax, 1
jne 0x14005ff7f
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0x100]
mov qword [rcx], rax
mov rax, qword [fcn.14005e6e0]
call qword [0x140154008]
lea rsi, [rsp + 0xf8]
mov r15, qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [fcn.14005e6e0]
mov rcx, rsi
call qword [0x140154008]
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, r13
sub rax, rcx
cmovo rax, rdx
cmp rax, 0x3e7
jg 0x14005ff8b
xor ecx, ecx
call r15
mov rax, qword [0x1401495c0]
cmp rax, 1
je 0x14005ff33
mov rax, qword [0x1401495c0]
jmp 0x14005ea15
mov ecx, 0x3e8
call fcn.1400ee440
jmp 0x14005ff72
mov rbp, rdx
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
test r13, r13
je 0x14005ffca
lea rdx, [rsp + 0xb8]
mov rcx, r13
call fcn.1400ebcc0
jmp 0x14005ffff
lea rcx, [0x140149020]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14005ffe8
lea rcx, [0x140149020]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [0x140149018]
lea rdx, [rsp + 0xb8]
mov r8b, 1
call fcn.1400ec3b0
mov rsi, rax
test rax, rax
je 0x140060065
mov eax, dword [rsp + 0x2e8]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], r12
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov al, byte [rsp + 0x6f]
mov byte [rsp + 0x20], al
mov rcx, rsi
mov edx, edi
mov r8, r15
mov r9, qword [rsp + 0x90]
call fcn.140010f60
mov eax, dword [0x1401491b8]
test al, 8
jne 0x1400600cd
test r13, r13
jne 0x14006009c
lea rcx, [0x140149020]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14006009c
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
movzx r14d, byte [rsp + 0xd7]
test r14b, r14b
js 0x1400600b2
mov esi, r14d
and esi, 0x7f
jmp 0x1400600ba
mov rsi, qword [rsp + 0xc8]
test rsi, rsi
jne 0x1400600fb
test r14b, r14b
jns 0x14005ecf0
jmp 0x1400602ad
mov al, byte [rsp + 0x6f]
cmp al, 0x58
movzx eax, al
mov edx, 0x42
cmovne edx, eax
lea rcx, [rsp + 0xc0]
mov r8, qword [rsp + 0x2d8]
mov r9, rsi
call fcn.1400ec520
jmp 0x14006006f
mov ecx, 2
call fcn.1400942f0
test al, al
je 0x1400600bf
lea rdx, str....._base_trace_event_trace_log.cc
lea rdi, [rsp + 0x100]
mov rcx, rdi
mov r8d, 0x70a
mov r9d, 2
call fcn.140005520
lea rcx, [rsp + 0x110]
test r14b, r14b
js 0x140060143
lea rdx, [rsp + 0xc0]
jmp 0x14006014b
mov rdx, qword [rsp + 0xc0]
mov r8, rsi
call fcn.1400c7db0
mov rcx, rdi
call fcn.1400068f0
mov r14b, byte [rsp + 0xd7]
jmp 0x1400600bf
xor esi, esi
jmp 0x14005ecff
cmp r15, rax
je 0x140060184
lea r15, [r13 + 1]
test rax, rax
cmovs r15, r13
jmp 0x14005ead5
int3
mov qword [rsp + 0xa8], rcx
mov rcx, rsi
call fcn.14002f680
mov rcx, rsi
call fcn.140094ae4
mov rcx, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x2e0]
cmp qword [rcx], 0
jne 0x14005eb6e
jmp 0x14005efdd
mov rax, qword [rsp + 0x98]
test rax, rax
lea r8, [0x1401165b5]
cmovne r8, rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
mov cl, byte [rsp + 0x6f]
mov rsi, rdx
mov rdx, r14
mov r15, r9
call fcn.1400f2c50
mov r9, r15
mov rdx, rsi
jmp 0x14005ea6a
xor eax, eax
jmp 0x14005ef00
call fcn.1400d4300
mov rcx, rax
jmp 0x14005edff
int3
int3
int3
int3
int3
mov rcx, rbp
call fcn.1400d4390
test al, al
jne 0x14005edef
jmp 0x14005ee26
int3
lea rcx, [0x140149020]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14005f114
lea rcx, [0x140149018]
call fcn.14005ae30
lea rcx, [0x140149018]
jmp 0x14005f049
lea r8, [rsi - 1]
xor ecx, ecx
test rsi, r8
setne cl
jmp 0x14005f325
mov eax, dword [rsp + 0x88]
cmp dword [r9 + 0x10], eax
jne 0x14005f288
mov rbp, qword [rsp + 0x80]
jmp 0x14005f413
cmp rax, rsi
jb 0x14005f27f
xor edx, edx
div rsi
mov rax, rdx
jmp 0x14005f27f
mov rcx, qword [rsp + 0xc0]
call fcn.140094ae4
jmp 0x14005ecf0
mov rax, rcx
jmp 0x14005f33e
and rax, rcx
jmp 0x14005f47a
mov rdx, qword [rsp + 0x70]
jmp 0x14005f3d0
lea rax, [r11 - 1]
and rcx, rax
jmp 0x14005f546
int3
int3