Function at 0x404d70
Capabilities:
Check os version
Get disk information
Get disk size
Get local ipv4 addresses
Get memory capacity
Get socket information
Get system information on windows

Disassembly:
sub esp, 0x744
mov eax, dword [esp + 0x748]
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
push ebp
push esi
push edi
lea ecx, [esp + 0x454]
xor ebp, ebp
mov edi, 0x9c
push eax
push ecx
mov byte [esp + 0x1c], 0x25
mov byte [esp + 0x1d], 0x64
mov byte [esp + 0x1e], 0
mov byte [esp + 0xcc], 0x66
mov dword [esp + 0x1c4], ebp
mov dword [esp + 0xd0], edi
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_GetVersionExA]
lea edx, [esp + 0xc8]
push edx
call esi
lea eax, [esp + 0x654]
push 0x100
lea ecx, [esp + 0x458]
push eax
push ecx
call fcn.00404c00
xor edx, edx
add esp, 0xc
mov dword [esp + 0x40], edx
lea eax, [esp + 0x34]
mov dword [esp + 0x44], edx
push eax
mov dword [esp + 0x4c], edx
lea ecx, [esp + 0x44]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x760]
push ecx
mov dword [esp + 0x3c], 0x10
mov eax, dword [edx + 0xa8]
push eax
call dword [sym.imp.WS2_32.dll_getsockname]
lea ecx, [esp + 0x44]
push 4
lea edx, [esp + 0x180]
push ecx
mov ecx, dword [0x40ab54]
push edx
call fcn.004043d0
lea eax, [esp + 0x654]
push 0x32
lea ecx, [esp + 0x184]
push eax
push ecx
mov ecx, dword [0x40ab54]
call fcn.004043d0
call fcn.00404830
lea edx, [esp + 0x28c]
mov dword [esp + 0x164], eax
push edx
mov dword [esp + 0x290], edi
call esi
mov eax, dword [esp + 0x290]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
cmp eax, 5
jne 0x404ead
cmp dword [esp + 0x294], ebp
jne 0x404ead
lea eax, [esp + 0x10]
lea ecx, [esp + 0x168]
push eax
push ecx
mov byte [esp + 0x18], 0x31
mov byte [esp + 0x19], 0
call ebx
jmp 0x404ee4
lea edx, [esp + 0xa0]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x16c]
push ecx
push edx
mov byte [esp + 0x1c], 0x25
mov byte [esp + 0x1d], 0x64
mov byte [esp + 0x1e], 0
call edi
add esp, 0xc
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 0x40
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov ecx, 0x14
call fcn.004078d0
mov esi, dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov dword [esp + 0x1b4], eax
xor ebx, ebx
mov cl, bl
lea edx, [esp + 0x28]
add cl, 0x42
push edx
mov byte [esp + 0x2c], cl
mov byte [esp + 0x2d], 0x3a
mov byte [esp + 0x2e], 0x5c
mov byte [esp + 0x2f], 0
call esi
cmp eax, 3
jne 0x404f6a
lea eax, [esp + 0x50]
lea ecx, [esp + 0x38]
push eax
lea edx, [esp + 0x5c]
push ecx
lea eax, [esp + 0x30]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ecx, 0x14
call fcn.004078d0
add ebp, eax
inc ebx
cmp ebx, 0x1a
jl 0x404f18
mov dword [esp + 0x1b8], ebp
call fcn.00404990
mov ecx, dword [esp + 0x760]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov eax, 0x31b5d43b
mul esi
shr edx, 0x18
push edx
lea edx, [esp + 0x18]
lea eax, [esp + 0x3f4]
push edx
push eax
call edi
mov eax, esi
xor edx, edx
mov ecx, 0x5265c00
div ecx
mov eax, 0x95217cb1
mov esi, edx
mul esi
shr edx, 0x15
push edx
lea edx, [esp + 0x24]
lea eax, [esp + 0x39c]
push edx
push eax
call edi
mov eax, esi
xor edx, edx
mov ecx, 0x36ee80
div ecx
mov eax, 0x45e7b273
mul edx
shr edx, 0xe
push edx
lea edx, [esp + 0x30]
lea eax, [esp + 0x344]
push edx
push eax
call edi
lea ecx, [esp + 0x34c]
mov al, 0x73
push 0x40a58c
push ecx
lea edx, [esp + 0x3b8]
mov byte [esp + 0x45], al
mov byte [esp + 0x47], al
mov byte [esp + 0x49], al
mov byte [esp + 0x4b], al
mov byte [esp + 0x4d], al
mov byte [esp + 0x4f], al
push 0x40a588
push edx
lea eax, [esp + 0x424]
push 0x40a584
lea ecx, [esp + 0x50]
push eax
lea edx, [esp + 0x296]
push ecx
push edx
mov byte [esp + 0x5c], 0x25
mov byte [esp + 0x5e], 0x25
mov byte [esp + 0x60], 0x25
mov byte [esp + 0x62], 0x25
mov byte [esp + 0x64], 0x25
mov byte [esp + 0x66], 0x25
mov byte [esp + 0x68], 0
call edi
mov eax, dword [esp + 0x7a8]
add esp, 0x44
lea ecx, [esp + 0x1c4]
push eax
push ecx
mov ecx, dword [0x40ab54]
call fcn.00404550
lea edx, [esp + 0x1f6]
push 0x32
push edx
lea eax, [esp + 0x45c]
push eax
call fcn.00404cf0
lea ecx, [esp + 0x560]
push 0x100
lea edx, [esp + 0x464]
push ecx
push edx
call fcn.00404c60
add esp, 0x18
test eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov eax, 0x40a570
je 0x4050d8
lea eax, [esp + 0x544]
mov ecx, dword [0x40ab54]
push eax
lea eax, [esp + 0x21c]
push eax
call fcn.00404550
lea ecx, [esp + 0xb4]
push 0x1c8
push ecx
mov ecx, dword [esp + 0x754]
call fcn.004020b0
add esp, 0x744
ret