Function at 0x42147e
Capabilities:
Get hostname
Inspect section memory permissions
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbc4
mov eax, dword [0x55800c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x140
lea eax, [ebp - 0xbb8]
mov ebx, ecx
push 0
push eax
mov dword [ebp - 0xbc0], ebx
call fcn.004cddb0
add esp, 0xc
lea eax, [ebp - 0xbb8]
push eax
call fcn.0041f5d0
test eax, eax
lea eax, [ebp - 0x870]
je 0x42407b
push 0x518188
push eax
call fcn.0041e8c0
mov edi, dword [ebp - 0xb14]
add esp, 8
cmp edi, 5
jne 0x4211ff
mov eax, dword [str.OS:]
mov dword [ebp - 0x870], eax
mov al, byte [0x53e79c]
mov byte [ebp - 0x86c], al
jmp 0x42121d
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x421206
mov eax, dword [str.OS:]
mov dword [ecx], eax
mov al, byte [0x53e79c]
mov byte [ecx + 4], al
lea eax, [edi - 1]
cmp eax, 4
ja case.default.0x421229
jmp dword [eax*4 + 0x424194]
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x421237
mov eax, dword [0x53e7a0]
mov dword [edi], eax
jmp 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421254
mov eax, dword [str.Windows]
mov dword [ecx], eax
mov eax, dword [0x53e7a8]
mov dword [ecx + 4], eax
jmp 0x422ff7
mov eax, dword [ebp - 0xb20]
cmp edi, 5
jne 0x4212f2
cmp eax, 7
jb 0x4212aa
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421290
mov ecx, 6
mov esi, str.Windows_Embedded_Compact
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
cmp edi, 5
jne 0x4212f2
cmp eax, 4
jne 0x4212f2
cmp dword [ebp - 0xb1c], 0
jbe 0x4212f2
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4212c4
mov eax, dword [str.Windows_CE_.NET]
mov dword [ecx], eax
mov eax, dword [0x53e7cc]
mov dword [ecx + 4], eax
mov eax, dword [0x53e7d0]
mov dword [ecx + 8], eax
mov eax, dword [0x53e7d4]
mov dword [ecx + 0xc], eax
jmp 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421300
mov eax, dword [str.Windows_CE]
mov dword [ecx], eax
mov eax, dword [0x53e7dc]
mov dword [ecx + 4], eax
mov ax, word [0x53e7e0]
mov word [ecx + 8], ax
mov al, byte [0x53e7e2]
mov byte [ecx + 0xa], al
jmp 0x422ff7
mov esi, dword [ebp - 0xb18]
mov edx, dword [ebp - 0xb1c]
mov ecx, dword [ebp - 0xb20]
cmp edi, 3
jne 0x42144a
cmp ecx, 4
jne 0x421366
test edx, edx
jne 0x421366
cmp esi, 0x3b6
jne 0x421366
mov eax, str.Windows_95
jmp 0x42144f
cmp edi, 3
jne 0x42144a
cmp ecx, 4
jne 0x42138b
lea eax, [esi - 0x3b7]
cmp eax, 0x81
ja 0x42138b
mov eax, str.Windows_95_SP1
jmp 0x42144f
cmp edi, 3
jne 0x42144a
cmp ecx, 4
jne 0x4213b5
cmp edx, 0xa
jae 0x4213b5
lea eax, [esi - 0x439]
cmp eax, 0x84
ja 0x4213b5
mov eax, str.Windows_95_B__aka_OSR2_
jmp 0x42144f
cmp edi, 3
jne 0x42144a
cmp ecx, 4
jne 0x4213d7
cmp edx, 0xa
jae 0x4213d7
cmp esi, 0x4be
jb 0x4213d7
mov eax, str.Windows_95_C__aka_OSR2.5_
jmp 0x42144f
cmp edi, 3
jne 0x42144a
cmp ecx, 4
jne 0x4213f5
cmp edx, 0xa
jne 0x4213f5
cmp esi, 0x7ce
jne 0x4213f5
mov eax, str.Windows_98
jmp 0x42144f
cmp edi, 3
jne 0x42144a
cmp ecx, 4
jne 0x421418
cmp edx, 0xa
jne 0x421418
lea eax, [esi - 0x7cf]
cmp eax, 0xb7
ja 0x421418
mov eax, str.Windows_98_SP1
jmp 0x42144f
cmp edi, 3
jne 0x42144a
cmp ecx, 4
jne 0x421436
cmp edx, 0xa
jne 0x421436
cmp esi, 0x887
jb 0x421436
mov eax, str.Windows_98_Second_Edition
jmp 0x42144f
cmp edi, 3
jne 0x42144a
cmp ecx, 4
jne 0x42144a
mov eax, str.Windows_Millenium_Edition
cmp edx, 0x5a
je 0x42144f
mov eax, str.Windows___
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0041e8c0
lea edx, [ebp - 0x70]
add esp, 8
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x421461
lea edi, [ebp - 0x870]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421471
jmp 0x422fe9
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421110
test eax, eax
je 0x4216b8
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4214a0
mov eax, dword [str.Windows_NT]
mov edx, dword [ebp - 0xa88]
mov dword [ecx], eax
mov eax, dword [0x53e898]
mov dword [ecx + 4], eax
mov ax, word [0x53e89c]
mov word [ecx + 8], ax
mov al, byte [0x53e89e]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 0xa7c]
mov ecx, dword [ebp - 0xb20]
cmp edi, 4
jne 0x422ff7
cmp ecx, 4
ja 0x421535
cmp eax, 1
jne 0x421535
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4214f7
mov eax, dword [str.__Workstation_]
mov dword [ecx], eax
mov eax, dword [0x53e8a4]
mov dword [ecx + 4], eax
mov eax, dword [0x53e8a8]
mov dword [ecx + 8], eax
mov ax, word [0x53e8ac]
mov word [ecx + 0xc], ax
mov al, byte [0x53e8ae]
mov byte [ecx + 0xe], al
mov ecx, dword [ebp - 0xb20]
jmp 0x42160c
cmp edi, 4
jne 0x422ff7
cmp ecx, edi
ja 0x42157e
cmp eax, 2
jne 0x42157e
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421550
mov eax, dword [str.__Server_]
mov dword [ecx], eax
mov eax, dword [0x53e8b4]
mov dword [ecx + 4], eax
mov ax, word [0x53e8b8]
mov word [ecx + 8], ax
mov ecx, dword [ebp - 0xb20]
jmp 0x42160c
cmp edi, 4
jne 0x422ff7
cmp ecx, edi
ja 0x4215c3
cmp eax, 3
jne 0x4215c3
test dl, 4
je 0x4215c3
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4215a0
mov ecx, 7
mov esi, str.__Primary_Domain_Controller_
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xb20]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x42160c
cmp edi, 4
jne 0x422ff7
cmp ecx, edi
ja 0x421603
cmp eax, 3
jne 0x421603
test dl, 8
je 0x421603
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4215e1
mov ecx, 7
mov esi, str.__Backup_Domain_Controller_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb14]
mov ecx, dword [ebp - 0xb20]
jmp 0x42160c
cmp edi, 4
jne 0x422ff7
cmp ecx, 4
ja 0x421658
test dl, 0x20
je 0x421658
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421620
mov eax, dword [str.___Datacenter_]
mov dword [ecx], eax
mov eax, dword [0x53e8fc]
mov dword [ecx + 4], eax
mov eax, dword [0x53e900]
mov dword [ecx + 8], eax
mov ax, word [0x53e904]
mov word [ecx + 0xc], ax
mov al, byte [0x53e906]
mov byte [ecx + 0xe], al
jmp 0x422ff7
cmp edi, 4
jne 0x422ff7
cmp ecx, edi
ja 0x422ff7
test dl, 2
je 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421680
mov eax, dword [str.___Enterprise_]
mov dword [ecx], eax
mov eax, dword [0x53e90c]
mov dword [ecx + 4], eax
mov eax, dword [0x53e910]
mov dword [ecx + 8], eax
mov ax, word [0x53e914]
mov word [ecx + 0xc], ax
mov al, byte [0x53e916]
mov byte [ecx + 0xe], al
jmp 0x422ff7
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00420f70
test eax, eax
je 0x4218b6
test byte [ebp - 0xa84], 0x80
mov ebx, dword [ebp - 0xa7c]
mov edx, dword [ebp - 0xb1c]
je 0x42170f
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4216f0
mov ecx, 7
mov esi, str.Windows_2000__Professional_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x4217e9
mov eax, dword [ebp - 0xb20]
cmp edi, 4
jne 0x4217b3
cmp eax, 5
jne 0x42176f
test edx, edx
jne 0x42176f
cmp ebx, 2
jne 0x42176f
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421733
mov eax, dword [str.Windows_2000_Server]
mov dword [ecx], eax
mov eax, dword [0x53e938]
mov dword [ecx + 4], eax
mov eax, dword [0x53e93c]
mov dword [ecx + 8], eax
mov eax, dword [0x53e940]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53e944]
mov dword [ecx + 0x10], eax
mov ecx, dword [ebp - 0xb20]
jmp 0x4217fd
cmp edi, 4
jne 0x4217b3
cmp eax, 5
jne 0x4217b3
test edx, edx
jne 0x4217b3
cmp ebx, 3
jne 0x4217b3
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421790
mov ecx, 8
mov esi, str.Windows_2000__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xb20]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x4217fd
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4217c0
mov eax, dword [str.Windows_2000]
mov dword [ecx], eax
mov eax, dword [0x53e970]
mov dword [ecx + 4], eax
mov eax, dword [0x53e974]
mov dword [ecx + 8], eax
mov al, byte [0x53e978]
mov byte [ecx + 0xc], al
mov ecx, dword [ebp - 0xb20]
cmp edi, 4
jne 0x421848
cmp ecx, 5
jne 0x421848
test edx, edx
jne 0x421848
mov eax, dword [ebp - 0xa88]
test al, 0x20
je 0x42184e
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421810
mov eax, dword [str.___Datacenter_]
mov dword [ecx], eax
mov eax, dword [0x53e8fc]
mov dword [ecx + 4], eax
mov eax, dword [0x53e900]
mov dword [ecx + 8], eax
mov ax, word [0x53e904]
mov word [ecx + 0xc], ax
mov al, byte [0x53e906]
mov byte [ecx + 0xe], al
jmp 0x422ff7
mov eax, dword [ebp - 0xa88]
cmp edi, 4
jne 0x422ff7
cmp ecx, 5
jne 0x422ff7
test edx, edx
jne 0x422ff7
cmp ebx, 2
jne 0x422ff7
test bl, al
je 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421880
mov eax, dword [str.___Advanced_Server_]
mov dword [ecx], eax
mov eax, dword [0x53e980]
mov dword [ecx + 4], eax
mov eax, dword [0x53e984]
mov dword [ecx + 8], eax
mov eax, dword [0x53e988]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53e98c]
mov dword [ecx + 0x10], eax
jmp 0x422ff7
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00420fa0
test eax, eax
je 0x421cee
mov edx, dword [ebp - 0xa88]
mov esi, dword [ebp - 0xa7c]
mov ebx, dword [ebp - 0xb1c]
test edx, 0x10000
je 0x421910
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4218f0
mov ecx, 7
mov esi, str.Windows_XP__Starter_Edition_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421b02
test dl, 0x40
je 0x421960
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421920
mov eax, dword [str.Windows_XP__Personal_]
mov dword [ecx], eax
mov eax, dword [0x53e9b4]
mov dword [ecx + 4], eax
mov eax, dword [0x53e9b8]
mov dword [ecx + 8], eax
mov eax, dword [0x53e9bc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53e9c0]
mov dword [ecx + 0x10], eax
mov ax, word [0x53e9c4]
mov word [ecx + 0x14], ax
jmp 0x421b02
test byte [ebp - 0xa84], 0x80
je 0x421991
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421970
mov ecx, 6
mov esi, str.Windows_XP__Professional_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421b02
mov eax, dword [ebp - 0xb20]
cmp edi, 4
jne 0x421ad0
cmp eax, 5
jne 0x4219f9
test ebx, ebx
je 0x4219f9
lea ecx, [ebp - 0xbb8]
call fcn.00421140
test eax, eax
je 0x421a52
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4219c3
mov eax, dword [str.Windows_Server_2003]
mov dword [ecx], eax
mov eax, dword [0x53e9e8]
mov dword [ecx + 4], eax
mov eax, dword [0x53e9ec]
mov dword [ecx + 8], eax
mov eax, dword [0x53e9f0]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53e9f4]
mov dword [ecx + 0x10], eax
jmp 0x421b10
cmp edi, 4
jne 0x421ad0
cmp eax, 5
je 0x421a58
cmp edi, 4
jne 0x421ad0
cmp eax, 5
jne 0x421a8f
test ebx, ebx
je 0x421a8f
lea ecx, [ebp - 0xbb8]
call fcn.00421160
test eax, eax
je 0x421a99
lea edi, [ebp - 0x870]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421a30
mov ecx, 5
mov esi, str.Windows_Server_2003_R2
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421b10
mov eax, dword [ebp - 0xb20]
test ebx, ebx
je 0x421a07
cmp esi, 3
jne 0x421a07
test edx, 0x20000
jne 0x421a07
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421a70
mov ecx, 0xa
mov esi, str.Windows_Server_2003__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421b10
cmp edi, 4
jne 0x421ad0
cmp eax, 5
jne 0x421ad0
test ebx, ebx
je 0x421ad0
cmp esi, 3
jne 0x421ad0
test edx, 0x20000
je 0x421ad0
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421ab1
mov ecx, 0xa
mov esi, str.Windows_Server_2003_R2__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421b10
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421ad7
mov eax, dword [str.Windows_XP]
mov dword [ecx], eax
mov eax, dword [0x53ea68]
mov dword [ecx + 4], eax
mov ax, word [0x53ea6c]
mov word [ecx + 8], ax
mov al, byte [0x53ea6e]
mov byte [ecx + 0xa], al
cmp edi, 4
jne 0x421b6c
cmp dword [ebp - 0xb20], 5
jne 0x421b21
test ebx, ebx
je 0x421b21
test dl, 0x20
je 0x421b21
test edx, 0x20000
je 0x421b42
cmp edi, 4
jne 0x421b6c
mov ecx, dword [ebp - 0xb20]
cmp ecx, 5
jne 0x421b72
test ebx, ebx
je 0x421b72
test dl, 0x20
je 0x421b72
test edx, 0x20000
je 0x421b72
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421b50
mov ecx, 5
mov esi, str.___Datacenter_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
mov ecx, dword [ebp - 0xb20]
mov eax, dword [ebp - 0xa7c]
cmp edi, 4
jne 0x421c70
cmp ecx, 5
jne 0x421b9b
test ebx, ebx
je 0x421b9b
cmp eax, 2
jne 0x421b9b
test edx, 0x20000
jne 0x421b9b
test al, dl
jne 0x421bbe
cmp edi, 4
jne 0x421c70
cmp ecx, 5
jne 0x421be1
test ebx, ebx
je 0x421be1
cmp eax, 2
jne 0x421be1
test edx, 0x20000
jne 0x421be1
test al, dl
je 0x421be1
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421bc5
mov ecx, 5
mov esi, str.___Enterprise_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
cmp edi, 4
jne 0x421c70
cmp ecx, 5
jne 0x421bff
test ebx, ebx
je 0x421bff
test dl, dl
jns 0x421bff
test edx, 0x20000
je 0x421c19
cmp edi, 4
jne 0x421c70
cmp ecx, 5
jne 0x421c4e
test ebx, ebx
je 0x421c4e
test dl, dl
jns 0x421c4e
test edx, 0x20000
je 0x421c4e
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421c20
mov eax, dword [str.___Web_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eaa4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eaa8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eaac]
mov dword [ecx + 0xc], eax
jmp 0x422ff7
cmp edi, 4
jne 0x421c70
mov eax, dword [ebp - 0xa84]
cmp ecx, 5
jne 0x421c76
test ebx, ebx
je 0x421c76
test al, 0x20
je 0x421c76
test edx, 0x20000
je 0x421ca4
jmp 0x421c76
mov eax, dword [ebp - 0xa84]
cmp edi, 4
jne 0x422ff7
cmp ecx, 5
jne 0x422ff7
test ebx, ebx
je 0x422ff7
test al, 0x20
je 0x422ff7
test edx, 0x20000
je 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421cb0
mov eax, dword [str.___Standard_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eab4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eab8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eabc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eac0]
mov dword [ecx + 0x10], eax
mov al, byte [0x53eac4]
mov byte [ecx + 0x14], al
jmp 0x422ff7
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00420fd0
test eax, eax
je 0x42203e
mov edx, dword [ebp - 0xa88]
mov eax, dword [ebp - 0xa7c]
mov ebx, dword [ebp - 0xb1c]
test edx, 0x10000
je 0x421d43
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421d24
mov ecx, 8
mov esi, str.Windows_Vista__Starter_Edition_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421ef3
test edx, 0x1000000
je 0x421d74
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421d52
mov ecx, 6
mov esi, str.Windows_Vista__Home_Basic_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421ef3
test edx, 0x2000000
je 0x421da3
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421d83
mov ecx, 7
mov esi, str.Windows_Vista__Home_Premium_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421ef3
test edx, 0x8000000
je 0x421dd2
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421db2
mov ecx, 6
mov esi, str.Windows_Vista__Business_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421ef3
test dl, 2
je 0x421e02
lea edi, [ebp - 0x870]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421de0
mov ecx, 6
mov esi, str.Windows_Vista__Enterprise_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421ef3
test edx, 0x400000
je 0x421e31
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421e11
mov ecx, 6
mov esi, str.Windows_Vista__Ultimate_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421ef3
mov ecx, dword [ebp - 0xb20]
cmp edi, 4
jne 0x421ec1
cmp ecx, 6
jne 0x421e8b
test ebx, ebx
jne 0x421e8b
cmp eax, 2
jne 0x421e8b
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421e55
mov eax, dword [str.Windows_Server_2008]
mov dword [ecx], eax
mov eax, dword [0x53eb7c]
mov dword [ecx + 4], eax
mov eax, dword [0x53eb80]
mov dword [ecx + 8], eax
mov eax, dword [0x53eb84]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eb88]
mov dword [ecx + 0x10], eax
jmp 0x421f09
cmp edi, 4
jne 0x421ec1
cmp ecx, 6
jne 0x421ec1
test ebx, ebx
jne 0x421ec1
cmp eax, 3
jne 0x421ec1
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421ea5
mov ecx, 0xa
mov esi, str.Windows_Server_2008__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x421f09
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421ec8
mov eax, dword [str.Windows_Vista]
mov dword [ecx], eax
mov eax, dword [0x53ebb8]
mov dword [ecx + 4], eax
mov eax, dword [0x53ebbc]
mov dword [ecx + 8], eax
mov ax, word [0x53ebc0]
mov word [ecx + 0xc], ax
cmp edi, 4
jne 0x421f7c
cmp dword [ebp - 0xb20], 6
jne 0x421f31
test ebx, ebx
jne 0x421f31
test dl, 0x20
je 0x421f31
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421f15
mov ecx, 5
mov esi, str.___Datacenter_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
cmp edi, 4
jne 0x421f7c
mov ecx, dword [ebp - 0xb20]
cmp ecx, 6
jne 0x421f82
test ebx, ebx
jne 0x421f82
cmp dword [ebp - 0xa7c], 2
jne 0x421f82
test dl, 2
je 0x421f82
lea edi, [ebp - 0x870]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x421f60
mov ecx, 5
mov esi, str.___Enterprise_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
mov ecx, dword [ebp - 0xb20]
cmp edi, 4
jne 0x422ff7
cmp ecx, 6
jne 0x421fce
test ebx, ebx
jne 0x421fce
test dl, dl
jns 0x421fce
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x421fa0
mov eax, dword [str.___Web_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eaa4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eaa8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eaac]
mov dword [ecx + 0xc], eax
jmp 0x422ff7
cmp edi, 4
jne 0x422ff7
cmp ecx, 6
jne 0x422ff7
test ebx, ebx
jne 0x422ff7
test byte [ebp - 0xa84], 0x20
je 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422000
mov eax, dword [str.___Standard_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eab4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eab8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eabc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eac0]
mov dword [ecx + 0x10], eax
mov al, byte [0x53eac4]
mov byte [ecx + 0x14], al
jmp 0x422ff7
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421000
test eax, eax
je 0x4223e1
mov ecx, dword [ebp - 0xa84]
mov eax, dword [ebp - 0xa7c]
mov ebx, dword [ebp - 0xb1c]
mov edx, dword [ebp - 0xa88]
test ecx, 0x20000
je 0x4220b8
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422080
mov eax, dword [str.Windows_7_Thin_PC]
mov dword [ecx], eax
mov eax, dword [0x53ebc8]
mov dword [ecx + 4], eax
mov eax, dword [0x53ebcc]
mov dword [ecx + 8], eax
mov eax, dword [0x53ebd0]
mov dword [ecx + 0xc], eax
mov ax, word [0x53ebd4]
mov word [ecx + 0x10], ax
jmp 0x42229a
test edx, 0x10000
je 0x4220e6
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4220c7
mov ecx, 7
mov esi, str.Windows_7__Starter_Edition_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x42229a
test edx, 0x1000000
je 0x422117
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4220f5
mov ecx, 5
mov esi, str.Windows_7__Home_Basic_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x42229a
test edx, 0x2000000
je 0x422146
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422126
mov ecx, 6
mov esi, str.Windows_7__Home_Premium_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x42229a
test cl, cl
jns 0x422171
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422151
mov ecx, 6
mov esi, str.Windows_7__Professional_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x42229a
test dl, 2
je 0x4221a2
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422180
mov ecx, 5
mov esi, str.Windows_7__Enterprise_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x42229a
test edx, 0x400000
je 0x4221ef
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4221b1
mov eax, dword [str.Windows_7__Ultimate_]
mov dword [ecx], eax
mov eax, dword [0x53ec60]
mov dword [ecx + 4], eax
mov eax, dword [0x53ec64]
mov dword [ecx + 8], eax
mov eax, dword [0x53ec68]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53ec6c]
mov dword [ecx + 0x10], eax
mov al, byte [0x53ec70]
mov byte [ecx + 0x14], al
jmp 0x42229a
mov ecx, dword [ebp - 0xb20]
cmp edi, 4
jne 0x422270
cmp ecx, 6
jne 0x422236
cmp ebx, 1
jne 0x422236
cmp eax, 2
jne 0x422236
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422214
mov ecx, 5
mov esi, str.Windows_Server_2008_R2
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x4222b1
cmp edi, 4
jne 0x422270
cmp ecx, 6
jne 0x422270
cmp ebx, 1
jne 0x422270
cmp eax, 3
jne 0x422270
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422251
mov ecx, 0xa
mov esi, str.Windows_Server_2008_R2__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x4222b1
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422277
mov eax, dword [str.Windows_7]
mov dword [ecx], eax
mov eax, dword [0x53ecbc]
mov dword [ecx + 4], eax
mov ax, word [0x53ecc0]
mov word [ecx + 8], ax
cmp edi, 4
jne 0x422322
cmp dword [ebp - 0xb20], 6
jne 0x4222dc
cmp ebx, 1
jne 0x4222dc
test dl, 0x20
je 0x4222dc
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4222c0
mov ecx, 5
mov esi, str.___Datacenter_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
cmp edi, 4
jne 0x422322
mov ecx, dword [ebp - 0xb20]
cmp ecx, 6
jne 0x422328
cmp ebx, 1
jne 0x422328
cmp dword [ebp - 0xa7c], 2
jne 0x422328
test dl, 2
je 0x422328
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422306
mov ecx, 5
mov esi, str.___Enterprise_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
mov ecx, dword [ebp - 0xb20]
cmp edi, 4
jne 0x422ff7
cmp ecx, 6
jne 0x422374
cmp ebx, 1
jne 0x422374
test dl, dl
jns 0x422374
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422346
mov eax, dword [str.___Web_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eaa4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eaa8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eaac]
mov dword [ecx + 0xc], eax
jmp 0x422ff7
cmp edi, 4
jne 0x422ff7
cmp ecx, 6
jne 0x422ff7
cmp ebx, 1
jne 0x422ff7
test byte [ebp - 0xa84], 0x20
je 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4223a3
mov eax, dword [str.___Standard_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eab4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eab8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eabc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eac0]
mov dword [ecx + 0x10], eax
mov al, byte [0x53eac4]
mov byte [ecx + 0x14], al
jmp 0x422ff7
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421030
test eax, eax
je 0x422753
mov ecx, dword [ebp - 0xa84]
mov ebx, dword [ebp - 0xa88]
mov eax, dword [ebp - 0xa7c]
mov edx, dword [ebp - 0xb1c]
test ecx, 0x20000
je 0x422458
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422420
mov eax, dword [str.Windows_8_Thin_PC]
mov dword [ecx], eax
mov eax, dword [0x53ecc8]
mov dword [ecx + 4], eax
mov eax, dword [0x53eccc]
mov dword [ecx + 8], eax
mov eax, dword [0x53ecd0]
mov dword [ecx + 0xc], eax
mov ax, word [0x53ecd4]
mov word [ecx + 0x10], ax
jmp 0x422607
mov esi, dword [ebp - 0xb20]
cmp edi, 4
jne 0x4224b0
cmp esi, 6
jne 0x4224b0
cmp edx, 2
jne 0x4224b0
cmp eax, 1
jne 0x4224b0
cmp dword [ebp - 0xb10], 9
jne 0x4224b0
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422482
mov eax, dword [str.Windows_8_RT]
mov dword [ecx], eax
mov eax, dword [0x53ecdc]
mov dword [ecx + 4], eax
mov eax, dword [0x53ece0]
mov dword [ecx + 8], eax
mov al, byte [0x53ece4]
mov byte [ecx + 0xc], al
jmp 0x42261e
test ebx, 0x10000
je 0x4224df
lea edi, [ebp - 0x870]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4224c0
mov ecx, 7
mov esi, str.Windows_8__Starter_Edition_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x422607
test cl, cl
jns 0x42251e
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4224f0
mov eax, dword [str.Windows_8__Pro_]
mov dword [ecx], eax
mov eax, dword [0x53ed08]
mov dword [ecx + 4], eax
mov eax, dword [0x53ed0c]
mov dword [ecx + 8], eax
mov eax, dword [0x53ed10]
mov dword [ecx + 0xc], eax
jmp 0x422607
test bl, 2
je 0x422552
lea edi, [ebp - 0x870]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422530
mov ecx, 5
mov esi, str.Windows_8__Enterprise_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x422607
cmp edi, 4
jne 0x4225dd
cmp esi, 6
jne 0x4225a6
cmp edx, 2
jne 0x4225a6
cmp eax, edx
jne 0x4225a6
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422570
mov eax, dword [str.Windows_Server_2012]
mov dword [ecx], eax
mov eax, dword [0x53ed30]
mov dword [ecx + 4], eax
mov eax, dword [0x53ed34]
mov dword [ecx + 8], eax
mov eax, dword [0x53ed38]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53ed3c]
mov dword [ecx + 0x10], eax
jmp 0x42261e
cmp edi, 4
jne 0x4225dd
cmp esi, 6
jne 0x4225dd
cmp edx, 2
jne 0x4225dd
cmp eax, 3
jne 0x4225dd
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4225c1
mov ecx, 0xa
mov esi, str.Windows_Server_2012__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xb14]
jmp 0x42261e
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4225e4
mov eax, dword [str.Windows_8]
mov dword [ecx], eax
mov eax, dword [0x53ed6c]
mov dword [ecx + 4], eax
mov ax, word [0x53ed70]
mov word [ecx + 8], ax
cmp edi, 4
jne 0x422690
cmp dword [ebp - 0xb20], 6
jne 0x42264c
cmp edx, 2
jne 0x42264c
test bl, 0x20
je 0x42264c
lea edi, [ebp - 0x870]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422630
mov ecx, 5
mov esi, str.___Datacenter_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
cmp edi, 4
jne 0x422690
mov eax, dword [ebp - 0xb20]
cmp eax, 6
jne 0x422696
cmp edx, 2
jne 0x422696
cmp dword [ebp - 0xa7c], edx
jne 0x422696
test dl, bl
je 0x422696
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422674
mov ecx, 5
mov esi, str.___Enterprise_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
mov eax, dword [ebp - 0xb20]
cmp edi, 4
jne 0x422ff7
cmp eax, 6
jne 0x4226e2
cmp edx, 2
jne 0x4226e2
test bl, bl
jns 0x4226e2
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4226b4
mov eax, dword [str.___Web_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eaa4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eaa8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eaac]
mov dword [ecx + 0xc], eax
jmp 0x422ff7
cmp edi, 4
jne 0x422ff7
cmp dword [ebp - 0xb20], 6
jne 0x422ff7
cmp edx, 2
jne 0x422ff7
test byte [ebp - 0xa84], 0x20
je 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422715
mov eax, dword [str.___Standard_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eab4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eab8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eabc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eac0]
mov dword [ecx + 0x10], eax
mov al, byte [0x53eac4]
mov byte [ecx + 0x14], al
jmp 0x422ff7
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421060
test eax, eax
je 0x422b1e
mov eax, dword [ebp - 0xa84]
mov ebx, dword [ebp - 0xa88]
mov ecx, dword [ebp - 0xa7c]
mov edx, dword [ebp - 0xb1c]
test eax, 0x20000
je 0x4227c6
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422790
mov eax, dword [str.Windows_8.1_Thin_PC]
mov dword [ecx], eax
mov eax, dword [0x53ed78]
mov dword [ecx + 4], eax
mov eax, dword [0x53ed7c]
mov dword [ecx + 8], eax
mov eax, dword [0x53ed80]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53ed84]
mov dword [ecx + 0x10], eax
jmp 0x422954
mov esi, dword [ebp - 0xb20]
cmp edi, 4
jne 0x422828
cmp esi, 6
jne 0x422828
cmp edx, 2
jne 0x422828
cmp ecx, 1
jne 0x422828
cmp dword [ebp - 0xb10], 9
jne 0x422828
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4227f0
mov eax, dword [str.Windows_8.1_RT]
mov dword [ecx], eax
mov eax, dword [0x53ed8c]
mov dword [ecx + 4], eax
mov eax, dword [0x53ed90]
mov dword [ecx + 8], eax
mov ax, word [0x53ed94]
mov word [ecx + 0xc], ax
mov al, byte [0x53ed96]
mov byte [ecx + 0xe], al
jmp 0x422954
test ebx, 0x10000
je 0x422852
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422837
mov ecx, 7
mov esi, str.Windows_8.1__Starter_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x422954
test al, al
jns 0x422898
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422860
mov eax, dword [str.Windows_8.1__Pro_]
mov dword [ecx], eax
mov eax, dword [0x53edbc]
mov dword [ecx + 4], eax
mov eax, dword [0x53edc0]
mov dword [ecx + 8], eax
mov eax, dword [0x53edc4]
mov dword [ecx + 0xc], eax
mov ax, word [0x53edc8]
mov word [ecx + 0x10], ax
jmp 0x422954
test bl, 2
je 0x4228be
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4228a4
mov ecx, 6
mov esi, str.Windows_8.1__Enterprise_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422954
cmp edi, 4
jne 0x42292c
cmp esi, 6
jne 0x4228f9
cmp edx, 3
jne 0x4228f9
cmp ecx, 2
jne 0x4228f9
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4228e0
mov ecx, 5
mov esi, str.Windows_Server_2012_R2
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422954
cmp edi, 4
jne 0x42292c
cmp esi, 6
jne 0x42292c
cmp edx, 3
jne 0x42292c
cmp ecx, edx
jne 0x42292c
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422913
mov ecx, 0xa
mov esi, str.Windows_Server_2012_R2__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422954
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422933
mov eax, dword [str.Windows_8.1]
mov dword [ecx], eax
mov eax, dword [0x53ee30]
mov dword [ecx + 4], eax
mov eax, dword [0x53ee34]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xa84]
test ecx, 0x800000
je 0x42298c
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422970
mov ecx, 7
mov esi, str.___with_Bing___CoreConnected_
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xa84]
movsw word es:[edi], word [esi]
test ecx, 0x400000
je 0x4229d1
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4229a0
mov eax, dword [str.___Update_]
mov dword [ecx], eax
mov eax, dword [0x53ee5c]
mov dword [ecx + 4], eax
mov ax, word [0x53ee60]
mov word [ecx + 8], ax
mov al, byte [0x53ee62]
mov byte [ecx + 0xa], al
mov ecx, dword [ebp - 0xa84]
mov eax, dword [ebp - 0xb14]
mov edi, dword [ebp - 0xb20]
cmp eax, 4
jne 0x422ff7
cmp edi, 6
jne 0x422a1c
cmp edx, 3
jne 0x422a1c
test bl, 0x20
je 0x422a1c
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422a00
mov ecx, 5
mov esi, str.___Datacenter_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
cmp eax, 4
jne 0x422ff7
cmp edi, 6
jne 0x422a60
cmp edx, 3
jne 0x422a60
cmp dword [ebp - 0xa7c], 2
jne 0x422a60
test bl, 2
je 0x422a60
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422a44
mov ecx, 5
mov esi, str.___Enterprise_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
cmp eax, 4
jne 0x422ff7
cmp edi, 6
jne 0x422aae
cmp edx, 3
jne 0x422aae
test bl, bl
jns 0x422aae
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422a80
mov eax, dword [str.___Web_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eaa4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eaa8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eaac]
mov dword [ecx + 0xc], eax
jmp 0x422ff7
cmp eax, 4
jne 0x422ff7
cmp edi, 6
jne 0x422ff7
cmp edx, 3
jne 0x422ff7
test cl, 0x20
je 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422ae0
mov eax, dword [str.___Standard_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eab4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eab8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eabc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eac0]
mov dword [ecx + 0x10], eax
mov al, byte [0x53eac4]
mov byte [ecx + 0x14], al
jmp 0x422ff7
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421090
test eax, eax
je 0x422ff7
mov ebx, dword [ebp - 0xa84]
mov eax, dword [ebp - 0xa88]
mov ecx, dword [ebp - 0xa7c]
mov edx, dword [ebp - 0xb1c]
test ebx, 0x20000
je 0x422ba0
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422b60
mov eax, dword [str.Windows_10_Thin_PC]
mov dword [ecx], eax
mov eax, dword [0x53ee68]
mov dword [ecx + 4], eax
mov eax, dword [0x53ee6c]
mov dword [ecx + 8], eax
mov eax, dword [0x53ee70]
mov dword [ecx + 0xc], eax
mov ax, word [0x53ee74]
mov word [ecx + 0x10], ax
mov al, byte [0x53ee76]
mov byte [ecx + 0x12], al
jmp 0x422e3b
mov esi, dword [ebp - 0xb20]
cmp edi, 4
jne 0x422c00
cmp esi, 6
jne 0x422c00
cmp edx, 2
jne 0x422c00
cmp ecx, 1
jne 0x422c00
cmp dword [ebp - 0xb10], 9
jne 0x422c00
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422bd0
mov eax, dword [str.Windows_10_RT]
mov dword [ecx], eax
mov eax, dword [0x53ee7c]
mov dword [ecx + 4], eax
mov eax, dword [0x53ee80]
mov dword [ecx + 8], eax
mov ax, word [0x53ee84]
mov word [ecx + 0xc], ax
jmp 0x422e3b
test eax, 0x10000
je 0x422c2a
lea edi, [ebp - 0x870]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422c10
mov ecx, 7
mov esi, str.Windows_10__Starter_Edition_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422e3b
test ebx, 0x4000000
je 0x422c78
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422c40
mov eax, dword [str.Windows_10__Home_]
mov dword [ecx], eax
mov eax, dword [0x53eeac]
mov dword [ecx + 4], eax
mov eax, dword [0x53eeb0]
mov dword [ecx + 8], eax
mov eax, dword [0x53eeb4]
mov dword [ecx + 0xc], eax
mov ax, word [0x53eeb8]
mov word [ecx + 0x10], ax
jmp 0x422e3b
test bl, bl
jns 0x422cb9
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422c83
mov eax, dword [str.Windows_10__Pro_]
mov dword [ecx], eax
mov eax, dword [0x53eec0]
mov dword [ecx + 4], eax
mov eax, dword [0x53eec4]
mov dword [ecx + 8], eax
mov eax, dword [0x53eec8]
mov dword [ecx + 0xc], eax
mov al, byte [0x53eecc]
mov byte [ecx + 0x10], al
jmp 0x422e3b
test al, 2
je 0x422d02
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422cc4
mov eax, dword [str.Windows_10__Enterprise_]
mov dword [ecx], eax
mov eax, dword [0x53eed4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eed8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eedc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eee0]
mov dword [ecx + 0x10], eax
mov eax, dword [0x53eee4]
mov dword [ecx + 0x14], eax
jmp 0x422e3b
test ebx, ebx
jns 0x422d2c
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422d10
mov ecx, 5
mov esi, str.Windows_10_Nano_Server
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422e3b
test byte [ebp - 0xa80], 2
je 0x422d7e
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422d40
mov eax, dword [str.Windows_10_ARM64_Server]
mov dword [ecx], eax
mov eax, dword [0x53ef04]
mov dword [ecx + 4], eax
mov eax, dword [0x53ef08]
mov dword [ecx + 8], eax
mov eax, dword [0x53ef0c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53ef10]
mov dword [ecx + 0x10], eax
mov eax, dword [0x53ef14]
mov dword [ecx + 0x14], eax
jmp 0x422e3b
cmp edi, 4
jne 0x422e06
cmp esi, 6
ja 0x422d92
jne 0x422dd3
cmp edx, edi
jb 0x422dd3
cmp ecx, 2
jne 0x422dd3
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422da0
mov eax, dword [str.Windows_Server_2016]
mov dword [ecx], eax
mov eax, dword [0x53ef1c]
mov dword [ecx + 4], eax
mov eax, dword [0x53ef20]
mov dword [ecx + 8], eax
mov eax, dword [0x53ef24]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53ef28]
mov dword [ecx + 0x10], eax
jmp 0x422e3b
cmp edi, 4
jne 0x422e06
cmp esi, 6
ja 0x422de3
jne 0x422e06
cmp edx, edi
jb 0x422e06
cmp ecx, 3
jne 0x422e06
lea edi, [ebp - 0x870]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422df0
mov ecx, 0xa
mov esi, str.Windows_Server_2016__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
jmp 0x422e3b
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422e10
mov eax, dword [str.Windows_10]
mov dword [ecx], eax
mov eax, dword [0x53ef58]
mov dword [ecx + 4], eax
mov ax, word [0x53ef5c]
mov word [ecx + 8], ax
mov al, byte [0x53ef5e]
mov byte [ecx + 0xa], al
test ebx, 0x800000
je 0x422e66
lea edi, [ebp - 0x870]
dec edi
nop word [eax + eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422e50
mov ecx, 7
mov esi, str.___with_Bing___CoreConnected_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov eax, dword [ebp - 0xb14]
mov edi, dword [ebp - 0xb20]
cmp eax, 4
jne 0x422eb0
cmp edi, 6
ja 0x422e82
jne 0x422eb0
cmp edx, eax
jb 0x422eb0
mov ecx, dword [ebp - 0xa88]
test cl, 0x20
je 0x422eb6
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422e94
mov ecx, 5
mov esi, str.___Datacenter_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
mov ecx, dword [ebp - 0xa88]
cmp eax, 4
jne 0x422ff7
cmp edi, 6
ja 0x422eca
jne 0x422efc
cmp edx, eax
jb 0x422efc
cmp dword [ebp - 0xa7c], 2
jne 0x422efc
test cl, 2
je 0x422efc
lea edi, [ebp - 0x870]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422ee0
mov ecx, 5
mov esi, str.___Enterprise_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x422ff7
cmp eax, 4
jne 0x422ff7
cmp edi, 6
ja 0x422f10
jne 0x422f4e
cmp edx, eax
jb 0x422f4e
test cl, cl
jns 0x422f4e
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422f20
mov eax, dword [str.___Web_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eaa4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eaa8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eaac]
mov dword [ecx + 0xc], eax
jmp 0x422ff7
cmp eax, 4
jne 0x422ff7
cmp edi, 6
ja 0x422f6a
jne 0x422ff7
cmp edx, eax
jb 0x422ff7
test bl, 0x20
je 0x422ff7
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x422f80
mov eax, dword [str.___Standard_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53eab4]
mov dword [ecx + 4], eax
mov eax, dword [0x53eab8]
mov dword [ecx + 8], eax
mov eax, dword [0x53eabc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eac0]
mov dword [ecx + 0x10], eax
mov al, byte [0x53eac4]
mov byte [ecx + 0x14], al
jmp 0x422ff7
lea eax, [ebp - 0x70]
push str.Unknown_OS
push eax
call fcn.0041e8c0
lea edx, [ebp - 0x70]
add esp, 8
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x422fd1
lea edi, [ebp - 0x870]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x422fe1
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0xb10]
dec eax
cmp eax, 9
ja case.default.0x423007
jmp dword [eax*4 + 0x4241a8]
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423015
mov eax, dword [str.___x86_32_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53ef70]
mov dword [ecx + 4], eax
mov eax, dword [0x53ef74]
mov dword [ecx + 8], eax
mov eax, dword [0x53ef78]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53ef7c]
mov dword [ecx + 0x10], eax
mov al, byte [0x53ef80]
mov byte [ecx + 0x14], al
jmp 0x4232db
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423060
mov eax, dword [str.___MIPS_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53ef88]
mov dword [ecx + 4], eax
mov eax, dword [0x53ef8c]
mov dword [ecx + 8], eax
mov eax, dword [0x53ef90]
mov dword [ecx + 0xc], eax
mov ax, word [0x53ef94]
mov word [ecx + 0x10], ax
mov al, byte [0x53ef96]
mov byte [ecx + 0x12], al
jmp 0x4232db
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4230a7
mov eax, dword [str.___Alpha_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53ef9c]
mov dword [ecx + 4], eax
mov eax, dword [0x53efa0]
mov dword [ecx + 8], eax
mov eax, dword [0x53efa4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53efa8]
mov dword [ecx + 0x10], eax
jmp 0x4232db
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4230e4
mov eax, dword [str.___PPC_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53efb0]
mov dword [ecx + 4], eax
mov eax, dword [0x53efb4]
mov dword [ecx + 8], eax
mov eax, dword [0x53efb8]
mov dword [ecx + 0xc], eax
mov ax, word [0x53efbc]
mov word [ecx + 0x10], ax
jmp 0x4232db
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423123
mov ecx, 7
mov esi, str.___IA64_Itanium_2__Processor_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x4232db
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423145
mov eax, dword [str.___x86_64_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53efe4]
mov dword [ecx + 4], eax
mov eax, dword [0x53efe8]
mov dword [ecx + 8], eax
mov eax, dword [0x53efec]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53eff0]
mov dword [ecx + 0x10], eax
mov al, byte [0x53eff4]
mov byte [ecx + 0x14], al
jmp 0x4232db
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423190
mov eax, dword [str.___Alpha64_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53effc]
mov dword [ecx + 4], eax
mov eax, dword [0x53f000]
mov dword [ecx + 8], eax
mov eax, dword [0x53f004]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53f008]
mov dword [ecx + 0x10], eax
mov ax, word [0x53f00c]
jmp 0x4232d7
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4231d3
mov eax, dword [str.___MSIL_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53f014]
mov dword [ecx + 4], eax
mov eax, dword [0x53f018]
mov dword [ecx + 8], eax
mov eax, dword [0x53f01c]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f020]
mov word [ecx + 0x10], ax
mov al, byte [0x53f022]
mov byte [ecx + 0x12], al
jmp 0x4232db
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423220
mov eax, dword [str.___ARM_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53f028]
mov dword [ecx + 4], eax
mov eax, dword [0x53f02c]
mov dword [ecx + 8], eax
mov eax, dword [0x53f030]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f034]
mov word [ecx + 0x10], ax
jmp 0x4232db
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423260
mov eax, dword [str.___SHX_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53f03c]
mov dword [ecx + 4], eax
mov eax, dword [0x53f040]
mov dword [ecx + 8], eax
mov eax, dword [0x53f044]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f048]
mov word [ecx + 0x10], ax
jmp 0x4232db
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4232a0
mov eax, dword [str.___Unknown_Processor_]
mov dword [ecx], eax
mov eax, dword [0x53f050]
mov dword [ecx + 4], eax
mov eax, dword [0x53f054]
mov dword [ecx + 8], eax
mov eax, dword [0x53f058]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53f05c]
mov dword [ecx + 0x10], eax
mov ax, word [0x53f060]
mov word [ecx + 0x14], ax
push dword [ebp - 0xb20]
lea eax, [ebp - 0x70]
push str._v_d.
push eax
call fcn.0041e8c0
lea edx, [ebp - 0x70]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4232f7
lea edi, [ebp - 0x870]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423307
mov ecx, edx
mov eax, 0xcccccccd
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0xb1c]
mul esi
mov eax, esi
shr edx, 3
lea ecx, [edx + edx*4]
add ecx, ecx
sub eax, ecx
lea eax, [ebp - 0x70]
je 0x423348
push esi
cmp esi, 9
jbe 0x423349
push str._02d
jmp 0x42334e
push edx
push str._01d
push eax
call fcn.0041e8c0
lea edx, [ebp - 0x70]
add esp, 0xc
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x423360
lea edi, [ebp - 0x870]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423370
mov eax, dword [ebp - 0xb18]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test eax, eax
je 0x4233cd
push eax
lea eax, [ebp - 0x70]
push str._Build:_d
push eax
call fcn.0041e8c0
lea edx, [ebp - 0x70]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4233a7
lea edi, [ebp - 0x870]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4233b7
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4233d4
mov ax, word [0x53f088]
mov cx, word [ebp - 0xa8c]
mov word [edi], ax
mov ax, word [ebp - 0xa8a]
test cx, cx
je 0x4234f8
test ax, ax
je 0x4234b3
mov esi, dword [ebp - 0xb14]
mov ebx, dword [ebp - 0xa88]
mov edi, dword [ebp - 0xb1c]
mov edx, dword [ebp - 0xb20]
cmp esi, 4
jne 0x423498
cmp edx, 4
ja 0x42344b
cmp cx, 6
jne 0x423450
cmp ax, 1
jne 0x423450
lea eax, [ebp - 0x70]
push str.Service_Pack:_6a
push eax
call fcn.0041e8c0
add esp, 8
jmp 0x4234c8
cmp esi, 4
jne 0x423498
cmp edx, 5
jne 0x42345e
test edi, edi
je 0x42345e
test bl, 0x40
jne 0x42347a
cmp esi, 4
jne 0x423498
cmp edx, 5
jne 0x423498
test edi, edi
je 0x423498
cmp dword [ebp - 0xa7c], 1
jne 0x423498
test bl, 0x40
jne 0x423498
cmp cx, 1
jne 0x423498
cmp ax, cx
jne 0x423498
lea eax, [ebp - 0x70]
push str.Service_Pack:_1a
push eax
call fcn.0041e8c0
add esp, 8
jmp 0x4234c8
movzx eax, ax
push eax
movzx eax, cx
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:_d._d
push eax
call fcn.0041e8c0
add esp, 0x10
jmp 0x4234c8
movzx eax, cx
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:_d
push eax
call fcn.0041e8c0
add esp, 0xc
lea edx, [ebp - 0x70]
mov esi, edx
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x4234d0
lea edi, [ebp - 0x870]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4234e0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x423512
test ax, ax
je 0x423512
movzx eax, ax
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:0._d
push eax
call fcn.0041e8c0
add esp, 0xc
mov ebx, dword [ebp - 0xa88]
mov eax, ebx
mov edx, dword [ebp - 0xa84]
shr eax, 0x13
and eax, 1
je 0x42354f
test bl, 2
je 0x42354f
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423534
mov ecx, 7
mov esi, str.___Storage_Server_Enterprise_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x42363e
test dl, 8
je 0x42357c
lea edi, [ebp - 0x870]
dec edi
nop dword [eax + eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423560
mov ecx, 6
mov esi, str.___Storage_Server_Express_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x42363e
test eax, eax
je 0x4235a9
test dl, 0x20
je 0x4235a9
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423590
mov ecx, 7
mov esi, str.___Storage_Server_Standard_
rep movsd dword es:[edi], dword [esi]
jmp 0x42363e
test dl, 0x10
je 0x4235cc
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4235b5
mov ecx, 7
mov esi, str.___Storage_Server_Workgroup_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x42363e
test edx, 0x1000
je 0x4235f8
lea edi, [ebp - 0x870]
dec edi
nop dword [eax + eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4235e0
mov ecx, 7
mov esi, str.___Storage_Server_Essentials_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jmp 0x42363e
test eax, eax
je 0x42363e
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423603
mov eax, dword [str.___Storage_Server_]
mov dword [ecx], eax
mov eax, dword [0x53f188]
mov dword [ecx + 4], eax
mov eax, dword [0x53f18c]
mov dword [ecx + 8], eax
mov eax, dword [0x53f190]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f194]
mov word [ecx + 0x10], ax
mov al, byte [0x53f196]
mov byte [ecx + 0x12], al
test edx, 0x800
je 0x423666
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423650
mov ecx, 8
mov esi, str.___Home_Server_Premium_Edition_
rep movsd dword es:[edi], dword [esi]
jmp 0x4236ae
test ebx, 0x10000000
je 0x4236ae
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423675
mov eax, dword [str.___Home_Server_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53f1bc]
mov dword [ecx + 4], eax
mov eax, dword [0x53f1c0]
mov dword [ecx + 8], eax
mov eax, dword [0x53f1c4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53f1c8]
mov dword [ecx + 0x10], eax
mov eax, dword [0x53f1cc]
mov dword [ecx + 0x14], eax
test bl, 0x10
je 0x4236fb
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4236c0
mov eax, dword [str.___Terminal_Services_]
mov dword [ecx], eax
mov eax, dword [0x53f1d4]
mov dword [ecx + 4], eax
mov eax, dword [0x53f1d8]
mov dword [ecx + 8], eax
mov eax, dword [0x53f1dc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53f1e0]
mov dword [ecx + 0x10], eax
mov ax, word [0x53f1e4]
mov word [ecx + 0x14], ax
test ebx, 0x100
je 0x423739
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423710
mov eax, dword [str.___Embedded_]
mov dword [ecx], eax
mov eax, dword [0x53f1ec]
mov dword [ecx + 4], eax
mov eax, dword [0x53f1f0]
mov dword [ecx + 8], eax
mov al, byte [0x53f1f4]
mov byte [ecx + 0xc], al
test ebx, 0x200
je 0x42375f
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423748
mov ecx, 0xa
mov esi, str.___Terminal_Services_in_Remote_Admin_Mode_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
push str.KERNEL32.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x4237ed
push str.IsWow64Process
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x4237ed
lea eax, [ebp - 0xbbc]
mov dword [ebp - 0xbbc], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x4237ed
cmp dword [ebp - 0xbbc], 0
je 0x4237ed
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4237b2
mov eax, dword [str.___64_Bit_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53f228]
mov dword [ecx + 4], eax
mov eax, dword [0x53f22c]
mov dword [ecx + 8], eax
mov eax, dword [0x53f230]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f234]
mov word [ecx + 0x10], ax
mov al, byte [0x53f236]
mov byte [ecx + 0x12], al
mov ebx, dword [ebp - 0xa88]
test ebx, 0x4000
je 0x423817
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423802
mov ecx, 6
mov esi, str.___Media_Center_Edition_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
test ebx, 0x8000
je 0x423861
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423826
mov eax, dword [str.___Tablet_PC_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53f258]
mov dword [ecx + 4], eax
mov eax, dword [0x53f25c]
mov dword [ecx + 8], eax
mov eax, dword [0x53f260]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53f264]
mov dword [ecx + 0x10], eax
mov ax, word [0x53f268]
mov word [ecx + 0x14], ax
test ebx, 0x40000
je 0x423884
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423870
mov ecx, 7
mov esi, str.___Compute_Cluster_Edition_
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0xa84]
test edx, 0x100
je 0x4238b7
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4238a0
mov ecx, 5
mov esi, str.___Foundation_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
test edx, 0x10000
je 0x4238da
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4238c6
mov ecx, 7
mov esi, str.___MultiPoint_Premium_Edition_
jmp 0x423902
test edx, 0x200
je 0x423907
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4238f0
mov ecx, 5
mov esi, str.___MultiPoint_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
test ebx, 0x100000
je 0x42392d
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423916
mov ecx, 5
mov esi, str.___Security_Appliance_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
test ebx, 0x200000
je 0x423973
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423940
mov eax, dword [str.___BackOffice_]
mov dword [ecx], eax
mov eax, dword [0x53f2f4]
mov dword [ecx + 4], eax
mov eax, dword [0x53f2f8]
mov dword [ecx + 8], eax
mov ax, word [0x53f2fc]
mov word [ecx + 0xc], ax
mov al, byte [0x53f2fe]
mov byte [ecx + 0xe], al
test ebx, 0x800000
je 0x4239ad
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423982
mov eax, dword [str.___N_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53f304]
mov dword [ecx + 4], eax
mov eax, dword [0x53f308]
mov dword [ecx + 8], eax
mov ax, word [0x53f30c]
mov word [ecx + 0xc], ax
test dl, 0x40
je 0x4239eb
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4239c0
mov eax, dword [str.___E_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53f314]
mov dword [ecx + 4], eax
mov eax, dword [0x53f318]
mov dword [ecx + 8], eax
mov ax, word [0x53f31c]
mov word [ecx + 0xc], ax
test ebx, 0x4000000
je 0x423a33
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423a00
mov eax, dword [str.___Hyper_V_Tools_]
mov dword [ecx], eax
mov eax, dword [0x53f324]
mov dword [ecx + 4], eax
mov eax, dword [0x53f328]
mov dword [ecx + 8], eax
mov eax, dword [0x53f32c]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f330]
mov word [ecx + 0x10], ax
test edx, 0x400
je 0x423a7d
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423a42
mov eax, dword [str.___Hyper_V_Server_]
mov dword [ecx], eax
mov eax, dword [0x53f338]
mov dword [ecx + 4], eax
mov eax, dword [0x53f33c]
mov dword [ecx + 8], eax
mov eax, dword [0x53f340]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f344]
mov word [ecx + 0x10], ax
mov al, byte [0x53f346]
mov byte [ecx + 0x12], al
test ebx, 0x20000000
je 0x423ab9
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423a90
mov eax, dword [str.___Server_Core_]
mov dword [ecx], eax
mov eax, dword [0x53f34c]
mov dword [ecx + 4], eax
mov eax, dword [0x53f350]
mov dword [ecx + 8], eax
mov eax, dword [0x53f354]
mov dword [ecx + 0xc], eax
test ebx, 0x400
je 0x423b03
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423ac8
mov eax, dword [str.___Uniprocessor_Free_]
mov dword [ecx], eax
mov eax, dword [0x53f35c]
mov dword [ecx + 4], eax
mov eax, dword [0x53f360]
mov dword [ecx + 8], eax
mov eax, dword [0x53f364]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53f368]
mov dword [ecx + 0x10], eax
mov ax, word [0x53f36c]
mov word [ecx + 0x14], ax
test ebx, 0x800
je 0x423b27
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423b12
mov ecx, 6
mov esi, str.___Uniprocessor_Checked_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
test ebx, 0x1000
je 0x423b6f
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423b36
mov eax, dword [str.___Multiprocessor_Free_]
mov dword [ecx], eax
mov eax, dword [0x53f390]
mov dword [ecx + 4], eax
mov eax, dword [0x53f394]
mov dword [ecx + 8], eax
mov eax, dword [0x53f398]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53f39c]
mov dword [ecx + 0x10], eax
mov eax, dword [0x53f3a0]
mov dword [ecx + 0x14], eax
test ebx, 0x2000
je 0x423b97
lea edi, [ebp - 0x870]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423b80
mov ecx, 6
mov esi, str.___Multiprocessor_Checked_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
test ebx, 0x40000000
je 0x423bbb
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423ba6
mov ecx, 0xe
mov esi, str.___Windows_Essential_Business_Server_Manangement_Server_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
test ebx, ebx
jns 0x423bdd
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423bc6
mov ecx, 0xd
mov esi, str.___Windows_Essential_Business_Server_Messaging_Server_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
test dl, 1
je 0x423c06
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423bf0
mov ecx, 0xd
mov esi, str.___Windows_Essential_Business_Server_Security_Server_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
test dl, 2
je 0x423c4d
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423c12
mov eax, dword [str.___Cluster_Server_]
mov dword [ecx], eax
mov eax, dword [0x53f470]
mov dword [ecx + 4], eax
mov eax, dword [0x53f474]
mov dword [ecx + 8], eax
mov eax, dword [0x53f478]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f47c]
mov word [ecx + 0x10], ax
mov al, byte [0x53f47e]
mov byte [ecx + 0x12], al
test bl, 1
je 0x423c76
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423c60
mov ecx, 6
mov esi, str.___Small_Business_Server_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
test dl, 4
je 0x423c98
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423c82
mov ecx, 8
mov esi, str.___Small_Business_Server_Premium_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
test edx, 0x2000
je 0x423cda
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423ca7
mov eax, dword [str.___Prerelease_]
mov dword [ecx], eax
mov eax, dword [0x53f4c4]
mov dword [ecx + 4], eax
mov eax, dword [0x53f4c8]
mov dword [ecx + 8], eax
mov ax, word [0x53f4cc]
mov word [ecx + 0xc], ax
mov al, byte [0x53f4ce]
mov byte [ecx + 0xe], al
test edx, 0x4000
je 0x423d23
lea ecx, [ebp - 0x870]
dec ecx
nop dword [eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423cf0
mov eax, dword [str.___Evaluation_]
mov dword [ecx], eax
mov eax, dword [0x53f4d4]
mov dword [ecx + 4], eax
mov eax, dword [0x53f4d8]
mov dword [ecx + 8], eax
mov ax, word [0x53f4dc]
mov word [ecx + 0xc], ax
mov al, byte [0x53f4de]
mov byte [ecx + 0xe], al
test edx, 0x40000
je 0x423d65
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423d32
mov eax, dword [str.___Automotive_]
mov dword [ecx], eax
mov eax, dword [0x53f4e4]
mov dword [ecx + 4], eax
mov eax, dword [0x53f4e8]
mov dword [ecx + 8], eax
mov ax, word [0x53f4ec]
mov word [ecx + 0xc], ax
mov al, byte [0x53f4ee]
mov byte [ecx + 0xe], al
test edx, 0x80000
je 0x423d97
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423d74
mov eax, dword [str.___China_]
mov dword [ecx], eax
mov eax, dword [0x53f4f4]
mov dword [ecx + 4], eax
mov ax, word [0x53f4f8]
mov word [ecx + 8], ax
test edx, 0x100000
je 0x423dd7
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423da6
mov eax, dword [str.___Single_Language_]
mov dword [ecx], eax
mov eax, dword [0x53f500]
mov dword [ecx + 4], eax
mov eax, dword [0x53f504]
mov dword [ecx + 8], eax
mov eax, dword [0x53f508]
mov dword [ecx + 0xc], eax
mov eax, dword [0x53f50c]
mov dword [ecx + 0x10], eax
test edx, 0x200000
je 0x423e11
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423de6
mov eax, dword [str.___Win32s_]
mov dword [ecx], eax
mov eax, dword [0x53f514]
mov dword [ecx + 4], eax
mov ax, word [0x53f518]
mov word [ecx + 8], ax
mov al, byte [0x53f51a]
mov byte [ecx + 0xa], al
test edx, 0x1000000
je 0x423e4b
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423e20
mov eax, dword [str.___Education_]
mov dword [ecx], eax
mov eax, dword [0x53f520]
mov dword [ecx + 4], eax
mov eax, dword [0x53f524]
mov dword [ecx + 8], eax
mov ax, word [0x53f528]
mov word [ecx + 0xc], ax
test edx, 0x2000000
je 0x423e89
lea ecx, [ebp - 0x870]
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423e60
mov eax, dword [str.___Industry_]
mov dword [ecx], eax
mov eax, dword [0x53f530]
mov dword [ecx + 4], eax
mov eax, dword [0x53f534]
mov dword [ecx + 8], eax
mov al, byte [0x53f538]
mov byte [ecx + 0xc], al
test edx, 0x8000000
je 0x423eb9
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423e98
mov eax, dword [str.___Student_]
mov dword [ecx], eax
mov eax, dword [0x53f540]
mov dword [ecx + 4], eax
mov eax, dword [0x53f544]
mov dword [ecx + 8], eax
test edx, 0x10000000
je 0x423ef3
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423ec8
mov eax, dword [str.___Mobile_]
mov dword [ecx], eax
mov eax, dword [0x53f54c]
mov dword [ecx + 4], eax
mov ax, word [0x53f550]
mov word [ecx + 8], ax
mov al, byte [0x53f552]
mov byte [ecx + 0xa], al
test edx, 0x20000000
je 0x423f2b
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423f02
mov eax, dword [str.___IoT_Core_]
mov dword [ecx], eax
mov eax, dword [0x53f558]
mov dword [ecx + 4], eax
mov eax, dword [0x53f55c]
mov dword [ecx + 8], eax
mov al, byte [0x53f560]
mov byte [ecx + 0xc], al
mov ebx, dword [ebp - 0xa80]
test bl, 0x20
je 0x423f55
lea edi, [ebp - 0x870]
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423f40
mov ecx, 9
mov esi, str.___Cloud_Host_Infrastructure_Server_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
test edx, 0x40000000
je 0x423f8f
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423f64
mov eax, dword [str.___S_Edition_]
mov dword [ecx], eax
mov eax, dword [0x53f590]
mov dword [ecx + 4], eax
mov eax, dword [0x53f594]
mov dword [ecx + 8], eax
mov ax, word [0x53f598]
mov word [ecx + 0xc], ax
test bl, 1
je 0x423fb5
lea edi, [ebp - 0x870]
dec edi
nop dword [eax + eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x423fa0
mov ecx, 6
mov esi, str.___Cloud_Storage_Server_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
test bl, 4
je 0x423fe2
lea ecx, [ebp - 0x870]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423fc1
mov eax, dword [str.___PPI_Pro_]
mov dword [ecx], eax
mov eax, dword [0x53f5bc]
mov dword [ecx + 4], eax
mov eax, dword [0x53f5c0]
mov dword [ecx + 8], eax
test bl, 8
je 0x424023
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x423ff0
mov eax, dword [str.___Connected_Car_]
mov dword [ecx], eax
mov eax, dword [0x53f5c8]
mov dword [ecx + 4], eax
mov eax, dword [0x53f5cc]
mov dword [ecx + 8], eax
mov eax, dword [0x53f5d0]
mov dword [ecx + 0xc], eax
mov ax, word [0x53f5d4]
mov word [ecx + 0x10], ax
test bl, 0x10
je 0x424059
lea ecx, [ebp - 0x870]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x424030
mov eax, dword [str.___Handheld_]
mov dword [ecx], eax
mov eax, dword [0x53f5dc]
mov dword [ecx + 4], eax
mov eax, dword [0x53f5e0]
mov dword [ecx + 8], eax
mov al, byte [0x53f5e4]
mov byte [ecx + 0xc], al
lea edi, [ebp - 0x870]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x424060
mov ax, word [0x53f088]
mov ebx, dword [ebp - 0xbc0]
mov word [edi], ax
jmp 0x424089
push str.Failed_in_call_to_GetOSVersion_n
push eax
call fcn.0041e8c0
add esp, 8
push 0x518188
push 0x400
push ebx
mov dword [ebp - 0xbc4], 0x101
call fcn.004d0170
add esp, 0xc
lea eax, [ebp - 0x978]
push 0x101
push 0
push eax
call fcn.004cddb0
add esp, 0xc
lea eax, [ebp - 0xbc4]
push eax
lea eax, [ebp - 0x978]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x4240fc
push str._nComputerName_:
push 0x400
push ebx
call fcn.004d01ca
add esp, 0xc
lea eax, [ebp - 0x978]
push eax
push 0x400
push ebx
call fcn.004d01ca
add esp, 0xc
push 0xff
lea eax, [ebp - 0xa78]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x424158
lea eax, [ebp - 0xa78]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x424158
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
push dword [eax]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov esi, eax
test esi, esi
je 0x424158
push str._nIP_:
push 0x400
push ebx
call fcn.004d01ca
add esp, 0xc
push esi
push 0x400
push ebx
call fcn.004d01ca
add esp, 0xc
push 0x53f088
push 0x400
push ebx
call fcn.004d01ca
add esp, 0xc
lea eax, [ebp - 0x870]
push eax
push 0x400
push ebx
call fcn.004d01ca
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
xor eax, eax
pop edi
pop esi
pop ebx
call fcn.004cbf27
mov esp, ebp
pop ebp
ret