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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x617960]
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.00495000
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 0x449b71
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x449a03
mov eax, dword [ebp - 0x118]
cmp eax, 1
jne 0x44995e
mov ebx, 7
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049355b
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x449bb6
cmp byte [ebp - 6], 1
jne 0x44998d
cmp word [ebp - 0x144], 9
jne 0x44998d
mov ebx, 8
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0049355b
mov esp, ebp
pop ebp
ret
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x4499b9
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
cmp eax, 5
jne 0x449a03
cmp dword [ebp - 0x118], 2
jne 0x449bb6
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x4499fd
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x11c]
cmp eax, 6
jne 0x449bb6
mov eax, dword [ebp - 0x118]
test eax, eax
jne 0x449a5c
cmp byte [ebp - 6], 1
jne 0x449a3c
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x449aa6
cmp byte [ebp - 6], al
jne 0x449a86
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
jbe 0x449bb6
call fcn.00449540
test al, al
je 0x449ad5
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
xor edx, edx
push ecx
lea ecx, [edx + 0xa]
call fcn.00449480
add esp, 4
test al, al
je 0x449b07
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
mov edx, 3
push ecx
lea ecx, [edx + 3]
call fcn.00449480
add esp, 4
test al, al
je 0x449b3c
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
mov edx, 2
push ecx
lea ecx, [edx + 4]
call fcn.00449480
add esp, 4
test al, al
je 0x449bb6
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x449bb6
cmp dword [ebp - 0x11c], 4
jne 0x449bb6
cmp dword [ebp - 0x118], 0x5a
jae 0x449ba7
call fcn.00449600
xor ebx, ebx
test al, al
setne bl
inc ebx
cmp dword [ebp - 0x11c], 4
jne 0x449bb6
cmp dword [ebp - 0x118], 0x5a
jb 0x449bb6
call fcn.00449600
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.0049355b
mov esp, ebp
pop ebp
ret