Function at 0x42d617
Capabilities:
Get disk information
Get disk size
Get geographical location
Get memory capacity
Get system information on windows

Disassembly:
mov eax, 0x49b3b8
call fcn.00497330
sub esp, 0xd8
push ebx
push esi
xor ebx, ebx
push edi
mov dword [ebp - 0x14], ebx
mov edi, 0x4cbf80
mov dword [ebp - 0x40], edi
mov dword [0x4cbf80], ebx
push 0xf
pop esi
mov dword [0x4cbf90], ebx
mov dword [0x4cbf94], esi
mov dword [ebp - 4], 1
mov dword [0x4cbf98], ebx
mov dword [0x4cbfa8], ebx
mov dword [0x4cbfac], esi
mov dword [0x4cbff8], ebx
mov dword [0x4cc008], ebx
mov dword [0x4cc00c], esi
mov dword [0x4cc010], ebx
mov dword [0x4cc020], ebx
mov dword [0x4cc024], esi
mov dword [0x4cc02c], ebx
mov dword [0x4cc030], ebx
mov dword [0x4cc034], ebx
mov eax, 0xffff
mov dword [0x4cbfc8], ebx
push 0x58
mov dword [0x4cbfcc], ebx
mov dword [0x4cbfd0], ebx
mov dword [0x4cbfd4], ebx
mov byte [0x4cbfd8], bl
mov word [0x4cbfda], ax
mov dword [0x4cbfec], ebx
mov dword [0x4cbff0], ebx
mov dword [0x4cbff4], ebx
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
setne byte [0x4cc028]
mov dword [ebp - 0x3c], ebx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], esi
mov byte [ebp - 0x3c], bl
mov dword [ebp - 0x14], 1
call fcn.00416c04
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x48], ebx
jbe 0x42d733
cmp dword [ebp - 0x44], 8
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x7c]
cmovae edx, dword [ebp - 0x58]
call fcn.00416d9d
push eax
lea ecx, [ebp - 0x3c]
call fcn.0041550b
lea ecx, [ebp - 0x7c]
call fcn.00403b90
lea ecx, [ebp - 0x58]
call fcn.004045a0
lea eax, [ebp - 0x3c]
mov ecx, edi
push eax
call fcn.0041550b
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 8
call fcn.00403b90
push str.kernel32
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x42d792
push 0x4ba340
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x42d792
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x42d792
cmp dword [ebp - 0x14], 1
sete byte [0x4cbfd8]
lea eax, [ebp - 0xe0]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ax, word [ebp - 0xe0]
push 0x10
push 0x4cbfdc
push 0x59
push 0x400
mov word [0x4cbfda], ax
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
push ebx
push ebx
push ebx
push ebx
push 0x4cbfec
push ebx
push ebx
push 0x4ba350
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
lea eax, [ebp - 0xbc]
mov dword [0x4cbfb0], ebx
push eax
mov dword [0x4cbfb4], ebx
mov dword [ebp - 0xbc], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
test eax, eax
je 0x42d814
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dword [0x4cbfb0], eax
mov dword [0x4cbfb4], ecx
lea eax, [ebp - 0x64]
mov dword [0x4cbfb8], ebx
push eax
lea eax, [ebp - 0x1c]
mov dword [0x4cbfbc], ebx
push eax
lea eax, [ebp - 0x24]
mov dword [0x4cbfc0], ebx
push eax
push 0x4b9124
mov dword [0x4cbfc4], ebx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x42d86b
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x18]
mov dword [0x4cbfb8], ecx
mov ecx, dword [ebp - 0x24]
mov dword [0x4cbfbc], edx
mov edx, dword [ebp - 0x20]
mov dword [0x4cbfc0], ecx
mov dword [0x4cbfc4], edx
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret