Function at 0x14007e620
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 rax, qword [0x140174028]
xor rax, rsp
mov qword [rsp + 0x228], rax
mov eax, dword [0x1401868b8]
mov ecx, dword [0x140183a44]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007fa8e
mov esi, dword [rsp + 0x2c0]
test dword [rsp + 0x2d8], 0x410
jne 0x14007ead6
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov ebx, esi
cmp eax, esi
jne 0x14007ead8
mov eax, dword [0x140186938]
mov ecx, dword [0x140183a44]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007fac6
cmp byte [0x140186934], 0
je 0x14007ead8
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
lea rdx, [rsp + 0xb0]
mov qword [rdx], 0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_QueryThreadCycleTime]
movsd xmm0, qword [0x140186940]
xorpd xmm6, xmm6
ucomisd xmm0, xmm6
jne 0x14007e71a
jnp 0x14007f3f0
ucomisd xmm0, xmm6
jne 0x14007e726
jnp 0x14007ead8
movsd xmm1, qword [rsp + 0xb0]
unpcklps xmm1, xmmword [0x14015ecc0]
subpd xmm1, xmmword [0x14015ecd0]
haddpd xmm1, xmm1
divsd xmm1, xmm0
mulsd xmm1, qword [0x14015ece0]
cvttsd2si rax, xmm1
mov qword [rsp + 0x78], rax
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xe0], ebx
cmp byte [r14], 0
je 0x14007fd7b
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov r15, qword [rcx + rax*8]
cmp byte [r15 + 0x129], 0
jne 0x14007fd7b
movabs rsi, 0x7fffffffffffffff
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, ebx
jne 0x14007e7ef
mov rax, qword [0x140186c20]
cmp rax, 1
jbe 0x14007fa59
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rcx, qword [rcx + rax*8]
mov rax, qword [rcx + 0x150]
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x14007e7ef
cmp rax, qword [rcx + 0x130]
jne 0x14007f78d
mov rdx, qword [rsp + 0x2d0]
mov r9, qword [rsp + 0x2b0]
lea rdi, [r15 + 0x129]
test byte [r14], 8
jne 0x14007fd9a
mov rcx, qword [rsp + 0x2c8]
mov al, byte [rdi]
mov byte [rsp + 0x67], al
mov qword [rsp + 0xa0], rdi
mov byte [rdi], 1
xor eax, eax
bt dword [rsp + 0x2d8], 0xb
mov r15d, 0
jae 0x14007e843
mov r15, qword [0x1401866e0]
test dword [rsp + 0x2d8], 0x180
cmove r15, rax
mov rax, qword [0x1401866f0]
mov r12, qword [rcx]
lea rcx, [rsi + rax]
add rcx, 2
cmp rcx, 2
jb 0x14007fd82
xor ecx, ecx
cmp r12, rax
setns cl
add rcx, rsi
sub r12, rax
cmovo r12, rcx
test byte [r14], 1
je 0x14007fc96
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
cmp byte [rax + 0x128], 0
jne 0x14007e916
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rdi, qword [rcx + rax*8]
cmp qword [rdi + 0x168], 0
je 0x14007e916
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rbp, qword [rcx + rax*8]
cmp qword [rbp + 0x138], 0
je 0x14007e916
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
lea r13, [rax + 0x120]
mov rsi, qword [r13]
test rsi, rsi
je 0x14007ed34
mov eax, dword [0x140186894]
cmp eax, dword [rsi + 0x38]
jne 0x14007fb82
test byte [r14], 1
je 0x14007fc96
xor r15, qword [rsp + 0x2b8]
mov eax, dword [0x140183a44]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov r13, qword [rax + 0x120]
mov rsi, qword [0x1401868a0]
test rsi, rsi
je 0x14007fbb2
movapd xmm0, xmmword [0x14015bb90]
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 + 0x78]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], 0xffffffffffffffff
xor eax, eax
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], r9
mov qword [rsp + 0x120], r14
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], rax
mov byte [rsp + 0x138], 0
mov dword [rsp + 0x160], ebx
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x164], eax
mov qword [rsp + 0x168], r15
mov al, byte [rsp + 0x66]
mov byte [rsp + 0x170], al
test rdx, rdx
je 0x14007ea27
lea rax, [rsp + 0x138]
cmp rax, rdx
jne 0x14007eadf
mov eax, dword [rsp + 0x2d8]
test al, 1
jne 0x14007f9f2
movzx r14d, byte [rsp + 0x138]
test r14, r14
jne 0x14007eb85
mov qword [rsp + 0x130], 0
test r13, r13
setne dl
lea rdi, [rsp + 0xf0]
lea r8, [rsp + 0xa8]
mov rcx, rdi
mov rax, rsi
call qword [case.0x14010edb0.0]
cmp byte [rdi + 0x48], 0
jne 0x14007eb01
mov rdx, qword [rsp + 0x130]
test rdx, rdx
jne 0x14007eb2c
mov al, byte [rsp + 0x67]
mov rcx, qword [rsp + 0xa0]
mov byte [rcx], al
mov rsi, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x228]
xor rcx, rsp
call fcn.1400bce30
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 ebx, esi
xor eax, eax
jmp 0x14007e753
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 0x14007ea27
xor edi, edi
mov al, byte [rsp + rdi + 0x139]
cmp al, 8
je 0x14007eb40
cmp al, 9
je 0x14007ecc5
inc rdi
movzx eax, byte [rsp + 0x138]
cmp rdi, rax
jae 0x14007ea80
jmp 0x14007eb03
lea rcx, fcn.140080350
xor r8d, r8d
call fcn.140089ea0
jmp 0x14007ea91
mov rcx, qword [rsp + rdi*8 + 0x150]
test rcx, rcx
je 0x14007eb16
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14010edb0.0]
mov al, byte [rsp + rdi + 0x139]
jmp 0x14007eb0e
mov rcx, qword [rsp + r12*8 + 0x150]
test rcx, rcx
je 0x14007fdd2
call fcn.1400ddfe0
inc rax
add r15, rax
jmp 0x14007eba9
xor r15d, r15d
xor r12d, r12d
movzx eax, byte [rsp + r12 + 0x139]
mov ecx, dword [rsp + 0x2d8]
test cl, 1
jne 0x14007f9b8
cmp eax, 7
je 0x14007eb67
inc r12
cmp r14, r12
jne 0x14007eb8b
test r15, r15
je 0x14007ea48
lea r12, [r15 + 8]
lea rbp, [0x14015c2b0]
mov rcx, qword [0x140186d80]
test rcx, rcx
je 0x14007fdd9
mov qword [rsp + 0x20], rbp
mov edx, 0x10
xor r8d, r8d
mov r9, r12
call fcn.14008c020
mov r14, rax
test r12, r12
je 0x14007ec04
test r14, r14
jne 0x14007ec04
cmp byte [0x1401869ac], 0
jne 0x14007fdf7
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 0x14007f55f
mov dl, byte [rsp + 0x138]
test dl, dl
je 0x14007ea54
mov r8, rax
neg r8
xor r9d, r9d
cmp byte [rsp + r9 + 0x139], 7
jne 0x14007ecb4
mov r10, qword [rsp + r9*8 + 0x150]
test r10, r10
je 0x14007ecb4
mov rdx, rax
sub rdx, rcx
je 0x14007ec94
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x14007eca2
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x14007ec70
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14007ec94
mov qword [rsp + r9*8 + 0x150], rcx
add rcx, r11
mov dl, byte [rsp + 0x138]
inc r9
movzx r10d, dl
cmp r9, r10
jb 0x14007ec46
jmp 0x14007ea54
mov rsi, qword [rsp + rdi*8 + 0x150]
test rsi, rsi
je 0x14007eb16
mov rcx, qword [rsi + 0xa8]
test rcx, rcx
je 0x14007ecf2
mov r14, qword [rcx]
call fcn.1400bab7c
mov rcx, r14
test r14, r14
jne 0x14007ece2
mov qword [rsi + 0xa8], 0
mov rcx, rsi
call fcn.14008b480
mov rcx, rsi
call fcn.1400bab7c
jmp 0x14007eb16
mov rcx, rsi
call fcn.14007cc60
mov rdx, qword [rsp + 0x80]
jmp 0x14007edcc
mov rcx, rsi
call fcn.14007d5f0
jmp 0x14007edec
lea rax, [rdi + 0x168]
mov qword [rsp + 0x68], rax
mov ecx, 0x40
call fcn.1400babfc
mov rdx, rax
lea rax, [0x14015a988]
mov qword [rdx], rax
lea rax, [0x14015b0a8]
mov qword [rdx + 8], rax
mov qword [rdx + 0x10], r13
mov rax, qword [r13]
mov qword [r13], rdx
mov qword [rdx + 0x18], rax
lea rsi, [0x140186558]
movabs rdi, 0xfffffffc00000000
mov rax, rsi
and rax, rdi
cmp qword [0x140183548], rax
mov qword [rsp + 0x80], rdx
je 0x14007fe0c
mov qword [rdx + 0x20], rsi
xorpd xmm0, xmm0
movupd xmmword [rdx + 0x28], xmm0
mov eax, dword [0x140186894]
mov dword [rdx + 0x38], eax
mov rax, qword [rsp + 0x68]
mov rsi, qword [rax]
and rdi, rsi
cmp rdi, qword [0x140183548]
je 0x14007ed12
lea rbp, [rbp + 0x138]
lea rcx, [rsi + 0x2c8]
call fcn.140012f40
cmp rdi, qword [0x140183548]
je 0x14007ed27
call fcn.14001b330
mov rcx, qword [rbp]
test rcx, rcx
je 0x14007fdeb
mov r9, qword [rcx + 0x10]
test r9, r9
je 0x14007ee1e
mov ecx, 1
lock xadd dword [r9 + 8], ecx
cmp ecx, 0x7fffffff
je 0x14007fdf1
mov rdx, qword [rsp + 0x80]
add rdx, 8
lea rcx, [rsp + 0xf0]
mov byte [rcx], 1
mov qword [rsp + 0x20], rcx
lea r8, [0x14015ece8]
mov rcx, rax
call fcn.14009d230
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
lea rcx, [0x140186560]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14007fb70
mov rax, qword [rbp]
test rax, rax
je 0x14007fdee
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14007ee91
mov eax, 1
lock xadd dword [rcx + 8], eax
cmp eax, 0x7fffffff
je 0x14007fdf4
mov qword [rsp + 0x98], rcx
mov ebp, esi
mov r10d, esi
mov r9, qword [0x140186840]
test r9, r9
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x68], r10
jne 0x14007ef0a
movabs rdi, 0xaaaaaaaaaaaaaaaa
mov ecx, 0x20
call fcn.1400babfc
mov rsi, rax
mov dword [rax + 0x10], ebp
xor eax, eax
mov qword [rsi + 0x18], rax
mov rcx, qword [rsp + 0x68]
mov qword [rsi + 8], rcx
mov qword [rsi], rax
mov rax, qword [0x140186850]
inc rax
jns 0x14007efc9
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14007efd1
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 0x14007f330
mov eax, 0xffffffff
add eax, r9d
mov edi, r10d
and edi, eax
mov rax, qword [0x140186838]
mov rsi, qword [rax + rdi*8]
test rsi, rsi
je 0x14007eebe
lea r8, [r9 - 1]
mov rsi, qword [rsi]
test rsi, rsi
je 0x14007eebe
mov rax, qword [rsi + 8]
cmp rax, r10
je 0x14007efbf
cmp ecx, 1
ja 0x14007f310
and rax, r8
cmp rax, rdi
jne 0x14007eebe
cmp dword [rsi + 0x10], ebp
jne 0x14007ef95
jmp 0x14007f132
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
mov r8, qword [rsp + 0x70]
mov rcx, r8
shr rcx, 1
mov eax, r8d
and eax, 1
or rax, rcx
test r8, r8
js 0x14007eff1
cvtsi2ss xmm1, r8
jmp 0x14007effa
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm2, dword [0x140186858]
je 0x14007f011
mulss xmm1, xmm2
ucomiss xmm0, xmm1
jbe 0x14007f0f7
divss xmm0, xmm2
call fcn.1400d62f4
mov r9, qword [rsp + 0x70]
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x14014cfc8]
sar rdx, 0x3f
cvttss2si rax, xmm0
and rax, rdx
or rax, rcx
lea rdx, [r9 + r9]
mov ecx, 1
cmp r9, 3
jae 0x14007f34c
or rcx, rdx
cmp rcx, rax
cmovbe rcx, rax
mov ebp, 2
cmp rcx, 1
jne 0x14007f1df
cmp rbp, r9
jbe 0x14007fe51
mov rax, rbp
shr rax, 0x3d
jne 0x14007fde6
lea rcx, [rbp*8]
call fcn.1400babfc
mov rcx, qword [0x140186838]
mov qword [0x140186838], rax
test rcx, rcx
jne 0x14007f1d5
mov qword [0x140186840], rbp
xor eax, eax
mov rcx, qword [0x140186838]
mov qword [rcx + rax*8], 0
inc rax
cmp rbp, rax
jne 0x14007f0ad
mov r8, qword [0x140186848]
test r8, r8
jne 0x14007f200
mov r8, qword [0x140186840]
lea rax, [r8 - 1]
test r8, rax
jne 0x14007f1b2
mov eax, 0xffffffff
add eax, r8d
mov rdi, qword [rsp + 0x68]
and edi, eax
mov rcx, qword [0x140186838]
mov rax, qword [rcx + rdi*8]
test rax, rax
jne 0x14007f179
lea rax, [0x140186848]
mov r9, qword [0x140186848]
mov qword [rsi], r9
mov qword [0x140186848], rsi
mov qword [rcx + rdi*8], rax
mov rax, qword [rsi]
test rax, rax
jne 0x14007f184
inc qword [0x140186850]
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsp + 0x98]
mov qword [rsi + 0x18], rax
test rcx, rcx
jne 0x14007f35d
lea rcx, [0x140186560]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rax, qword [rsp + 0x80]
mov qword [r13], rax
mov rdx, qword [rsp + 0x2d0]
mov r9, qword [rsp + 0x2b0]
jmp 0x14007e916
mov rcx, qword [rax]
mov qword [rsi], rcx
mov qword [rax], rsi
jmp 0x14007f12b
mov rax, qword [rax + 8]
lea rcx, [r8 - 1]
test r8, rcx
je 0x14007ffa0
mov r9, r8
cmp rax, r8
jb 0x14007f1a5
xor edx, edx
div r9
mov rax, rdx
shl rax, 3
add rax, qword [0x140186838]
jmp 0x14007f17f
mov rcx, r8
cmp r8, qword [rsp + 0x68]
ja 0x14007ffcb
mov rax, qword [rsp + 0x68]
xor edx, edx
mov r8, rcx
div rcx
mov rdi, rdx
jmp 0x14007f0f7
call fcn.1400bab7c
jmp 0x14007f0a4
lea rax, [rcx - 1]
test rcx, rax
je 0x14007ffbe
call fcn.1400a2f80
mov rbp, rax
mov r9, qword [0x140186840]
jmp 0x14007f06a
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 0x14007ffd8
cmp rcx, r11
jb 0x14007f27a
mov rax, rcx
xor edx, edx
div r11
mov rcx, rdx
mov rax, qword [0x140186838]
lea rdx, [0x140186848]
mov qword [rax + rcx*8], rdx
mov r10, qword [r8]
test r10, r10
je 0x14007f0d4
mov rdi, r11
mov rax, qword [r10 + 8]
cmp r9d, 1
jbe 0x14007ffa8
cmp rax, rdi
jb 0x14007f2b6
xor edx, edx
div rdi
mov rax, rdx
cmp rax, rcx
je 0x14007f30b
mov rdx, qword [0x140186838]
cmp qword [rdx + rax*8], 0
jne 0x14007f2e3
mov qword [rdx + rax*8], r8
mov r8, r10
mov r10, qword [r10]
mov rcx, rax
test r10, r10
mov rdi, r11
jne 0x14007f29b
jmp 0x14007f0d4
mov rdx, qword [r10]
mov qword [r8], rdx
mov rdx, qword [0x140186838]
mov rdx, qword [rdx + rax*8]
mov rdx, qword [rdx]
mov qword [r10], rdx
mov rdx, qword [0x140186838]
mov rax, qword [rdx + rax*8]
mov qword [rax], r10
mov r10, r8
mov rax, rcx
jmp 0x14007f2cd
cmp rax, r9
jb 0x14007ffb4
xor edx, edx
mov r9, qword [rsp + 0x70]
div r9
mov rax, rdx
mov r10, qword [rsp + 0x68]
jmp 0x14007efb6
mov rdi, r10
cmp r9, r10
ja 0x14007ef7d
mov rax, r10
xor edx, edx
div r9
mov rdi, rdx
jmp 0x14007ef7d
lea r8, [r9 - 1]
xor ecx, ecx
test r9, r8
setne cl
jmp 0x14007f051
lock dec dword [rcx + 8]
jne 0x14007f14b
call fcn.1400a1110
jmp 0x14007f14b
lea rcx, [0x140186960]
call fcn.1400bac58
cmp dword [0x140186960], 0xffffffff
jne 0x14007f45a
lea r15, [rsp + 0xf0]
mov qword [r15], 0
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [r15]
mov qword [0x140186958], rax
lea rcx, [0x140186960]
call fcn.1400baf38
jmp 0x14007f45a
lea rcx, [0x140186950]
call fcn.1400bac58
cmp dword [0x140186950], 0xffffffff
jne 0x14007f435
rdtsc
shl rdx, 0x20
or rdx, rax
mov qword [0x140186948], rdx
lea rcx, [0x140186950]
call fcn.1400baf38
jmp 0x14007f435
mov rdi, qword [sym.imp.KERNEL32.dll_GetCurrentThread]
call rdi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov esi, eax
call rdi
mov rcx, rax
mov edx, 2
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [0x140186950]
mov ecx, dword [0x140183a44]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007f3bd
mov eax, dword [0x140186960]
mov ecx, dword [0x140183a44]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14007f371
rdtsc
mov r15, rax
mov r12, rdx
xor edi, edi
lea r13, [rsp + 0xf0]
mov qword [r13], rdi
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], rdi
lea rsi, [rsp + 0xf0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
sub rbp, qword [0x140186958]
cvtsi2sd xmm1, rbp
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rsi]
divsd xmm1, xmm0
xorpd xmm0, xmm0
movsd xmm2, qword [0x14015ecb0]
ucomisd xmm2, xmm1
ja 0x14007e71a
shl r12, 0x20
or r15, r12
sub r15, qword [0x140186948]
movq xmm0, r15
punpckldq xmm0, xmmword [0x14015ecc0]
subpd xmm0, xmmword [0x14015ecd0]
haddpd xmm0, xmm0
divsd xmm0, xmm1
movsd qword [0x140186940], xmm0
jmp 0x14007e71a
mov r9, rax
sub r9, rdx
je 0x14007f544
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 0x14007f552
lea r11, [r10 + rcx]
inc r11
inc rcx
cmp r11, 1
jne 0x14007f51f
mov byte [r9 + rdx - 1], 0
lea rcx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rcx
jne 0x14007f544
mov qword [rsp + 0x110], rdx
add rcx, rdx
jmp 0x14007f5cf
mov r8, qword [rsp + 0x128]
mov rdx, rcx
test r8, r8
je 0x14007f5bb
mov r9, r15
neg r9
mov edx, 1
mov r10b, byte [r8 + rdx - 1]
mov byte [rcx + rdx - 1], r10b
test r10b, r10b
je 0x14007f5b0
lea r10, [r9 + rdx]
inc r10
inc rdx
cmp r10, 1
jne 0x14007f57a
mov byte [r15 + rcx - 1], 0
mov r9, r15
lea rdx, [r9 + 1]
cmp byte [r8 + r9], 0
mov r9, rdx
jne 0x14007f5a2
mov qword [rsp + 0x128], rcx
add rdx, rcx
mov r8, qword [rsp + 0x110]
test r8, r8
jne 0x14007f509
mov rcx, rdx
mov dl, byte [rsp + 0x138]
test dl, dl
je 0x14007ea54
mov r8, rax
neg r8
xor r9d, r9d
mov r10, qword [rsp + r9*8 + 0x140]
test r10, r10
je 0x14007f64a
mov rdx, rax
sub rdx, rcx
je 0x14007f62a
lea rdi, [r8 + rcx]
mov r11d, 1
mov bpl, byte [r10 + r11 - 1]
mov byte [rcx + r11 - 1], bpl
test bpl, bpl
je 0x14007f638
lea r14, [rdi + r11]
inc r14
inc r11
cmp r14, 1
jne 0x14007f606
mov byte [rdx + rcx - 1], 0
lea r11, [rdx + 1]
cmp byte [r10 + rdx], 0
mov rdx, r11
jne 0x14007f62a
mov qword [rsp + r9*8 + 0x140], rcx
add rcx, r11
mov dl, byte [rsp + 0x138]
inc r9
movzx r10d, dl
cmp r9, r10
jae 0x14007ec35
jmp 0x14007f5e7
mov rcx, rdi
mov dl, 0x2c
call fcn.14009e900
jmp 0x14007f729
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r12, [rsp + 0xf0]
mov qword [r12 + 0x10], rax
movapd xmm0, xmmword [0x14015bb90]
movapd xmmword [r12], xmm0
lea rax, [0x14015c377]
lea r8, [rsp + 0xb0]
mov qword [r8], rax
mov qword [r8 + 8], 1
lea rdi, [r11 + 0x18]
movzx eax, byte [r11 + 0x2f]
mov ecx, eax
and ecx, 0x7f
test al, al
mov rax, qword [r11 + 0x18]
cmovns rax, rdi
lea rdx, [rsp + 0xc8]
mov qword [rdx], rax
cmovs rcx, qword [r11 + 0x20]
mov qword [rdx + 8], rcx
mov dword [rsp + 0x20], 1
mov rcx, r12
xor r9d, r9d
call fcn.1400b63a0
mov rdx, qword [r12]
mov r12, qword [r12 + 8]
lea r13, [rsp + 0xe8]
lea r9, [rsp + 0xd8]
mov rcx, r13
mov r8, r12
call fcn.14010d960
cmp qword [r13], r12
jne 0x14007f739
mov rax, qword [rsp + 0xf0]
cmp rax, qword [rsp + 0xf8]
jne 0x14007f65c
mov rdx, qword [rsp + 0xd8]
mov rcx, rdi
call fcn.140035250
mov rcx, qword [rsp + 0xf0]
test rcx, rcx
je 0x14007f924
mov qword [rsp + 0xf8], rcx
call fcn.1400bab7c
jmp 0x14007f924
cmp dword [r11 + 0x10], ebx
jne 0x14007f881
jmp 0x14007f66b
lea rcx, [0x140186568]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14007f7b1
mov eax, 0xffffffff
add eax, r9d
mov r8d, ecx
and r8d, eax
jmp 0x14007f83c
cmp byte [rax], 0
je 0x14007e7ef
lea rcx, [rcx + 0x130]
mov qword [rcx], rax
lea rcx, [0x140186568]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x14007f76b
mov r9, qword [0x140186668]
test r9, r9
je 0x14007f889
mov ecx, ebx
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 0x14007f77a
mov r8, rcx
cmp r9, rcx
ja 0x14007f83c
mov rax, rcx
xor edx, edx
div r9
mov r8, rdx
mov rax, qword [0x140186660]
mov rax, qword [rax + r8*8]
test rax, rax
je 0x14007f889
mov r11, qword [rax]
test r11, r11
je 0x14007f889
lea rdi, [r9 - 1]
mov rax, qword [r11 + 8]
cmp rax, rcx
je 0x14007f75c
cmp r10d, 1
jbe 0x14007f936
cmp rax, r9
jb 0x14007f87c
xor edx, edx
div r9
mov rax, rdx
cmp rax, r8
jne 0x14007f889
mov r11, qword [r11]
test r11, r11
jne 0x14007f858
mov rdi, 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, [0x140186660]
lea r9, [0x14015c32d]
lea rdx, [rsp + 0xf0]
call fcn.140028f30
test rdi, rdi
je 0x14007fe25
mov rbp, qword [rsp + 0xf0]
lea r12, [rbp + 0x18]
mov rcx, rdi
call fcn.1400ddfe0
mov r13, rax
movzx r9d, byte [rbp + 0x2f]
test r9b, r9b
js 0x14007f944
cmp r13, 0x16
ja 0x14007f95f
mov rcx, r12
mov rdx, rdi
mov r8, r13
call fcn.1400be8b0
cmp byte [rbp + 0x2f], 0
js 0x14007f93e
cmp r13, 0x17
jae 0x14007f98c
mov byte [rbp + 0x2f], r13b
mov byte [r12 + r13], 0
lea rcx, [0x140186568]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14007e7ef
and rax, rdi
jmp 0x14007f87c
mov qword [rbp + 0x20], r13
jmp 0x14007f91f
mov rdx, qword [rbp + 0x28]
and rdx, rsi
dec rdx
cmp rdx, r13
jb 0x14007f959
mov r12, qword [r12]
jmp 0x14007f901
mov r9, qword [rbp + 0x20]
jmp 0x14007f964
mov edx, 0x16
mov r8, r13
sub r8, rdx
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], 0
mov rcx, r12
call fcn.1400052a0
jmp 0x14007f924
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
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s_____min_cap
mov r8d, 0x6c6
call fcn.1400f5da0
cmp eax, 7
je 0x14007eb67
cmp eax, 6
jne 0x14007eba9
mov byte [rsp + r12 + 0x139], 7
jmp 0x14007eb67
mov rcx, qword [rsp + 0x90]
call fcn.1400ddfe0
mov r15, rax
inc r15
jmp 0x14007fa18
xor r14d, r14d
jmp 0x14007fa0a
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14007f9ed
call fcn.1400ddfe0
mov r14, rax
inc r14
cmp qword [rsp + 0x90], 0
jne 0x14007f9d8
xor r15d, r15d
add r15, r14
movzx r14d, byte [rsp + 0x138]
test r14, r14
je 0x14007ebb1
xor edi, edi
mov rcx, qword [rsp + rdi*8 + 0x140]
test rcx, rcx
je 0x14007fa55
call fcn.1400ddfe0
inc rax
add r15, rax
inc rdi
cmp r14, rdi
je 0x14007eb88
jmp 0x14007fa2f
xor eax, eax
jmp 0x14007fa44
lea rcx, [0x140186c20]
call fcn.1400ae930
test al, al
je 0x14007ff94
mov ecx, pe_nt_image_headers64
call fcn.1400babfc
mov rdi, rax
mov rcx, rax
call fcn.140019b60
mov qword [0x140186c20], rdi
jmp 0x14007e7bb
lea rcx, [0x1401868b8]
call fcn.1400bac58
cmp dword [0x1401868b8], 0xffffffff
jne 0x14007e68a
lea rcx, [0x140186558]
xor edx, edx
call fcn.14001b090
lea rcx, [0x1401868b8]
call fcn.1400baf38
jmp 0x14007e68a
lea rcx, [0x140186938]
call fcn.1400bac58
cmp dword [0x140186938], 0xffffffff
jne 0x14007e6d7
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.1400f3590
movupd xmmword [rsi + 0x18], xmm6
mov qword [rsi + 0x28], 0
lea rsi, [rsp + 0xf0]
mov rcx, rsi
xor edx, edx
call fcn.140018280
mov dil, byte [rsi + 0x29]
cmp byte [rsi + 0x5f], 0
jns 0x14007fb3f
mov rcx, qword [rsp + 0x138]
call fcn.1400bab7c
cmp byte [rsp + 0x137], 0
js 0x14007fb61
mov byte [0x140186934], dil
lea rcx, [0x140186938]
call fcn.1400baf38
jmp 0x14007e6d7
mov rcx, qword [rsp + 0x120]
call fcn.1400bab7c
jmp 0x14007fb49
lea rcx, [0x140186560]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
jmp 0x14007ee66
mov rcx, rsi
call fcn.140013230
mov rcx, rsi
call fcn.1400bab7c
mov r9, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x2d0]
cmp qword [r13], 0
je 0x14007ed34
jmp 0x14007e916
mov rbp, r9
mov rdi, rdx
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
test r13, r13
jne 0x14007fc0d
lea rcx, [0x140186560]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
jne 0x14007fbf4
lea rcx, [0x140186560]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
lea rcx, [0x140186558]
lea rdx, [rsp + 0xa8]
mov r8b, 1
call fcn.14010cec0
jmp 0x14007fc1d
lea rdx, [rsp + 0xa8]
mov rcx, r13
call fcn.14010c7e0
mov rsi, rax
test rax, rax
je 0x14007fc78
mov eax, dword [rsp + 0x2d8]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], rbp
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, ebx
mov r8, r12
mov r9, qword [rsp + 0x78]
call fcn.140011670
mov eax, dword [0x1401866f8]
test al, 8
jne 0x14007fce0
test r13, r13
jne 0x14007fcaf
lea rcx, [0x140186560]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x14007fcaf
xorpd xmm0, xmm0
movapd xmmword [rsp + 0xb0], xmm0
mov qword [rsp + 0xc0], 0
movzx r14d, byte [rsp + 0xc7]
test r14b, r14b
js 0x14007fcc5
mov esi, r14d
and esi, 0x7f
jmp 0x14007fccd
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
jne 0x14007fd0e
test r14b, r14b
jns 0x14007ea91
jmp 0x14007ffe4
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.14010d030
jmp 0x14007fc82
mov ecx, 2
call fcn.1400ba380
test al, al
je 0x14007fcd2
lea rdx, str....._base_trace_event_trace_log.cc
lea rdi, [rsp + 0xf0]
mov rcx, rdi
mov r8d, 0x701
mov r9d, 2
call fcn.140005e20
lea rcx, [rsp + 0x100]
test r14b, r14b
js 0x14007fd56
lea rdx, [rsp + 0xb0]
jmp 0x14007fd5e
mov rdx, qword [rsp + 0xb0]
mov r8, rsi
call fcn.1400f3910
mov rcx, rdi
call fcn.1400070a0
mov r14b, byte [rsp + 0xc7]
jmp 0x14007fcd2
xor esi, esi
jmp 0x14007eaa7
cmp r12, rax
je 0x14007fd97
lea r12, [rsi + 1]
test rax, rax
cmovs r12, rsi
jmp 0x14007e880
int3
mov rax, qword [rsp + 0x88]
test rax, rax
lea r8, [0x14015c2b0]
cmovne r8, rax
mov qword [rsp + 0x20], rdx
mov cl, byte [rsp + 0x66]
mov r15, rdx
mov rdx, r14
mov r12, r9
call fcn.140114620
mov r9, r12
mov rdx, r15
jmp 0x14007e810
xor eax, eax
jmp 0x14007eb80
call fcn.140116a00
mov rcx, rax
jmp 0x14007ebd5
call fcn.1400f6190
int3
int3
int3
int3
mov rcx, r12
call fcn.140116b20
test al, al
jne 0x14007ebc5
jmp 0x14007ec04
lea rcx, [0x140186558]
call fcn.14007cc60
mov rdx, qword [rsp + 0x80]
jmp 0x14007ed9e
lea rax, str.string::assign_received_nullptr
mov qword [rsp + 0x20], rax
lea rcx, str._s:_d:_assertion__s_failed:__s
lea rdx, str....._buildtools_third_partylibc_trunkinclude_string
lea r9, str.__s___nullptr
mov r8d, 0x9dc
call fcn.1400f5da0
jae 0x14007f0d4
mov rdi, r9
mov rax, qword [0x140186850]
test rax, rax
jns 0x14007fe80
mov rcx, rax
shr rcx, 1
and eax, 1
or rax, rcx
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
addss xmm0, xmm0
jmp 0x14007fe88
xorps xmm0, xmm0
cvtsi2ss xmm0, rax
divss xmm0, dword [0x140186858]
call fcn.1400d62f4
cvttss2si rcx, xmm0
mov rdx, rcx
subss xmm0, dword [0x14014cfc8]
cvttss2si rax, xmm0
sar rdx, 0x3f
and rax, rdx
or rax, rcx
cmp rdi, 3
jb 0x14007ff44
mov r8, rdi
mov rcx, rdi
shr rcx, 1
movabs rdx, 0x5555555555555555
and rdx, rcx
mov rcx, rdi
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 0x14007ff44
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 0x14007ff4c
mov rcx, rax
call fcn.1400a2f80
cmp rbp, rax
cmova rax, rbp
cmp rax, rdi
jae 0x14007f0d4
mov rbp, rax
test rax, rax
jne 0x14007f073
mov rcx, qword [0x140186838]
mov qword [0x140186838], 0
test rcx, rcx
je 0x14007ff84
call fcn.1400bab7c
mov qword [0x140186840], 0
jmp 0x14007f0d4
mov rax, qword [0x140186c20]
jmp 0x14007e7bb
and rax, rcx
jmp 0x14007f1a5
lea rdx, [rdi - 1]
and rax, rdx
jmp 0x14007f2b6
mov r9, qword [rsp + 0x70]
jmp 0x14007f326
mov rbp, rcx
mov r9, qword [rsp + 0x70]
jmp 0x14007f06a
mov rdi, qword [rsp + 0x68]
mov r8, rcx
jmp 0x14007f0f7
lea rax, [r11 - 1]
and rcx, rax
jmp 0x14007f27a
mov rcx, qword [rsp + 0xb0]
call fcn.1400bab7c
jmp 0x14007ea91