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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push 0x2c
call fcn.0040f48b
add esp, 4
mov dword [ebp - 4], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 0xb
rep stosd dword es:[edi], eax
add ebx, 0x14
push ebx
push 0x88
call fcn.0040f48b
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x44eb26
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
xor eax, eax
mov ecx, 0x20
rep stosd dword es:[edi], eax
push 0x24
call fcn.0040f48b
add esp, 4
mov dword [ebp - 8], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 9
rep stosd dword es:[edi], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebx], 0x9c
mov eax, dword [ebp - 4]
push eax
push 0x9c
call fcn.0040f48b
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], eax
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
mov ebx, dword [ebx]
add ebx, 8
mov ecx, 0x80
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop ebx
add ebx, 4
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
mov eax, dword [ebx]
add ebx, 4
mov byte [edi], al
inc edi
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
nop
nop
push eax
mov ebx, dword [ebp - 0x30]
push ebx
mov edi, dword [ebp - 0x34]
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
mov eax, dword [ebx]
add ebx, 4
mov dword [edi], eax
add edi, 4
push ebx
push edi
push 1
mov eax, 2
call fcn.0040f970
add esp, 4
pop edi
pop ebx
push ebx
push edi
mov edi, dword [edi]
mov ecx, dword [edi]
add edi, 4
test ecx, ecx
je 0x405cec
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x405cea
imul eax, dword [edi]
jmp 0x405cdf
mov ecx, eax
cmp ecx, 0x80
jle 0x405cf9
mov ecx, 0x80
mov esi, ebx
rep movsb byte es:[edi], byte [esi]
pop edi
pop ebx
add edi, 4
add ebx, 0x80
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
mov al, byte [ebx]
inc ebx
mov dword [edi], eax
add edi, 4
call fcn.0040f491
add esp, 4
pop eax
test eax, eax
je 0x406ed6
push dword [ebp - 8]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
nop
nop
lea eax, [ebp - 0xc]
push eax
push 0xffffffff
xor eax, eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
nop
nop
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x34], ebx
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x30]
xor eax, eax
call dword [0x453861]
nop
nop
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ebx, dword [ebp + 8]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebx]
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
add ebx, 0xc
mov dword [ebp - 0x30], ebx
mov eax, dword [ebp - 0x10]
cwde
mov ebx, dword [ebp - 0x30]
mov dword [ebx], eax
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 0xa
jne 0x405e9c
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 0
jne 0x405e97
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
jne 0x405e4c
cmp word [ebp - 0x10], 0x55f0
mov eax, 0
setge al
test eax, eax
je 0x405e27
mov eax, str.Windows_11
jmp 0x405e2c
mov eax, str.Windows_10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x405e43
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x405e97
push 0
push 0
push 0
push OleUIBusyA
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionProductName
push 0x80000301
push 0
push 4
push 3
mov ebx, 0x698
call fcn.00410a50
add esp, 0x28
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x405e93
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406494
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 6
jne 0x40603d
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 0
jne 0x405f14
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
mov eax, 0
sete al
test eax, eax
je 0x405eef
mov eax, str.Windows_Vista
jmp 0x405ef4
mov eax, str.Windows_Server_2008
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x405f0b
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406038
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 1
jne 0x405f77
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
mov eax, 0
sete al
test eax, eax
je 0x405f52
mov eax, str.Windows_7
jmp 0x405f57
mov eax, str.Windows_Server_2008_R2
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x405f6e
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406038
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 2
jne 0x405fda
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
mov eax, 0
sete al
test eax, eax
je 0x405fb5
mov eax, str.Windows_8
jmp 0x405fba
mov eax, str.Windows_Server_2012
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x405fd1
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406038
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 3
jne 0x406038
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
mov eax, 0
sete al
test eax, eax
je 0x406018
mov eax, str.Windows_8.1
jmp 0x40601d
mov eax, str.Windows_Server_2012_R2
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406034
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406494
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 5
jne 0x40606e
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 0
jne 0x40606e
mov eax, 1
jmp 0x406073
mov eax, 0
test eax, eax
je 0x4061a7
mov eax, str.Windows_2000
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406091
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
jne 0x4060c9
mov eax, str.Professional
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4060c0
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x4061a2
mov ebx, dword [ebp - 4]
add ebx, 0x20
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
push 0x80
mov ebx, dword [ebp - 0x30]
mov ax, word [ebx]
cwde
push 0x80000301
push 0
push eax
push 2
mov ebx, 0xc4
call fcn.00410a10
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x406126
mov eax, str.Datacenter_Server
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406122
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 4]
add ebx, 0x20
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
push 2
mov ebx, dword [ebp - 0x30]
mov ax, word [ebx]
cwde
push 0x80000301
push 0
push eax
push 2
mov ebx, 0xc4
call fcn.00410a10
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x406188
mov eax, str.Advanced_Server
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40617f
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x4061a2
mov eax, str.Server
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40619e
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x406494
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 5
jne 0x4061d8
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 1
jne 0x4061d8
mov eax, 1
jmp 0x4061dd
mov eax, 0
test eax, eax
je 0x406280
mov eax, str.Windows_XP
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4061fb
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 4]
add ebx, 0x20
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
push 0x200
mov ebx, dword [ebp - 0x30]
mov ax, word [ebx]
cwde
push 0x80000301
push 0
push eax
push 2
mov ebx, 0xc4
call fcn.00410a10
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 1
jne 0x406261
mov eax, str.Home_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406258
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40627b
mov eax, str.Professional
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406277
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x406494
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 5
jne 0x4062b1
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 2
jne 0x4062b1
mov eax, 1
jmp 0x4062b6
mov eax, 0
test eax, eax
je 0x40643c
push 0x59
xor eax, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
nop
nop
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x4062f9
mov eax, str.Windows_Server_2003_R2_
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4062f0
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406437
mov ebx, dword [ebp - 4]
add ebx, 0x20
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
push 0x2000
mov ebx, dword [ebp - 0x30]
mov ax, word [ebx]
cwde
push 0x80000301
push 0
push eax
push 2
mov ebx, 0xc4
call fcn.00410a10
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x2000
jne 0x40635e
mov eax, str.Windows_Storage_Server_2003
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406355
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406437
mov ebx, dword [ebp - 4]
add ebx, 0x20
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
push 0x8000
mov ebx, dword [ebp - 0x30]
mov ax, word [ebx]
cwde
push 0x80000301
push 0
push eax
push 2
mov ebx, 0xc4
call fcn.00410a10
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x8000
jne 0x4063c3
mov eax, str.Windows_Home_Server
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x4063ba
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406437
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
jne 0x4063f1
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 9
jne 0x4063f1
mov eax, 1
jmp 0x4063f6
mov eax, 0
test eax, eax
je 0x40641d
mov eax, str.Windows_XP_Professional_x64_Edition
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406414
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406437
mov eax, str.Windows_Server_2003_
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406433
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x406494
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 4
jne 0x40646d
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 0xa
jne 0x40646d
mov eax, 1
jmp 0x406472
mov eax, 0
test eax, eax
je 0x406494
mov eax, str.Windows_98
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406490
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 6
jl 0x40698a
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x34], ebx
lea eax, [ebp - 0x1c]
push eax
push 0
push 0
mov ebx, dword [ebp - 0x34]
push dword [ebx]
mov ebx, dword [ebp - 0x30]
push dword [ebx]
xor eax, eax
call dword [0x453865]
nop
nop
cmp dword [ebp - 0x1c], 1
jne 0x406506
mov eax, str.Ultimate_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4064fd
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 2
jne 0x40652f
mov eax, str.Home_Basic_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406526
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 3
jne 0x406558
mov eax, str.Home_Premium_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40654f
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 4
jne 0x406581
mov eax, str.Enterprise_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406578
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 6
jne 0x4065aa
mov eax, str.Business_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4065a1
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 7
jne 0x4065d3
mov eax, str.Standard
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4065ca
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 8
jne 0x4065fc
mov eax, str.Datacenter_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4065f3
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 9
jne 0x406625
mov eax, str.Small_Business_Server
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40661c
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0xa
jne 0x40664e
mov eax, str.Enterprise_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406645
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0xb
jne 0x406677
mov eax, str.Starter_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40666e
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0xc
jne 0x4066a0
mov eax, str.Datacenter_Edition__core_installation_
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406697
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0xd
jne 0x4066c9
mov eax, str.Standard_Edition__core_installation_
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4066c0
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0xe
jne 0x4066f2
mov eax, str.Enterprise_Edition__core_installation_
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4066e9
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0xf
jne 0x40671b
mov eax, str.Enterprise_Edition_for_Itanium_based_Systems
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406712
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x10
jne 0x406744
mov eax, str.Business_N
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40673b
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x11
jne 0x40676d
mov eax, str.Web_Server__full_installation_
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406764
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x12
jne 0x406796
mov eax, str.HPC_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40678d
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x13
jne 0x4067bf
mov eax, str.Windows_Storage_Server_2008_R2_Essentials
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4067b6
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x14
jne 0x4067e8
mov eax, str.Storage_Server_Express
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4067df
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x15
jne 0x406811
mov eax, str.Storage_Server_Standard
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406808
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x16
jne 0x40683a
mov eax, str.Storage_Server_Workgroup
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406831
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x17
jne 0x406863
mov eax, str.Storage_Server_Enterprise
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x40685a
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x19
jne 0x40688c
mov eax, str.Small_Business_Server_Premium_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406883
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x30
jne 0x4068b5
mov eax, str.Professional
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4068ac
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
cmp dword [ebp - 0x1c], 0x79
jne 0x4068de
mov eax, str.Education
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x4068d5
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x40698a
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
mov ebx, dword [ebp - 0x30]
push dword [ebx]
push 1
mov ebx, 0x168
call fcn.0040fbc0
add esp, 0x10
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
push 0x80000301
push 0
mov ebx, dword [ebp - 0x38]
push dword [ebx]
push 1
mov ebx, 0x168
call fcn.0040fbc0
add esp, 0x10
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x3c]
push 0x44ea7c
push dword [ebp - 0x34]
push 0x44ea7e
mov ecx, 4
call fcn.00402dc4
add esp, 0x10
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x406962
push ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x406972
push ebx
call fcn.0040f491
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406986
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4069a6
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4069b7
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push reloc.OLEAUT32.dll_SysReAllocString
push 0
push 0
push 0
push 0
push 0
push OleUIBusyA
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x4069e0
mov eax, 0x42e2c3
push eax
push OleUIBusyA
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x4069f4
mov eax, 0x42e2c3
push eax
push 4
mov ebx, 0x148
call fcn.00410be0
add esp, 0x34
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xffffffff
mov eax, 0
sete al
test eax, eax
je 0x406a3f
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x406a3a
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x406a44
mov eax, 0x42e2c3
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x3c]
push 0x44ea94
push dword [ebp - 0x20]
mov ecx, 3
call fcn.00402dc4
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x406a72
push ebx
call fcn.0040f491
add esp, 4
cmp dword [ebp + 0x18], 0
je 0x406a9d
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x406a98
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x406ab9
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x406ab9
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x44], eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x406acc
push ebx
call fcn.0040f491
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x406ae0
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push str._x64
push dword [ebp - 0x20]
mov ecx, 2
call fcn.00402dc4
add esp, 8
mov dword [ebp - 0x30], eax
push str._x86
push dword [ebp - 0x20]
mov ecx, 2
call fcn.00402dc4
add esp, 8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xc], 0
je 0x406b3f
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x406b3a
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x406b5b
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x406b5b
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x38], eax
mov ebx, dword [ebp - 0x30]
test ebx, ebx
je 0x406b6e
push ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x406b7e
push ebx
call fcn.0040f491
add esp, 4
cmp dword [ebp + 0x20], 0
je 0x406ba9
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x406ba4
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x406bc5
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x406bc5
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x3c], eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x406bd8
push ebx
call fcn.0040f491
add esp, 4
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x406bec
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
cmp dword [ebp + 0x28], 0
je 0x406d38
mov ebx, dword [ebp - 4]
add ebx, 0x14
mov dword [ebp - 0x30], ebx
push 0xa0000101
push 0
mov ebx, dword [ebp - 0x30]
push dword [ebx]
push 1
mov ebx, 0x168
call fcn.0040fbc0
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x406c38
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
push OleUIBusyA
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x406c4f
mov eax, 0x42e2c3
push eax
push 1
mov ebx, 0x130
call fcn.00410090
add esp, 0x10
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x406cba
push 0
push 0
push 0
push OleUIBusyA
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionCSDVersion
push 0x80000301
push 0
push 4
push 3
mov ebx, 0x698
call fcn.00410a50
add esp, 0x28
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x406cb6
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
push OleUIBusyA
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x406ccd
mov eax, 0x42e2c3
push eax
push 1
mov ebx, 0x130
call fcn.00410090
add esp, 0x10
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
mov eax, 0
setg al
test eax, eax
je 0x406d18
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x406d13
push eax
mov ebx, eax
call fcn.00402d59
inc eax
push eax
call fcn.0040f48b
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x406d1d
mov eax, 0x42e2c3
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x406d34
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
cmp dword [ebp + 0x30], 0
je 0x406e6a
mov ebx, dword [ebp - 4]
add ebx, 0xc
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 0
jne 0x406da7
push 0
push 0
push 0
push OleUIBusyA
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionCurrentBuild
push 0x80000301
push 0
push 4
push 3
mov ebx, 0x698
call fcn.00410a50
add esp, 0x28
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x406d9e
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
jmp 0x406de9
mov ebx, dword [ebp - 4]
add ebx, 0xc
mov dword [ebp - 0x30], ebx
push 0x80000301
push 0
mov ebx, dword [ebp - 0x30]
push dword [ebx]
push 1
mov ebx, 0x168
call fcn.0040fbc0
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x406de5
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
push 0x42e2c3
push dword [ebp - 0x28]
call fcn.0040599f
add esp, 8
cmp eax, 0
je 0x406e3a
push dword [ebp - 0x2c]
push str._Build:
push dword [ebp - 0x28]
mov ecx, 3
call fcn.00402dc4
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x406e31
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
jmp 0x406e6a
push dword [ebp - 0x2c]
push str.Build:
mov ecx, 2
call fcn.00402dc4
add esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x406e66
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push 0x42e2c3
push dword [ebp - 0x28]
call fcn.0040599f
add esp, 8
cmp eax, 0
je 0x406eb8
push 0x44eb21
push dword [ebp - 0x28]
push 0x44eb23
mov ecx, 3
call fcn.00402dc4
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x406eb4
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
push dword [ebp - 0x20]
mov ecx, 2
call fcn.00402dc4
add esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
jmp 0x406ee0
mov eax, 0x42e2c3
jmp 0x406ee0
push eax
mov ebx, dword [ebp - 4]
push ebx
add ebx, 0x14
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.0040f491
add esp, 4
pop ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x406f19
push ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x406f29
push ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x406f39
push ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x406f49
push ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x406f59
push ebx
call fcn.0040f491
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x406f69
push ebx
call fcn.0040f491
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x30