Function at 0x40e7a0
Capabilities:
Get common file path
Get memory capacity
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x432348
mov eax, dword fs:[0]
push eax
sub esp, 0x4a8
mov eax, dword [0x448034]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push eax
call sub.MSVCR110.dll_memset
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x468], 7
mov dword [ebp - 0x46c], 0
mov word [ebp - 0x47c], ax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x47c]
push eax
call fcn.004262c0
cmp dword [ebp - 0x468], 8
lea eax, [ebp - 0x47c]
cmovae eax, dword [ebp - 0x47c]
mov dword [ebp - 0x4a4], eax
lea eax, [ebp - 0x4a4]
push eax
push ecx
lea ecx, [ebp - 0x454]
call fcn.00410b80
push eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.00410d80
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x4a8]
push eax
mov ecx, edi
call fcn.00410f60
mov byte [ebp - 4], 0
cmp dword [ebp - 0x428], 8
mov esi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
jb 0x40e886
push dword [ebp - 0x43c]
call esi
add esp, 4
xor eax, eax
cmp dword [ebp - 0x440], 8
mov dword [ebp - 0x428], 7
mov dword [ebp - 0x42c], 0
mov word [ebp - 0x43c], ax
jb 0x40e8b7
push dword [ebp - 0x454]
call esi
add esp, 4
lea eax, [ebp - 0x4a0]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push dword [ebp - 0x48c]
lea eax, [ebp - 0x21c]
push 0x437190
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_swprintf_s]
add esp, 0xc
lea eax, [ebp - 0x21c]
push eax
push str.proc_number
lea ecx, [ebp - 0x454]
call fcn.00410600
push eax
mov ecx, edi
mov byte [ebp - 4], 2
call fcn.00410d80
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x4a8]
push eax
mov ecx, edi
call fcn.00410f60
mov byte [ebp - 4], 0
cmp dword [ebp - 0x428], 8
jb 0x40e933
push dword [ebp - 0x43c]
call esi
add esp, 4
xor eax, eax
cmp dword [ebp - 0x440], 8
mov dword [ebp - 0x428], 7
mov dword [ebp - 0x42c], 0
mov word [ebp - 0x43c], ax
jb 0x40e964
push dword [ebp - 0x454]
call esi
add esp, 4
push 0x38
lea eax, [ebp - 0x45c]
push 0
push eax
mov dword [ebp - 0x464], 0x40
mov dword [ebp - 0x460], 0
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x464]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
mov edx, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x450]
mov ebx, dword [ebp - 0x45c]
shrd edx, ecx, 0x14
shr ecx, 0x14
mov ecx, dword [ebp - 0x458]
shrd ebx, ecx, 0x14
shr ecx, 0x14
test eax, eax
je 0x40eaf0
push edx
lea eax, [ebp - 0x21c]
push 0x4379cc
push eax
call fcn.00410c30
add esp, 8
lea eax, [ebp - 0x21c]
push eax
push str.mem_avail
lea ecx, [ebp - 0x454]
call fcn.00410600
push eax
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.00410d80
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x4a8]
push eax
mov ecx, edi
call fcn.00410f60
mov byte [ebp - 4], 0
cmp dword [ebp - 0x428], 8
jb 0x40ea2a
push dword [ebp - 0x43c]
call esi
add esp, 4
xor eax, eax
cmp dword [ebp - 0x440], 8
mov dword [ebp - 0x428], 7
mov dword [ebp - 0x42c], 0
mov word [ebp - 0x43c], ax
jb 0x40ea5b
push dword [ebp - 0x454]
call esi
add esp, 4
push ebx
lea eax, [ebp - 0x21c]
push 0x4379cc
push eax
call fcn.00410c30
add esp, 8
lea eax, [ebp - 0x21c]
push eax
push str.mem_total
lea ecx, [ebp - 0x454]
call fcn.00410600
push eax
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.00410d80
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x4a8]
push eax
mov ecx, edi
call fcn.00410f60
mov byte [ebp - 4], 0
cmp dword [ebp - 0x428], 8
jb 0x40eabf
push dword [ebp - 0x43c]
call esi
add esp, 4
xor eax, eax
cmp dword [ebp - 0x440], 8
mov dword [ebp - 0x428], 7
mov dword [ebp - 0x42c], 0
mov word [ebp - 0x43c], ax
jb 0x40eaf0
push dword [ebp - 0x454]
call esi
add esp, 4
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
lea eax, [ebp - 0x424]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
mov word [ebp - 0x420], ax
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x428], 7
mov dword [ebp - 0x42c], eax
mov word [ebp - 0x43c], ax
cmp word [ebp - 0x424], ax
jne 0x40eb59
xor ecx, ecx
jmp 0x40eb71
lea ecx, [ebp - 0x424]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40eb62
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x43c]
call fcn.00402fc0
lea eax, [ebp - 0x4a4]
push eax
lea edx, [ebp - 0x4ac]
lea ecx, [ebp - 0x43c]
mov byte [ebp - 4], 5
call fcn.004260a0
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x428], 8
mov ebx, eax
jb 0x40ebbd
push dword [ebp - 0x43c]
call esi
add esp, 4
test ebx, ebx
je 0x40ec81
push dword [ebp - 0x4ac]
lea eax, [ebp - 0x21c]
push 0x4379cc
push eax
call fcn.00410c30
add esp, 8
lea eax, [ebp - 0x21c]
push eax
push str.sys_disk_avail
lea ecx, [ebp - 0x454]
call fcn.00410600
push eax
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.00410d80
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x4b0]
push eax
mov ecx, edi
call fcn.00410f60
lea ecx, [ebp - 0x454]
mov byte [ebp - 4], 0
call fcn.0040df20
push dword [ebp - 0x4a4]
lea eax, [ebp - 0x21c]
push 0x4379cc
push eax
call fcn.00410c30
add esp, 8
lea eax, [ebp - 0x21c]
push eax
push str.sys_disk_total
lea ecx, [ebp - 0x454]
call fcn.00410600
push eax
mov ecx, edi
mov byte [ebp - 4], 7
call fcn.00410d80
push eax
add eax, 0x10
push eax
push ecx
lea eax, [ebp - 0x4a8]
push eax
mov ecx, edi
call fcn.00410f60
lea ecx, [ebp - 0x454]
call fcn.0040df20
cmp dword [ebp - 0x468], 8
jb 0x40ec95
push dword [ebp - 0x47c]
call esi
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042ef5e
mov esp, ebp
pop ebp
ret 4