Function at 0x4f80e4
Capabilities:
Check os version
Get system information on windows

Disassembly:
push edi
push esi
push ebx
sub esp, 0x3f0
mov ebx, dword [esp + 0x400]
mov dword [esp + 0x2c], 0x100
mov dword [esp], 0x5dec20
call fcn.004fe3e8
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x60cf5b
mov dword [esp], ebx
call fcn.004f53ac
mov dword [esp + 0x84], 0x94
lea eax, [esp + 0x84]
mov dword [esp], eax
call sub.KERNEL32.dll_GetVersionExA
push eax
lea eax, [esp + 0x30]
mov dword [esp], eax
call sub.KERNEL32.dll_GetSystemInfo
push eax
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], str.windows
mov dword [esp + 8], str.platform
mov dword [esp + 4], 0x60cf7e
mov dword [esp], ebx
call fcn.004f5458
mov eax, dword [esp + 0x94]
cmp eax, 3
jbe 0x4f8280
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
mov dword [esp + 4], str._d._d
lea esi, [esp + 0x54]
mov dword [esp], esi
call sub.USER32.dll_wsprintfA
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0x60cf94
mov dword [esp + 4], 0x60cf7e
mov dword [esp], ebx
call fcn.004f5458
movzx eax, word [esp + 0x30]
cmp ax, 0xa
jbe 0x4f82b0
lea esi, [esp + 0x118]
mov dword [esp], esi
call fcn.004fd824
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x60cfa6
mov dword [esp + 4], 0x60cfab
mov dword [esp], ebx
call fcn.004f56f4
test eax, eax
je 0x4f8334
mov dword [esp], esi
call fcn.004fd824
mov dword [esp + 4], esi
mov dword [esp], str.USERNAME
call fcn.0054cfa0
test eax, eax
je 0x4f82e0
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x60cfcf
mov dword [esp + 4], 0x60cf7e
mov dword [esp], ebx
call fcn.004f5458
mov dword [esp], esi
call fcn.004fd958
add esp, 0x3f0
pop ebx
pop esi
pop edi
ret
mov dword [esp + 0x10], 1
mov eax, dword [eax*4 + 0x60cffc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x60cf8b
mov dword [esp + 4], 0x60cf7e
mov dword [esp], ebx
call fcn.004f5458
jmp 0x4f818c
mov dword [esp + 0x10], 1
mov eax, dword [eax*4 + 0x60d060]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x60cf9e
mov dword [esp + 4], 0x60cf7e
mov dword [esp], ebx
call fcn.004f5458
jmp 0x4f81e9
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
lea edi, [esp + 0x1ee]
mov dword [esp], edi
mov eax, dword [0x67c530]
call dword [eax + 0x9c]
sub esp, 8
test eax, eax
je 0x4f8240
mov edx, dword [esp + 0x2c]
dec edx
mov eax, dword [0x67c530]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4f83e0
mov eax, edx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0053cb58
jmp 0x4f8240
mov dword [esp + 0xc], 1
mov dword [esp + 8], str.HOMEDRIVE
mov dword [esp + 4], 0x60cfab
mov dword [esp], ebx
call fcn.004f56f4
test eax, eax
je 0x4f836c
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004fd840
mov dword [esp + 0xc], 1
mov dword [esp + 8], str.HOMEPATH
mov dword [esp + 4], 0x60cfab
mov dword [esp], ebx
call fcn.004f56f4
test eax, eax
je 0x4f83a4
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004fd840
mov edi, dword [esp + 0x11c]
test edi, edi
mov dword [esp + 0x10], 1
jle 0x4f83e8
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x60cfa6
mov dword [esp + 4], 0x60cfab
mov dword [esp], ebx
call fcn.004f5458
jmp 0x4f8220
lea eax, [edx + edx]
jmp 0x4f831e
mov dword [esp + 0xc], 0x60cfc2
mov dword [esp + 8], 0x60cfa6
mov dword [esp + 4], 0x60cfab
mov dword [esp], ebx
call fcn.004f5458
jmp 0x4f8220