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

Disassembly:
push ebp
lea ebp, [esp - 0x258]
sub esp, 0x2d8
mov eax, dword [0x40ebe8]
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.0040a2c1
add esp, 0x20
test eax, eax
jge 0x4017f0
push 0xc9c
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
xor ebx, ebx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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 [0x40f280]
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.0040a2c1
add esp, 0x10
test eax, eax
jge 0x401860
push 0xca6
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
pop ecx
push eax
lea eax, [ebp + 0xc0]
push eax
push dword [ebp + 0x260]
call esi
push dword [0x410c5c]
lea eax, [ebp + 0xc0]
push dword [0x410c58]
push str._nOperating_System_Version__d._02d_r_n
push edi
push eax
call fcn.0040a2c1
add esp, 0x14
test eax, eax
jge 0x4018b8
push 0xcad
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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 0x40190a
push str.Windows_NT_r_n
lea eax, [ebp + 0xc0]
push edi
push eax
call fcn.0040a2c1
add esp, 0xc
test eax, eax
jge 0x401952
push 0xcb6
jmp 0x401946
cmp al, 4
lea eax, [ebp + 0xc0]
jae 0x40192e
push str.Win32s_r_n
push edi
push eax
call fcn.0040a2c1
add esp, 0xc
test eax, eax
jge 0x401952
push 0xcb9
jmp 0x401946
push str.Windows_95_98_r_n
push edi
push eax
call fcn.0040a2c1
add esp, 0xc
test eax, eax
jge 0x401952
push 0xcbc
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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.0040a2c1
add esp, 0x14
test eax, eax
jge 0x4019a8
push 0xcc1
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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.0040a2c1
add esp, 0x10
test eax, eax
jge 0x401a08
push 0xcc8
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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.0040a2c1
add esp, 0x10
test eax, eax
jge 0x401a5b
push 0xccc
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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.0040a2c1
add esp, 0x10
test eax, eax
jge 0x401aae
push 0xcd0
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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.0040a2c1
add esp, 0x10
test eax, eax
jge 0x401b01
push 0xcd4
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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.0040a2c1
add esp, 0x10
test eax, eax
jge 0x401b54
push 0xcd8
push str.sfxhead.c
call fcn.00401c0e
pop ecx
pop ecx
push ebx
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp + 0xc0]
push eax
call fcn.00406760
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.0040653a
add ebp, 0x258
leave
ret