Function at 0x140098ff4
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 [0x140173708]
xor rax, rsp
mov qword [rsp + 0x240], rax
mov rsi, rcx
mov rcx, qword [0x140173048]
lea rbp, [0x140173048]
cmp rcx, rbp
je 0x140099057
test dword [rcx + 0x1c], 0x200
je 0x140099057
cmp byte [rcx + 0x19], 4
jb 0x140099057
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157088]
mov edx, 0xf
call fcn.14000c328
and dword [rsp + 0x20], 0
test rsi, rsi
jne 0x140099079
lea r8, str.pwszSystemDevicePath
mov edx, 0xbf
lea rcx, str.base_stor_blbutil_systemutils.cpp
call fcn.1400906e0
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 0x14009910d
cmp eax, ebx
je 0x14009910d
cmp eax, 0x80000005
je 0x14009910d
cmp eax, 0xc0000004
je 0x14009910d
mov ecx, eax
call fcn.14002a840
mov ebx, eax
mov rcx, qword [0x140173048]
cmp rcx, rbp
je 0x14009925f
test byte [rcx + 0x1c], 8
je 0x140099236
cmp byte [rcx + 0x19], 2
jb 0x140099236
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157088]
mov edx, 0x10
mov r9d, eax
call fcn.14000c354
jmp 0x14009922f
mov ecx, dword [rsp + 0x20]
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
nop dword [rax + rax]
mov rdi, rax
test rax, rax
jne 0x14009912f
mov ebx, 0x8007000e
jmp 0x14009922f
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 0x1400991a7
mov ecx, eax
call fcn.14002a840
mov ebx, eax
mov rcx, qword [0x140173048]
cmp rcx, rbp
je 0x140099220
test byte [rcx + 0x1c], 8
je 0x140099220
cmp byte [rcx + 0x19], 2
jb 0x140099220
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157088]
mov edx, 0x11
mov r9d, eax
call fcn.14000c354
jmp 0x140099220
movzx edx, word [rdi]
lea rax, [rdx + 2]
cmp rax, 0x208
jbe 0x1400991bf
mov ecx, ebx
call fcn.14002a840
jmp 0x14009921e
test dl, 1
je 0x1400991dc
lea r8, str.pSysInfo__SystemPartition.Length___sizeof_WCHAR___0
mov edx, 0xf0
lea rcx, str.base_stor_blbutil_systemutils.cpp
call fcn.1400906e0
movzx ecx, word [rdi]
lea eax, [rcx + 8]
cmp eax, dword [rsp + 0x20]
jbe 0x1400991ef
mov ebx, 0x8000ffff
jmp 0x140099220
mov r8, qword [rdi + 8]
mov r9, rcx
shr r9, 1
lea rcx, [rsp + 0x30]
mov edx, 0x104
call fcn.1400911f8
mov ebx, eax
test eax, eax
js 0x140099220
xor r8d, r8d
lea rcx, [rsp + 0x30]
mov rdx, rsi
call fcn.140091bf0
mov ebx, eax
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov rcx, qword [0x140173048]
cmp rcx, rbp
je 0x14009925f
test dword [rcx + 0x1c], 0x200
je 0x14009925f
cmp byte [rcx + 0x19], 4
jb 0x14009925f
mov rcx, qword [rcx + 0x10]
lea r8, [0x140157088]
mov edx, 0x12
call fcn.14000c328
mov eax, ebx
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.140007410
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