Function at 0x14013bad0
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 + 0x67], cl
mov rax, qword [0x14029c028]
xor rax, rsp
mov qword [rsp + 0x228], rax
mov eax, dword [0x1402b7388]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013d061
mov esi, dword [rsp + 0x2c0]
test dword [rsp + 0x2d8], 0x410
jne 0x14013bf94
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, esi
cmp eax, esi
jne 0x14013bf96
mov eax, dword [0x1402b740c]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013d099
cmp byte [0x1402b7408], 0
je 0x14013bf96
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 [0x1402b7410]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x14013bbcf
jnp 0x14013ca5b
ucomisd xmm0, xmm6
jne 0x14013bbdb
jnp 0x14013bf96
movsd xmm1, qword [rsp + 0xb0]
unpcklps xmm1, xmmword [0x140275d70]
subpd xmm1, xmmword [0x140275d80]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x14027a8d8]
cvttsd2si rax, xmm2
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xe0], edi
cmp byte [r14], 0
je 0x14013d1e9
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov r15, qword [rcx + rax*8]
cmp byte [r15 + 0x151], 0
jne 0x14013d1e9
movabs rsi, 0x7fffffffffffffff
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, edi
jne 0x14013bcaf
mov rax, qword [0x1402b7708]
cmp rax, 1
jbe 0x14013d02c
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x180]
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x14013bcaf
cmp rax, qword [rcx + 0x158]
jne 0x14013cdf8
mov rdx, qword [rsp + 0x2d0]
mov r9, qword [rsp + 0x2b0]
lea rbx, [r15 + 0x151]
test byte [r14], 8
jne 0x14013d247
mov rcx, qword [rsp + 0x2c8]
movzx eax, byte [rbx]
mov byte [rsp + 0x77], al
mov byte [rbx], 1
xor eax, eax
mov r15d, 0
test dword [rsp + 0x2d8], 0x800
je 0x14013bcfe
mov r15, qword [0x1402b71b0]
test dword [rsp + 0x2d8], 0x180
cmove r15, rax
mov rax, qword [0x1402b71c0]
mov r12, qword [rcx]
lea rcx, [rsi + rax]
add rcx, 2
cmp rcx, 2
jb 0x14013d1f0
xor ecx, ecx
cmp r12, rax
setns cl
add rcx, rsi
sub r12, rax
cmovo r12, rcx
test byte [r14], 1
je 0x14013c91b
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x150], 0
jne 0x14013bdd4
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov rbp, qword [rcx + rax*8]
cmp qword [rbp + 0x198], 0
je 0x14013bdd4
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov r13, qword [rcx + rax*8]
cmp qword [r13 + 0x160], 0
je 0x14013bdd4
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x148]
mov rsi, qword [rax + 0x148]
test rsi, rsi
je 0x14013c1fa
mov eax, dword [0x1402b7364]
cmp eax, dword [rsi + 0x38]
jne 0x14013d208
test byte [r14], 1
je 0x14013c91b
xor r15, qword [rsp + 0x2b8]
mov eax, dword [0x1402ac5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r13, qword [rax + 0x148]
mov rsi, qword [0x1402b7370]
test rsi, rsi
je 0x14013c82b
movapd xmm0, xmmword [0x14026dc70]
movupd xmmword [rsp + 0x138], xmm0
movupd xmmword [rsp + 0x158], xmm0
movupd xmmword [rsp + 0x168], xmm0
movupd xmmword [rsp + 0x148], xmm0
mov qword [rsp + 0xf0], r12
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], edi
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x164], eax
mov qword [rsp + 0x168], r15
movzx eax, byte [rsp + 0x67]
mov byte [rsp + 0x170], al
test rdx, rdx
je 0x14013beef
lea rax, [rsp + 0x138]
cmp rax, rdx
jne 0x14013bf9d
mov eax, dword [rsp + 0x2d8]
test al, 1
jne 0x14013d15b
movzx r14d, byte [rsp + 0x138]
test r14, r14
jne 0x14013c025
mov qword [rsp + 0x130], 0
test r13, r13
setne dl
lea rcx, [rsp + 0xf0]
lea r8, [rsp + 0xa8]
mov rax, rsi
call qword [0x1402ca008]
cmp byte [rsp + 0x138], 0
jne 0x14013bfbf
mov rdx, qword [rsp + 0x130]
test rdx, rdx
jne 0x14013bfea
movzx eax, byte [rsp + 0x77]
mov byte [rbx], al
mov rsi, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
call fcn.1401879f0
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
mov edi, esi
xor eax, eax
jmp 0x14013bc10
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 0x14013beef
xor edi, edi
mov al, byte [rsp + rdi + 0x139]
cmp al, 8
je 0x14013bffe
cmp al, 9
je 0x14013c18a
inc rdi
movzx eax, byte [rsp + 0x138]
cmp rdi, rax
jae 0x14013bf45
jmp 0x14013bfc1
lea rcx, fcn.1400f2ed0
xor r8d, r8d
call fcn.1400ef740
jmp 0x14013bf56
mov rcx, qword [rsp + rdi*8 + 0x150]
test rcx, rcx
je 0x14013bfd4
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1402ca008]
mov al, byte [rsp + rdi + 0x139]
jmp 0x14013bfcc
xor r15d, r15d
xor r12d, r12d
movzx eax, byte [rsp + r12 + 0x139]
mov ecx, dword [rsp + 0x2d8]
test cl, 1
jne 0x14013d1c9
cmp eax, 7
je 0x14013c169
inc r12
cmp r14, r12
jne 0x14013c02b
test r15, r15
je 0x14013bf10
lea r12, [r15 + 8]
lea rbp, [0x140274594]
mov rcx, qword [0x1402b2580]
test rcx, rcx
je 0x14013d286
mov qword [rsp + 0x20], rbp
mov edx, 0x10
xor r8d, r8d
mov r9, r12
call fcn.14011c760
mov r14, rax
test r12, r12
je 0x14013c0a8
test r14, r14
jne 0x14013c0a8
cmp byte [0x1402b2560], 0
jne 0x14013d298
mov qword [rsp + 0x130], r14
mov qword [r14], r15
lea rcx, [r14 + 8]
test r14, r14
cmove rcx, r14
lea rax, [rcx + r15]
mov edx, dword [rsp + 0x2d8]
test dl, 1
jne 0x14013cbca
mov dl, byte [rsp + 0x138]
test dl, dl
je 0x14013bf1c
mov r8, rax
neg r8
xor r9d, r9d
cmp byte [rsp + r9 + 0x139], 7
jne 0x14013c158
mov r10, qword [rsp + r9*8 + 0x150]
test r10, r10
je 0x14013c158
mov rdx, rax
sub rdx, rcx
je 0x14013c138
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x14013c146
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x14013c114
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14013c138
mov qword [rsp + r9*8 + 0x150], rcx
add rcx, r11
mov dl, byte [rsp + 0x138]
inc r9
movzx r10d, dl
cmp r9, r10
jb 0x14013c0ea
jmp 0x14013bf1c
mov rcx, qword [rsp + r12*8 + 0x150]
test rcx, rcx
je 0x14013d27f
call fcn.1401ac4b0
inc rax
add r15, rax
jmp 0x14013c04d
mov rsi, qword [rsp + rdi*8 + 0x150]
test rsi, rsi
je 0x14013bfd4
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x14013c1b7
mov r14, qword [rcx]
call fcn.140184dbc
mov rcx, r14
test r14, r14
jne 0x14013c1a7
mov qword [rsi + 0xa8], 0
mov rcx, rsi
call fcn.140107b30
mov rcx, rsi
call fcn.140184dbc
jmp 0x14013bfd4
mov rcx, qword [rsp + 0x68]
call fcn.1400ddc60
mov rax, qword [rsp + 0x68]
jmp 0x14013c299
mov rcx, qword [rsp + 0x68]
call fcn.1400de590
jmp 0x14013c2bc
lea rax, [rbp + 0x198]
mov qword [rsp + 0x68], rax
mov rsi, rcx
mov ecx, 0x40
call fcn.140184dc4
mov rbp, rax
lea rax, [0x140270118]
mov qword [rbp], rax
lea rax, [0x140270b40]
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rsi
mov rax, qword [rsi]
mov qword [rsp + 0x98], rsi
mov qword [rsi], rbp
movabs rsi, 0xfffffffc00000000
mov qword [rbp + 0x18], rax
lea rcx, [0x1402b7028]
mov rax, rcx
and rax, rsi
cmp rax, qword [0x14029ce48]
je 0x14013d2cb
mov qword [rbp + 0x20], rcx
xorpd xmm0, xmm0
movupd xmmword [rbp + 0x28], xmm0
mov eax, dword [0x1402b7364]
mov dword [rbp + 0x38], eax
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
and rsi, rax
cmp rsi, qword [0x14029ce48]
mov qword [rsp + 0x68], rax
je 0x14013c1d7
lea r13, [r13 + 0x160]
lea rcx, [rax + 0x2c8]
mov rdx, rbp
call fcn.140022070
cmp rsi, qword [0x14029ce48]
je 0x14013c1eb
call fcn.140038350
mov rcx, qword [r13]
test rcx, rcx
je 0x14013d2ad
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x14013c2ee
mov ecx, 1
lock xadd dword [r9 + 8], ecx
cmp ecx, 0x7fffffff
je 0x14013d2b3
mov rdx, rbp
add rdx, 8
lea rcx, [rsp + 0xf0]
mov byte [rcx], 1
mov qword [rsp + 0x20], rcx
lea r8, [0x14027a8e0]
mov rcx, rax
call fcn.1401331c0
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rcx, [0x1402b7030]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013d2b9
mov rax, qword [r13]
test rax, rax
je 0x14013d2b0
mov qword [rsp + 0xa0], rbp
mov r13, qword [rax + 0x10]
test r13, r13
je 0x14013c365
mov eax, 1
lock xadd dword [r13 + 8], eax
cmp eax, 0x7fffffff
je 0x14013d2b6
mov dword [rsp + 0x78], esi
mov eax, esi
mov qword [rsp + 0x68], rax
mov rsi, qword [0x1402b7310]
test rsi, rsi
jne 0x14013c3e1
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x20
call fcn.140184dc4
cmp rax, 0xfffffffffffffff0
je 0x14013d2f4
mov r9, rax
mov eax, dword [rsp + 0x78]
mov dword [r9 + 0x10], eax
xor eax, eax
mov qword [r9 + 0x18], rax
mov rcx, qword [rsp + 0x68]
mov qword [r9 + 8], rcx
mov qword [r9], rax
mov rax, qword [0x1402b7320]
inc rax
jns 0x14013c4aa
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14013c4af
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 0x14013c7b0
mov eax, 0xffffffff
add eax, esi
mov rdx, qword [rsp + 0x68]
mov ebp, edx
and ebp, eax
mov rax, qword [0x1402b7308]
mov r9, qword [rax + rbp*8]
test r9, r9
je 0x14013c386
lea r8, [rsi - 1]
mov r9, qword [r9]
test r9, r9
je 0x14013c386
mov rax, qword [r9 + 8]
cmp rax, qword [rsp + 0x68]
je 0x14013c49b
cmp ecx, 1
ja 0x14013c7d3
and rax, r8
cmp rax, rbp
jne 0x14013c386
mov eax, dword [rsp + 0x78]
cmp dword [r9 + 0x10], eax
jne 0x14013c46f
jmp 0x14013c60e
cvtsi2ss xmm0, rax
mov rcx, rsi
shr rcx, 1
mov eax, esi
and eax, 1
or rax, rcx
test rsi, rsi
jns 0x14013c4cd
cvtsi2ss xmm1, rax
addss xmm1, xmm1
jmp 0x14013c4d2
cvtsi2ss xmm1, rsi
movss xmm2, dword [0x1402b7328]
je 0x14013c4e9
mulss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x14013c5d3
mov qword [rsp + 0x78], r9
divss xmm0, xmm2
call fcn.1401a3a9c
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140261048]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rdx, [rsi + rsi]
mov ecx, 1
cmp rsi, 3
jae 0x14013d2e3
or rcx, rdx
cmp rcx, rax
cmovbe rcx, rax
mov ebp, 2
cmp rcx, 1
jne 0x14013c78a
cmp rbp, rsi
jbe 0x14013d358
mov rax, rbp
shr rax, 0x3d
jne 0x14013d293
lea rcx, [rbp*8]
call fcn.140184dc4
mov rcx, qword [0x1402b7308]
mov qword [0x1402b7308], rax
test rcx, rcx
jne 0x14013c6a7
mov qword [0x1402b7310], rbp
xor eax, eax
mov rcx, qword [0x1402b7308]
mov qword [rcx + rax*8], 0
inc rax
cmp rbp, rax
jne 0x14013c585
mov r8, qword [0x1402b7318]
test r8, r8
jne 0x14013c6b1
mov rsi, qword [0x1402b7310]
lea rax, [rsi - 1]
test rsi, rax
jne 0x14013c68a
mov eax, 0xffffffff
add eax, esi
mov rbp, qword [rsp + 0x68]
and ebp, eax
mov r9, qword [rsp + 0x78]
mov rcx, qword [0x1402b7308]
mov rax, qword [rcx + rbp*8]
test rax, rax
jne 0x14013c654
lea rax, [0x1402b7318]
mov r8, qword [0x1402b7318]
mov qword [r9], r8
mov qword [0x1402b7318], r9
mov qword [rcx + rbp*8], rax
mov rax, qword [r9]
test rax, rax
jne 0x14013c65f
inc qword [0x1402b7320]
mov rcx, qword [r9 + 0x18]
mov qword [r9 + 0x18], r13
test rcx, rcx
jne 0x14013c7e9
lea rcx, [0x1402b7030]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
mov qword [rax], rcx
mov rdx, qword [rsp + 0x2d0]
mov r9, qword [rsp + 0x2b0]
jmp 0x14013bdd4
mov rcx, qword [rax]
mov qword [r9], rcx
mov qword [rax], r9
jmp 0x14013c607
mov rax, qword [rax + 8]
lea rcx, [rsi - 1]
test rsi, rcx
je 0x14013d49d
cmp rax, rsi
jb 0x14013c67d
xor edx, edx
div rsi
mov rax, rdx
shl rax, 3
add rax, qword [0x1402b7308]
jmp 0x14013c65a
cmp rsi, qword [rsp + 0x68]
ja 0x14013d4a5
mov rax, qword [rsp + 0x68]
xor edx, edx
div rsi
mov rbp, rdx
jmp 0x14013c5ce
call fcn.140184dbc
jmp 0x14013c57c
mov rcx, qword [r8 + 8]
mov rax, rbp
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov r11, rbp
sub rbp, rdx
movabs rdx, 0x3333333333333333
mov r9, rbp
and r9, rdx
shr rbp, 2
and rbp, rdx
add rbp, r9
mov rdx, rbp
shr rdx, 4
add rdx, rbp
movabs rax, 0xf0f0f0f0f0f0f0f
and rax, rdx
movabs r9, 0x101010101010101
imul r9, rax
shr r9, 0x38
cmp r9, 1
jbe 0x14013d4af
cmp rcx, r11
jb 0x14013c72b
mov rax, rcx
xor edx, edx
div r11
mov rcx, rdx
mov rax, qword [0x1402b7308]
lea rdx, [0x1402b7318]
mov qword [rax + rcx*8], rdx
mov r10, qword [r8]
test r10, r10
je 0x14013c5ac
mov rax, qword [r10 + 8]
cmp r9d, 1
jbe 0x14013d4bb
cmp rax, r11
jb 0x14013c764
xor edx, edx
div r11
mov rax, rdx
cmp rax, rcx
je 0x14013c7ab
mov rdx, qword [0x1402b7308]
cmp qword [rdx + rax*8], 0
jne 0x14013d4c7
mov qword [rdx + rax*8], r8
mov r8, r10
mov r10, qword [r10]
mov rcx, rax
jmp 0x14013c740
lea rax, [rcx - 1]
test rcx, rax
je 0x14013d495
call fcn.140152ca0
mov rbp, rax
mov rsi, qword [0x1402b7310]
jmp 0x14013c542
mov rax, rcx
jmp 0x14013c77f
mov rax, qword [rsp + 0x68]
mov rbp, rax
cmp rsi, rax
ja 0x14013c457
mov rax, qword [rsp + 0x68]
xor edx, edx
div rsi
mov rbp, rdx
jmp 0x14013c457
cmp rax, rsi
jb 0x14013c492
xor edx, edx
div rsi
mov rax, rdx
jmp 0x14013c492
lock dec dword [rcx + 8]
jne 0x14013c61f
call fcn.14014fe40
jmp 0x14013c61f
mov al, byte [rsp + 0x67]
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.1401f5620
jmp 0x14013c907
mov rbp, rdx
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
test r13, r13
je 0x14013c85e
lea rdx, [rsp + 0xa8]
mov rcx, r13
call fcn.1401f4d90
jmp 0x14013c893
lea rcx, [0x1402b7030]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14013c87c
lea rcx, [0x1402b7030]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [0x1402b7028]
lea rdx, [rsp + 0xa8]
mov r8b, 1
call fcn.1401f54b0
mov rsi, rax
test rax, rax
je 0x14013c8f9
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x58], eax
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 + 0x67]
mov byte [rsp + 0x20], al
mov rcx, rsi
mov edx, edi
mov r8, r12
mov r9, qword [rsp + 0x80]
call fcn.140026ed0
mov eax, dword [0x1402b71c8]
test al, 8
jne 0x14013c7fd
test r13, r13
jne 0x14013c934
lea rcx, [0x1402b7030]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14013c934
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
movzx r14d, byte [rsp + 0xc7]
test r14b, r14b
js 0x14013c94a
mov esi, r14d
and esi, 0x7f
jmp 0x14013c952
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
je 0x14013c965
mov ecx, 2
call fcn.1400ee5f0
test al, al
jne 0x14013c980
test r14b, r14b
jns 0x14013bf56
mov rcx, qword [rsp + 0xb0]
call fcn.140184dbc
jmp 0x14013bf56
lea rdx, str....._base_trace_event_trace_log.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r8d, 0x706
mov r9d, 2
call fcn.1400078c0
lea rcx, [rsp + 0x100]
test r14b, r14b
js 0x14013c9ba
lea rdx, [rsp + 0xb0]
jmp 0x14013c9c2
mov rdx, qword [rsp + 0xb0]
mov r8, rsi
call fcn.1401c2dd0
mov rcx, rdi
call fcn.1400079b0
mov r14b, byte [rsp + 0xc7]
jmp 0x14013c965
lea rcx, [0x1402b7430]
call fcn.140184f58
cmp dword [0x1402b7430], 0xffffffff
jne 0x14013cac5
lea r15, [rsp + 0xf0]
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
mov qword [0x1402b7428], rax
lea rcx, [0x1402b7430]
call fcn.140184fc0
jmp 0x14013cac5
lea rcx, [0x1402b7420]
call fcn.140184f58
cmp dword [0x1402b7420], 0xffffffff
jne 0x14013caa0
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x1402b7418], rdx
lea rcx, [0x1402b7420]
call fcn.140184fc0
jmp 0x14013caa0
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 [0x1402b7420]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013ca28
mov eax, dword [0x1402b7430]
mov ecx, dword [0x1402ac5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013c9dc
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 [0x1402b7428]
cvtsi2sd xmm1, rbp
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x14027a8d0]
ucomisd xmm2, xmm1
ja 0x14013bbcf
shl r12, 0x20
or r15, r12
sub r15, qword [0x1402b7418]
movq xmm0, r15
punpckldq xmm0, xmmword [0x140275d70]
subpd xmm0, xmmword [0x140275d80]
haddpd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [0x1402b7410], xmm0
jmp 0x14013bbcf
mov r9, rax
sub r9, rdx
je 0x14013cbaf
mov r10, rdx
sub r10, r15
sub r10, rcx
mov ecx, 1
mov r11b, byte [r8 + rcx - 1]
mov byte [rdx + rcx - 1], r11b
test r11b, r11b
je 0x14013cbbd
lea r11, [r10 + rcx]
inc r11
inc rcx
cmp r11, 1
jne 0x14013cb8a
mov byte [r9 + rdx - 1], 0
lea rcx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rcx
jne 0x14013cbaf
mov qword [rsp + 0x110], rdx
add rcx, rdx
jmp 0x14013cc3a
mov r8, qword [rsp + 0x128]
mov rdx, rcx
test r8, r8
je 0x14013cc26
mov r9, r15
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x14013cc1b
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x14013cbe5
mov byte [r15 + rcx - 1], 0
mov r9, r15
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x14013cc0d
mov qword [rsp + 0x128], rcx
add rdx, rcx
mov r8, qword [rsp + 0x110]
test r8, r8
jne 0x14013cb74
mov rcx, rdx
mov dl, byte [rsp + 0x138]
test dl, dl
je 0x14013bf1c
mov r8, rax
neg r8
xor r9d, r9d
mov r10, qword [rsp + r9*8 + 0x140]
test r10, r10
je 0x14013ccb5
mov rdx, rax
sub rdx, rcx
je 0x14013cc95
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x14013cca3
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x14013cc71
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14013cc95
mov qword [rsp + r9*8 + 0x140], rcx
add rcx, r11
mov dl, byte [rsp + 0x138]
inc r9
movzx r10d, dl
cmp r9, r10
jae 0x14013c0d9
jmp 0x14013cc52
mov rcx, rbp
mov dl, 0x2c
call fcn.14013e390
jmp 0x14013cda2
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x100], rax
movapd xmm0, xmmword [0x14026dc70]
movapd xmmword [rsp + 0xf0], xmm0
lea rax, [0x1402743bf]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 1
lea rbp, [r11 + 0x18]
movzx r8d, byte [r11 + 0x2f]
mov rdx, rbp
test r8b, r8b
jns 0x14013cd2d
mov rdx, qword [r11 + 0x18]
mov r8, qword [r11 + 0x20]
lea r13, [rsp + 0xc8]
mov rcx, r13
call fcn.1401825c0
mov dword [rsp + 0x20], 1
lea r12, [rsp + 0xf0]
lea r8, [rsp + 0xb0]
mov rcx, r12
mov rdx, r13
xor r9d, r9d
call fcn.140177e70
mov rdx, qword [r12]
mov r13, qword [r12 + 8]
lea rbx, [rsp + 0xe8]
lea r9, [rsp + 0xd8]
mov rcx, rbx
mov r8, r13
call fcn.1401f6040
cmp qword [rbx], r13
jne 0x14013cdb2
mov rax, qword [rsp + 0xf0]
cmp rax, qword [rsp + 0xf8]
jne 0x14013ccc7
mov rdx, qword [rsp + 0xd8]
mov rcx, rbp
call fcn.14006ff50
lea rcx, [rsp + 0xe8]
mov qword [rcx], r12
call fcn.140175470
jmp 0x14013cf95
cmp dword [r11 + 0x10], edi
jne 0x14013ceec
jmp 0x14013ccd6
lea rcx, [0x1402b7038]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013ce1c
mov eax, 0xffffffff
add eax, r9d
mov r8d, ecx
and r8d, eax
jmp 0x14013cea7
cmp byte [rax], 0
je 0x14013bcaf
lea rcx, [rcx + 0x158]
mov qword [rcx], rax
lea rcx, [0x1402b7038]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013cdd6
mov r9, qword [0x1402b7138]
test r9, r9
je 0x14013cef4
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 0x14013cde5
mov r8, rcx
cmp r9, rcx
ja 0x14013cea7
mov rax, rcx
xor edx, edx
div r9
mov r8, rdx
mov rax, qword [0x1402b7130]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14013cef4
mov r11, qword [rax]
test r11, r11
je 0x14013cef4
lea rbx, [r9 - 1]
mov rax, qword [r11 + 8]
cmp rax, rcx
je 0x14013cdc7
cmp r10d, 1
jbe 0x14013cfae
cmp rax, r9
jb 0x14013cee7
xor edx, edx
div r9
mov rax, rdx
cmp rax, r8
jne 0x14013cef4
mov r11, qword [r11]
test r11, r11
jne 0x14013cec3
mov rbx, qword [rsp + 0xd8]
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, [0x1402b7130]
lea r9, [0x14027591a]
lea rdx, [rsp + 0xf0]
call fcn.14004dca0
test rbx, rbx
je 0x14013d320
mov r12, qword [rsp + 0xf0]
lea rbp, [r12 + 0x18]
mov rcx, rbx
call fcn.1401ac4b0
mov r13, rax
movzx r9d, byte [r12 + 0x2f]
test r9b, r9b
js 0x14013cfb6
cmp r13, 0x16
ja 0x14013cfd3
mov rcx, rbp
mov rdx, rbx
mov r8, r13
call fcn.140189480
cmp byte [r12 + 0x2f], 0
js 0x14013cfa7
cmp r13, 0x17
jae 0x14013d000
mov byte [r12 + 0x2f], r13b
mov byte [rbp + r13], 0
lea rcx, [0x1402b7038]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14013bcaf
mov qword [r12 + 0x20], r13
jmp 0x14013cf8f
and rax, rbx
jmp 0x14013cee7
mov rdx, qword [r12 + 0x28]
and rdx, rsi
dec rdx
cmp rdx, r13
jb 0x14013cfcc
mov rbp, qword [rbp]
jmp 0x14013cf6e
mov r9, qword [r12 + 0x20]
jmp 0x14013cfd8
mov edx, 0x16
mov r8, r13
sub r8, rdx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], 0
mov rcx, rbp
call fcn.14000f030
jmp 0x14013cf95
lea rax, str.__s_should_never_be_greater_than_or_equal_to_the_short_string_capacity
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string
lea r9, str.__s_____min_cap
mov r8d, 0x6d3
call fcn.1401c2f20
lea rcx, [0x1402b7708]
call fcn.14015c450
test al, al
je 0x14013d34c
mov ecx, pe_nt_image_headers64
call fcn.140184dc4
mov rbx, rax
mov rcx, rax
call fcn.140039a50
mov qword [0x1402b7708], rbx
jmp 0x14013bc7b
lea rcx, [0x1402b7388]
call fcn.140184f58
cmp dword [0x1402b7388], 0xffffffff
jne 0x14013bb3a
lea rcx, [0x1402b7028]
xor edx, edx
call fcn.1400380b0
lea rcx, [0x1402b7388]
call fcn.140184fc0
jmp 0x14013bb3a
lea rcx, [0x1402b740c]
call fcn.140184f58
cmp dword [0x1402b740c], 0xffffffff
jne 0x14013bb87
lea rsi, [rsp + 0x120]
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.1401c4780
movupd xmmword [rsi + 0x18], xmm6
mov qword [rsi + 0x28], 0
lea rsi, [rsp + 0xf0]
mov rcx, rsi
xor edx, edx
call fcn.140036590
mov bl, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x14013d111
mov rcx, qword [rsp + 0x138]
call fcn.140184dbc
cmp byte [rsp + 0x137], 0
js 0x14013d132
mov byte [0x1402b7408], bl
lea rcx, [0x1402b740c]
call fcn.140184fc0
jmp 0x14013bb87
mov rcx, qword [rsp + 0x120]
call fcn.140184dbc
jmp 0x14013d11b
mov rcx, qword [rsp + 0x90]
call fcn.1401ac4b0
mov r15, rax
inc r15
jmp 0x14013d187
xor r14d, r14d
jmp 0x14013d179
cmp qword [rsp + 0x88], 0
je 0x14013d156
mov rcx, qword [rsp + 0x88]
call fcn.1401ac4b0
mov r14, rax
inc r14
cmp qword [rsp + 0x90], 0
jne 0x14013d141
xor r15d, r15d
add r15, r14
movzx r14d, byte [rsp + 0x138]
test r14, r14
je 0x14013c055
xor r12d, r12d
mov rcx, qword [rsp + r12*8 + 0x140]
test rcx, rcx
je 0x14013d1c5
call fcn.1401ac4b0
inc rax
add r15, rax
inc r12
cmp r14, r12
je 0x14013c028
jmp 0x14013d19f
xor eax, eax
jmp 0x14013d1b4
cmp eax, 7
je 0x14013c169
cmp eax, 6
jne 0x14013c04d
mov byte [rsp + r12 + 0x139], 7
jmp 0x14013c169
xor esi, esi
jmp 0x14013bf65
cmp r12, rax
je 0x14013d205
lea r12, [rsi + 1]
test rax, rax
cmovs r12, rsi
jmp 0x14013bd3b
int3
mov qword [rsp + 0x98], rcx
mov rcx, rsi
call fcn.14005a100
mov rcx, rsi
call fcn.140184dbc
mov rcx, qword [rsp + 0x98]
mov r9, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x2d0]
cmp qword [rcx], 0
jne 0x14013bdd4
jmp 0x14013c1fa
mov rax, qword [rsp + 0x88]
test rax, rax
lea r8, [0x140274594]
cmovne r8, rax
mov qword [rsp + 0x20], rdx
mov cl, byte [rsp + 0x67]
mov r15, rdx
mov rdx, r14
mov r12, r9
call fcn.1401fee70
mov r9, r12
mov rdx, r15
jmp 0x14013bcd0
xor eax, eax
jmp 0x14013c182
call fcn.1401d2900
mov rcx, rax
jmp 0x14013c079
call fcn.1401c2f20
mov rcx, r12
call fcn.1401d2990
test al, al
jne 0x14013c069
jmp 0x14013c0a8
int3
int3
int3
int3
lea rcx, [0x1402b7030]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013c331
lea rcx, [0x1402b7028]
call fcn.1400ddc60
lea rcx, [0x1402b7028]
jmp 0x14013c266
lea r8, [rsi - 1]
xor ecx, ecx
test rsi, r8
setne cl
jmp 0x14013c529
lea rax, str.null_pointer_given_to_construct_at
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude__memoryconstruct_at.h
lea r9, str.__location___nullptr
mov r8d, 0x25
call fcn.1401c2f20
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s_n
lea rdx, str....._third_partylibc_srcinclude_string
lea r9, str.__s___nullptr
mov r8d, 0x9f3
call fcn.1401c2f20
mov rax, qword [0x1402b7708]
jmp 0x14013bc7b
jae 0x14013c5ac
mov rax, qword [0x1402b7320]
test rax, rax
jns 0x14013d384
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14013d38c
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm0, dword [0x1402b7328]
call fcn.1401a3a9c
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140261048]
cvttss2si rax, xmm0
sar rdx, 0x3f
and rax, rdx
or rax, rcx
cmp rsi, 3
jb 0x14013d445
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 0x14013d445
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 0x14013d44d
mov rcx, rax
call fcn.140152ca0
cmp rbp, rax
cmova rax, rbp
cmp rax, rsi
jae 0x14013c5ac
mov rbp, rax
test rax, rax
jne 0x14013c54b
mov rcx, qword [0x1402b7308]
mov qword [0x1402b7308], 0
test rcx, rcx
je 0x14013d485
call fcn.140184dbc
mov qword [0x1402b7310], 0
jmp 0x14013c5ac
mov rbp, rcx
jmp 0x14013c542
and rax, rcx
jmp 0x14013c67d
mov rbp, qword [rsp + 0x68]
jmp 0x14013c5ce
lea rax, [r11 - 1]
and rcx, rax
jmp 0x14013c72b
lea rdx, [r11 - 1]
and rax, rdx
jmp 0x14013c764
mov rdx, qword [r10]
mov qword [r8], rdx
mov rdx, qword [0x1402b7308]
mov rdx, qword [rdx + rax*8]
mov rdx, qword [rdx]
mov qword [r10], rdx
mov rdx, qword [0x1402b7308]
mov rax, qword [rdx + rax*8]
mov qword [rax], r10
mov r10, r8
jmp 0x14013c7ab