Function at 0x4f8e38
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], 0x5ef980
call fcn.004ff218
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x61e95b
mov dword [esp], ebx
call fcn.004f60f4
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], 0x61e975
mov dword [esp + 4], 0x61e97e
mov dword [esp], ebx
call fcn.004f61a0
mov eax, dword [esp + 0x94]
cmp eax, 3
jbe 0x4f8fd4
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], 0x61e994
mov dword [esp + 4], 0x61e97e
mov dword [esp], ebx
call fcn.004f61a0
movzx eax, word [esp + 0x30]
cmp ax, 0xa
jbe 0x4f9004
lea esi, [esp + 0x118]
mov dword [esp], esi
call fcn.004fe628
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x61e9a6
mov dword [esp + 4], 0x61e9ab
mov dword [esp], ebx
call fcn.004f643c
test eax, eax
je 0x4f9088
mov dword [esp], esi
call fcn.004fe628
mov dword [esp + 4], esi
mov dword [esp], str.USERNAME
call fcn.0054f1a8
test eax, eax
je 0x4f9034
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x61e9cf
mov dword [esp + 4], 0x61e97e
mov dword [esp], ebx
call fcn.004f61a0
mov dword [esp], esi
call fcn.004fe768
add esp, 0x3f0
pop ebx
pop esi
pop edi
ret
mov dword [esp + 0x10], 1
mov eax, dword [eax*4 + 0x61e9fc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x61e98b
mov dword [esp + 4], 0x61e97e
mov dword [esp], ebx
call fcn.004f61a0
jmp 0x4f8ee0
mov dword [esp + 0x10], 1
mov eax, dword [eax*4 + 0x61ea60]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x61e99e
mov dword [esp + 4], 0x61e97e
mov dword [esp], ebx
call fcn.004f61a0
jmp 0x4f8f3d
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
lea edi, [esp + 0x1ee]
mov dword [esp], edi
mov eax, dword [0x68cbb4]
call dword [eax + 0x9c]
sub esp, 8
test eax, eax
je 0x4f8f94
mov edx, dword [esp + 0x2c]
dec edx
mov eax, dword [0x68cbb4]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4f9134
mov eax, edx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0053f124
jmp 0x4f8f94
mov dword [esp + 0xc], 1
mov dword [esp + 8], str.HOMEDRIVE
mov dword [esp + 4], 0x61e9ab
mov dword [esp], ebx
call fcn.004f643c
test eax, eax
je 0x4f90c0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004fe644
mov dword [esp + 0xc], 1
mov dword [esp + 8], str.HOMEPATH
mov dword [esp + 4], 0x61e9ab
mov dword [esp], ebx
call fcn.004f643c
test eax, eax
je 0x4f90f8
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004fe644
mov edi, dword [esp + 0x11c]
test edi, edi
mov dword [esp + 0x10], 1
jle 0x4f913c
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x61e9a6
mov dword [esp + 4], 0x61e9ab
mov dword [esp], ebx
call fcn.004f61a0
jmp 0x4f8f74
lea eax, [edx + edx]
jmp 0x4f9072
mov dword [esp + 0xc], 0x61e9c2
mov dword [esp + 8], 0x61e9a6
mov dword [esp + 4], 0x61e9ab
mov dword [esp], ebx
call fcn.004f61a0
jmp 0x4f8f74