Function at 0x4f864c
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], 0x5e03e0
call fcn.004fea2c
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x60f21b
mov dword [esp], ebx
call fcn.004f5908
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], 0x60f23e
mov dword [esp], ebx
call fcn.004f59b4
mov eax, dword [esp + 0x94]
cmp eax, 3
jbe 0x4f87e8
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], 0x60f254
mov dword [esp + 4], 0x60f23e
mov dword [esp], ebx
call fcn.004f59b4
movzx eax, word [esp + 0x30]
cmp ax, 0xa
jbe 0x4f8818
lea esi, [esp + 0x118]
mov dword [esp], esi
call fcn.004fde3c
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x60f266
mov dword [esp + 4], 0x60f26b
mov dword [esp], ebx
call fcn.004f5c50
test eax, eax
je 0x4f889c
mov dword [esp], esi
call fcn.004fde3c
mov dword [esp + 4], esi
mov dword [esp], str.USERNAME
call fcn.0054e848
test eax, eax
je 0x4f8848
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x60f28f
mov dword [esp + 4], 0x60f23e
mov dword [esp], ebx
call fcn.004f59b4
mov dword [esp], esi
call fcn.004fdf7c
add esp, 0x3f0
pop ebx
pop esi
pop edi
ret
mov dword [esp + 0x10], 1
mov eax, dword [eax*4 + 0x60f2bc]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x60f24b
mov dword [esp + 4], 0x60f23e
mov dword [esp], ebx
call fcn.004f59b4
jmp 0x4f86f4
mov dword [esp + 0x10], 1
mov eax, dword [eax*4 + 0x60f320]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x60f25e
mov dword [esp + 4], 0x60f23e
mov dword [esp], ebx
call fcn.004f59b4
jmp 0x4f8751
lea eax, [esp + 0x2c]
mov dword [esp + 4], eax
lea edi, [esp + 0x1ee]
mov dword [esp], edi
mov eax, dword [0x67fbb4]
call dword [eax + 0x9c]
sub esp, 8
test eax, eax
je 0x4f87a8
mov edx, dword [esp + 0x2c]
dec edx
mov eax, dword [0x67fbb4]
mov ecx, dword [eax]
test ecx, ecx
jne 0x4f8948
mov eax, edx
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.0053e7c4
jmp 0x4f87a8
mov dword [esp + 0xc], 1
mov dword [esp + 8], str.HOMEDRIVE
mov dword [esp + 4], 0x60f26b
mov dword [esp], ebx
call fcn.004f5c50
test eax, eax
je 0x4f88d4
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004fde58
mov dword [esp + 0xc], 1
mov dword [esp + 8], str.HOMEPATH
mov dword [esp + 4], 0x60f26b
mov dword [esp], ebx
call fcn.004f5c50
test eax, eax
je 0x4f890c
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004fde58
mov edi, dword [esp + 0x11c]
test edi, edi
mov dword [esp + 0x10], 1
jle 0x4f8950
mov eax, dword [esp + 0x118]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x60f266
mov dword [esp + 4], 0x60f26b
mov dword [esp], ebx
call fcn.004f59b4
jmp 0x4f8788
lea eax, [edx + edx]
jmp 0x4f8886
mov dword [esp + 0xc], 0x60f282
mov dword [esp + 8], 0x60f266
mov dword [esp + 4], 0x60f26b
mov dword [esp], ebx
call fcn.004f59b4
jmp 0x4f8788