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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x5876e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push 0x118
xor ebx, ebx
mov dword [ebp - 0x120], 0x11c
lea eax, [ebp - 0x11c]
push ebx
push eax
call fcn.00509d10
add esp, 0xc
lea eax, [ebp - 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea eax, [ebp - 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp - 0x110]
cmp eax, 2
jne 0x429560
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x429413
mov eax, dword [ebp - 0x118]
cmp eax, 1
jne 0x42936e
mov ebx, 7
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x4295a5
cmp byte [ebp - 6], 1
jne 0x42939d
cmp word [ebp - 0x144], 9
jne 0x42939d
mov ebx, 8
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x4293c9
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0x13
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x429413
cmp dword [ebp - 0x118], 2
jne 0x4295a5
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x42940d
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0x15
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
cmp eax, 6
jne 0x4295a5
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x42946c
cmp byte [ebp - 6], 1
jne 0x42944c
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 9
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0x17
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x4294b6
cmp byte [ebp - 6], al
jne 0x429496
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0xb
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0x19
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
jbe 0x4295a5
call fcn.00428aa0
test al, al
je 0x4294e5
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0x21
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
call fcn.00428a30
test al, al
je 0x42950e
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0x11
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
call fcn.004289b0
test al, al
je 0x429537
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0xf
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
call fcn.00428930
test al, al
je 0x4295a5
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 0xd
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050904e
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x4295a5
cmp dword [ebp - 0x11c], 4
jne 0x4295a5
cmp dword [ebp - 0x118], 0x5a
jae 0x429596
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
inc ebx
cmp dword [ebp - 0x11c], 4
jne 0x4295a5
cmp dword [ebp - 0x118], 0x5a
jb 0x4295a5
call fcn.00428c00
xor ebx, ebx
test al, al
setne bl
add ebx, 5
mov ecx, dword [ebp - 4]
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.0050904e
mov esp, ebp
pop ebp
ret