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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x629960]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push pe_nt_image_headers32
xor ebx, ebx
mov dword [ebp - 0x120], 0x11c
lea eax, [ebp - 0x11c]
push ebx
push eax
call fcn.004a3440
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 0x4427b1
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x442643
mov eax, dword [ebp - 0x118]
cmp eax, 1
jne 0x44259e
mov ebx, 7
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a16e5
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x4427f6
cmp byte [ebp - 6], 1
jne 0x4425cd
cmp word [ebp - 0x144], 9
jne 0x4425cd
mov ebx, 8
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a16e5
mov esp, ebp
pop ebp
ret
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x4425f9
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x442643
cmp dword [ebp - 0x118], 2
jne 0x4427f6
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x44263d
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
cmp eax, 6
jne 0x4427f6
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x44269c
cmp byte [ebp - 6], 1
jne 0x44267c
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x4426e6
cmp byte [ebp - 6], al
jne 0x4426c6
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
jbe 0x4427f6
call fcn.00441df0
test al, al
je 0x442715
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
xor edx, edx
push ecx
lea ecx, [edx + 0xa]
call fcn.00441d30
add esp, 4
test al, al
je 0x442747
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
mov edx, 3
push ecx
lea ecx, [edx + 3]
call fcn.00441d30
add esp, 4
test al, al
je 0x44277c
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
mov edx, 2
push ecx
lea ecx, [edx + 4]
call fcn.00441d30
add esp, 4
test al, al
je 0x4427f6
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x4427f6
cmp dword [ebp - 0x11c], 4
jne 0x4427f6
cmp dword [ebp - 0x118], 0x5a
jae 0x4427e7
call fcn.00441f90
xor ebx, ebx
test al, al
setne bl
inc ebx
cmp dword [ebp - 0x11c], 4
jne 0x4427f6
cmp dword [ebp - 0x118], 0x5a
jb 0x4427f6
call fcn.00441f90
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.004a16e5
mov esp, ebp
pop ebp
ret