Function at 0x140006f90
Capabilities:
Allocate thread local storage
Check os version
Get system information on windows
Make suspicious ntquerysysteminformation call

Disassembly:
push rbp
sub rsp, 0x190
xor ebp, ebp
xor edx, edx
mov qword [rsp + 0x28], rbp
mov ecx, 0x1002
mov r9d, 0x100000
mov qword [rsp + 0x20], rbp
mov r8d, 0x200000
call qword [sym.imp.ntdll.dll_RtlCreateHeap]
mov qword [0x1400a7868], rax
test rax, rax
jne 0x140006fd8
mov eax, 0xc000009a
add rsp, 0x190
pop rbp
ret
mov rax, qword gs:[0x30]
mov dword [rsp + 0x70], 0x11c
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x10]
lea rcx, [rsp + 0x70]
mov qword [0x1400a7860], rax
call qword [sym.imp.ntdll.dll_RtlGetVersion]
test eax, eax
jns 0x140007016
mov dword [0x1400a7800], 0x7fffffff
jmp 0x1400070c4
lea rdx, [0x1400a76e0]
mov ecx, 2
lea rax, [rsp + 0x70]
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub rcx, 1
jne 0x140007030
mov rcx, qword [rax + 0x10]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rcx
mov ecx, dword [rax + 0x18]
mov eax, dword [rsp + 0x78]
mov dword [rdx + 0x18], ecx
mov ecx, dword [rsp + 0x74]
cmp ecx, 5
jne 0x1400070ae
cmp eax, 1
jb 0x1400070b4
jmp 0x140007220
jae 0x14000721e
mov dword [0x1400a7800], ebp
mov dword [0x1400a77fc], 0x400
xor r9d, r9d
mov qword [rsp + 0x1a0], rbx
lea rdx, [0x1400a7820]
xor ecx, ecx
lea r8d, [r9 + 0x40]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
xor r9d, r9d
lea rcx, [0x1400a6db0]
xor r8d, r8d
mov edx, 0xf0003
call qword [sym.imp.ntdll.dll_NtCreateKeyedEvent]
test eax, eax
js 0x140007414
cmp byte [0x1400a7858], 1
lea rcx, [0x1400a6ac0]
mov eax, 0xfa0
cmovbe eax, ebp
mov dword [0x1400a4e70], eax
call qword [sym.imp.ntdll.dll_RtlInitializeSListHead]
lea rcx, [0x1400a6ae0]
call qword [sym.imp.ntdll.dll_RtlInitializeSListHead]
xorps xmm0, xmm0
mov dword [0x1400a6af0], ebp
lea rax, [rsp + 0x30]
mov dword [0x1400a6af4], 0x200
mov qword [0x1400a6ad0], rax
lea rcx, str.Type
lea rax, [rsp + 0x30]
mov qword [0x1400a6af8], 0x40
xor r9d, r9d
mov qword [0x1400a6ec0], rax
xor r8d, r8d
movaps xmmword [rsp + 0x30], xmm0
xor edx, edx
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0x60], xmm0
call fcn.140012510
mov ebx, 1
mov qword [0x1400a6ad0], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
movzx ecx, byte [rax + 2]
mov word [rax - 0x10], cx
lea rcx, str.Alloc
mov dword [rax + 4], ebx
call fcn.140012510
mov qword [0x1400a6ab0], rax
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x1400a6db8], eax
cmp eax, 0xffffffff
je 0x140007414
call fcn.140001410
test al, al
je 0x140007414
mov qword [rsp + 0x1b0], rdi
mov rdi, qword [0x1400a6ad0]
test byte [rdi], bl
je 0x14000734d
lea rcx, [rdi + 0x20]
mov qword [rsp + 0x1a8], rsi
call qword [sym.imp.ntdll.dll_RtlInterlockedPopEntrySList]
test rax, rax
je 0x140007321
lock dec dword [rdi + 0x30]
jmp 0x14000733b
jne 0x14000724c
cmp eax, 1
jne 0x140007234
mov dword [0x1400a7800], 0x33
jmp 0x1400070ba
cmp eax, 2
jne 0x140007305
mov dword [0x1400a7800], 0x34
jmp 0x1400070ba
cmp ecx, 6
jne 0x1400072c8
test eax, eax
jne 0x14000726e
mov dword [0x1400a7800], 0x3c
mov dword [0x1400a77fc], 0x1000
jmp 0x1400070c4
cmp eax, 1
jne 0x14000728c
mov dword [0x1400a7800], 0x3d
mov dword [0x1400a77fc], 0x1000
jmp 0x1400070c4
cmp eax, 2
jne 0x1400072aa
mov dword [0x1400a7800], 0x3e
mov dword [0x1400a77fc], 0x1000
jmp 0x1400070c4
cmp eax, 3
jne 0x140007305
mov dword [0x1400a7800], 0x3f
mov dword [0x1400a77fc], 0x1000
jmp 0x1400070c4
cmp ecx, 0xa
jne 0x1400072ea
test eax, eax
jne 0x1400072ec
mov dword [0x1400a7800], 0x64
mov dword [0x1400a77fc], 0x1000
jmp 0x1400070c4
jbe 0x140007305
mov dword [0x1400a7800], 0x7fffffff
mov dword [0x1400a77fc], 0x1000
jmp 0x1400070c4
cmp dword [0x1400a7800], 0x3c
jb 0x1400070ba
mov dword [0x1400a77fc], 0x1000
jmp 0x1400070c4
mov r8, qword [rdi + 0x38]
mov edx, 4
mov rcx, qword [0x1400a7868]
add r8, 0x10
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rsi, qword [rsp + 0x1a8]
add rax, 0x10
mov byte [rax + 2], 2
jmp 0x140007367
mov rcx, qword [0x1400a7868]
mov edx, 4
lea r8d, [rdx + 0x4c]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov byte [rax + 2], bpl
lock inc dword [rdi + 4]
mov dword [rax + 8], ebx
movzx ecx, byte [rdi + 2]
mov word [rax], cx
lea rcx, [rax + 0x10]
mov word [rcx], bx
lock xadd dword [0x1400a6ab8], ebx
mov rdi, qword [rsp + 0x1b0]
lea rdx, [0x14000d270]
movzx ebx, bl
mov qword [rcx + 8], rdx
lea rdx, str.FileStream
mov qword [rcx + 0x10], rdx
mov byte [rcx + 2], bl
mov dword [rcx + 4], ebp
cmp ebx, 0x100
jae 0x140007408
lea rdx, [0x1400a6ec0]
mov qword [rdx + rbx*8], rcx
lea rbx, [rcx + 0x20]
mov rcx, rbx
call qword [sym.imp.ntdll.dll_RtlInitializeSListHead]
xor r9d, r9d
mov dword [rbx + 0x10], ebp
lea r8, [0x1400139e0]
mov dword [rbx + 0x14], 0x10
xor edx, edx
mov qword [rbx + 0x18], 0x40
lea rcx, str.SymbolProvider
call fcn.140012510
mov rbx, qword [rsp + 0x1a0]
xor eax, eax
add rsp, 0x190
pop rbp
ret
mov ecx, 0xc0000001
call qword [sym.imp.ntdll.dll_RtlRaiseStatus]
int3
mov rbx, qword [rsp + 0x1a0]
mov eax, 0xc0000001
add rsp, 0x190
pop rbp
ret