Function at 0x1006878d
Capabilities:
Get system information on windows

Disassembly:
push 0x29c
mov eax, 0x1009ed0c
call fcn.10094bdd
mov ebx, ecx
push 0x1001d298
mov dword [ebp - 0x25c], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x100687e6
push 0x10015278
lea eax, [ebp - 0x254]
push eax
call fcn.1005f361
and dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
lea edi, [ebp - 0x254]
call fcn.10068d48
mov eax, dword [ebp - 0x254]
jmp 0x10068b03
mov edx, dword [ebx]
push 0x100042a8
push eax
mov ecx, ebx
call dword [edx + 0x28]
mov edx, eax
test edx, edx
jne 0x100687ff
mov edx, dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 9
pop ecx
xor eax, eax
mov dword [ebp - 0x284], 0x1001af10
lea edi, [ebp - 0x280]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x280]
push eax
call edx
lea esi, [ebp - 0x258]
lea ecx, [ebp - 0x284]
mov dword [ebp - 4], 1
call fcn.10027b1c
push eax
mov byte [ebp - 4], 2
mov ecx, dword [ebx + 0x3c]
push 0x1c5
call fcn.1002f8f9
mov esi, eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x258]
add eax, 0xfffffff0
call fcn.10084b37
push 0x10015278
lea eax, [ebp - 0x254]
push eax
call fcn.1005f361
push esi
push ebx
lea edi, [ebp - 0x254]
mov byte [ebp - 4], 3
call fcn.10068d48
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x254]
add eax, 0xfffffff0
call fcn.10084b37
lea ecx, [ebp - 0x284]
call fcn.10027cea
mov ecx, dword [ebx + 0x3c]
mov edx, dword [ecx]
push eax
push 4
push dword [ecx + 4]
call dword [edx + 0x14]
test eax, eax
jne 0x100688c6
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x100688c2
and eax, 0xffff
or eax, 0x80070000
mov esi, eax
jmp 0x100688c8
xor esi, esi
push 0x100152c0
lea eax, [ebp - 0x254]
push eax
call fcn.1005f361
push esi
push ebx
lea edi, [ebp - 0x254]
mov byte [ebp - 4], 4
call fcn.10068d48
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x254]
add eax, 0xfffffff0
call fcn.10084b37
lea edi, [ebp - 0x250]
lea ebx, [ebp - 0x284]
call fcn.10027cc1
test al, al
jne 0x10068915
xor eax, eax
jmp 0x1006891c
movzx eax, word [ebp - 0x13c]
mov esi, dword [ebp - 0x25c]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx]
push eax
push 7
push dword [ecx + 4]
call dword [edx + 0x14]
test eax, eax
jne 0x1006894c
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10068948
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
jmp 0x1006894e
xor edi, edi
push 0x100152f0
lea eax, [ebp - 0x254]
push eax
call fcn.1005f361
push edi
push esi
lea edi, [ebp - 0x254]
mov byte [ebp - 4], 5
call fcn.10068d48
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x254]
add eax, 0xfffffff0
call fcn.10084b37
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x34]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx]
push eax
push 0xd
push dword [ecx + 4]
call dword [edx + 0x14]
test eax, eax
jne 0x100689b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x100689af
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
jmp 0x100689b5
xor edi, edi
push 0x10015328
lea eax, [ebp - 0x254]
push eax
call fcn.1005f361
push edi
push esi
lea edi, [ebp - 0x254]
mov byte [ebp - 4], 6
call fcn.10068d48
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x254]
add eax, 0xfffffff0
call fcn.10084b37
and dword [ebp - 0x130], 0
push 0x118
lea eax, [ebp - 0x12c]
push 0
push eax
call fcn.1008a7e0
and dword [ebp - 0x2a8], 0
add esp, 0xc
push 8
pop ecx
xor eax, eax
lea edi, [ebp - 0x2a4]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x130]
lea ebx, [ebp - 0x284]
call fcn.10027cc1
lea eax, [ebp - 0x2a8]
push eax
call fcn.100285a8
lea eax, [ebp - 0x2a8]
push eax
mov eax, edi
push eax
call fcn.1006be08
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx]
push eax
push 0x1ed
push dword [ecx + 4]
call dword [edx + 0x14]
test eax, eax
jne 0x10068a73
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x10068a6f
and eax, 0xffff
or eax, 0x80070000
mov edi, eax
jmp 0x10068a75
xor edi, edi
push 0x10015364
lea eax, [ebp - 0x254]
push eax
call fcn.1005f361
push edi
push esi
lea edi, [ebp - 0x254]
mov byte [ebp - 4], 7
call fcn.10068d48
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x254]
add eax, 0xfffffff0
call fcn.10084b37
lea eax, [ebp - 0x25c]
push eax
call fcn.10029f79
push eax
mov byte [ebp - 4], 8
mov ecx, dword [esi + 0x3c]
push 0x254
call fcn.1002f8f9
mov edi, eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x25c]
add eax, 0xfffffff0
call fcn.10084b37
push 0x100153a0
lea eax, [ebp - 0x258]
push eax
call fcn.1005f361
push edi
push esi
lea edi, [ebp - 0x258]
mov byte [ebp - 4], 9
call fcn.10068d48
mov eax, dword [ebp - 0x258]
add eax, 0xfffffff0
call fcn.10084b37
call fcn.10094c6f
ret