Function at 0x401f1f
Capabilities:
Get memory capacity
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2d4
push ebx
push esi
lea eax, [ebp - 0x18]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx eax, word [ebp - 0xe]
push eax
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
movzx eax, word [ebp - 0x10]
push eax
movzx eax, word [ebp - 0x18]
push eax
movzx eax, word [ebp - 0x12]
push eax
movzx eax, word [ebp - 0x16]
push eax
lea eax, [ebp - 0x1cc]
push str._nCurrent_date_time:__02d__02d__04d__02d:_02d_r_n
push eax
call edi
add esp, 0x1c
xor ebx, ebx
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
lea eax, [ebp - 0x2d4]
push 0x105
push eax
mov byte [ebp - 0x2d4], bl
push dword [0x409b60]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x2d4]
push eax
lea eax, [ebp - 0x1cc]
push str.Module_name___s_r_n
push eax
call edi
add esp, 0xc
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
push dword [0x409dcc]
lea eax, [ebp - 0x1cc]
push dword [0x409dc8]
push str._nOperating_System_Version__d._02d_r_n
push eax
call edi
add esp, 0x10
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
mov dword [ebp - 8], eax
jae 0x402034
push str.Windows_NT_r_n
jmp 0x402044
cmp al, 4
jae 0x40203f
push str.Win32s_r_n
jmp 0x402044
push str.Windows_95_98_r_n
lea eax, [ebp - 0x1cc]
push eax
call edi
pop ecx
lea eax, [ebp - 4]
pop ecx
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
xor eax, eax
mov al, byte [ebp - 7]
movzx eax, al
push eax
movzx eax, byte [ebp - 8]
push eax
lea eax, [ebp - 0x1cc]
push str._Version__d._d_r_n
push eax
call edi
add esp, 0x10
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 0x20
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push dword [ebp - 0x34]
lea eax, [ebp - 0x1cc]
push str.Memory_in_use___ld___r_n
push eax
call edi
add esp, 0xc
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
mov eax, dword [ebp - 0x30]
shr eax, 0xa
push eax
lea eax, [ebp - 0x1cc]
push str.Total_physical_memory___ld_Kbytes_r_n
push eax
call edi
add esp, 0xc
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
mov eax, dword [ebp - 0x2c]
shr eax, 0xa
push eax
lea eax, [ebp - 0x1cc]
push str.Physical_memory_available___ld_Kbytes_r_n
push eax
call edi
add esp, 0xc
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
mov eax, dword [ebp - 0x20]
shr eax, 0xa
push eax
lea eax, [ebp - 0x1cc]
push str.Total_virtual_memory___ld_Kbytes_r_n
push eax
call edi
add esp, 0xc
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
mov eax, dword [ebp - 0x1c]
shr eax, 0xa
push eax
lea eax, [ebp - 0x1cc]
push str.Virtual_memory_available___ld_Kbytes_r_n
push eax
call edi
add esp, 0xc
lea eax, [ebp - 4]
push ebx
push eax
lea eax, [ebp - 0x1cc]
push eax
call fcn.00405d00
pop ecx
push eax
lea eax, [ebp - 0x1cc]
push eax
push dword [ebp + 8]
call esi
pop edi
pop esi
pop ebx
leave
ret