Function at 0x14007d888
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
push rdi
push r12
push r14
sub rsp, 0xa0
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x14028b7c8]
xor rax, rsp
mov qword [rsp + 0x98], rax
mov rdi, rcx
call fcn.140045fd8
cmp qword [rax + 0x40], 0
jne 0x14007d8d4
xor eax, eax
jmp 0x14007ddbb
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea rcx, [0x1401ce318]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x14007d919
lea rdx, str.GetNativeSystemInfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14007d910
lea rcx, [rsp + 0x40]
call rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp word [rsp + 0x40], 6
jne 0x14007d928
xor eax, eax
jmp 0x14007ddbb
mov rcx, rdi
call fcn.14007d608
test eax, eax
je 0x14007ddbb
mov ebx, 0x68
mov rcx, rbx
call fcn.14013f12c
mov qword [rdi + 0x20], rax
call fcn.140045fd8
mov rcx, qword [rax + 0x40]
mov rdx, qword [rdi + 0x18]
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x20], rax
mov r9d, ebx
mov r8d, dword [rdx + 0x10]
xor edx, edx
call fcn.14001643c
test eax, eax
je 0x14007ddbb
mov rax, qword [rdi + 0x20]
cmp byte [rax], 0x52
jne 0x14007ddb9
cmp byte [rax + 1], 0x53
jne 0x14007ddb9
cmp byte [rax + 2], 0x44
jne 0x14007ddb9
cmp byte [rax + 3], 0x54
jne 0x14007ddb9
mov eax, dword [rax + 4]
sub rax, 0x24
shr rax, 2
movsxd rbp, eax
test eax, eax
jle 0x14007ddb2
mov r12d, 0x24
lea r14d, [r12 - 0x20]
call fcn.140045fd8
mov rcx, qword [rax + 0x40]
mov rax, qword [rdi + 0x20]
lea rdx, [rsp + 0x70]
mov qword [rsp + 0x20], rdx
mov r9d, 0x24
mov r8d, dword [r12 + rax]
xor edx, edx
call fcn.14001643c
test eax, eax
je 0x14007dda5
mov eax, dword [rsp + 0x74]
cmp eax, 0x1000
ja 0x14007dda5
test eax, eax
je 0x14007dda5
lea ecx, [rax + 4]
call fcn.14013f170
mov rsi, rax
call fcn.140045fd8
mov rdx, qword [rdi + 0x20]
mov qword [rsp + 0x20], rsi
mov r9d, dword [rsp + 0x74]
mov r8d, dword [r12 + rdx]
xor edx, edx
mov rcx, qword [rax + 0x40]
call fcn.14001643c
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.APIC
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.BOOT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.DBGP
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.DSDT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.ECDT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.ETDT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.ASF_
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.FACP
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
jne 0x14007dbcf
cmp byte [rsp + 0x78], 3
jb 0x14007db32
cmp dword [rsp + 0x74], 0x12c
jae 0x14007dd9d
cmp dword [rsi + 0x4c], 0
jbe 0x14007dbbe
bt dword [rdi + 0x60], 0xe
jae 0x14007dbbe
cmp dword [rdi + 0x58], 0x8014e67a
je 0x14007dbbe
cmp dword [rdi + 0x58], 0xa758b28a
je 0x14007dbbe
cmp dword [rdi + 0x58], 0x28ba654
je 0x14007dbbe
mov ecx, 0x38
call fcn.14013f12c
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14007db82
mov edx, dword [rsi + 0x4c]
mov rcx, rax
call fcn.1400aefc0
mov rcx, rax
jmp 0x14007db84
xor ecx, ecx
mov qword [rdi + 0x30], rcx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp rax, 0xffffffffffffffff
je 0x14007dbab
mov rbx, qword [rdi + 0x30]
call fcn.140045fd8
mov rdx, rbx
mov rcx, qword [rax + 0x68]
call fcn.1400446e0
jmp 0x14007dbbe
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x14007dbbe
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov eax, dword [rsi + 0x24]
mov dword [rdi + 0x28], eax
mov eax, dword [rsi + 0x38]
mov dword [rdi + 0x2c], eax
jmp 0x14007dd9d
mov r8, r14
lea rdx, str.FACS
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8d, 3
lea rdx, [0x1401dd828]
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.PSDT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.SBST
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.SLIT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.SPCR
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.SRAT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.SSDT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.SPMI
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.XSDT
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.MCFG
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.TAMG
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
jne 0x14007dd71
lea r9, str.ESDT
mov r8d, dword [rsp + 0x74]
mov rdx, rsi
mov rcx, rdi
call fcn.14007d63c
mov rbx, rax
test rax, rax
je 0x14007dd9d
mov rcx, qword [rdi + 0x50]
test rcx, rcx
je 0x14007dd50
call fcn.14013f178
and qword [rdi + 0x50], 0
mov ecx, 0x30
call fcn.14013f12c
mov qword [rdi + 0x50], rax
mov r8d, 0x30
mov rdx, rbx
mov rcx, rax
call fcn.140159620
jmp 0x14007dd9d
mov r8, r14
lea rdx, [0x1401dd7c8]
lea rcx, [rsp + 0x70]
call fcn.140159a90
test eax, eax
je 0x14007dd9d
mov r8, r14
lea rdx, str.VFCT
lea rcx, [rsp + 0x70]
call fcn.140159a90
mov rcx, rsi
call fcn.14013f178
add r12, r14
sub rbp, 1
jne 0x14007d9c1
mov eax, 1
jmp 0x14007ddbb
xor eax, eax
mov rcx, qword [rsp + 0x98]
xor rcx, rsp
call fcn.140156fd0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r12
pop rdi
ret