Function at 0x1401049c0
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, 0x248
movapd xmmword [rsp + 0x230], xmm6
mov qword [rsp + 0x90], r9
mov qword [rsp + 0x88], r8
mov r14, rdx
mov byte [rsp + 0x66], cl
mov edi, dword [rsp + 0x2d8]
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x228], rax
mov eax, dword [0x140231948]
mov ecx, dword [0x140228d28]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140105cea
mov ebp, dword [rsp + 0x2c0]
test edi, 0x410
jne 0x140104e89
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, ebp
jne 0x140104e89
mov eax, dword [0x1402319cc]
mov ecx, dword [0x140228d28]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140105daa
cmp byte [0x1402319c8], 0
je 0x140104e89
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov qword [rsp + 0xb0], 0
lea rdx, [rsp + 0xb0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
movsd xmm0, qword [0x1402319d0]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x140104abf
jnp 0x1401057d8
ucomisd xmm0, xmm6
jne 0x140104acb
jnp 0x140104e89
movsd xmm1, qword [rsp + 0xb0]
unpcklps xmm1, xmmword [0x1401f3950]
subpd xmm1, xmmword [0x1401f3960]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x1401f7d68]
cvttsd2si rax, xmm2
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x2c8]
mov qword [rsp + 0xa8], 0
mov r15, qword [rax]
mov dword [rsp + 0xe0], ebp
cmp byte [r14], 0
je 0x140105f8d
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov r13, qword [rcx + rax*8]
cmp byte [r13 + 0x131], 0
jne 0x140105f8d
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
movabs r12, 0x7fffffffffffffff
cmp eax, ebp
jne 0x140104baa
mov rax, qword [0x140231c80]
cmp rax, 1
jbe 0x140105ea0
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov rsi, qword [rax + 0x160]
mov qword [rsp + 0xd8], rsi
test rsi, rsi
je 0x140104baa
cmp rsi, qword [rax + 0x138]
jne 0x140105b76
mov rdx, qword [rsp + 0x2d0]
mov r9, qword [rsp + 0x2b0]
lea rbx, [r13 + 0x131]
test byte [r14], 8
jne 0x140106187
movzx eax, byte [rbx]
mov byte [rsp + 0x67], al
mov byte [rbx], 1
xor eax, eax
mov r15d, 0
test edi, 0x800
je 0x140104bec
mov r15, qword [0x140231770]
test edi, 0x180
cmove r15, rax
mov rax, qword [0x140231780]
mov rcx, qword [rsp + 0x2c8]
mov r13, qword [rcx]
lea rcx, [rax + r12]
add rcx, 2
cmp rcx, 2
jb 0x140105f94
xor ecx, ecx
cmp r13, rax
setns cl
add rcx, r12
sub r13, rax
cmovo r13, rcx
movzx eax, byte [r14]
test al, 1
je 0x140105ce2
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x130], 0
jne 0x140104cc8
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov rbp, qword [rcx + rax*8]
cmp qword [rbp + 0x178], 0
je 0x140104cc8
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov r12, qword [rcx + rax*8]
cmp qword [r12 + 0x140], 0
je 0x140104cc8
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x128]
mov rsi, qword [rax + 0x128]
test rsi, rsi
je 0x140105146
mov eax, dword [0x140231924]
cmp eax, dword [rsi + 0x38]
jne 0x14010510c
mov eax, dword [0x140228d28]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r12, qword [rax + 0x128]
movzx eax, byte [r14]
test al, 1
mov ecx, dword [rsp + 0x2c0]
je 0x140106098
xor r15, qword [rsp + 0x2b8]
mov rsi, qword [0x140231930]
test rsi, rsi
je 0x140105fae
movapd xmm0, xmmword [0x1401ee3a0]
movupd xmmword [rsp + 0x138], xmm0
movupd xmmword [rsp + 0x158], xmm0
movupd xmmword [rsp + 0x168], xmm0
movupd xmmword [rsp + 0x148], xmm0
mov qword [rsp + 0xf0], r13
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 0xffffffffffffffff
mov qword [rsp + 0x108], 0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], r9
mov qword [rsp + 0x120], r14
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], 0
mov byte [rsp + 0x138], 0
mov dword [rsp + 0x160], ecx
mov dword [rsp + 0x164], edi
mov qword [rsp + 0x168], r15
movzx eax, byte [rsp + 0x66]
mov byte [rsp + 0x170], al
test rdx, rdx
je 0x140104de5
lea rax, [rsp + 0x138]
cmp rax, rdx
jne 0x140104e90
test dil, 1
jne 0x140105d3c
movzx r14d, byte [rsp + 0x138]
test r14, r14
jne 0x140104eb2
mov qword [rsp + 0x130], 0
test r12, r12
setne dl
lea rcx, [rsp + 0xf0]
lea r8, [rsp + 0xa8]
mov rax, rsi
call qword [0x140243008]
cmp byte [rsp + 0x138], 0
jne 0x140104f27
mov rdx, qword [rsp + 0x130]
test rdx, rdx
jne 0x140104f60
movzx eax, byte [rsp + 0x67]
mov byte [rbx], al
mov rsi, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
call fcn.14012ec00
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
jmp 0x140104b00
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 0x140104de5
xor r13d, r13d
xor r15d, r15d
movzx eax, byte [rsp + r15 + 0x139]
test dil, 1
jne 0x140105e80
cmp eax, 7
je 0x140104f74
inc r15
cmp r14, r15
jne 0x140104eb8
test r13, r13
je 0x140104e01
lea rbp, [r13 + 8]
lea r14, [0x1401f3694]
mov rcx, qword [0x14022c940]
test rcx, rcx
je 0x1401061cb
xor edx, edx
mov r8, rbp
mov r9, r14
call fcn.1400c7e10
mov r15, rax
test rbp, rbp
je 0x140105050
test r15, r15
je 0x140105043
jmp 0x140105050
xor edi, edi
lea r14, [0x140108c90]
lea r15, [0x1401f13f0]
mov al, byte [rsp + rdi + 0x139]
cmp al, 8
je 0x140104f95
cmp al, 9
je 0x140104ff6
inc rdi
movzx eax, byte [rsp + 0x138]
cmp rdi, rax
jae 0x140104e3a
jmp 0x140104f37
lea rcx, fcn.1400bcf10
xor r8d, r8d
call fcn.1400bbb30
jmp 0x140104e4b
mov rcx, qword [rsp + r15*8 + 0x150]
test rcx, rcx
je 0x1401061c4
call fcn.140150310
inc rax
add r13, rax
jmp 0x140104ed4
mov rsi, qword [rsp + rdi*8 + 0x150]
test rsi, rsi
je 0x140104f4a
mov rax, qword [rsi]
mov rax, qword [rax]
cmp rax, r14
jne 0x140104fe6
mov qword [rsi], r15
mov rcx, qword [rsi + 8]
mov qword [rsi + 8], 0
test rcx, rcx
je 0x140104fd2
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x140243008]
mov rcx, rsi
call fcn.14012c25c
mov al, byte [rsp + rdi + 0x139]
jmp 0x140104f42
mov rcx, rsi
mov edx, 1
call qword [0x140243008]
jmp 0x140104fda
mov rsi, qword [rsp + rdi*8 + 0x150]
test rsi, rsi
je 0x140104f4a
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x140105023
mov r12, qword [rcx]
call fcn.14012c25c
mov rcx, r12
test r12, r12
jne 0x140105013
mov qword [rsi + 0xa8], 0
mov rcx, rsi
call fcn.1400c9570
mov rcx, rsi
call fcn.14012c25c
jmp 0x140104f4a
cmp byte [0x14022c920], 0
jne 0x1401061e7
mov qword [rsp + 0x130], r15
mov qword [r15], r13
lea rdx, [r15 + 8]
test r15, r15
cmove rdx, r15
lea rax, [rdx + r13]
test dil, 1
jne 0x140105944
mov r8b, byte [rsp + 0x138]
mov rcx, rdx
test r8b, r8b
je 0x140104e0d
add rdx, r13
dec rdx
xor r9d, r9d
cmp byte [rsp + r9 + 0x139], 7
jne 0x1401050fa
mov r10, qword [rsp + r9*8 + 0x150]
test r10, r10
je 0x1401050fa
mov r11, rax
sub r11, rcx
je 0x1401050cf
xor r8d, r8d
mov dil, byte [r10 + r8]
mov byte [rcx + r8], dil
test dil, dil
je 0x1401050e4
inc r8
cmp r11, r8
jne 0x1401050b4
mov byte [rcx + r11 - 1], 0
mov r11, rdx
sub r11, rcx
lea r8, [r11 + 1]
cmp byte [r10 + r11 + 1], 0
mov r11, r8
jne 0x1401050d5
mov qword [rsp + r9*8 + 0x150], rcx
add rcx, r8
inc rcx
mov r8b, byte [rsp + 0x138]
inc r9
movzx r10d, r8b
cmp r9, r10
jae 0x140104e0d
jmp 0x140105091
mov qword [rsp + 0x98], rcx
mov rcx, rsi
call fcn.140045770
mov rcx, rsi
call fcn.14012c25c
mov rcx, qword [rsp + 0x98]
mov r9, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x2d0]
cmp qword [rcx], 0
jne 0x140104cc8
lea rax, [rbp + 0x178]
mov qword [rsp + 0x68], rax
movabs rbp, 0xfffffffc00000000
mov rsi, rcx
mov ecx, 0x40
call fcn.14012c264
mov rcx, rbp
mov rbp, rax
lea rax, fcn.140167d20
mov qword [rbp], rax
lea rax, [0x1401f0978]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rsi
mov rax, qword [rsi]
mov qword [rsp + 0x98], rsi
mov qword [rsi], rbp
mov qword [rbp + 0x18], rax
lea rsi, [0x1402315e8]
mov rax, rsi
and rax, rcx
cmp rax, qword [0x140219dc8]
je 0x1401061ff
mov qword [rbp + 0x20], rsi
xorpd xmm0, xmm0
movupd xmmword [rbp + 0x28], xmm0
mov eax, dword [0x140231924]
mov dword [rbp + 0x38], eax
mov rax, qword [rsp + 0x68]
mov rsi, qword [rax]
and rcx, rsi
mov qword [rsp + 0x68], rcx
cmp rcx, qword [0x140219dc8]
jne 0x1401051ec
mov rcx, rsi
call fcn.1400acce0
lea r12, [r12 + 0x140]
lea rcx, [rsi + 0x2c0]
mov rdx, rbp
call fcn.140019850
mov rax, qword [rsp + 0x68]
cmp rax, qword [0x140219dc8]
jne 0x140105219
mov rcx, rsi
call fcn.1400ace30
call fcn.140029ae0
mov rcx, qword [r12]
test rcx, rcx
je 0x1401061d8
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x14010524b
mov ecx, 1
lock xadd dword [r9 + 8], ecx
cmp ecx, 0x7fffffff
je 0x1401061db
mov rdx, rbp
add rdx, 8
lea rcx, [rsp + 0xf0]
mov byte [rcx], 1
mov qword [rsp + 0x20], rcx
lea r8, [0x1401f7d70]
mov rcx, rax
call fcn.1400d8da0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rcx, [0x1402315f0]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140105f7b
mov rax, qword [r12]
test rax, rax
je 0x1401061de
mov qword [rsp + 0x70], rbp
mov r12, qword [rax + 0x10]
test r12, r12
je 0x1401052c0
mov eax, 1
lock xadd dword [r12 + 8], eax
cmp eax, 0x7fffffff
je 0x1401061e1
mov dword [rsp + 0x78], esi
mov eax, esi
mov qword [rsp + 0x68], rax
mov rsi, qword [0x1402318d0]
test rsi, rsi
jne 0x14010533b
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x20
call fcn.14012c264
test rax, rax
je 0x1401061e4
mov r9, rax
xor eax, eax
mov qword [r9], rax
mov rcx, qword [rsp + 0x68]
mov qword [r9 + 8], rcx
mov ecx, dword [rsp + 0x78]
mov dword [r9 + 0x10], ecx
mov qword [r9 + 0x18], rax
mov rax, qword [0x1402318e0]
inc rax
jns 0x140105407
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14010540c
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 0x140105722
mov eax, 0xffffffff
add eax, esi
mov rdx, qword [rsp + 0x68]
mov ebp, edx
and ebp, eax
mov rax, qword [0x1402318c8]
mov rax, qword [rax + rbp*8]
test rax, rax
je 0x1401052e1
mov r9, qword [rax]
test r9, r9
je 0x1401052e1
lea r8, [rsi - 1]
mov rax, qword [r9 + 8]
cmp rax, qword [rsp + 0x68]
je 0x14010622b
cmp ecx, 1
ja 0x140106243
and rax, r8
cmp rax, rbp
jne 0x1401052e1
mov r9, qword [r9]
test r9, r9
je 0x1401052e1
jmp 0x1401053d5
cvtsi2ss xmm0, rax
mov r8, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, rsi
shr rcx, 1
mov eax, esi
and eax, 1
or rax, rcx
test rsi, rsi
jns 0x140105432
cvtsi2ss xmm1, rax
addss xmm1, xmm1
jmp 0x140105437
cvtsi2ss xmm1, rsi
mov rbp, r8
movss xmm2, dword [0x1402318e8]
je 0x140105451
mulss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x140105541
mov qword [rsp + 0x78], r9
divss xmm0, xmm2
call fcn.14014a954
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x1401f45f0]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rdx, [rsi + rsi]
mov ecx, 1
cmp rsi, 3
jae 0x14010621a
or rcx, rdx
cmp rcx, rax
cmovbe rcx, rax
mov eax, 2
cmp rcx, 1
jne 0x140105611
cmp rax, rsi
jbe 0x140106259
mov rsi, rax
mov rax, rsi
shr rax, 0x3d
jne 0x1401061fc
lea rcx, [rsi*8]
call fcn.14012c264
mov rcx, qword [0x1402318c8]
mov qword [0x1402318c8], rax
test rcx, rcx
jne 0x1401055dc
mov qword [0x1402318d0], rsi
xor eax, eax
mov rcx, qword [0x1402318c8]
mov qword [rcx + rax*8], 0
inc rax
cmp rsi, rax
jne 0x1401054f0
mov r8, qword [0x1402318d8]
test r8, r8
jne 0x14010562f
mov rsi, qword [0x1402318d0]
lea rax, [rsi - 1]
test rsi, rax
jne 0x1401055c2
mov eax, 0xffffffff
add eax, esi
mov rcx, qword [rsp + 0x68]
and ecx, eax
mov rdx, rcx
mov r9, qword [rsp + 0x78]
mov rcx, qword [0x1402318c8]
mov rax, qword [rcx + rdx*8]
test rax, rax
jne 0x1401055b7
mov rax, qword [0x1402318d8]
lea r8, [0x1402318d8]
mov qword [r9], rax
mov qword [0x1402318d8], r9
mov qword [rcx + rdx*8], r8
test rax, rax
jne 0x1401055e6
inc qword [0x1402318e0]
mov rcx, qword [r9 + 0x18]
mov qword [r9 + 0x18], r12
test rcx, rcx
jne 0x140105745
lea rcx, [0x1402315f0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x98]
mov qword [rax], rbp
mov rdx, qword [rsp + 0x2d0]
mov r9, qword [rsp + 0x2b0]
jmp 0x140104cc8
mov rcx, qword [rax]
mov qword [r9], rcx
mov qword [rax], r9
jmp 0x140105572
cmp rsi, qword [rsp + 0x68]
ja 0x1401063bb
mov rax, qword [rsp + 0x68]
xor edx, edx
div rsi
jmp 0x14010553c
call fcn.14012c25c
jmp 0x1401054e7
mov rax, qword [rax + 8]
lea rcx, [rsi - 1]
test rsi, rcx
je 0x1401063c5
cmp rax, rsi
jb 0x140105604
xor edx, edx
div rsi
mov rax, rdx
shl rax, 3
add rax, qword [0x1402318c8]
jmp 0x1401055bd
lea rax, [rcx - 1]
test rcx, rax
je 0x1401063b3
call fcn.1400eec80
mov rsi, qword [0x1402318d0]
jmp 0x1401054aa
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 0x1401063cd
cmp rcx, r11
jb 0x1401056ac
mov rax, rcx
xor edx, edx
div r11
mov rcx, rdx
mov rax, qword [0x1402318c8]
lea rdx, [0x1402318d8]
mov qword [rax + rcx*8], rdx
mov r10, qword [r8]
test r10, r10
mov rbp, qword [rsp + 0x70]
je 0x140105517
mov rbp, qword [rsp + 0x70]
mov rax, qword [r10 + 8]
cmp r9d, 1
jbe 0x1401063d9
cmp rax, r11
jb 0x1401056ef
xor edx, edx
div r11
mov rax, rdx
cmp rax, rcx
je 0x14010640d
mov rdx, qword [0x1402318c8]
cmp qword [rdx + rax*8], 0
jne 0x1401063e5
mov qword [rdx + rax*8], r8
mov r8, r10
mov r10, qword [r10]
mov rcx, rax
test r10, r10
je 0x140105517
jmp 0x1401056d4
mov rax, qword [rsp + 0x68]
mov rbp, rax
cmp rsi, rax
ja 0x1401053b1
mov rax, qword [rsp + 0x68]
xor edx, edx
div rsi
mov rbp, rdx
jmp 0x1401053b1
lock dec dword [rcx + 8]
jne 0x14010558a
call fcn.1400c9f20
jmp 0x14010558a
lea rcx, [0x1402319f0]
call fcn.14012c340
cmp dword [0x1402319f0], 0xffffffff
jne 0x140105842
lea r15, [rsp + 0xf0]
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
mov qword [0x1402319e8], rax
lea rcx, [0x1402319f0]
call fcn.14012c3a8
jmp 0x140105842
lea rcx, [0x1402319e0]
call fcn.14012c340
cmp dword [0x1402319e0], 0xffffffff
jne 0x14010581d
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x1402319d8], rdx
lea rcx, [0x1402319e0]
call fcn.14012c3a8
jmp 0x14010581d
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 [0x1402319e0]
mov ecx, dword [0x140228d28]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x1401057a5
mov eax, dword [0x1402319f0]
mov ecx, dword [0x140228d28]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140105759
rdtsc
mov r15, rax
mov r12, rdx
xor ebx, ebx
lea r13, [rsp + 0xf0]
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 + 0xf0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
sub rbp, qword [0x1402319e8]
cvtsi2sd xmm1, rbp
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x1401f7d60]
ucomisd xmm2, xmm1
jbe 0x1401058c1
mov ebp, dword [rsp + 0x2c0]
jmp 0x140104abf
shl r12, 0x20
or r15, r12
sub r15, qword [0x1402319d8]
movq xmm0, r15
punpckldq xmm0, xmmword [0x1401f3950]
subpd xmm0, xmmword [0x1401f3960]
haddpd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [0x1402319d0], xmm0
jmp 0x1401058b5
mov r10, rax
sub r10, rcx
je 0x14010591c
xor r9d, r9d
mov r11b, byte [r8 + r9]
mov byte [rcx + r9], r11b
test r11b, r11b
je 0x140105934
inc r9
cmp r10, r9
jne 0x140105901
mov byte [rcx + r10 - 1], 0
mov r10, rcx
not r10
add r10, rax
lea r9, [r10 + 1]
cmp byte [r8 + r10 + 1], 0
mov r10, r9
jne 0x140105925
mov qword [rsp + 0x110], rcx
add rcx, r9
inc rcx
jmp 0x1401059a1
mov r8, qword [rsp + 0x128]
mov rcx, rdx
test r8, r8
je 0x140105990
xor ecx, ecx
mov r9b, byte [r8 + rcx]
mov byte [rdx + rcx], r9b
test r9b, r9b
je 0x140105982
inc rcx
cmp r13, rcx
jne 0x140105956
mov byte [rax - 1], 0
lea r9, [r13 - 1]
lea rcx, [r9 + 1]
cmp byte [r8 + r9 + 1], 0
mov r9, rcx
jne 0x140105973
mov qword [rsp + 0x128], rdx
add rcx, rdx
inc rcx
mov r8, qword [rsp + 0x110]
test r8, r8
jne 0x1401058f6
mov r8b, byte [rsp + 0x138]
test r8b, r8b
je 0x140104e0d
lea r9, [rdx + r13]
dec r9
xor r10d, r10d
mov r11, qword [rsp + r10*8 + 0x140]
test r11, r11
je 0x140105a19
mov rdi, rax
sub rdi, rcx
je 0x1401059ee
xor r8d, r8d
mov bpl, byte [r11 + r8]
mov byte [rcx + r8], bpl
test bpl, bpl
je 0x140105a03
inc r8
cmp rdi, r8
jne 0x1401059d4
mov byte [rcx + rdi - 1], 0
mov rdi, r9
sub rdi, rcx
lea r8, [rdi + 1]
cmp byte [r11 + rdi + 1], 0
mov rdi, r8
jne 0x1401059f4
mov qword [rsp + r10*8 + 0x140], rcx
add rcx, r8
inc rcx
mov r8b, byte [rsp + 0x138]
inc r10
movzx r11d, r8b
cmp r10, r11
jae 0x14010507f
jmp 0x1401059bc
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
movapd xmm0, xmmword [0x1401ee3a0]
movapd xmmword [rsp + 0xf0], xmm0
lea rax, [0x1401f34bf]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
lea rbp, [r11 + 0x18]
movzx eax, byte [r11 + 0x2f]
test al, al
jns 0x140105a98
mov rcx, qword [r11 + 0x18]
mov rax, qword [r11 + 0x20]
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xd0], rax
test rax, rax
jns 0x140105aab
jmp 0x140106415
mov qword [rsp + 0xc8], rbp
mov qword [rsp + 0xd0], rax
mov rcx, rbp
test rcx, rcx
jne 0x140105ab9
test rax, rax
jne 0x14010641b
mov dword [rsp + 0x20], 1
lea rsi, [rsp + 0xf0]
lea rdx, [rsp + 0xc8]
lea r8, [rsp + 0xb0]
mov rcx, rsi
xor r9d, r9d
call fcn.14011f9e0
mov rdx, qword [rsi]
mov rbx, qword [rsi + 8]
lea rsi, [rsp + 0xe8]
lea r9, [rsp + 0xd8]
mov rcx, rsi
mov r8, rbx
call fcn.14018e1f0
cmp qword [rsi], rbx
jne 0x140105b37
mov rax, qword [rsp + 0xf0]
cmp rax, qword [rsp + 0xf8]
je 0x140105b27
mov rcx, rbp
mov dl, 0x2c
call fcn.1400e7310
mov rdx, qword [rsp + 0xd8]
mov rcx, rbp
call fcn.140058240
lea rcx, [rsp + 0xe8]
lea rax, [rsp + 0xf0]
mov qword [rcx], rax
call fcn.14011b200
jmp 0x140105cc0
lea rcx, [0x1402315f8]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x140105b9a
mov eax, 0xffffffff
add eax, r9d
mov r8d, ecx
and r8d, eax
jmp 0x140105c25
cmp byte [rsi], 0
je 0x140104baa
lea rax, [rax + 0x138]
mov qword [rax], rsi
lea rcx, [0x1402315f8]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140105b54
mov r9, qword [0x1402316f8]
test r9, r9
je 0x140105c6e
mov ecx, ebp
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 0x140105b63
mov r8, rcx
cmp r9, rcx
ja 0x140105c25
mov rax, rcx
xor edx, edx
div r9
mov r8, rdx
mov rax, qword [0x1402316f0]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x140105c6e
mov r11, qword [rax]
test r11, r11
je 0x140105c6e
lea rbx, [r9 - 1]
mov rax, qword [r11 + 8]
cmp rax, rcx
je 0x140105cd7
cmp r10d, 1
jbe 0x140105cd2
cmp rax, r9
jb 0x140105c61
xor edx, edx
div r9
mov rax, rdx
cmp rax, r8
jne 0x140105c6e
mov r11, qword [r11]
test r11, r11
jne 0x140105c41
lea r8, [rsp + 0xe0]
lea rax, [rsp + 0xe8]
mov qword [rax], r8
lea rcx, [rsp + 0xe7]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
lea rcx, [0x1402316f0]
lea r9, [0x1401f46e7]
lea rbx, [rsp + 0xf0]
mov rdx, rbx
call fcn.14002d5a0
mov rcx, qword [rbx]
add rcx, 0x18
mov rdx, rsi
call fcn.1401162d0
lea rcx, [0x1402315f8]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x140104baa
and rax, rbx
jmp 0x140105c61
cmp dword [r11 + 0x10], ebp
jne 0x140105c66
jmp 0x140105a2b
xor r12d, r12d
jmp 0x140104ce6
lea rcx, [0x140231948]
call fcn.14012c340
cmp dword [0x140231948], 0xffffffff
jne 0x140104a31
lea rcx, [0x1402315e8]
xor edx, edx
call fcn.140029840
lea rcx, [0x140231948]
call fcn.14012c3a8
jmp 0x140104a31
mov rcx, qword [rsp + 0x90]
call fcn.140150310
mov r13, rax
inc r13
jmp 0x140105d68
xor r14d, r14d
jmp 0x140105d5a
cmp qword [rsp + 0x88], 0
je 0x140105d37
mov rcx, qword [rsp + 0x88]
call fcn.140150310
mov r14, rax
inc r14
cmp qword [rsp + 0x90], 0
jne 0x140105d22
xor r13d, r13d
add r13, r14
movzx r14d, byte [rsp + 0x138]
test r14, r14
je 0x140104edc
xor r15d, r15d
mov rcx, qword [rsp + r15*8 + 0x140]
test rcx, rcx
je 0x140105da6
call fcn.140150310
inc rax
add r13, rax
inc r15
cmp r14, r15
je 0x140104eb5
jmp 0x140105d80
xor eax, eax
jmp 0x140105d95
lea rcx, [0x1402319cc]
call fcn.14012c340
cmp dword [0x1402319cc], 0xffffffff
jne 0x140104a77
lea rax, [rsp + 0x120]
xorpd xmm0, xmm0
movupd xmmword [rax - 0x15], xmm0
movapd xmmword [rax - 0x20], xmm0
movapd xmmword [rax - 0x30], xmm0
mov byte [rax + 0x17], 7
lea rcx, str.unknown
cmp rax, rcx
ja 0x140105dff
lea rdx, [rsp + 0x127]
cmp rdx, rcx
ja 0x1401063b0
mov ecx, dword [0x1401f5302]
mov dword [rax + 3], ecx
mov ecx, dword [str.unknown]
mov dword [rax], ecx
lea rsi, [rsp + 0xf0]
mov byte [rsi + 0x37], 0
movupd xmmword [rsi + 0x48], xmm0
mov qword [rsi + 0x58], 0
mov rcx, rsi
xor edx, edx
call fcn.14002db10
mov bl, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x140105e49
mov rcx, qword [rsp + 0x138]
call fcn.14012c25c
cmp byte [rsp + 0x137], 0
js 0x140105e71
mov byte [0x1402319c8], bl
lea rcx, [0x1402319cc]
call fcn.14012c3a8
mov ebp, dword [rsp + 0x2c0]
jmp 0x140104a77
mov rcx, qword [rsp + 0x120]
call fcn.14012c25c
jmp 0x140105e53
cmp eax, 7
je 0x140104f74
cmp eax, 6
jne 0x140104ed4
mov byte [rsp + r15 + 0x139], 7
jmp 0x140104f74
mov ecx, 1
xor eax, eax
lock cmpxchg qword [0x140231c80], rcx
jne 0x140105ed3
mov ecx, pe_nt_image_headers64
call fcn.14012c264
mov rsi, rax
mov rcx, rax
call fcn.14002a060
mov qword [0x140231c80], rsi
jmp 0x140104b76
mov rax, qword [0x140231c80]
cmp rax, 1
jne 0x140105f5c
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rcx, [rsp + 0xf0]
mov qword [rcx], rax
mov rax, qword [fcn.1400c93d0]
call qword [0x140243008]
lea rsi, [rsp + 0xe8]
mov rbx, qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [fcn.1400c93d0]
mov rcx, rsi
call qword [0x140243008]
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xf0]
xor edx, edx
cmp rax, rcx
setns dl
add rdx, r12
sub rax, rcx
cmovo rax, rdx
cmp rax, 0x3e7
jg 0x140105f6f
xor ecx, ecx
call rbx
mov rax, qword [0x140231c80]
cmp rax, 1
je 0x140105f11
mov rax, qword [0x140231c80]
mov ebp, dword [rsp + 0x2c0]
jmp 0x140104b76
mov ecx, 0x3e8
call fcn.14018f6b0
jmp 0x140105f4f
lea rcx, [0x1402315f0]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14010528e
xor esi, esi
jmp 0x140104e5a
cmp r13, rax
je 0x140106418
lea r13, [r12 + 1]
test rax, rax
cmovs r13, r12
jmp 0x140104c2c
mov rbp, rdx
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
test r12, r12
je 0x140105fe1
lea rdx, [rsp + 0xa8]
mov rcx, r12
call fcn.14018d040
jmp 0x140106016
lea rcx, [0x1402315f0]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x140105fff
lea rcx, [0x1402315f0]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [0x1402315e8]
lea rdx, [rsp + 0xa8]
mov r8b, 1
call fcn.14018d730
mov rsi, rax
test rax, rax
je 0x14010607a
mov dword [rsp + 0x58], edi
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], r15
mov rax, qword [rsp + 0x2b0]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r14
mov al, byte [rsp + 0x66]
mov byte [rsp + 0x20], al
mov rcx, rsi
mov edx, dword [rsp + 0x2c0]
mov r8, r13
mov r9, qword [rsp + 0x80]
call fcn.14001d2c0
mov eax, dword [0x140231788]
test al, 8
jne 0x1401060fe
test r12, r12
jne 0x1401060b1
lea rcx, [0x1402315f0]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x1401060b1
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
movzx r14d, byte [rsp + 0xc7]
mov esi, r14d
and esi, 0x7f
mov rax, rsi
test r14b, r14b
jns 0x1401060d0
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x1401060e3
mov ecx, 2
call fcn.1400b9d80
test al, al
jne 0x14010612c
test r14b, r14b
jns 0x140104e4b
mov rcx, qword [rsp + 0xb0]
call fcn.14012c25c
jmp 0x140104e4b
mov al, byte [rsp + 0x66]
cmp al, 0x58
movzx eax, al
mov edx, 0x42
cmovne edx, eax
lea rcx, [rsp + 0xb0]
mov r8, qword [rsp + 0x2c8]
mov r9, rsi
call fcn.14018d8a0
jmp 0x140106084
lea rdx, str....._base_trace_event_trace_log.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r8d, 0x70a
mov r9d, 2
call fcn.1400066f0
test r14b, r14b
lea r14, [rsp + 0xb0]
cmovs rsi, qword [r14 + 8]
lea rcx, [rsp + 0x100]
mov rdx, qword [r14]
cmovns rdx, r14
mov r8, rsi
call fcn.140167320
mov rcx, rdi
call fcn.1400068f0
mov r14b, byte [r14 + 0x17]
jmp 0x1401060e3
mov rax, qword [rsp + 0x88]
test rax, rax
lea r8, [0x1401f3694]
cmovne r8, rax
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r15
mov cl, byte [rsp + 0x66]
mov rsi, rdx
mov rdx, r14
mov r15, r9
call fcn.140197140
mov r9, r15
mov rdx, rsi
jmp 0x140104bcb
xor eax, eax
jmp 0x140104f8d
call fcn.1401747c0
mov rcx, rax
jmp 0x140104f00
int3
int3
int3
int3
int3
mov rcx, rbp
call fcn.140174850
test al, al
jne 0x140104ef0
jmp 0x140105050
int3
lea rcx, [0x1402315e8]
call fcn.1400acce0
movabs rcx, 0xfffffffc00000000
jmp 0x1401051b5
lea r8, [rsi - 1]
xor ecx, ecx
test rsi, r8
setne cl
jmp 0x140105491
mov eax, dword [rsp + 0x78]
cmp dword [r9 + 0x10], eax
jne 0x1401053f9
mov rbp, qword [rsp + 0x70]
jmp 0x140105579
cmp rax, rsi
jb 0x1401053f0
xor edx, edx
div rsi
mov rax, rdx
jmp 0x1401053f0
mov qword [rsp + 0xa0], rax
jae 0x140105517
mov rax, qword [0x1402318e0]
test rax, rax
jns 0x14010628d
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x140106295
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm0, dword [0x1402318e8]
call fcn.14014a954
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x1401f45f0]
cvttss2si rax, xmm0
sar rdx, 0x3f
and rax, rdx
or rax, rcx
cmp rsi, 3
jb 0x14010634e
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 0x14010634e
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 0x140106356
mov rcx, rax
call fcn.1400eec80
mov rcx, qword [rsp + 0xa0]
cmp rcx, rax
cmova rax, rcx
cmp rax, rsi
mov rbp, qword [rsp + 0x70]
jae 0x140105517
mov rsi, rax
test rax, rax
jne 0x1401054b6
mov rcx, qword [0x1402318c8]
mov qword [0x1402318c8], 0
test rcx, rcx
je 0x14010639b
call fcn.14012c25c
mov qword [0x1402318d0], 0
mov rbp, qword [rsp + 0x70]
jmp 0x140105517
int3
mov rax, rcx
jmp 0x1401054aa
mov rdx, qword [rsp + 0x68]
jmp 0x14010553c
and rax, rcx
jmp 0x140105604
lea rax, [r11 - 1]
and rcx, rax
jmp 0x1401056ac
lea rdx, [r11 - 1]
and rax, rdx
jmp 0x1401056ef
mov rdx, qword [r10]
mov qword [r8], rdx
mov rdx, qword [0x1402318c8]
mov rdx, qword [rdx + rax*8]
mov rdx, qword [rdx]
mov qword [r10], rdx
mov rdx, qword [0x1402318c8]
mov rax, qword [rdx + rax*8]
mov qword [rax], r10
mov r10, r8
mov rax, rcx
jmp 0x14010570e
int3
int3
int3