Function at 0x4485a0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54c
mov eax, dword [0x46972c]
xor eax, ebp
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x544], ecx
xor eax, eax
mov word [ebp - 0x420], ax
push 0x206
push 0
lea ecx, [ebp - 0x41e]
push ecx
call fcn.00422660
add esp, 0xc
xor edx, edx
mov word [ebp - 0x218], dx
push 0x206
push 0
lea eax, [ebp - 0x216]
push eax
call fcn.00422660
add esp, 0xc
mov dword [ebp - 0x540], 0x11c
lea ecx, [ebp - 0x540]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x448619
xor eax, eax
jmp 0x44893e
cmp dword [ebp - 0x53c], 5
jne 0x448696
cmp dword [ebp - 0x538], 1
jne 0x448696
mov edx, dword [ebp - 0x534]
and edx, 0xffff
movzx eax, dx
cmp eax, 0xa28
jl 0x448696
movzx ecx, word [ebp - 0x428]
and ecx, 0x200
je 0x448664
push str.WINXP32C
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x448696
push 0x56
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x448684
push str.WINXP32T
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp 0x448696
push str.WINXP32P
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
cmp dword [ebp - 0x53c], 6
jne 0x4487e5
cmp dword [ebp - 0x538], 0
jne 0x4487e5
push str.WV32
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [ebp - 0x544]
call fcn.004483c0
test eax, eax
je 0x4486e3
push str.WV64
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x45de74
push 0x45de84
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
lea ecx, [ebp - 4]
push ecx
movzx edx, word [ebp - 0x42a]
push edx
movzx eax, word [ebp - 0x42c]
push eax
mov ecx, dword [ebp - 0x538]
push ecx
mov edx, dword [ebp - 0x53c]
push edx
call dword [ebp - 8]
mov eax, dword [ebp - 4]
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x548]
sub ecx, 1
mov dword [ebp - 0x548], ecx
cmp dword [ebp - 0x548], 0x1b
ja case.0x448754.6
mov edx, dword [ebp - 0x548]
movzx eax, byte [edx + 0x44896c]
jmp dword [eax*4 + 0x448950]
push 0x45dea0
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x448754.6
push 0x45deb8
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x448754.6
push 0x45ded8
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x448754.6
push 0x45def4
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x448754.6
push 0x45df10
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x448754.6
push 0x45df28
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [ebp - 0x218]
push ecx
lea edx, [ebp - 0x420]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
cmp dword [ebp - 0x53c], 6
jne case.0x4488a3.6
cmp dword [ebp - 0x538], 1
jne case.0x4488a3.6
push str.W732
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
mov ecx, dword [ebp - 0x544]
call fcn.004483c0
test eax, eax
je 0x448832
push str.W764
lea ecx, [ebp - 0x420]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push str.GetProductInfo
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 8], eax
lea edx, [ebp - 4]
push edx
movzx eax, word [ebp - 0x42a]
push eax
movzx ecx, word [ebp - 0x42c]
push ecx
mov edx, dword [ebp - 0x538]
push edx
mov eax, dword [ebp - 0x53c]
push eax
call dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x54c], ecx
mov edx, dword [ebp - 0x54c]
sub edx, 1
mov dword [ebp - 0x54c], edx
cmp dword [ebp - 0x54c], 0x1b
ja case.0x4488a3.6
mov eax, dword [ebp - 0x54c]
movzx ecx, byte [eax + 0x4489a4]
jmp dword [ecx*4 + 0x448988]
push str.UL_ULTIMATE
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x4488a3.6
push str.HP_HOME_PREMIUM
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x4488a3.6
push str.HB_HOME_BASIC
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x4488a3.6
push str.EN_ENTERPRISE
lea edx, [ebp - 0x218]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x4488a3.6
push str.PR_BUSINESS
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
jmp case.0x4488a3.6
push str.SE_STARTER
lea ecx, [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea edx, [ebp - 0x420]
push edx
push 0x45e024
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov eax, 1
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00422647
mov esp, ebp
pop ebp
ret 4