Function at 0x140001f90
Capabilities:
Get system information on windows

Disassembly:
sub rsp, 0xc8
mov rax, qword [0x140007b50]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x28], 0
lea r9, [rsp + 0x28]
xor r8d, r8d
lea rdx, [rsp + 0x28]
mov ecx, 0xb
call sub.ntoskrnl.exe_ZwQuerySystemInformation
cmp dword [rsp + 0x28], 0
jne 0x140001feb
mov eax, 0xc0000001
jmp 0x140002396
mov dword [rsp + 0x2c], 0x42454154
mov eax, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x2c]
mov edx, eax
xor ecx, ecx
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov qword [rsp + 0x30], rax
cmp qword [rsp + 0x30], 0
jne 0x14000201d
mov eax, 0xc0000001
jmp 0x140002396
xor r9d, r9d
mov r8d, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
mov ecx, 0xb
call sub.ntoskrnl.exe_ZwQuerySystemInformation
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
jge 0x140002058
mov edx, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov eax, 0xc0000001
jmp 0x140002396
mov byte [rsp + 0x78], 0xbf
mov byte [rsp + 0x79], 0xb0
mov byte [rsp + 0x7a], 0x9a
mov byte [rsp + 0x7b], 0x90
mov byte [rsp + 0x7c], 0x97
mov byte [rsp + 0x7d], 0x86
mov byte [rsp + 0x7e], 0x8e
mov byte [rsp + 0x7f], 0xb1
mov byte [rsp + 0x80], 0x8c
mov byte [rsp + 0x81], 0x8c
mov byte [rsp + 0x82], 0x97
mov byte [rsp + 0x83], 0xbf
mov byte [rsp + 0x84], 0xb0
mov byte [rsp + 0x85], 0x9a
mov byte [rsp + 0x86], 0x90
mov byte [rsp + 0x87], 0x97
mov byte [rsp + 0x88], 0x86
mov byte [rsp + 0x89], 0x8e
mov byte [rsp + 0x8a], 0xd0
mov byte [rsp + 0x8b], 0xd1
mov byte [rsp + 0x8c], 0xbf
mov byte [rsp + 0x8d], 0x94
mov byte [rsp + 0x8e], 0x8a
mov byte [rsp + 0x8f], 0x8d
mov byte [rsp + 0x90], 0xd0
mov byte [rsp + 0x91], 0xd1
mov byte [rsp + 0x92], 0x88
mov byte [rsp + 0x93], 0x85
mov byte [rsp + 0x94], 0x96
mov byte [rsp + 0x95], 0x8f
mov byte [rsp + 0x96], 0x8f
mov byte [rsp + 0x97], 0xcd
mov byte [rsp + 0x98], 0x90
mov byte [rsp + 0x99], 0x9a
mov byte [rsp + 0x9a], 0x90
mov byte [rsp + 0x9b], 0xe3
mov dword [rsp + 0x20], 0
jmp 0x140002174
mov eax, dword [rsp + 0x20]
inc eax
mov dword [rsp + 0x20], eax
movsxd rax, dword [rsp + 0x20]
cmp rax, 0x24
jae 0x1400021af
movsxd rax, dword [rsp + 0x20]
movsx eax, byte [rsp + rax + 0x78]
xor eax, 0x6d
movsxd rcx, dword [rsp + 0x20]
mov byte [rsp + rcx + 0x78], al
movsxd rax, dword [rsp + 0x20]
movsx eax, byte [rsp + rax + 0x78]
xor eax, 0x8e
movsxd rcx, dword [rsp + 0x20]
mov byte [rsp + rcx + 0x78], al
jmp 0x14000216a
mov qword [rsp + 0x40], 0
jmp 0x1400021c7
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
cmp qword [rsp + 0x40], rax
jae 0x140002228
imul rax, qword [rsp + 0x40], 0x128
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
add rax, 0x28
lea rdx, [rsp + 0x78]
mov rcx, rax
call sub.ntoskrnl.exe_strstr
test rax, rax
je 0x140002226
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x18]
mov qword [rsp + 0x60], rax
jmp 0x140002228
jmp 0x1400021ba
mov edx, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
mov byte [rsp + 0xa0], 0xe8
mov byte [rsp + 0xa1], 0
mov byte [rsp + 0xa2], 0
mov byte [rsp + 0xa3], 0
mov byte [rsp + 0xa4], 0
mov byte [rsp + 0xa5], 0x8b
mov byte [rsp + 0xa6], 0xf8
mov byte [rsp + 0xa7], 0x85
mov byte [rsp + 0xa8], 0xc0
mov byte [rsp + 0xa9], 0x75
mov byte [rsp + 0xaa], 0xe
mov byte [rsp + 0xab], 0
mov byte [rsp + 0x68], 0x9b
mov byte [rsp + 0x69], 0xdc
mov byte [rsp + 0x6a], 0xdc
mov byte [rsp + 0x6b], 0xdc
mov byte [rsp + 0x6c], 0xdc
mov byte [rsp + 0x6d], 0x9b
mov byte [rsp + 0x6e], 0x9b
mov byte [rsp + 0x6f], 0x9b
mov byte [rsp + 0x70], 0x9b
mov byte [rsp + 0x71], 0x9b
mov byte [rsp + 0x72], 0x9b
mov byte [rsp + 0x73], 0xe3
mov dword [rsp + 0x24], 0
jmp 0x1400022e7
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
movsxd rax, dword [rsp + 0x24]
cmp rax, 0xc
jae 0x140002322
movsxd rax, dword [rsp + 0x24]
movsx eax, byte [rsp + rax + 0x68]
xor eax, 0x6d
movsxd rcx, dword [rsp + 0x24]
mov byte [rsp + rcx + 0x68], al
movsxd rax, dword [rsp + 0x24]
movsx eax, byte [rsp + rax + 0x68]
xor eax, 0x8e
movsxd rcx, dword [rsp + 0x24]
mov byte [rsp + rcx + 0x68], al
jmp 0x1400022dd
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ntoskrnl.exe_MmIsAddressValid]
movzx eax, al
test eax, eax
jne 0x14000233b
mov eax, 0xc0000141
jmp 0x140002396
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xa0]
mov rcx, qword [rsp + 0x58]
call fcn.140001eb0
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x140002366
mov eax, 0xc0000141
jmp 0x140002396
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 1]
inc eax
cdqe
add rax, 4
cdqe
mov rcx, qword [rsp + 0x38]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [0x140007b80], rax
xor eax, eax
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.140003ab0
add rsp, 0xc8
ret