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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x628960]
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.004a2440
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 0x442af0
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x4429a3
mov eax, dword [ebp - 0x118]
cmp eax, 1
jne 0x4428fe
mov ebx, 7
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a0676
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x442b35
cmp byte [ebp - 6], 1
jne 0x44292d
cmp word [ebp - 0x144], 9
jne 0x44292d
mov ebx, 8
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004a0676
mov esp, ebp
pop ebp
ret
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x442959
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x4429a3
cmp dword [ebp - 0x118], 2
jne 0x442b35
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x44299d
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
cmp eax, 6
jne 0x442b35
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x4429fc
cmp byte [ebp - 6], 1
jne 0x4429dc
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x442a46
cmp byte [ebp - 6], al
jne 0x442a26
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
jbe 0x442b35
call fcn.00442190
test al, al
je 0x442a75
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
call fcn.00442d80
test al, al
je 0x442a9e
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
call fcn.00442110
test al, al
je 0x442ac7
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
call fcn.00442090
test al, al
je 0x442b35
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x442b35
cmp dword [ebp - 0x11c], 4
jne 0x442b35
cmp dword [ebp - 0x118], 0x5a
jae 0x442b26
call fcn.004422f0
xor ebx, ebx
test al, al
setne bl
inc ebx
cmp dword [ebp - 0x11c], 4
jne 0x442b35
cmp dword [ebp - 0x118], 0x5a
jb 0x442b35
call fcn.004422f0
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.004a0676
mov esp, ebp
pop ebp
ret