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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push 0x2c
call fcn.1003e8fc
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.1003e8fc
add esp, 4
pop ebx
mov dword [ebx], eax
mov edi, eax
mov esi, 0x10058d24
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.1003e8fc
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 dword [ebp - 0x30], esp
mov eax, dword [ebp - 4]
push eax
push 0x9c
call fcn.1003e8fc
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], 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
cmp dword [ebp - 0x30], esp
je 0x10023aee
push 0x3e
push 0x405a8c9
push 6
call fcn.1003e90e
add esp, 0xc
push eax
mov ebx, dword [ebp - 0x34]
push ebx
mov edi, dword [ebp - 0x38]
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.1003ef70
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 0x10023b57
mov eax, dword [edi]
add edi, 4
dec ecx
je 0x10023b55
imul eax, dword [edi]
jmp 0x10023b4a
mov ecx, eax
cmp ecx, 0x80
jle 0x10023b64
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.1003e902
add esp, 4
pop eax
test eax, eax
je 0x10024db6
mov dword [ebp - 0x30], esp
push dword [ebp - 8]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
nop
nop
cmp dword [ebp - 0x30], esp
je 0x10023be1
push 0x59
push 0x405a8c9
push 6
call fcn.1003e90e
add esp, 0xc
mov dword [ebp - 0x30], esp
lea eax, [ebp - 0xc]
push eax
push 0xffffffff
xor eax, eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
nop
nop
cmp dword [ebp - 0x30], esp
je 0x10023c13
push 0x73
push 0x405a8c9
push 6
call fcn.1003e90e
add esp, 0xc
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
mov dword [ebp - 0x38], esp
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x30]
xor eax, eax
call dword [0x1005a45d]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x10023c58
push 0x96
push 0x405a8c9
push 6
call fcn.1003e90e
add esp, 0xc
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 0x10023d3e
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 0
jne 0x10023d39
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
jne 0x10023cee
mov eax, str.Windows_10
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10023ce5
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x10023d39
push 0
push 0
push 0
push reloc.WS2_32.dll_connect
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionProductName
push 0x80000301
push 0
push 4
push 3
mov ebx, 0x698
call fcn.10043160
add esp, 0x28
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10023d35
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x10024355
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 6
jne 0x10023edf
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 0
jne 0x10023db6
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 0x10023d91
mov eax, str.Windows_Vista
jmp 0x10023d96
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 0x10023dad
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x10023eda
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 1
jne 0x10023e19
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 0x10023df4
mov eax, str.Windows_7
jmp 0x10023df9
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 0x10023e10
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x10023eda
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 2
jne 0x10023e7c
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 0x10023e57
mov eax, str.Windows_8
jmp 0x10023e5c
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 0x10023e73
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x10023eda
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x3c], ebx
mov ebx, dword [ebp - 0x3c]
cmp dword [ebx], 3
jne 0x10023eda
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 0x10023eba
mov eax, str.Windows_8.1
jmp 0x10023ebf
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 0x10023ed6
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x10024355
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 5
jne 0x10023f10
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 0
jne 0x10023f10
mov eax, 1
jmp 0x10023f15
mov eax, 0
test eax, eax
je 0x10024049
mov eax, str.Windows_2000
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10023f33
push ebx
call fcn.1003e902
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 0x10023f6b
mov eax, str.Professional
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10023f62
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x10024044
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.10042720
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x10023fc8
mov eax, str.Datacenter_Server
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10023fc4
push ebx
call fcn.1003e902
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.10042720
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x1002402a
mov eax, str.Advanced_Server
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024021
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x10024044
mov eax, str.Server
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024040
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x10024355
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 5
jne 0x1002407a
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 1
jne 0x1002407a
mov eax, 1
jmp 0x1002407f
mov eax, 0
test eax, eax
je 0x10024122
mov eax, str.Windows_XP
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x1002409d
push ebx
call fcn.1003e902
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.10042720
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 1
jne 0x10024103
mov eax, str.Home_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100240fa
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002411d
mov eax, str.Professional
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024119
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x10024355
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 5
jne 0x10024153
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 2
jne 0x10024153
mov eax, 1
jmp 0x10024158
mov eax, 0
test eax, eax
je 0x100242fd
mov dword [ebp - 0x30], esp
push 0x59
xor eax, eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
nop
nop
cmp dword [ebp - 0x30], esp
je 0x1002418e
push 0xb74
push 0x405a8c9
push 6
call fcn.1003e90e
add esp, 0xc
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x100241ba
mov eax, str.Windows_Server_2003_R2_
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x100241b1
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x100242f8
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.10042720
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x2000
jne 0x1002421f
mov eax, str.Windows_Storage_Server_2003
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10024216
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x100242f8
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.10042720
add esp, 0x1c
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x8000
jne 0x10024284
mov eax, str.Windows_Home_Server
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x1002427b
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x100242f8
mov ebx, dword [ebp - 4]
add ebx, 0x24
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp byte [ebx], 1
jne 0x100242b2
mov ebx, dword [ebp - 8]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 9
jne 0x100242b2
mov eax, 1
jmp 0x100242b7
mov eax, 0
test eax, eax
je 0x100242de
mov eax, str.Windows_XP_Professional_x64_Edition
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x100242d5
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x100242f8
mov eax, str.Windows_Server_2003_
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x100242f4
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
jmp 0x10024355
mov ebx, dword [ebp - 4]
add ebx, 4
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 4
jne 0x1002432e
mov ebx, dword [ebp - 4]
add ebx, 8
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
cmp dword [ebx], 0xa
jne 0x1002432e
mov eax, 1
jmp 0x10024333
mov eax, 0
test eax, eax
je 0x10024355
mov eax, str.Windows_98
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10024351
push ebx
call fcn.1003e902
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 0x1002486a
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
mov dword [ebp - 0x38], esp
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 [0x1005a461]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x100243bd
push 0xf17
push 0x405a8c9
push 6
call fcn.1003e90e
add esp, 0xc
cmp dword [ebp - 0x1c], 1
jne 0x100243e6
mov eax, str.Ultimate_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100243dd
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 2
jne 0x1002440f
mov eax, str.Home_Basic_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024406
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 3
jne 0x10024438
mov eax, str.Home_Premium_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x1002442f
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 4
jne 0x10024461
mov eax, str.Enterprise_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024458
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 6
jne 0x1002448a
mov eax, str.Business_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024481
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 7
jne 0x100244b3
mov eax, str.Standard
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100244aa
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 8
jne 0x100244dc
mov eax, str.Datacenter_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100244d3
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 9
jne 0x10024505
mov eax, str.Small_Business_Server
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100244fc
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0xa
jne 0x1002452e
mov eax, str.Enterprise_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024525
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0xb
jne 0x10024557
mov eax, str.Starter_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x1002454e
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0xc
jne 0x10024580
mov eax, str.Datacenter_Edition__core_installation_
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024577
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0xd
jne 0x100245a9
mov eax, str.Standard_Edition__core_installation_
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100245a0
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0xe
jne 0x100245d2
mov eax, str.Enterprise_Edition__core_installation_
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100245c9
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0xf
jne 0x100245fb
mov eax, str.Enterprise_Edition_for_Itanium_based_Systems
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100245f2
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x10
jne 0x10024624
mov eax, str.Business_N
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x1002461b
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x11
jne 0x1002464d
mov eax, str.Web_Server__full_installation_
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024644
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x12
jne 0x10024676
mov eax, str.HPC_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x1002466d
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x13
jne 0x1002469f
mov eax, str.Windows_Storage_Server_2008_R2_Essentials
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024696
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x14
jne 0x100246c8
mov eax, str.Storage_Server_Express
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100246bf
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x15
jne 0x100246f1
mov eax, str.Storage_Server_Standard
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100246e8
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x16
jne 0x1002471a
mov eax, str.Storage_Server_Workgroup
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024711
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x17
jne 0x10024743
mov eax, str.Storage_Server_Enterprise
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x1002473a
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x19
jne 0x1002476c
mov eax, str.Small_Business_Server_Premium_Edition
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024763
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x30
jne 0x10024795
mov eax, str.Professional
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x1002478c
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
cmp dword [ebp - 0x1c], 0x79
jne 0x100247be
mov eax, str.Education
push eax
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x100247b5
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x18], eax
jmp 0x1002486a
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.1003f740
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.1003f740
add esp, 0x10
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x3c]
push 0x10059375
push dword [ebp - 0x34]
push 0x10059377
mov ecx, 4
call fcn.10004748
add esp, 0x10
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x10024842
push ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x10024852
push ebx
call fcn.1003e902
add esp, 4
mov eax, dword [ebp - 0x40]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10024866
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10024886
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
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 0x10024897
push ebx
call fcn.1003e902
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 reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x100248c0
mov eax, 0x10057240
push eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x100248d4
mov eax, 0x10057240
push eax
push 4
mov ebx, 0x148
call fcn.1003f540
add esp, 0x34
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0xffffffff
mov eax, 0
sete al
test eax, eax
je 0x1002491f
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1002491a
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x10024924
mov eax, 0x10057240
mov dword [ebp - 0x3c], eax
push dword [ebp - 0x3c]
push 0x10058456
push dword [ebp - 0x20]
mov ecx, 3
call fcn.10004748
add esp, 0xc
mov dword [ebp - 0x40], eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x10024952
push ebx
call fcn.1003e902
add esp, 4
cmp dword [ebp + 0x18], 0
je 0x1002497d
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x10024978
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x10024999
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10024999
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
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 0x100249ac
push ebx
call fcn.1003e902
add esp, 4
mov eax, dword [ebp - 0x44]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x100249c0
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
push str._x64
push dword [ebp - 0x20]
mov ecx, 2
call fcn.10004748
add esp, 8
mov dword [ebp - 0x30], eax
push str._x86
push dword [ebp - 0x20]
mov ecx, 2
call fcn.10004748
add esp, 8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0xc], 0
je 0x10024a1f
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x10024a1a
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x10024a3b
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x10024a3b
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
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 0x10024a4e
push ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x10024a5e
push ebx
call fcn.1003e902
add esp, 4
cmp dword [ebp + 0x20], 0
je 0x10024a89
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x10024a84
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x10024aa5
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x10024aa5
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
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 0x10024ab8
push ebx
call fcn.1003e902
add esp, 4
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x10024acc
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
cmp dword [ebp + 0x28], 0
je 0x10024c18
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.1003f740
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x10024b18
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x10024b2f
mov eax, 0x10057240
push eax
push 1
mov ebx, 0x130
call fcn.1003f0b0
add esp, 0x10
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x10024b9a
push 0
push 0
push 0
push reloc.WS2_32.dll_connect
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionCSDVersion
push 0x80000301
push 0
push 4
push 3
mov ebx, 0x698
call fcn.10043160
add esp, 0x28
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x10024b96
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x10024bad
mov eax, 0x10057240
push eax
push 1
mov ebx, 0x130
call fcn.1003f0b0
add esp, 0x10
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 2
mov eax, 0
setg al
test eax, eax
je 0x10024bf8
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x10024bf3
push eax
mov ebx, eax
call fcn.100046dd
inc eax
push eax
call fcn.1003e8fc
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x10024bfd
mov eax, 0x10057240
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x10024c14
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
cmp dword [ebp + 0x30], 0
je 0x10024d4a
mov ebx, dword [ebp - 4]
add ebx, 0xc
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x30]
cmp dword [ebx], 0
jne 0x10024c87
push 0
push 0
push 0
push reloc.WS2_32.dll_connect
push 0
push str.SOFTWAREMicrosoftWindows_NTCurrentVersionCurrentBuild
push 0x80000301
push 0
push 4
push 3
mov ebx, 0x698
call fcn.10043160
add esp, 0x28
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x10024c7e
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
jmp 0x10024cc9
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.1003f740
add esp, 0x10
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x10024cc5
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x2c], eax
push 0x10057240
push dword [ebp - 0x28]
call fcn.1000d7e4
add esp, 8
cmp eax, 0
je 0x10024d1a
push dword [ebp - 0x2c]
push str._Build:
push dword [ebp - 0x28]
mov ecx, 3
call fcn.10004748
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x10024d11
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
jmp 0x10024d4a
push dword [ebp - 0x2c]
push str.Build:
mov ecx, 2
call fcn.10004748
add esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x10024d46
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push 0x10057240
push dword [ebp - 0x28]
call fcn.1000d7e4
add esp, 8
cmp eax, 0
je 0x10024d98
push 0x10059418
push dword [ebp - 0x28]
push 0x1005941a
mov ecx, 3
call fcn.10004748
add esp, 0xc
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x10024d94
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push dword [ebp - 0x28]
push dword [ebp - 0x20]
mov ecx, 2
call fcn.10004748
add esp, 8
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
jmp 0x10024dc0
mov eax, 0x10057240
jmp 0x10024dc0
push eax
mov ebx, dword [ebp - 4]
push ebx
add ebx, 0x14
push ebx
mov ebx, dword [ebx]
push ebx
call fcn.1003e902
add esp, 4
pop ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x10024df9
push ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10024e09
push ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x10024e19
push ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x10024e29
push ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x10024e39
push ebx
call fcn.1003e902
add esp, 4
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x10024e49
push ebx
call fcn.1003e902
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x30