Function at 0x403eaf
Capabilities:
Get memory capacity
Read .ini file

Disassembly:
sub esp, 0x228
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x224], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x23c]
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push 0x422010
mov dword [0x422010], 0x40
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
xor ebx, ebx
push ebx
push str.ProgMan
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, dword [sym.imp.USER32.dll_FindWindowExW]
push ebx
push str.SHELLDLL_DefView
push ebx
push eax
call esi
push ebx
push str.SysListView32
push ebx
push eax
call esi
push 0x104
mov ebp, 0x422a80
mov dword [0x422c88], eax
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0x5c
push ebx
push ebp
call dword [sym.imp.SHLWAPI.dll_StrRChrW]
sub eax, ebp
and eax, 0xfffffffe
cmp eax, 0x208
jae 0x404290
mov esi, dword [sym.imp.SHLWAPI.dll_StrCpyW]
xor ecx, ecx
push ebp
push 0x422058
mov word [eax + 0x422a80], cx
call esi
push ebp
push 0x422670
call esi
push ebp
mov ebp, 0x422468
push ebp
call esi
mov ebx, 0x422a80
push ebx
push 0x422260
call esi
push ebx
mov ebx, 0x422878
push ebx
call esi
mov esi, dword [sym.imp.SHLWAPI.dll_StrCatW]
push str.Langdefault.lng
push ebx
call esi
push str._ramsaverpro.ini
push 0x422a80
call esi
call fcn.00405f80
push str._ramsaverpro.exe
push 0x422670
call esi
push str._ramsavercp.exe
push ebp
call esi
push str.help_
mov ebp, 0x422260
push ebp
call esi
push ebx
push 0x104
lea eax, [esp + 0x34]
push eax
push 0
push 0x41c6c0
push str.LANGUAGE
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x2c]
push eax
push ebp
call esi
call fcn.00404397
call fcn.00405350
mov dword [0x421c38], edi
call fcn.00402165
test eax, eax
je 0x40428c
push 0x2710
push dword [0x421c38]
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
xor ebp, ebp
mov ebx, eax
push ebp
push dword [0x421c38]
mov eax, 0x80000000
push ebp
push ebp
push ebp
push eax
push ebp
push eax
push 0x16cf0000
push str.RamSaverPro
push str.RamSaverProWndClass
push ebp
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [0x421b34], eax
test eax, eax
je 0x40428c
call fcn.00403e3c
push 0x3b8
push ebp
push 0x421c44
call fcn.00407000
push str.RAM_Saver_Pro
push 0x41cdd4
push 0x64
push 0x421c58
mov dword [0x421c40], 0x3bc
call fcn.00406080
mov eax, dword [0x422020]
xor edx, edx
mov esi, 0xffa80
add esp, 0x1c
div esi
push 0x64
pop ecx
sub ecx, dword [0x422014]
push 0x41c740
push ecx
push eax
mov ecx, 0x41cddc
call fcn.004020bf
push eax
push 0x64
push 0x421d60
call fcn.00406080
mov eax, dword [0x421b34]
add esp, 0x18
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [0x421c44], eax
mov dword [0x421c48], 1
push ebp
push 0x32
mov dword [0x421c4c], 0x17
mov dword [0x421c50], 0x410
call esi
push eax
push 0x31
call esi
push eax
push 1
push 0xbb8
push edi
call dword [sym.imp.USER32.dll_LoadImageW]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov esi, 0x422a80
push esi
push 3
push str.SetNotify
push 0x41c610
mov dword [0x421c54], eax
call edi
test eax, eax
je 0x404155
cmp eax, 3
jne 0x404141
push esi
push 0x41c60c
push str.SetNotify
push 0x41c610
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push 0x421c40
push ebp
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
test eax, eax
je 0x40428c
mov dword [0x421c4c], 7
call fcn.00405701
call fcn.004044cb
call fcn.004044ef
call fcn.00405193
push ebp
push 0x3e8
push 1
push dword [0x421b34]
call dword [sym.imp.USER32.dll_SetTimer]
call fcn.00404671
call fcn.00405b72
call fcn.00405ca7
test eax, eax
jne 0x4041e8
push ebp
push 0x404885
push dword [0x421b34]
push str.DLGG
push dword [0x421c38]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
test eax, eax
je 0x4041dc
mov esi, dword [sym.imp.USER32.dll_KillTimer]
push 1
push dword [0x421b34]
call esi
push 2
push dword [0x421b34]
call esi
mov esi, 0x422a80
jmp 0x40420b
mov dword [0x422054], 1
jmp 0x40420b
mov edx, 0x41c60c
mov dword [0x422054], 1
mov ecx, str.rvsmr
call fcn.00401e04
mov dword [0x422050], 1
push esi
push ebp
push str.RamStart
push 0x41c610
call edi
test eax, eax
je 0x404228
mov ecx, dword [0x421b34]
call fcn.00405491
call fcn.00404368
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
jmp 0x40425f
lea eax, [esp + 0x10]
push eax
push ebx
push dword [esp + 0x18]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x40425f
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebp
push ebp
push ebp
lea eax, [esp + 0x1c]
push eax
call esi
test eax, eax
jne 0x404235
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x234]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004060ae
add esp, 0x228
ret 0x10
xor eax, eax
jmp 0x404271
call fcn.004061de
int3