Function at 0x1400edef0
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 [sym.4yUlCM3HuVsHzW5CaCX.exe_PhHeapHandle], rax
test rax, rax
jne 0x1400edf38
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 [sym.4yUlCM3HuVsHzW5CaCX.exe_PhLibImageBase], rax
call qword [sym.imp.ntdll.dll_RtlGetVersion]
test eax, eax
jns 0x1400edf76
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x7fffffff
jmp 0x1400ee04c
lea rdx, [sym.4yUlCM3HuVsHzW5CaCX.exe_PhOsVersion]
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 0x1400edf90
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 0x1400ee00e
cmp eax, 1
jb 0x1400ee014
jmp 0x1400ee1aa
jae 0x1400ee1a8
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], ebp
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ProcessQueryAccess], 0x400
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ProcessAllAccess], 0x1f0fff
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ThreadQueryAccess], 0x40
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ThreadSetAccess], 0x20
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ThreadAllAccess], 0x1f03ff
xor r9d, r9d
mov qword [rsp + 0x1a0], rbx
mov r8d, 0x40
lea rdx, [sym.4yUlCM3HuVsHzW5CaCX.exe_PhSystemBasicInformation]
xor ecx, ecx
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
xor r9d, r9d
lea rcx, [0x1401904e0]
xor r8d, r8d
mov edx, 0xf0003
call qword [sym.imp.ntdll.dll_NtCreateKeyedEvent]
test eax, eax
js 0x1400ee381
cmp byte [0x140190f58], 1
lea rcx, [0x14018d8e0]
mov eax, 0xfa0
cmovbe eax, ebp
mov dword [0x14018ae14], eax
call qword [sym.imp.ntdll.dll_RtlInitializeSListHead]
lea rcx, [0x14018d8f0]
call qword [sym.imp.ntdll.dll_RtlInitializeSListHead]
xorps xmm0, xmm0
mov dword [0x14018d900], ebp
lea rax, [rsp + 0x30]
mov dword [0x14018d904], 0x200
mov qword [0x14018d8c8], rax
lea rcx, str.Type
lea rax, [rsp + 0x30]
mov qword [0x14018d908], 0x40
xor r9d, r9d
mov qword [0x1401911a0], 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 sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObjectTypeEx
mov ebx, 1
mov qword [0x14018d8c8], 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 sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObjectTypeEx
mov qword [0x14018d8d0], rax
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x140190208], eax
cmp eax, 0xffffffff
je 0x1400ee381
call fcn.1400d9810
test al, al
je 0x1400ee381
mov qword [rsp + 0x1b0], rdi
mov rdi, qword [0x14018d8c8]
test byte [rdi], bl
je 0x1400ee2ad
lea rcx, [rdi + 0x20]
mov qword [rsp + 0x1a8], rsi
call qword [sym.imp.ntdll.dll_RtlInterlockedPopEntrySList]
test rax, rax
je 0x1400ee281
lock dec dword [rdi + 0x30]
jmp 0x1400ee29b
jne 0x1400ee1d2
cmp eax, 1
jne 0x1400ee1be
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x33
jmp 0x1400ee01a
cmp eax, 2
jne 0x1400ee23d
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x34
jmp 0x1400ee01a
cmp ecx, 6
jne 0x1400ee21a
test eax, eax
jne 0x1400ee1e7
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x3c
jmp 0x1400ee24a
cmp eax, 1
jne 0x1400ee1f8
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x3d
jmp 0x1400ee24a
cmp eax, 2
jne 0x1400ee209
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x3e
jmp 0x1400ee24a
cmp eax, 3
jne 0x1400ee23d
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x3f
jmp 0x1400ee24a
cmp ecx, 0xa
jne 0x1400ee22f
test eax, eax
jne 0x1400ee231
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x64
jmp 0x1400ee24a
jbe 0x1400ee23d
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x7fffffff
jmp 0x1400ee24a
cmp dword [sym.4yUlCM3HuVsHzW5CaCX.exe_WindowsVersion], 0x3c
jb 0x1400ee01a
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ProcessQueryAccess], 0x1000
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ProcessAllAccess], 0x1f1fff
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ThreadQueryAccess], 0x800
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ThreadSetAccess], 0x400
mov dword [sym.4yUlCM3HuVsHzW5CaCX.exe_ThreadAllAccess], 0x1f0fff
jmp 0x1400ee04c
mov r8, qword [rdi + 0x38]
mov edx, 4
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhHeapHandle]
add r8, 0x10
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov rsi, qword [rsp + 0x1a8]
add rax, 0x10
mov byte [rax + 2], 2
jmp 0x1400ee2c9
mov rcx, qword [sym.4yUlCM3HuVsHzW5CaCX.exe_PhHeapHandle]
mov edx, 4
mov r8d, 0x50
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]
lea rdi, [rax + 0x10]
mov word [rdi], bx
mov word [rax], cx
lock xadd dword [0x14018d8d8], ebx
lea rcx, [0x1400e0780]
movzx ebx, bl
mov qword [rdi + 8], rcx
lea rcx, str.FileStream
mov qword [rdi + 0x10], rcx
mov byte [rdi + 2], bl
mov dword [rdi + 4], ebp
cmp ebx, 0x100
jae 0x1400ee375
lea rcx, [0x1401911a0]
mov qword [rcx + rbx*8], rdi
lea rcx, [rdi + 0x20]
call qword [sym.imp.ntdll.dll_RtlInitializeSListHead]
xor r9d, r9d
mov dword [rdi + 0x30], ebp
lea r8, [0x1400e19b0]
mov dword [rdi + 0x34], 0x10
xor edx, edx
mov qword [rdi + 0x38], 0x40
lea rcx, str.SymbolProvider
mov qword [0x140191170], rdi
call sym.4yUlCM3HuVsHzW5CaCX.exe_PhCreateObjectTypeEx
mov rdi, qword [rsp + 0x1b0]
mov rbx, qword [rsp + 0x1a0]
mov qword [0x1401910c0], rax
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