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

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, 0x4894a4
mov eax, ebx
xor ecx, ecx
mov edx, 0x11c
call fcn.00405340
mov eax, 0x4895c0
xor ecx, ecx
mov edx, 0x24
call fcn.00405340
xor eax, eax
mov dword [0x47f7c8], eax
mov byte [0x47f7c2], 0
mov byte [0x47f7c4], 0
call sub.ntdll.dll_wine_get_version
test eax, eax
je 0x431b5f
mov byte [0x47f7c4], 1
jmp 0x431b69
call fcn.00431850
mov byte [0x47f7c4], al
mov dword [ebx], 0x11c
push ebx
call sub.KERNEL32.DLL_GetVersionExW
test eax, eax
je 0x431e19
push 0x47f7c8
movzx eax, word [ebx + 0x116]
push eax
movzx eax, word [ebx + 0x114]
push eax
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebx + 4]
push eax
call sub.kernel32.dll_GetProductInfo
test eax, eax
jne 0x431baa
xor eax, eax
mov dword [0x47f7c8], eax
mov eax, dword [ebx + 4]
cmp eax, 5
jb 0x431bb8
cmp dword [ebx + 8], 1
jae 0x431bbd
cmp eax, 5
jbe 0x431bc9
push 0x4895c0
call sub.KERNEL32.DLL_GetNativeSystemInfo
jmp 0x431bd3
push 0x4895c0
call sub.KERNEL32.DLL_GetSystemInfo
cmp dword [ebx + 0x10], 2
jne 0x431e19
cmp word [0x4895c0], 9
sete al
and eax, 0x7f
movzx eax, byte [eax + 0x47f96c]
mov byte [0x47f7c3], al
call fcn.00431ab0
mov byte [0x47f7c5], al
mov eax, dword [ebx + 4]
cmp eax, 0xa
jb 0x431d76
mov eax, dword [ebx + 0xc]
cmp eax, 0x55f0
jb 0x431c20
mov byte [0x47f7c1], 8
jmp 0x431c27
mov byte [0x47f7c1], 7
cmp eax, 0x5867
jb 0x431c3a
mov byte [0x47f7c2], 0x12
jmp 0x431e19
cmp eax, 0x585d
jb 0x431c4d
mov byte [0x47f7c2], 0x11
jmp 0x431e19
cmp eax, 0x55f0
jb 0x431c60
mov byte [0x47f7c2], 0x10
jmp 0x431e19
cmp eax, 0x4a65
jb 0x431c73
mov byte [0x47f7c2], 0xf
jmp 0x431e19
cmp eax, 0x4a64
jb 0x431c86
mov byte [0x47f7c2], 0xe
jmp 0x431e19
cmp eax, 0x4a63
jb 0x431c99
mov byte [0x47f7c2], 0xd
jmp 0x431e19
cmp eax, 0x4a62
jb 0x431cac
mov byte [0x47f7c2], 0xc
jmp 0x431e19
cmp eax, 0x4a61
jb 0x431cbf
mov byte [0x47f7c2], 0xb
jmp 0x431e19
cmp eax, 0x47bb
jb 0x431cd2
mov byte [0x47f7c2], 0xa
jmp 0x431e19
cmp eax, 0x47ba
jb 0x431ce5
mov byte [0x47f7c2], 9
jmp 0x431e19
cmp eax, 0x4563
jb 0x431cf8
mov byte [0x47f7c2], 8
jmp 0x431e19
cmp eax, 0x42ee
jb 0x431d0b
mov byte [0x47f7c2], 7
jmp 0x431e19
cmp eax, 0x3fab
jb 0x431d1e
mov byte [0x47f7c2], 6
jmp 0x431e19
cmp eax, 0x3ad7
jb 0x431d31
mov byte [0x47f7c2], 5
jmp 0x431e19
cmp eax, 0x3839
jb 0x431d44
mov byte [0x47f7c2], 4
jmp 0x431e19
cmp eax, 0x295a
jb 0x431d57
mov byte [0x47f7c2], 3
jmp 0x431e19
cmp eax, 0x2800
jb 0x431d6a
mov byte [0x47f7c2], 2
jmp 0x431e19
mov byte [0x47f7c2], 1
jmp 0x431e19
cmp eax, 6
jne 0x431dde
mov eax, dword [ebx + 8]
sub eax, 1
jb 0x431d90
je 0x431da7
dec eax
je 0x431dbe
dec eax
je 0x431dd5
jmp 0x431e19
cmp byte [ebx + 0x11a], 1
setne byte [0x47f7c5]
mov byte [0x47f7c1], 3
jmp 0x431e19
cmp byte [ebx + 0x11a], 1
setne byte [0x47f7c5]
mov byte [0x47f7c1], 4
jmp 0x431e19
cmp byte [ebx + 0x11a], 1
setne byte [0x47f7c5]
mov byte [0x47f7c1], 5
jmp 0x431e19
mov byte [0x47f7c1], 6
jmp 0x431e19
cmp eax, 5
jne 0x431e19
mov eax, dword [ebx + 8]
sub eax, 1
jb 0x431df2
je 0x431dfb
dec eax
je 0x431e04
jmp 0x431e19
mov byte [0x47f7c1], 1
jmp 0x431e19
mov byte [0x47f7c1], 2
jmp 0x431e19
cmp byte [ebx + 0x11a], 1
setne byte [0x47f7c5]
mov byte [0x47f7c1], 2
pop ebx
pop ebp
ret