Function at 0x10085270
Capabilities:
Get system information on windows

Disassembly:
push 0xffffffffffffffff
push 0x10174a3c
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x10206870]
xor eax, esp
mov dword [esp + 0x54], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10206870]
xor eax, esp
push eax
lea eax, [esp + 0x6c]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x7c]
call fcn.1013c470
mov eax, dword [eax + 0x20]
xor edi, edi
cmp eax, edi
je 0x1008579f
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x101aae40
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
cmp esi, edi
je 0x100852f2
push str.GetNativeSystemInfo
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, edi
je 0x100852eb
lea ecx, [esp + 0x20]
push ecx
call eax
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp word [esp + 0x20], 6
je 0x1008579f
push 0x400
push edi
push ebp
call fcn.10084be0
cmp eax, edi
jne 0x10085326
push 0x20000
push 0xe0000
push ebp
call fcn.10084be0
cmp eax, edi
je 0x1008579f
push 0x68
call fcn.1003ddbb
add esp, 4
mov dword [ebp + 0x10], eax
call fcn.1013c470
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + 0x20]
push edx
mov edx, dword [ecx + 0x10]
push 0x68
push edx
push edi
mov ecx, eax
call fcn.100182b1
cmp eax, edi
je 0x1008579f
mov eax, dword [ebp + 0x10]
cmp byte [eax], 0x52
jne 0x1008579f
cmp byte [eax + 1], 0x53
jne 0x1008579f
cmp byte [eax + 2], 0x44
jne 0x1008579f
cmp byte [eax + 3], 0x54
jne 0x1008579f
mov eax, dword [eax + 4]
sub eax, 0x24
shr eax, 2
cmp eax, edi
jle 0x10085798
mov esi, 0x24
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
call fcn.1013c470
mov edx, dword [ebp + 0x10]
mov eax, dword [eax + 0x20]
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esi + edx]
push 0x24
push ecx
push edi
mov ecx, eax
call fcn.100182b1
test eax, eax
je 0x10085786
mov eax, dword [esp + 0x48]
cmp eax, 0x1000
ja 0x10085786
cmp eax, edi
je 0x10085786
add eax, 4
push eax
call fcn.1003de3e
add esp, 4
mov ebx, eax
call fcn.1013c470
mov edx, dword [esp + 0x48]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + 0x20]
push ebx
push edx
mov edx, dword [esi + ecx]
push edx
push edi
mov ecx, eax
call fcn.100182b1
test eax, eax
je 0x10085777
push 4
lea eax, [esp + 0x48]
push str.APIC
push eax
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea ecx, [esp + 0x48]
push str.BOOT
push ecx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea edx, [esp + 0x48]
push str.DBGP
push edx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea eax, [esp + 0x48]
push str.DSDT
push eax
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea ecx, [esp + 0x48]
push str.ECDT
push ecx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea edx, [esp + 0x48]
push str.ETDT
push edx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea eax, [esp + 0x48]
push str.ASF_
push eax
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea ecx, [esp + 0x48]
push str.FACP
push ecx
call fcn.1003eb24
add esp, 0xc
test eax, eax
jne 0x100855be
cmp byte [esp + 0x4c], 3
jb 0x10085505
cmp dword [esp + 0x48], 0x12c
jae 0x10085777
cmp dword [ebx + 0x4c], edi
jbe 0x100855ad
test dword [ebp + 0x40], 0x4000
je 0x100855ad
mov eax, dword [ebp + 0x38]
cmp eax, 0x8014e67a
je 0x100855ad
cmp eax, 0xa758b28a
je 0x100855ad
cmp eax, 0x28ba654
je 0x100855ad
push 0x38
call fcn.1003ddbb
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x74], edi
cmp eax, edi
je 0x10085558
mov ecx, dword [ebx + 0x4c]
push eax
call fcn.100542b0
jmp 0x1008555a
xor eax, eax
mov dword [esp + 0x74], 0xffffffff
mov dword [ebp + 0x1c], eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
push edx
push eax
call fcn.10005b00
add esp, 8
test eax, eax
je 0x1008559e
mov esi, dword [ebp + 0x1c]
call fcn.1013c470
mov edi, dword [eax + 0x34]
push esi
call fcn.10001800
mov ecx, dword [ebx + 0x24]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebx + 0x38]
mov dword [ebp + 0x18], edx
jmp 0x10085777
mov ecx, dword [ebp + 0x1c]
cmp ecx, edi
je 0x100855ad
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [ebx + 0x24]
mov dword [ebp + 0x14], ecx
mov edx, dword [ebx + 0x38]
mov dword [ebp + 0x18], edx
jmp 0x10085777
push 4
lea eax, [esp + 0x48]
push str.FACS
push eax
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 3
lea ecx, [esp + 0x48]
push 0x101aaeac
push ecx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea edx, [esp + 0x48]
push str.PSDT
push edx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea eax, [esp + 0x48]
push str.SBST
push eax
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea ecx, [esp + 0x48]
push str.SLIT
push ecx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea edx, [esp + 0x48]
push str.SPCR
push edx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea eax, [esp + 0x48]
push str.SRAT
push eax
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea ecx, [esp + 0x48]
push str.SSDT
push ecx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea edx, [esp + 0x48]
push str.SPMI
push edx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea eax, [esp + 0x48]
push str.XSDT
push eax
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea ecx, [esp + 0x48]
push str.MCFG
push ecx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea edx, [esp + 0x48]
push str.TAMG
push edx
call fcn.1003eb24
add esp, 0xc
test eax, eax
jne 0x1008574b
mov eax, dword [esp + 0x48]
push 0x101aaf00
push eax
push ebx
call fcn.10084530
mov esi, eax
cmp esi, edi
je 0x10085777
mov eax, dword [ebp + 0x34]
cmp eax, edi
je 0x10085733
push eax
call fcn.1003dc7e
add esp, 4
mov dword [ebp + 0x34], edi
push 0x30
call fcn.1003ddbb
mov ecx, 0xc
mov edi, eax
mov dword [ebp + 0x34], eax
add esp, 4
rep movsd dword es:[edi], dword [esi]
jmp 0x10085777
push 4
lea ecx, [esp + 0x48]
push str.HPET
push ecx
call fcn.1003eb24
add esp, 0xc
test eax, eax
je 0x10085777
push 4
lea edx, [esp + 0x48]
push str.VFCT
push edx
call fcn.1003eb24
add esp, 0xc
push ebx
call fcn.1003e211
mov esi, dword [esp + 0x18]
add esp, 4
xor edi, edi
add esi, 4
sub dword [esp + 0x18], 1
mov dword [esp + 0x14], esi
jne 0x100853a0
mov eax, 1
jmp 0x100857a1
xor eax, eax
mov ecx, dword [esp + 0x6c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x54]
xor ecx, esp
call fcn.1003dc89
add esp, 0x64
ret 4