Function at 0x14013ac20
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 [0x14029b028]
xor rax, rsp
mov qword [rsp + 0x238], rax
mov eax, dword [0x1402b6388]
mov ecx, dword [0x1402ab5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013c016
mov esi, dword [rsp + 0x2d0]
test dword [rsp + 0x2e8], 0x410
jne 0x14013b0e4
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov edi, esi
cmp eax, esi
jne 0x14013b0e6
mov eax, dword [0x1402b640c]
mov ecx, dword [0x1402ab5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013c04e
cmp byte [0x1402b6408], 0
je 0x14013b0e6
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 [0x1402b6410]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x14013ad1f
jnp 0x14013ba10
ucomisd xmm0, xmm6
jne 0x14013ad2b
jnp 0x14013b0e6
movsd xmm1, qword [rsp + 0xc0]
unpcklps xmm1, xmmword [0x140274d70]
subpd xmm1, xmmword [0x140274d80]
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
divsd xmm2, xmm0
mulsd xmm2, qword [0x1402798d8]
cvttsd2si rax, xmm2
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xf0], edi
cmp byte [r14], 0
je 0x14013c36f
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov r15, qword [rcx + rax*8]
cmp byte [r15 + 0x151], 0
jne 0x14013c36f
movabs rsi, 0x7fffffffffffffff
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, edi
jne 0x14013adff
mov rax, qword [0x1402b6708]
cmp rax, 1
jbe 0x14013bfe1
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x180]
mov qword [rsp + 0xe8], rax
test rax, rax
je 0x14013adff
cmp rax, qword [rcx + 0x158]
jne 0x14013bdad
mov rdx, qword [rsp + 0x2e0]
mov r9, qword [rsp + 0x2c0]
lea rbx, [r15 + 0x151]
test byte [r14], 8
jne 0x14013c3cd
mov rcx, qword [rsp + 0x2d8]
movzx eax, byte [rbx]
mov byte [rsp + 0x7f], al
mov byte [rbx], 1
xor eax, eax
mov r15d, 0
test dword [rsp + 0x2e8], 0x800
je 0x14013ae4e
mov r15, qword [0x1402b61b0]
test dword [rsp + 0x2e8], 0x180
cmove r15, rax
mov rax, qword [0x1402b61c0]
mov r12, qword [rcx]
lea rcx, [rsi + rax]
add rcx, 2
cmp rcx, 2
jb 0x14013c376
xor ecx, ecx
cmp r12, rax
setns cl
add rcx, rsi
sub r12, rax
cmovo r12, rcx
test byte [r14], 1
je 0x14013c28a
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x150], 0
jne 0x14013af24
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov rbp, qword [rcx + rax*8]
cmp qword [rbp + 0x198], 0
je 0x14013af24
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov r13, qword [rcx + rax*8]
cmp qword [r13 + 0x160], 0
je 0x14013af24
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea rcx, [rax + 0x148]
mov rsi, qword [rax + 0x148]
test rsi, rsi
je 0x14013b34a
mov eax, dword [0x1402b6364]
cmp eax, dword [rsi + 0x38]
jne 0x14013c38e
test byte [r14], 1
je 0x14013c28a
xor r15, qword [rsp + 0x2c8]
mov eax, dword [0x1402ab5e0]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r13, qword [rax + 0x148]
mov rsi, qword [0x1402b6370]
test rsi, rsi
je 0x14013c19e
movapd xmm0, xmmword [0x14026cc70]
movupd xmmword [rsp + 0x148], xmm0
movupd xmmword [rsp + 0x168], xmm0
movupd xmmword [rsp + 0x178], xmm0
movupd xmmword [rsp + 0x158], xmm0
mov qword [rsp + 0x100], r12
mov rax, qword [rsp + 0x88]
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], r15
movzx eax, byte [rsp + 0x6f]
mov byte [rsp + 0x180], al
test rdx, rdx
je 0x14013b03f
lea rax, [rsp + 0x148]
cmp rax, rdx
jne 0x14013b0ed
mov eax, dword [rsp + 0x2e8]
test al, 1
jne 0x14013c110
movzx r14d, byte [rsp + 0x148]
test r14, r14
jne 0x14013b175
mov qword [rsp + 0x140], 0
test r13, r13
setne dl
lea rcx, [rsp + 0x100]
lea r8, [rsp + 0xb8]
mov rax, rsi
call qword [0x1402c9008]
cmp byte [rsp + 0x148], 0
jne 0x14013b10f
mov rdx, qword [rsp + 0x140]
test rdx, rdx
jne 0x14013b13a
movzx eax, byte [rsp + 0x7f]
mov byte [rbx], al
mov rsi, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0x238]
xor rcx, rsp
call fcn.140186020
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 0x14013ad60
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 0x14013b03f
xor edi, edi
mov al, byte [rsp + rdi + 0x149]
cmp al, 8
je 0x14013b14e
cmp al, 9
je 0x14013b2da
inc rdi
movzx eax, byte [rsp + 0x148]
cmp rdi, rax
jae 0x14013b095
jmp 0x14013b111
lea rcx, fcn.1400f1570
xor r8d, r8d
call fcn.1400edf60
jmp 0x14013b0a6
mov rcx, qword [rsp + rdi*8 + 0x160]
test rcx, rcx
je 0x14013b124
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [0x1402c9008]
mov al, byte [rsp + rdi + 0x149]
jmp 0x14013b11c
xor r15d, r15d
xor r12d, r12d
movzx eax, byte [rsp + r12 + 0x149]
mov ecx, dword [rsp + 0x2e8]
test cl, 1
jne 0x14013c17e
cmp eax, 7
je 0x14013b2b9
inc r12
cmp r14, r12
jne 0x14013b17b
test r15, r15
je 0x14013b060
lea r12, [r15 + 8]
lea rbp, [0x140273594]
mov rcx, qword [0x1402b1580]
test rcx, rcx
je 0x14013c40c
mov qword [rsp + 0x20], rbp
mov edx, 0x10
xor r8d, r8d
mov r9, r12
call fcn.14011cd30
mov r14, rax
test r12, r12
je 0x14013b1f8
test r14, r14
jne 0x14013b1f8
cmp byte [0x1402b1560], 0
jne 0x14013c42a
mov qword [rsp + 0x140], r14
mov qword [r14], r15
lea rcx, [r14 + 8]
test r14, r14
cmove rcx, r14
lea rax, [rcx + r15]
mov edx, dword [rsp + 0x2e8]
test dl, 1
jne 0x14013bb7f
mov dl, byte [rsp + 0x148]
test dl, dl
je 0x14013b06c
mov r8, rax
neg r8
xor r9d, r9d
cmp byte [rsp + r9 + 0x149], 7
jne 0x14013b2a8
mov r10, qword [rsp + r9*8 + 0x160]
test r10, r10
je 0x14013b2a8
mov rdx, rax
sub rdx, rcx
je 0x14013b288
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x14013b296
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x14013b264
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14013b288
mov qword [rsp + r9*8 + 0x160], rcx
add rcx, r11
mov dl, byte [rsp + 0x148]
inc r9
movzx r10d, dl
cmp r9, r10
jb 0x14013b23a
jmp 0x14013b06c
mov rcx, qword [rsp + r12*8 + 0x160]
test rcx, rcx
je 0x14013c405
call fcn.1401aaae0
inc rax
add r15, rax
jmp 0x14013b19d
mov rsi, qword [rsp + rdi*8 + 0x160]
test rsi, rsi
je 0x14013b124
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x14013b307
mov r14, qword [rcx]
call fcn.1401833ec
mov rcx, r14
test r14, r14
jne 0x14013b2f7
mov qword [rsi + 0xa8], 0
mov rcx, rsi
call fcn.1401064e0
mov rcx, rsi
call fcn.1401833ec
jmp 0x14013b124
mov rcx, qword [rsp + 0x70]
call fcn.1400dc910
mov rax, qword [rsp + 0x70]
jmp 0x14013b3e9
mov rcx, qword [rsp + 0x70]
call fcn.1400dca60
jmp 0x14013b40c
lea rax, [rbp + 0x198]
mov qword [rsp + 0x70], rax
mov rsi, rcx
mov ecx, 0x40
call fcn.1401833f4
mov rbp, rax
lea rax, [0x14026f118]
mov qword [rbp], rax
lea rax, [0x14026fb40]
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, [0x1402b6028]
mov rax, rcx
and rax, rsi
cmp rax, qword [0x14029be48]
je 0x14013c451
mov qword [rbp + 0x20], rcx
xorpd xmm0, xmm0
movupd xmmword [rbp + 0x28], xmm0
mov eax, dword [0x1402b6364]
mov dword [rbp + 0x38], eax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax]
and rsi, rax
cmp rsi, qword [0x14029be48]
mov qword [rsp + 0x70], rax
je 0x14013b327
lea r13, [r13 + 0x160]
lea rcx, [rax + 0x2c8]
mov rdx, rbp
call fcn.140020d00
cmp rsi, qword [0x14029be48]
je 0x14013b33b
call fcn.140037a40
mov rcx, qword [r13]
test rcx, rcx
je 0x14013c41e
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x14013b43e
mov ecx, 1
lock xadd dword [r9 + 8], ecx
cmp ecx, 0x7fffffff
je 0x14013c424
mov rsi, rbp
add rbp, 8
lea rcx, [rsp + 0x100]
mov byte [rcx], 1
mov qword [rsp + 0x20], rcx
lea r8, [0x1402798e0]
mov rcx, rax
mov rdx, rbp
call fcn.14012f600
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebp, eax
lea rcx, [0x1402b6030]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013c43f
mov rax, qword [r13]
test rax, rax
je 0x14013c421
mov r13, qword [rax + 0x10]
test r13, r13
je 0x14013b4b0
mov eax, 1
lock xadd dword [r13 + 8], eax
cmp eax, 0x7fffffff
je 0x14013c427
mov dword [rsp + 0x90], ebp
mov eax, ebp
mov qword [rsp + 0x70], rax
mov r9, qword [0x1402b6310]
test r9, r9
mov qword [rsp + 0x80], r9
mov qword [rsp + 0xb0], rsi
jne 0x14013b549
movabs rbp, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x20
call fcn.1401833f4
cmp rax, 0xfffffffffffffff0
je 0x14013c47a
mov rsi, rax
mov eax, dword [rsp + 0x90]
mov dword [rsi + 0x10], eax
xor eax, eax
mov qword [rsi + 0x18], rax
mov rcx, qword [rsp + 0x70]
mov qword [rsi + 8], rcx
mov qword [rsi], rax
mov rax, qword [0x1402b6320]
inc rax
mov r8, qword [rsp + 0x80]
jns 0x14013b616
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14013b61b
mov rax, r9
shr rax, 1
movabs rcx, 0x5555555555555555
and rcx, rax
mov rax, r9
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 0x14013b95d
mov eax, 0xffffffff
add eax, r9d
mov rdx, qword [rsp + 0x70]
and edx, eax
mov rax, qword [0x1402b6308]
mov rsi, qword [rax + rdx*8]
test rsi, rsi
mov rbp, rdx
je 0x14013b4e4
lea r8, [r9 - 1]
mov rsi, qword [rsi]
test rsi, rsi
je 0x14013b4e4
mov rax, qword [rsi + 8]
cmp rax, qword [rsp + 0x70]
je 0x14013b605
cmp ecx, 1
ja 0x14013b93c
and rax, r8
cmp rax, rdx
jne 0x14013b4e4
mov eax, dword [rsp + 0x90]
cmp dword [rsi + 0x10], eax
jne 0x14013b5d9
jmp 0x14013b781
cvtsi2ss xmm0, rax
mov rcx, r8
shr rcx, 1
mov eax, r8d
and eax, 1
or rax, rcx
test r8, r8
jns 0x14013b63a
cvtsi2ss xmm1, rax
addss xmm1, xmm1
jmp 0x14013b63f
cvtsi2ss xmm1, r8
movss xmm2, dword [0x1402b6328]
je 0x14013b656
mulss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x14013b742
divss xmm0, xmm2
call fcn.1401a20cc
mov r9, qword [rsp + 0x80]
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140260048]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rdx, [r9 + r9]
mov ecx, 1
cmp r9, 3
jae 0x14013c469
or rcx, rdx
cmp rcx, rax
cmovbe rcx, rax
mov eax, 2
cmp rcx, 1
jne 0x14013b909
cmp rax, r9
jbe 0x14013c4de
mov rbp, rax
mov rax, rbp
shr rax, 0x3d
jne 0x14013c419
lea rcx, [rbp*8]
call fcn.1401833f4
mov rcx, qword [0x1402b6308]
mov qword [0x1402b6308], rax
test rcx, rcx
jne 0x14013b7f5
mov qword [0x1402b6310], rbp
xor eax, eax
mov rcx, qword [0x1402b6308]
mov qword [rcx + rax*8], 0
inc rax
cmp rbp, rax
jne 0x14013b6f8
mov r8, qword [0x1402b6318]
test r8, r8
jne 0x14013b82d
mov r8, qword [0x1402b6310]
lea rax, [r8 - 1]
test r8, rax
jne 0x14013b7d2
mov eax, 0xffffffff
add eax, r8d
mov rbp, qword [rsp + 0x70]
and ebp, eax
mov rcx, qword [0x1402b6308]
mov rax, qword [rcx + rbp*8]
test rax, rax
jne 0x14013b7c7
lea rax, [0x1402b6318]
mov r9, qword [0x1402b6318]
mov qword [rsi], r9
mov qword [0x1402b6318], rsi
mov qword [rcx + rbp*8], rax
mov rax, qword [rsi]
test rax, rax
jne 0x14013b7ff
inc qword [0x1402b6320]
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x18], r13
test rcx, rcx
jne 0x14013b97d
lea rcx, [0x1402b6030]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xb0]
mov qword [rax], rcx
mov rdx, qword [rsp + 0x2e0]
mov r9, qword [rsp + 0x2c0]
jmp 0x14013af24
mov rcx, qword [rax]
mov qword [rsi], rcx
mov qword [rax], rsi
jmp 0x14013b77a
mov rcx, r8
cmp r8, qword [rsp + 0x70]
ja 0x14013c64b
mov rax, qword [rsp + 0x70]
xor edx, edx
mov r8, rcx
div rcx
mov rbp, rdx
jmp 0x14013b742
call fcn.1401833ec
jmp 0x14013b6ef
mov rax, qword [rax + 8]
lea rcx, [r8 - 1]
test r8, rcx
je 0x14013c631
mov r9, r8
cmp rax, r8
jb 0x14013b820
xor edx, edx
div r9
mov rax, rdx
shl rax, 3
add rax, qword [0x1402b6308]
jmp 0x14013b7cd
mov rcx, qword [r8 + 8]
mov rax, rbp
shr rax, 1
movabs rdx, 0x5555555555555555
and rdx, rax
mov r11, rbp
mov rax, rbp
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 0x14013c658
cmp rcx, r11
jb 0x14013b8aa
mov rax, rcx
xor edx, edx
div r11
mov rcx, rdx
mov rax, qword [0x1402b6308]
lea rdx, [0x1402b6318]
mov qword [rax + rcx*8], rdx
mov r10, qword [r8]
test r10, r10
je 0x14013b71f
mov rax, qword [r10 + 8]
cmp r9d, 1
jbe 0x14013c664
cmp rax, r11
jb 0x14013b8e3
xor edx, edx
div r11
mov rax, rdx
cmp rax, rcx
je 0x14013b937
mov rdx, qword [0x1402b6308]
cmp qword [rdx + rax*8], 0
jne 0x14013c695
mov qword [rdx + rax*8], r8
mov r8, r10
mov r10, qword [r10]
mov rcx, rax
jmp 0x14013b8bf
mov qword [rsp + 0x90], r13
lea rax, [rcx - 1]
test rcx, rax
je 0x14013c670
call fcn.14014edb0
mov r9, qword [0x1402b6310]
mov r13, qword [rsp + 0x90]
jmp 0x14013b6b2
mov rax, rcx
jmp 0x14013b8fe
cmp rax, r9
jb 0x14013c688
xor edx, edx
mov r9, qword [rsp + 0x80]
div r9
mov rax, rdx
mov rdx, rbp
jmp 0x14013b5fc
mov rax, qword [rsp + 0x70]
mov rdx, rax
cmp r9, rax
ja 0x14013b5be
mov rax, qword [rsp + 0x70]
xor edx, edx
div r9
jmp 0x14013b5be
lock dec dword [rcx + 8]
jne 0x14013b792
call fcn.14014bf60
jmp 0x14013b792
lea rcx, [0x1402b6430]
call fcn.140183590
cmp dword [0x1402b6430], 0xffffffff
jne 0x14013ba7a
lea r15, [rsp + 0x100]
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
mov qword [0x1402b6428], rax
lea rcx, [0x1402b6430]
call fcn.1401835f8
jmp 0x14013ba7a
lea rcx, [0x1402b6420]
call fcn.140183590
cmp dword [0x1402b6420], 0xffffffff
jne 0x14013ba55
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x1402b6418], rdx
lea rcx, [0x1402b6420]
call fcn.1401835f8
jmp 0x14013ba55
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 [0x1402b6420]
mov ecx, dword [0x1402ab5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013b9dd
mov eax, dword [0x1402b6430]
mov ecx, dword [0x1402ab5e0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14013b991
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 [0x1402b6428]
cvtsi2sd xmm1, rbp
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x1402798d0]
ucomisd xmm2, xmm1
ja 0x14013ad1f
shl r12, 0x20
or r15, r12
sub r15, qword [0x1402b6418]
movq xmm0, r15
punpckldq xmm0, xmmword [0x140274d70]
subpd xmm0, xmmword [0x140274d80]
haddpd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [0x1402b6410], xmm0
jmp 0x14013ad1f
mov r9, rax
sub r9, rdx
je 0x14013bb64
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 0x14013bb72
lea r11, [r10 + rcx]
inc r11
inc rcx
cmp r11, 1
jne 0x14013bb3f
mov byte [r9 + rdx - 1], 0
lea rcx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rcx
jne 0x14013bb64
mov qword [rsp + 0x120], rdx
add rcx, rdx
jmp 0x14013bbef
mov r8, qword [rsp + 0x138]
mov rdx, rcx
test r8, r8
je 0x14013bbdb
mov r9, r15
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x14013bbd0
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x14013bb9a
mov byte [r15 + rcx - 1], 0
mov r9, r15
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x14013bbc2
mov qword [rsp + 0x138], rcx
add rdx, rcx
mov r8, qword [rsp + 0x120]
test r8, r8
jne 0x14013bb29
mov rcx, rdx
mov dl, byte [rsp + 0x148]
test dl, dl
je 0x14013b06c
mov r8, rax
neg r8
xor r9d, r9d
mov r10, qword [rsp + r9*8 + 0x150]
test r10, r10
je 0x14013bc6a
mov rdx, rax
sub rdx, rcx
je 0x14013bc4a
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x14013bc58
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x14013bc26
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14013bc4a
mov qword [rsp + r9*8 + 0x150], rcx
add rcx, r11
mov dl, byte [rsp + 0x148]
inc r9
movzx r10d, dl
cmp r9, r10
jae 0x14013b229
jmp 0x14013bc07
mov rcx, rbp
mov dl, 0x2c
call fcn.140135460
jmp 0x14013bd57
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x110], rax
movapd xmm0, xmmword [0x14026cc70]
movapd xmmword [rsp + 0x100], xmm0
lea rax, [0x1402733bf]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 1
lea rbp, [r11 + 0x18]
movzx r8d, byte [r11 + 0x2f]
mov rdx, rbp
test r8b, r8b
jns 0x14013bce2
mov rdx, qword [r11 + 0x18]
mov r8, qword [r11 + 0x20]
lea r13, [rsp + 0xd8]
mov rcx, r13
call fcn.140180c80
mov dword [rsp + 0x20], 1
lea r12, [rsp + 0x100]
lea r8, [rsp + 0xc0]
mov rcx, r12
mov rdx, r13
xor r9d, r9d
call fcn.140176da0
mov rdx, qword [r12]
mov r13, qword [r12 + 8]
lea rbx, [rsp + 0xf8]
lea r9, [rsp + 0xe8]
mov rcx, rbx
mov r8, r13
call fcn.1401f5260
cmp qword [rbx], r13
jne 0x14013bd67
mov rax, qword [rsp + 0x100]
cmp rax, qword [rsp + 0x108]
jne 0x14013bc7c
mov rdx, qword [rsp + 0xe8]
mov rcx, rbp
call fcn.14006e8e0
lea rcx, [rsp + 0xf8]
mov qword [rcx], r12
call fcn.1401740c0
jmp 0x14013bf4a
cmp dword [r11 + 0x10], edi
jne 0x14013bea1
jmp 0x14013bc8b
lea rcx, [0x1402b6038]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013bdd1
mov eax, 0xffffffff
add eax, r9d
mov r8d, ecx
and r8d, eax
jmp 0x14013be5c
cmp byte [rax], 0
je 0x14013adff
lea rcx, [rcx + 0x158]
mov qword [rcx], rax
lea rcx, [0x1402b6038]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14013bd8b
mov r9, qword [0x1402b6138]
test r9, r9
je 0x14013bea9
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 0x14013bd9a
mov r8, rcx
cmp r9, rcx
ja 0x14013be5c
mov rax, rcx
xor edx, edx
div r9
mov r8, rdx
mov rax, qword [0x1402b6130]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14013bea9
mov r11, qword [rax]
test r11, r11
je 0x14013bea9
lea rbx, [r9 - 1]
mov rax, qword [r11 + 8]
cmp rax, rcx
je 0x14013bd7c
cmp r10d, 1
jbe 0x14013bf63
cmp rax, r9
jb 0x14013be9c
xor edx, edx
div r9
mov rax, rdx
cmp rax, r8
jne 0x14013bea9
mov r11, qword [r11]
test r11, r11
jne 0x14013be78
mov rbx, 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, [0x1402b6130]
lea r9, [0x14027491a]
lea rdx, [rsp + 0x100]
call fcn.14004b7f0
test rbx, rbx
je 0x14013c4a6
mov r12, qword [rsp + 0x100]
lea rbp, [r12 + 0x18]
mov rcx, rbx
call fcn.1401aaae0
mov r13, rax
movzx r9d, byte [r12 + 0x2f]
test r9b, r9b
js 0x14013bf6b
cmp r13, 0x16
ja 0x14013bf88
mov rcx, rbp
mov rdx, rbx
mov r8, r13
call fcn.140187ab0
cmp byte [r12 + 0x2f], 0
js 0x14013bf5c
cmp r13, 0x17
jae 0x14013bfb5
mov byte [r12 + 0x2f], r13b
mov byte [rbp + r13], 0
lea rcx, [0x1402b6038]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14013adff
mov qword [r12 + 0x20], r13
jmp 0x14013bf44
and rax, rbx
jmp 0x14013be9c
mov rdx, qword [r12 + 0x28]
and rdx, rsi
dec rdx
cmp rdx, r13
jb 0x14013bf81
mov rbp, qword [rbp]
jmp 0x14013bf23
mov r9, qword [r12 + 0x20]
jmp 0x14013bf8d
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.14000df90
jmp 0x14013bf4a
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.1401c1450
lea rcx, [0x1402b6708]
call fcn.1400211b0
test al, al
je 0x14013c4d2
mov ecx, pe_nt_image_headers64
call fcn.1401833f4
mov rbx, rax
mov rcx, rax
call fcn.140039140
mov qword [0x1402b6708], rbx
jmp 0x14013adcb
lea rcx, [0x1402b6388]
call fcn.140183590
cmp dword [0x1402b6388], 0xffffffff
jne 0x14013ac8a
lea rcx, [0x1402b6028]
xor edx, edx
call fcn.1400377a0
lea rcx, [0x1402b6388]
call fcn.1401835f8
jmp 0x14013ac8a
lea rcx, [0x1402b640c]
call fcn.140183590
cmp dword [0x1402b640c], 0xffffffff
jne 0x14013acd7
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.1401c3730
movupd xmmword [rsi + 0x18], xmm6
mov qword [rsi + 0x28], 0
lea rsi, [rsp + 0x100]
mov rcx, rsi
xor edx, edx
call fcn.140036f10
mov bl, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x14013c0c6
mov rcx, qword [rsp + 0x148]
call fcn.1401833ec
cmp byte [rsp + 0x147], 0
js 0x14013c0e7
mov byte [0x1402b6408], bl
lea rcx, [0x1402b640c]
call fcn.1401835f8
jmp 0x14013acd7
mov rcx, qword [rsp + 0x130]
call fcn.1401833ec
jmp 0x14013c0d0
mov rcx, qword [rsp + 0xa0]
call fcn.1401aaae0
mov r15, rax
inc r15
jmp 0x14013c13c
xor r14d, r14d
jmp 0x14013c12e
cmp qword [rsp + 0x98], 0
je 0x14013c10b
mov rcx, qword [rsp + 0x98]
call fcn.1401aaae0
mov r14, rax
inc r14
cmp qword [rsp + 0xa0], 0
jne 0x14013c0f6
xor r15d, r15d
add r15, r14
movzx r14d, byte [rsp + 0x148]
test r14, r14
je 0x14013b1a5
xor r12d, r12d
mov rcx, qword [rsp + r12*8 + 0x150]
test rcx, rcx
je 0x14013c17a
call fcn.1401aaae0
inc rax
add r15, rax
inc r12
cmp r14, r12
je 0x14013b178
jmp 0x14013c154
xor eax, eax
jmp 0x14013c169
cmp eax, 7
je 0x14013b2b9
cmp eax, 6
jne 0x14013b19d
mov byte [rsp + r12 + 0x149], 7
jmp 0x14013b2b9
mov rbp, rdx
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
test r13, r13
je 0x14013c1d1
lea rdx, [rsp + 0xb8]
mov rcx, r13
call fcn.1401f3fb0
jmp 0x14013c206
lea rcx, [0x1402b6030]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14013c1ef
lea rcx, [0x1402b6030]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [0x1402b6028]
lea rdx, [rsp + 0xb8]
mov r8b, 1
call fcn.1401f46d0
mov rsi, rax
test rax, rax
je 0x14013c26c
mov eax, dword [rsp + 0x2e8]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x48], r15
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, r12
mov r9, qword [rsp + 0x88]
call fcn.1400261c0
mov eax, dword [0x1402b61c8]
test al, 8
jne 0x14013c2d4
test r13, r13
jne 0x14013c2a3
lea rcx, [0x1402b6030]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14013c2a3
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xc0], xmm0
mov qword [rsp + 0xd0], 0
movzx r14d, byte [rsp + 0xd7]
test r14b, r14b
js 0x14013c2b9
mov esi, r14d
and esi, 0x7f
jmp 0x14013c2c1
mov rsi, qword [rsp + 0xc8]
test rsi, rsi
jne 0x14013c302
test r14b, r14b
jns 0x14013b0a6
jmp 0x14013c639
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.1401f4840
jmp 0x14013c276
mov ecx, 2
call fcn.1400ece10
test al, al
je 0x14013c2c6
lea rdx, str....._base_trace_event_trace_log.cc
lea rdi, [rsp + 0x100]
mov rcx, rdi
mov r8d, 0x706
mov r9d, 2
call fcn.140007440
lea rcx, [rsp + 0x110]
test r14b, r14b
js 0x14013c34a
lea rdx, [rsp + 0xc0]
jmp 0x14013c352
mov rdx, qword [rsp + 0xc0]
mov r8, rsi
call fcn.1401c1300
mov rcx, rdi
call fcn.140007530
mov r14b, byte [rsp + 0xd7]
jmp 0x14013c2c6
xor esi, esi
jmp 0x14013b0b5
cmp r12, rax
je 0x14013c38b
lea r12, [rsi + 1]
test rax, rax
cmovs r12, rsi
jmp 0x14013ae8b
int3
mov qword [rsp + 0xa8], rcx
mov rcx, rsi
call fcn.140058c80
mov rcx, rsi
call fcn.1401833ec
mov rcx, qword [rsp + 0xa8]
mov r9, qword [rsp + 0x2c0]
mov rdx, qword [rsp + 0x2e0]
cmp qword [rcx], 0
je 0x14013b34a
jmp 0x14013af24
mov rax, qword [rsp + 0x98]
test rax, rax
lea r8, [0x140273594]
cmovne r8, rax
mov qword [rsp + 0x20], rdx
mov cl, byte [rsp + 0x6f]
mov r15, rdx
mov rdx, r14
mov r12, r9
call fcn.1401fe1d0
mov r9, r12
mov rdx, r15
jmp 0x14013ae20
xor eax, eax
jmp 0x14013b2d2
call fcn.1401d1ea0
mov rcx, rax
jmp 0x14013b1c9
call fcn.1401c1450
int3
int3
int3
int3
mov rcx, r12
call fcn.1401d1f30
test al, al
jne 0x14013b1b9
jmp 0x14013b1f8
lea rcx, [0x1402b6030]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14013b484
lea rcx, [0x1402b6028]
call fcn.1400dc910
lea rcx, [0x1402b6028]
jmp 0x14013b3b6
lea r8, [r9 - 1]
xor ecx, ecx
test r9, r8
setne cl
jmp 0x14013b699
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.1401c1450
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.1401c1450
mov rax, qword [0x1402b6708]
jmp 0x14013adcb
mov qword [rsp + 0x80], rax
jae 0x14013b71f
mov rbp, r9
mov rax, qword [0x1402b6320]
test rax, rax
jns 0x14013c515
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14013c51d
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm0, dword [0x1402b6328]
call fcn.1401a20cc
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x140260048]
cvttss2si rax, xmm0
sar rdx, 0x3f
and rax, rdx
or rax, rcx
cmp rbp, 3
jb 0x14013c5d9
mov r8, rbp
mov rcx, rbp
shr rcx, 1
movabs rdx, 0x5555555555555555
and rdx, rcx
mov rcx, rbp
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 0x14013c5d9
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 0x14013c5e1
mov rcx, rax
call fcn.14014edb0
mov rcx, qword [rsp + 0x80]
cmp rcx, rax
cmova rax, rcx
cmp rax, rbp
jae 0x14013b71f
mov rbp, rax
test rax, rax
jne 0x14013b6be
mov rcx, qword [0x1402b6308]
mov qword [0x1402b6308], 0
test rcx, rcx
je 0x14013c621
call fcn.1401833ec
mov qword [0x1402b6310], 0
jmp 0x14013b71f
and rax, rcx
jmp 0x14013b820
mov rcx, qword [rsp + 0xc0]
call fcn.1401833ec
jmp 0x14013b0a6
mov rbp, qword [rsp + 0x70]
mov r8, rcx
jmp 0x14013b742
lea rax, [r11 - 1]
and rcx, rax
jmp 0x14013b8aa
lea rdx, [r11 - 1]
and rax, rdx
jmp 0x14013b8e3
mov rax, rcx
mov r13, qword [rsp + 0x90]
mov r9, qword [rsp + 0x80]
jmp 0x14013b6b2
mov r9, qword [rsp + 0x80]
jmp 0x14013b955
mov rdx, qword [r10]
mov qword [r8], rdx
mov rdx, qword [0x1402b6308]
mov rdx, qword [rdx + rax*8]
mov rdx, qword [rdx]
mov qword [r10], rdx
mov rdx, qword [0x1402b6308]
mov rax, qword [rdx + rax*8]
mov qword [rax], r10
mov r10, r8
jmp 0x14013b937