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

Disassembly:
push ebp
lea ebp, [esp - 0x258]
sub esp, 0x2d8
mov eax, dword [0x40fc70]
push ebx
push esi
mov dword [ebp + 0x254], eax
push edi
lea eax, [ebp - 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
movzx eax, word [ebp - 0x56]
push eax
movzx eax, word [ebp - 0x58]
push eax
movzx eax, word [ebp - 0x60]
push eax
movzx eax, word [ebp - 0x5a]
push eax
movzx eax, word [ebp - 0x5e]
push eax
push str._nCurrent_date_time:__02d__02d__04d__02d:_02d_r_n
mov edi, 0x191
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040aa91
add esp, 0x20
test eax, eax
jge 0x401811
push 0xc9c
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
xor ebx, ebx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
push 0x105
lea eax, [ebp - 0x48]
push eax
push dword [0x410300]
mov byte [ebp - 0x48], bl
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x48]
push eax
push str.Module_name___s_r_n
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040aa91
add esp, 0x10
test eax, eax
jge 0x401881
push 0xca6
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
push dword [0x411c8c]
lea eax, [ebp + 0xc0]
push dword [0x411c88]
push str._nOperating_System_Version__d._02d_r_n
push edi
push eax
call fcn.0040aa91
add esp, 0x14
test eax, eax
jge 0x4018d9
push 0xcad
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
mov dword [ebp - 0x50], eax
jae 0x40192b
push str.Windows_NT_r_n
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040aa91
add esp, 0xc
test eax, eax
jge 0x401973
push 0xcb6
jmp 0x401967
cmp al, 4
lea eax, [ebp + 0xc0]
jae 0x40194f
push str.Win32s_r_n
push edi
push eax
call fcn.0040aa91
add esp, 0xc
test eax, eax
jge 0x401973
push 0xcb9
jmp 0x401967
push str.Windows_95_98_r_n
push edi
push eax
call fcn.0040aa91
add esp, 0xc
test eax, eax
jge 0x401973
push 0xcbc
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
movzx eax, byte [ebp - 0x4f]
push eax
movzx eax, byte [ebp - 0x50]
push eax
push str._Version__d._d_r_n
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040aa91
add esp, 0x14
test eax, eax
jge 0x4019c9
push 0xcc1
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x80], 0x20
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
push dword [ebp - 0x7c]
lea eax, [ebp + 0xc0]
push str.Memory_in_use___ld___r_n
push edi
push eax
call fcn.0040aa91
add esp, 0x10
test eax, eax
jge 0x401a29
push 0xcc8
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
mov eax, dword [ebp - 0x78]
shr eax, 0xa
push eax
push str.Total_physical_memory___ld_Kbytes_r_n
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040aa91
add esp, 0x10
test eax, eax
jge 0x401a7c
push 0xccc
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
mov eax, dword [ebp - 0x74]
shr eax, 0xa
push eax
push str.Physical_memory_available___ld_Kbytes_r_n
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040aa91
add esp, 0x10
test eax, eax
jge 0x401acf
push 0xcd0
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
mov eax, dword [ebp - 0x68]
shr eax, 0xa
push eax
push str.Total_virtual_memory___ld_Kbytes_r_n
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040aa91
add esp, 0x10
test eax, eax
jge 0x401b22
push 0xcd4
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
mov eax, dword [ebp - 0x64]
shr eax, 0xa
push eax
push str.Virtual_memory_available___ld_Kbytes_r_n
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040aa91
add esp, 0x10
test eax, eax
jge 0x401b75
push 0xcd8
push str.sfxhead.c
call fcn.00401dfc
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406ea0
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
mov ecx, dword [ebp + 0x254]
pop edi
pop esi
pop ebx
call fcn.00406c7b
add ebp, 0x258
leave
ret