Function at 0x1001648e
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10060e2d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xa4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x10016549
lea eax, [ebp + 0x1c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x50]
movzx eax, byte [eax]
test eax, eax
je 0x1001652b
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x60]
call fcn.10016ab5
mov ecx, dword [ebp - 0x7c]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x10016544
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x4c], eax
mov edx, 0x4e691826
mov ecx, dword [ebp - 0x4c]
call fcn.10012ca8
jmp 0x100167dc
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x34], 0x247a
mov dword [ebp - 0x5c], 0x10008248
cmp dword [ebp - 0x34], 0x2505
jle 0x1001661a
and dword [ebp - 0x20], 0
jmp 0x10016577
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x1f17
jge 0x1001661a
and dword [ebp - 0x30], 0
jmp 0x10016591
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x1ea4
jge 0x10016615
and dword [ebp - 0x2c], 0
jmp 0x100165a7
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x4791
jge 0x10016610
and dword [ebp - 0x24], 0
jmp 0x100165bd
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0x387a
jge 0x1001660e
mov eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x24]
sub eax, ecx
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
push dword [ebp - 0x74]
push dword [ebp - 0x78]
lea ecx, [ebp - 0xb4]
call fcn.1000d000
pop ecx
pop ecx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x54]
call fcn.1000f5af
push eax
call fcn.1004b356
pop ecx
lea ecx, [ebp - 0xb4]
call fcn.1000f5a5
jmp 0x100165b6
jmp 0x100165a0
jmp 0x1001658a
jmp 0x10016570
and dword [ebp - 4], 0
cmp dword [ebp - 0x34], 0x2425
jge 0x10016630
push dword [ebp - 0x5c]
call fcn.1004b356
pop ecx
jmp 0x1001664c
or dword [ebp - 4], 0xffffffff
jmp 0x10016656
push 3
lea ecx, [ebp - 0x9c]
call fcn.1000f6e4
mov dword [ebp - 4], 2
push 2
lea ecx, [ebp - 0x88]
call fcn.1000f6e4
mov byte [ebp - 4], 3
mov dword [ebp - 0x28], 0xea122098
mov dword [ebp - 0x14], 0
jmp 0x10016692
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 3
jge 0x100166ae
push dword [ebp - 0x14]
lea ecx, [ebp - 0x9c]
call fcn.1000f782
mov dword [eax], 0x2db58e46
jmp 0x1001668b
mov dword [ebp - 0x14], 0
jmp 0x100166be
mov eax, dword [ebp - 0x14]
inc eax
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 2
jge 0x100166da
push dword [ebp - 0x14]
lea ecx, [ebp - 0x88]
call fcn.1000f782
mov dword [eax], 0xfffffffb
jmp 0x100166b7
push 0
lea ecx, [ebp - 0x88]
call fcn.1000f782
mov dword [eax], 2
jmp 0x1001670a
push 0
lea ecx, [ebp - 0x88]
call fcn.1000f782
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
dec eax
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
push 0
lea ecx, [ebp - 0x88]
call fcn.1000f782
cmp dword [eax], 0
jl 0x10016732
mov byte [ebp - 0x17], 0
movzx eax, byte [ebp - 0x17]
test eax, eax
je 0x10016730
push 0
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
jmp 0x100166ef
mov dword [ebp - 0x28], 0
jmp 0x10016742
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 7
jg 0x100167ac
mov dword [ebp - 0x64], 0xfffffffb
mov dword [ebp - 0x1c], 0xe9bf9f36
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0xffffffef
jmp 0x1001676c
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0x16
jle 0x100167aa
mov byte [ebp - 0x16], 0
movzx eax, byte [ebp - 0x16]
test eax, eax
je 0x10016792
push 0
push 0xd81
push 0
push 0x24e7
call dword [sym.imp.GDI32.dll_GetTextExtentPointW]
mov byte [ebp - 0x15], 0
movzx eax, byte [ebp - 0x15]
test eax, eax
je 0x100167a8
push 0
push 0
call dword [sym.imp.USER32.dll_LoadMenuW]
jmp 0x10016765
jmp 0x1001673b
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x88]
call fcn.1000f766
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x9c]
call fcn.1000f766
push 0
push 0x4fa7
push dword [ebp - 0x6c]
call fcn.1001373f
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret