Function at 0x4290ea
Capabilities:
Check os version
Get common file path
Get memory capacity

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x6ec
mov dword [ebp - 0x1c], 0x4448f0
mov dword [ebp - 0x140], 0x94
lea eax, [ebp - 0x140]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetVersionExA]
call eax
sub esp, 4
mov eax, dword [ebp - 0x13c]
cmp eax, 4
jne 0x42915c
mov eax, dword [ebp - 0x138]
test eax, eax
jne 0x42915c
mov eax, dword [ebp - 0x130]
cmp eax, 1
jne 0x429141
mov dword [ebp - 0x1c], 0x4448f1
mov eax, dword [ebp - 0x130]
cmp eax, 2
jne 0x429200
mov dword [ebp - 0x1c], 0x4448f4
jmp 0x429200
mov eax, dword [ebp - 0x13c]
cmp eax, 4
jne 0x42917e
mov eax, dword [ebp - 0x138]
cmp eax, 0xa
jne 0x42917e
mov dword [ebp - 0x1c], 0x4448f7
jmp 0x429200
mov eax, dword [ebp - 0x13c]
cmp eax, 4
jne 0x42919d
mov eax, dword [ebp - 0x138]
cmp eax, 0x5a
jne 0x42919d
mov dword [ebp - 0x1c], 0x4448fa
jmp 0x429200
mov eax, dword [ebp - 0x13c]
cmp eax, 5
jne 0x4291bb
mov eax, dword [ebp - 0x138]
test eax, eax
jne 0x4291bb
mov dword [ebp - 0x1c], 0x4448fd
jmp 0x429200
mov eax, dword [ebp - 0x13c]
cmp eax, 5
jne 0x4291da
mov eax, dword [ebp - 0x138]
cmp eax, 1
jne 0x4291da
mov dword [ebp - 0x1c], 0x444900
jmp 0x429200
mov eax, dword [ebp - 0x13c]
cmp eax, 5
jne 0x4291f9
mov eax, dword [ebp - 0x138]
cmp eax, 2
jne 0x4291f9
mov dword [ebp - 0x1c], str.2003
jmp 0x429200
mov dword [ebp - 0x1c], 0x444908
mov eax, dword [ebp - 0x130]
cmp eax, 2
jne 0x429249
movzx eax, byte [ebp - 0x12c]
test al, al
je 0x429249
lea eax, [ebp - 0x140]
add eax, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s___s_
lea eax, [ebp - 0xac]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
lea eax, [ebp - 0xac]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x144], 0x100
mov dword [ebp - 0x244], 0x3f
lea edx, [ebp - 0x240]
mov eax, 0
mov ecx, 0x3f
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [0x44ed64]
test eax, eax
je 0x429298
mov edx, dword [0x44ed64]
lea eax, [ebp - 0x144]
mov dword [esp + 4], eax
lea eax, [ebp - 0x244]
mov dword [esp], eax
call edx
sub esp, 8
mov ebx, dword [0x44edb8]
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00414100
mov dword [esp], eax
call ebx
sub esp, 4
mov dword [ebp - 0x344], eax
mov edx, dword [0x44edfc]
mov dword [esp + 8], 2
mov dword [esp + 4], 4
lea eax, [ebp - 0x344]
mov dword [esp], eax
call edx
sub esp, 0xc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x4292fd
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [esp + 4], eax
lea eax, [ebp - 0x33e]
mov dword [esp], eax
call sub.msvcrt.dll_sprintf
jmp 0x42932b
lea eax, [ebp - 0x33e]
mov dword [eax], 0x6c756f63
mov dword [eax + 4], 0x74276e64
mov dword [eax + 8], 0x73657220
mov dword [eax + 0xc], 0x65766c6f
mov dword [eax + 0x10], 0x736f6820
mov word [eax + 0x14], 0x74
mov dword [esp + 4], 0x104
lea eax, [ebp - 0x448]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
call eax
sub esp, 8
mov dword [esp + 0x14], 0x46
lea eax, [ebp - 0x48e]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.dd:MMM:yyyy
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x409
mov eax, dword [sym.imp.KERNEL32.dll_GetDateFormatA]
call eax
sub esp, 0x18
mov dword [esp + 0x14], 0x46
lea eax, [ebp - 0x4d4]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.HH:mm:ss
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x409
mov eax, dword [sym.imp.KERNEL32.dll_GetTimeFormatA]
call eax
sub esp, 0x18
mov dword [esp + 8], 0x20
mov dword [esp + 4], 0
lea eax, [ebp - 0x4f4]
mov dword [esp], eax
call sub.msvcrt.dll_memset
lea eax, [ebp - 0x4f4]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
call eax
sub esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
lea eax, [ebp - 0x4fe]
mov dword [esp + 4], eax
lea eax, [ebp - 0x448]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__splitpath]
call eax
lea eax, [ebp - 0x67e]
lea edx, [ebp - 0x4fe]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00407f99
mov dword [esp], 0
call fcn.00428d54
mov ebx, eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call fcn.00414100
mov dword [ebp - 0x68c], eax
mov edi, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x690], ecx
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x694], esi
mov eax, dword [ebp - 0x4e8]
shr eax, 0xa
mov edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00407d59
mov dword [ebp - 0x698], eax
mov eax, dword [ebp - 0x4ec]
shr eax, 0xa
mov edx, 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00407d59
mov dword [ebp - 0x69c], eax
call fcn.00428f60
mov ecx, edx
mov edx, eax
mov esi, dword [ebp + 8]
mov dword [esp + 0x4c], ebx
lea eax, [ebp - 0x4d4]
mov dword [esp + 0x48], eax
lea eax, [ebp - 0x48e]
mov dword [esp + 0x44], eax
lea eax, [ebp - 0x244]
mov dword [esp + 0x40], eax
mov ebx, dword [ebp - 0x68c]
mov dword [esp + 0x3c], ebx
lea eax, [ebp - 0x33e]
mov dword [esp + 0x38], eax
lea eax, [ebp - 0x448]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edi
mov ebx, dword [ebp - 0x690]
mov dword [esp + 0x2c], ebx
mov edi, dword [ebp - 0x694]
mov dword [esp + 0x28], edi
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x67e]
sub eax, 0xffffff80
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x67e]
add eax, 0x100
mov dword [esp + 0x1c], eax
mov edi, dword [ebp - 0x698]
mov dword [esp + 0x18], edi
mov eax, dword [ebp - 0x69c]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 8], str._SYSINFO_:__CPU_:__I64uMHz.__RAM_:__sKB_total___sKB_free.__Disk_:__s_total___s_free.__OS_:_Windows__s___d._d__Build__d_.__Sysdir_:__s.__Hostname_:__s___s_.__Current_User_:__s.__Date_:__s.__Time_:__s.__Uptime_:__s.
mov dword [esp + 4], 0x200
mov dword [esp], esi
mov eax, dword [sym.imp.msvcrt.dll__snprintf]
call eax
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret