Function at 0x140039860
Capabilities:
Get system information on windows

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
sub rsp, 0xc0
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
movaps xmmword [rax - 0x28], xmm6
mov rax, qword [0x14017c820]
xor rax, rsp
mov qword [rsp + 0xa0], rax
mov rbp, rcx
lea rcx, [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea rcx, [0x140113d38]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbx, rax
test rax, rax
je 0x1400398e2
lea rdx, str.GetNativeSystemInfo
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1400398d9
lea rcx, [rsp + 0x48]
call rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp word [rsp + 0x48], 6
jne 0x1400398f1
xor eax, eax
jmp 0x140039e13
mov rcx, rbp
call fcn.140039100
test eax, eax
je 0x140039e13
mov ecx, 0x68
call fcn.1400d8d04
mov qword [rbp + 0x18], rax
call fcn.14002e530
mov rcx, qword [rax + 0x30]
mov rdx, qword [rbp + 0x10]
mov rax, qword [rbp + 0x18]
mov qword [rsp + 0x20], rax
mov r9d, 0x68
mov r8d, dword [rdx + 0x10]
xor edx, edx
call fcn.1400c5220
test eax, eax
je 0x140039e13
mov rax, qword [rbp + 0x18]
cmp byte [rax], 0x52
jne 0x140039e11
cmp byte [rax + 1], 0x53
jne 0x140039e11
cmp byte [rax + 2], 0x44
jne 0x140039e11
cmp byte [rax + 3], 0x54
jne 0x140039e11
mov eax, dword [rax + 4]
sub rax, 0x24
shr rax, 2
movsxd r13, eax
test eax, eax
jle 0x140039e0a
mov r12d, 0x24
movsd xmm6, qword [0x140114ca0]
nop
call fcn.14002e530
mov rcx, qword [rax + 0x30]
mov rax, qword [rbp + 0x18]
lea rdx, [rsp + 0x78]
mov qword [rsp + 0x20], rdx
mov r9d, 0x24
mov r8d, dword [r12 + rax]
xor edx, edx
call fcn.1400c5220
test eax, eax
je 0x140039dfc
mov eax, dword [rsp + 0x7c]
cmp eax, 0x1000
ja 0x140039dfc
test eax, eax
je 0x140039dfc
lea ecx, [rax + 4]
call fcn.1400d8d48
mov rsi, rax
call fcn.14002e530
mov rdx, qword [rbp + 0x18]
mov qword [rsp + 0x20], rsi
mov r9d, dword [rsp + 0x7c]
mov r8d, dword [r12 + rdx]
xor edx, edx
mov rcx, qword [rax + 0x30]
call fcn.1400c5220
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.APIC
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.BOOT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.DBGP
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.DSDT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.ECDT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.ETDT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.FACP
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
jne 0x140039b42
cmp byte [rsp + 0x80], 3
jb 0x140039af9
cmp dword [rsp + 0x7c], 0x130
jae 0x140039df4
cmp dword [rsi + 0x4c], 0
jbe 0x140039df4
mov ecx, 0x28
call fcn.1400d8d04
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140039b27
mov edx, dword [rsi + 0x4c]
mov rcx, rax
call fcn.140053470
mov rbx, rax
jmp 0x140039b29
xor ebx, ebx
mov qword [rbp + 0x20], rbx
call fcn.14002e530
mov rcx, rax
mov rdx, rbx
call fcn.1400313b0
jmp 0x140039df4
mov r8d, 4
lea rdx, str.FACS
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 3
lea rdx, [0x140114c58]
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.PSDT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.SBST
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.SLIT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.SPCR
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.SRAT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.SSDT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.SPMI
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.XSDT
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.MCFG
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
je 0x140039df4
mov r8d, 4
lea rdx, str.TAMG
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
jne 0x140039d16
lea r9, str.ESDT
mov r8d, dword [rsp + 0x7c]
mov rdx, rsi
mov rcx, rbp
call fcn.140039220
mov rbx, rax
test rax, rax
je 0x140039df4
mov ecx, 0x30
call fcn.1400d8d04
mov qword [rbp + 0x58], rax
mov rcx, qword [rbx]
mov qword [rax], rcx
mov rcx, qword [rbx + 8]
mov qword [rax + 8], rcx
mov rcx, qword [rbx + 0x10]
mov qword [rax + 0x10], rcx
mov rcx, qword [rbx + 0x18]
mov qword [rax + 0x18], rcx
mov rcx, qword [rbx + 0x20]
mov qword [rax + 0x20], rcx
mov rcx, qword [rbx + 0x28]
mov qword [rax + 0x28], rcx
jmp 0x140039df4
mov r8d, 4
lea rdx, str.HPET
lea rcx, [rsp + 0x78]
call fcn.1400f2910
test eax, eax
jne 0x140039df4
mov edi, dword [rsi + 0x30]
mov ebx, dword [rsi + 0x2c]
test ebx, ebx
je 0x140039df4
test byte [rsi + 0x28], 1
jne 0x140039df4
lea ecx, [rax + 0x18]
call fcn.1400d8d04
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140039d75
or r9d, 0xffffffff
mov r8d, ebx
mov edx, edi
mov rcx, rax
call fcn.140042a60
mov rbx, rax
jmp 0x140039d77
xor ebx, ebx
mov ecx, 0x28
call fcn.1400d8d04
mov qword [rsp + 0x30], rax
test rax, rax
je 0x140039d9b
mov rdx, rbx
mov rcx, rax
call fcn.1400531b0
mov rdi, rax
jmp 0x140039d9d
xor edi, edi
mov rax, qword [rbx]
lea r8, [rsp + 0x38]
xor edx, edx
mov rcx, rbx
call qword [rax + 0x30]
mov r11, qword [rbx]
lea r8, [rsp + 0x3c]
mov edx, 4
mov rcx, rbx
call qword [r11 + 0x30]
cvtsi2sd xmm5, dword [rsp + 0x3c]
movsd xmm0, xmm6
divsd xmm0, xmm5
movsd qword [rdi + 0x10], xmm0
call fcn.14002e530
mov rcx, rax
mov rdx, rdi
call fcn.1400313b0
call fcn.14002e530
mov rcx, rax
mov rdx, rbx
call fcn.14002e8b0
mov rcx, rsi
call fcn.1400d8d50
add r12, 4
sub r13, 1
jne 0x140039990
mov eax, 1
jmp 0x140039e13
xor eax, eax
mov rcx, qword [rsp + 0xa0]
xor rcx, rsp
call fcn.1400efff0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r13
pop r12
pop rdi
ret