Function at 0x1400979f0
Capabilities:
Get system information on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x250
mov rax, qword [0x140183808]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rsi, rcx
mov rcx, qword [0x140183048]
lea rbp, [0x140183048]
cmp rcx, rbp
je 0x140097a53
test dword [rcx + 0x1c], 0x200
je 0x140097a53
cmp byte [rcx + 0x19], 4
jb 0x140097a53
mov rcx, qword [rcx + 0x10]
lea r8, [0x140161d98]
mov edx, 0xf
call fcn.140004e50
and dword [rsp + 0x20], 0
test rsi, rsi
jne 0x140097a75
lea r8, str.pwszSystemDevicePath
mov edx, 0xbf
lea rcx, str.base_stor_blbutil_systemutils.cpp
call fcn.14008f4c8
and qword [rsi], 0
lea rcx, [rsp + 0x30]
xor edx, edx
mov r8d, 0x208
call sub.msvcrt.dll_memset
xor edx, edx
lea r9, [rsp + 0x20]
xor r8d, r8d
lea ecx, [rdx + 0x62]
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
nop dword [rax + rax]
mov ebx, 0xc0000023
test eax, eax
jns 0x140097b09
cmp eax, ebx
je 0x140097b09
cmp eax, 0x80000005
je 0x140097b09
cmp eax, 0xc0000004
je 0x140097b09
mov ecx, eax
call fcn.14003bf04
mov ebx, eax
mov rcx, qword [0x140183048]
cmp rcx, rbp
je 0x140097c5f
test byte [rcx + 0x1c], 8
je 0x140097c36
cmp byte [rcx + 0x19], 2
jb 0x140097c36
mov rcx, qword [rcx + 0x10]
lea r8, [0x140161d98]
mov edx, 0x10
mov r9d, eax
call fcn.140004e7c
jmp 0x140097c2f
mov ecx, dword [rsp + 0x20]
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x140097b2b
mov ebx, 0x8007000e
jmp 0x140097c2f
mov r8d, dword [rsp + 0x20]
xor edx, edx
mov rcx, rdi
call sub.msvcrt.dll_memset
mov r8d, dword [rsp + 0x20]
lea r9, [rsp + 0x20]
mov rdx, rdi
mov ecx, 0x62
call qword [sym.imp.ntdll.dll_NtQuerySystemInformation]
nop dword [rax + rax]
test eax, eax
jns 0x140097ba3
mov ecx, eax
call fcn.14003bf04
mov ebx, eax
mov rcx, qword [0x140183048]
cmp rcx, rbp
je 0x140097c20
test byte [rcx + 0x1c], 8
je 0x140097c20
cmp byte [rcx + 0x19], 2
jb 0x140097c20
mov rcx, qword [rcx + 0x10]
lea r8, [0x140161d98]
mov edx, 0x11
mov r9d, eax
call fcn.140004e7c
jmp 0x140097c20
movzx edx, word [rdi]
lea rax, [rdx + 2]
cmp rax, 0x208
jbe 0x140097bbb
mov ecx, ebx
call fcn.14003bf04
jmp 0x140097c1e
test dl, 1
je 0x140097bdb
lea r8, str.pSysInfo__SystemPartition.Length___sizeof_WCHAR___0
mov edx, 0xf0
lea rcx, str.base_stor_blbutil_systemutils.cpp
call fcn.14008f4c8
movzx edx, word [rdi]
movzx eax, dx
add eax, 8
cmp eax, dword [rsp + 0x20]
jbe 0x140097bee
mov ebx, 0x8000ffff
jmp 0x140097c20
mov r8, qword [rdi + 8]
lea rcx, [rsp + 0x30]
movzx r9d, dx
mov edx, 0x104
shr r9, 1
call fcn.14008f5a8
mov ebx, eax
test eax, eax
js 0x140097c20
xor r8d, r8d
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.14009039c
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x140183048]
cmp rcx, rbp
je 0x140097c5f
test dword [rcx + 0x1c], 0x200
je 0x140097c5f
cmp byte [rcx + 0x19], 4
jb 0x140097c5f
mov rcx, qword [rcx + 0x10]
lea r8, [0x140161d98]
mov edx, 0x12
call fcn.140004e50
mov eax, ebx
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.1401534b0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret