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

Disassembly:
mov eax, 0x6a7bb2
call fcn.006426c4
sub esp, 0x160
push ebx
push esi
push edi
push 0xf
mov dword [ebp - 0x14], ecx
lea ebx, [ecx + 4]
pop esi
xor edx, edx
mov dword [ecx], 0x6de89c
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x10], edx
cmp esi, 0x10
jb 0x4ce5d3
mov eax, dword [ebx]
jmp 0x4ce5d5
mov eax, ebx
mov byte [eax], dl
mov dword [ebp - 4], edx
lea eax, [ecx + 0x1c]
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], edx
cmp esi, 0x10
jb 0x4ce5ea
mov eax, dword [eax]
mov byte [eax], dl
lea edi, [ecx + 0x34]
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], edx
cmp esi, 0x10
jb 0x4ce5fe
mov eax, dword [edi]
jmp 0x4ce600
mov eax, edi
mov byte [eax], dl
lea esi, [ecx + 0x4c]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], edx
cmp dword [esi + 0x14], 0x10
jb 0x4ce619
mov eax, dword [esi]
jmp 0x4ce61b
mov eax, esi
mov byte [eax], dl
lea eax, [ebp - 0x16c]
mov byte [ebp - 4], 3
push eax
mov dword [ebp - 0x16c], 0x11c
call dword [sym.imp.KERNEL32.DLL_GetVersionExW]
test eax, eax
je 0x4ce75a
push dword [ebp - 0x160]
lea eax, [ebp - 0x2c]
push dword [ebp - 0x164]
push dword [ebp - 0x168]
push str._d._d._d
push eax
call fcn.00465d5a
add esp, 0x14
movzx eax, byte [ebp - 0x52]
mov byte [ebp - 4], 4
sub eax, 1
je 0x4ce695
sub eax, 1
je 0x4ce68c
sub eax, 1
je 0x4ce683
mov dword [ebp - 0x10], str.unknown
jmp 0x4ce69c
mov dword [ebp - 0x10], str.server
jmp 0x4ce69c
mov dword [ebp - 0x10], str.domaincontroller
jmp 0x4ce69c
mov dword [ebp - 0x10], str.workstation
push str.Windows
call fcn.0040f53e
pop ecx
push eax
push str.Windows
mov ecx, ebx
call fcn.0040f2b7
push dword [ebp - 0x10]
call fcn.0040f53e
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push dword [ebp - 0x10]
lea ecx, [ecx + 0x1c]
call fcn.0040f2b7
lea eax, [ebp - 0x2c]
cmp edi, eax
je 0x4ce6df
push 0xffffffffffffffff
push 0
push eax
mov ecx, edi
call fcn.0040f84e
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemInfo]
movzx eax, word [ebp - 0x50]
test eax, eax
je 0x4ce734
cmp eax, 6
je 0x4ce721
cmp eax, 9
je 0x4ce70e
push str.unknown
call fcn.0040f53e
pop ecx
push eax
push str.unknown
jmp 0x4ce745
push str.amd64
call fcn.0040f53e
pop ecx
push eax
push str.amd64
jmp 0x4ce745
push str.itanium
call fcn.0040f53e
pop ecx
push eax
push str.itanium
jmp 0x4ce745
push 0x6de8e4
call fcn.0040f53e
pop ecx
push eax
push 0x6de8e4
mov ecx, esi
call fcn.0040f2b7
push 0
push 1
lea ecx, [ebp - 0x2c]
call fcn.0040f95f
jmp 0x4ce7c4
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push str.unknown
call fcn.0040f53e
pop ecx
push eax
push str.unknown
mov ecx, ebx
call fcn.0040f2b7
push str.unknown
call fcn.0040f53e
pop ecx
mov ecx, dword [ebp - 0x14]
push eax
push str.unknown
lea ecx, [ecx + 0x1c]
call fcn.0040f2b7
push str.unknown
call fcn.0040f53e
pop ecx
push eax
push str.unknown
mov ecx, edi
call fcn.0040f2b7
push str.unknown
call fcn.0040f53e
pop ecx
push eax
push str.unknown
mov ecx, esi
call fcn.0040f2b7
push 0x10
pop edx
cmp dword [esi + 0x14], edx
jb 0x4ce7ce
mov esi, dword [esi]
cmp dword [edi + 0x14], edx
jb 0x4ce7d5
mov edi, dword [edi]
mov ecx, dword [ebp - 0x14]
lea eax, [ecx + 0x1c]
cmp dword [eax + 0x14], edx
jb 0x4ce7e2
mov eax, dword [eax]
cmp dword [ebx + 0x14], edx
jb 0x4ce7e9
mov ebx, dword [ebx]
push esi
push edi
push eax
push ebx
push str.OS_info:__name__s_release__s_version__s_machine__s
call fcn.0040e6e4
add esp, 0x14
mov eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret