Function at 0x1000d7f0
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, 0x5f4
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersionExA]
push ebp
push esi
lea eax, [esp + 0xa4]
push edi
mov ebp, 0x9c
push eax
mov byte [esp + 0xa8], 0x66
mov byte [esp + 0x196], 0
mov dword [esp + 0xac], ebp
call ebx
mov edx, dword [esp + 0x608]
lea ecx, [esp + 0x504]
push pe_nt_image_headers32
push ecx
push edx
call fcn.1000d450
xor eax, eax
add esp, 0xc
mov dword [esp + 0x30], eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x34], eax
push ecx
mov dword [esp + 0x3c], eax
lea edx, [esp + 0x34]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x610]
push edx
mov dword [esp + 0x2c], 0x10
mov ecx, dword [eax + 0xa8]
push ecx
call dword [sym.imp.WS2_32.dll_getsockname]
mov edx, dword [esp + 0x34]
mov ecx, 0xc
lea esi, [esp + 0x504]
lea edi, [esp + 0x160]
mov dword [esp + 0x15c], edx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call fcn.1000d3b0
mov dword [esp + 0x144], eax
lea eax, [esp + 0x33c]
push eax
mov dword [esp + 0x340], ebp
call ebx
mov eax, dword [esp + 0x340]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
cmp eax, 5
jne 0x1000d8ec
mov eax, dword [esp + 0x344]
test eax, eax
jne 0x1000d8ec
lea ecx, [esp + 0x148]
push 0x1001abdc
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x1000d914
lea edx, [esp + 0x80]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [esp + 0x94]
lea ecx, [esp + 0x148]
push eax
push 0x1001a880
push ecx
call edi
add esp, 0xc
lea edx, [esp + 0x40]
mov dword [esp + 0x40], 0x40
push edx
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov ecx, 0x14
call fcn.10015700
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x198], eax
xor ebp, ebp
mov dword [esp + 0x14], ebx
mov al, bl
lea ecx, [esp + 0x18]
add al, 0x42
push ecx
mov byte [esp + 0x1c], al
mov byte [esp + 0x1d], 0x3a
mov byte [esp + 0x1e], 0x5c
mov byte [esp + 0x1f], 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 3
jne 0x1000d9ab
lea edx, [esp + 0x28]
push 0
push edx
lea eax, [esp + 0x20]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x1000d9ab
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
add ebp, ecx
adc edx, eax
mov ecx, 0x14
mov eax, ebp
mov dword [esp + 0x14], edx
call fcn.10015700
mov esi, eax
inc ebx
cmp ebx, 0x1a
jl 0x1000d94a
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0
fild qword [esp + 0x10]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x19c], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
mov eax, 0x31b5d43b
imul esi
sar edx, 0x18
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
push edx
lea edx, [esp + 0x3dc]
push 0x1001a880
push edx
call edi
mov eax, esi
mov ecx, 0x5265c00
cdq
idiv ecx
mov eax, 0x4a90be59
lea ecx, [esp + 0x4ac]
mov esi, edx
imul esi
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x1001a880
push ecx
call edi
mov eax, esi
mov ecx, 0x36ee80
cdq
idiv ecx
mov eax, 0x45e7b273
lea ecx, [esp + 0x454]
imul edx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push 0x1001a880
push ecx
call edi
lea edx, [esp + 0x460]
lea eax, [esp + 0x4c4]
push edx
lea ecx, [esp + 0x400]
push eax
push ecx
lea edx, [esp + 0x1d0]
push 0x1001abc8
push edx
call edi
call fcn.1000d570
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x324]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.1000d410
mov ecx, dword [esp + 0x648]
mov byte [esp + 0x1ca], al
mov dword [esp + 0x1cc], ecx
push 0x20
lea edx, [esp + 0x308]
mov eax, dword [esp + 0x644]
push edx
push eax
call fcn.1000d4f0
add esp, 0x44
lea ecx, [esp + 0xa4]
push 0x298
push ecx
mov ecx, dword [esp + 0x614]
call fcn.10002510
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5f4
ret