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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbcc
mov eax, dword [0x5b0008]
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 - 0xbc4], ebx
call fcn.0051a780
add esp, 0xc
lea eax, [ebp - 0xbb8]
lea ecx, [ebp - 0xbb9]
push eax
call fcn.0041fa40
test eax, eax
lea eax, [ebp - 0x870]
je 0x423049
push 0x569fa8
push eax
call fcn.004231b0
add esp, 8
lea eax, [ebp - 0x870]
cmp dword [ebp - 0xb14], 5
push str.OS:
push 0x800
push eax
jne 0x4218f3
call fcn.0051e70e
jmp 0x4218f8
call fcn.0051e768
mov ecx, dword [ebp - 0xb14]
add esp, 0xc
lea eax, [ecx - 1]
cmp eax, 4
ja case.default.0x42190d
jmp dword [eax*4 + 0x423164]
push 0x597bf8
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
jmp 0x4226bc
push str.Windows
jmp 0x421919
mov eax, dword [ebp - 0xb20]
cmp ecx, 5
jne 0x421969
cmp eax, 7
jb 0x421951
mov eax, str.Windows_Embedded_Compact
push eax
jmp 0x421919
cmp ecx, 5
jne 0x421969
cmp eax, 4
jne 0x421969
cmp dword [ebp - 0xb1c], 0
mov eax, str.Windows_CE_.NET
ja 0x42196e
mov eax, str.Windows_CE
push eax
jmp 0x421919
mov edi, dword [ebp - 0xb18]
mov esi, dword [ebp - 0xb1c]
mov edx, dword [ebp - 0xb20]
cmp ecx, 3
jne 0x421a9e
cmp edx, 4
jne 0x4219a8
test esi, esi
jne 0x4219a8
cmp edi, 0x3b6
jne 0x4219a8
mov eax, str.Windows_95
push eax
jmp 0x42269b
cmp ecx, 3
jne 0x421a9e
cmp edx, 4
jne 0x4219ce
lea eax, [edi - 0x3b7]
cmp eax, 0x81
ja 0x4219ce
mov eax, str.Windows_95_SP1
push eax
jmp 0x42269b
cmp ecx, 3
jne 0x421a9e
cmp edx, 4
jne 0x4219f9
cmp esi, 0xa
jae 0x4219f9
lea eax, [edi - 0x439]
cmp eax, 0x84
ja 0x4219f9
mov eax, str.Windows_95_B__aka_OSR2_
push eax
jmp 0x42269b
cmp ecx, 3
jne 0x421a9e
cmp edx, 4
jne 0x421a1f
cmp esi, 0xa
jae 0x421a1f
cmp edi, 0x4be
jb 0x421a1f
mov eax, str.Windows_95_C__aka_OSR2.5_
push eax
jmp 0x42269b
cmp ecx, 3
jne 0x421a9e
cmp edx, 4
jne 0x421a41
cmp esi, 0xa
jne 0x421a41
cmp edi, 0x7ce
jne 0x421a41
mov eax, str.Windows_98
push eax
jmp 0x42269b
cmp ecx, 3
jne 0x421a9e
cmp edx, 4
jne 0x421a68
cmp esi, 0xa
jne 0x421a68
lea eax, [edi - 0x7cf]
cmp eax, 0xb7
ja 0x421a68
mov eax, str.Windows_98_SP1
push eax
jmp 0x42269b
cmp ecx, 3
jne 0x421a9e
cmp edx, 4
jne 0x421a8a
cmp esi, 0xa
jne 0x421a8a
cmp edi, 0x887
jb 0x421a8a
mov eax, str.Windows_98_Second_Edition
push eax
jmp 0x42269b
cmp ecx, 3
jne 0x421a9e
cmp edx, 4
jne 0x421a9e
mov eax, str.Windows_Millenium_Edition
cmp esi, 0x5a
je 0x421aa3
mov eax, str.Windows___
push eax
jmp 0x42269b
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.004215d0
test eax, eax
je 0x421bc5
push str.Windows_NT
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov ecx, dword [ebp - 0xb14]
add esp, 0xc
mov edx, dword [ebp - 0xa7c]
mov eax, dword [ebp - 0xb20]
cmp ecx, 4
jne 0x4226bc
cmp eax, 4
ja 0x421b03
cmp edx, 1
jne 0x421b03
push str.__Workstation_
jmp 0x421b5d
cmp ecx, 4
jne 0x4226bc
cmp eax, ecx
ja 0x421b1c
cmp edx, 2
jne 0x421b1c
push str.__Server_
jmp 0x421b5d
cmp ecx, 4
jne 0x4226bc
cmp eax, ecx
ja 0x421b3d
cmp edx, 3
jne 0x421b3d
test byte [ebp - 0xa88], cl
je 0x421b3d
push str.__Primary_Domain_Controller_
jmp 0x421b5d
cmp ecx, 4
jne 0x4226bc
cmp eax, ecx
ja 0x421b7d
cmp edx, 3
jne 0x421b7d
test byte [ebp - 0xa88], 8
je 0x421b7d
push str.__Backup_Domain_Controller_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov eax, dword [ebp - 0xb20]
add esp, 0xc
mov ecx, dword [ebp - 0xb14]
cmp ecx, 4
jne 0x4226bc
cmp eax, ecx
ja 0x421b9d
test byte [ebp - 0xa88], 0x20
je 0x421b9d
push str.___Datacenter_
jmp 0x421919
cmp ecx, 4
jne 0x4226bc
cmp eax, ecx
ja 0x4226bc
test byte [ebp - 0xa88], 2
je 0x4226bc
push str.___Enterprise_
jmp 0x421919
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.004213c0
test eax, eax
je 0x421cb2
test byte [ebp - 0xa84], 0x80
je 0x421bea
mov eax, str.Windows_2000__Professional_
jmp 0x421c2c
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421600
test eax, eax
je 0x421c02
mov eax, str.Windows_2000_Server
jmp 0x421c2c
cmp ecx, 4
jne 0x421c27
cmp dword [ebp - 0xb20], 5
jne 0x421c27
cmp dword [ebp - 0xb1c], 0
jne 0x421c27
cmp dword [ebp - 0xa7c], 3
mov eax, str.Windows_2000__Domain_Controller_
je 0x421c2c
mov eax, str.Windows_2000
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov esi, dword [ebp - 0xb14]
add esp, 0xc
mov eax, dword [ebp - 0xa88]
mov ecx, dword [ebp - 0xb1c]
mov edx, dword [ebp - 0xb20]
cmp esi, 4
jne 0x4226bc
cmp edx, 5
jne 0x421c79
test ecx, ecx
jne 0x421c79
test al, 0x20
je 0x421c79
push str.___Datacenter_
jmp 0x421919
cmp esi, 4
jne 0x4226bc
cmp edx, 5
jne 0x4226bc
test ecx, ecx
jne 0x4226bc
cmp dword [ebp - 0xa7c], 2
jne 0x4226bc
test al, 2
je 0x4226bc
push str.___Advanced_Server_
jmp 0x421919
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.004213f0
test eax, eax
je 0x421ea2
mov edx, dword [ebp - 0xa88]
test edx, 0x10000
je 0x421cdf
mov eax, str.Windows_XP__Starter_Edition_
jmp 0x421d8a
test dl, 0x40
je 0x421cee
mov eax, str.Windows_XP__Personal_
jmp 0x421d8a
test byte [ebp - 0xa84], 0x80
je 0x421d01
mov eax, str.Windows_XP__Professional_
jmp 0x421d8a
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421640
test eax, eax
je 0x421d19
mov eax, str.Windows_Server_2003
jmp 0x421d8a
mov esi, dword [ebp - 0xa7c]
mov edi, dword [ebp - 0xb1c]
mov ebx, dword [ebp - 0xb20]
cmp ecx, 4
jne 0x421d4d
cmp ebx, 5
jne 0x421d4d
test edi, edi
je 0x421d4d
cmp esi, 3
jne 0x421d4d
test edx, 0x20000
jne 0x421d4d
mov eax, str.Windows_Server_2003__Domain_Controller_
jmp 0x421d8a
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.004216e0
test eax, eax
je 0x421d65
mov eax, str.Windows_Server_2003_R2
jmp 0x421d8a
cmp ecx, 4
jne 0x421d85
cmp ebx, 5
jne 0x421d85
test edi, edi
je 0x421d85
cmp esi, 3
jne 0x421d85
mov eax, str.Windows_Server_2003_R2__Domain_Controller_
test edx, 0x20000
jne 0x421d8a
mov eax, str.Windows_XP
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov edi, dword [ebp - 0xb14]
add esp, 0xc
mov ecx, dword [ebp - 0xa88]
mov edx, dword [ebp - 0xb1c]
mov esi, dword [ebp - 0xb20]
cmp edi, 4
jne 0x421df7
cmp esi, 5
jne 0x421dd2
test edx, edx
je 0x421dd2
test cl, 0x20
je 0x421dd2
test ecx, 0x20000
je 0x421ded
cmp edi, 4
jne 0x421df7
cmp esi, 5
jne 0x421df7
test edx, edx
je 0x421df7
test cl, 0x20
je 0x421df7
test ecx, 0x20000
je 0x421df7
push str.___Datacenter_Edition_
jmp 0x421919
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421690
test eax, eax
jne 0x42246e
cmp edi, 4
jne 0x421e4d
cmp esi, 5
jne 0x421e26
test edx, edx
je 0x421e26
test cl, cl
jns 0x421e26
test ecx, 0x20000
je 0x421e40
cmp edi, 4
jne 0x421e4d
cmp esi, 5
jne 0x421e4a
test edx, edx
je 0x421e4a
test cl, cl
jns 0x421e4a
test ecx, 0x20000
je 0x421e4a
push str.___Web_Edition_
jmp 0x421919
cmp edi, 4
mov eax, dword [ebp - 0xa84]
jne 0x421e6a
cmp esi, 5
jne 0x421e6a
test edx, edx
je 0x421e6a
test al, 0x20
je 0x421e6a
test ecx, 0x20000
je 0x421e98
cmp edi, 4
jne 0x4226bc
cmp esi, 5
jne 0x4226bc
test edx, edx
je 0x4226bc
test al, 0x20
je 0x4226bc
test ecx, 0x20000
je 0x4226bc
push str.___Standard_Edition_
jmp 0x421919
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421420
test eax, eax
je 0x422004
mov eax, dword [ebp - 0xa88]
test eax, 0x10000
je 0x421ece
mov eax, str.Windows_Vista__Starter_Edition_
jmp 0x421f53
test eax, 0x1000000
je 0x421edc
mov eax, str.Windows_Vista__Home_Basic_
jmp 0x421f53
test eax, 0x2000000
je 0x421eea
mov eax, str.Windows_Vista__Home_Premium_
jmp 0x421f53
test eax, 0x8000000
je 0x421ef8
mov eax, str.Windows_Vista__Business_
jmp 0x421f53
test al, 2
je 0x421f03
mov eax, str.Windows_Vista__Enterprise_
jmp 0x421f53
test eax, 0x400000
je 0x421f11
mov eax, str.Windows_Vista__Ultimate_
jmp 0x421f53
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421730
test eax, eax
je 0x421f29
mov eax, str.Windows_Server_2008
jmp 0x421f53
cmp ecx, 4
jne 0x421f4e
cmp dword [ebp - 0xb20], 6
jne 0x421f4e
cmp dword [ebp - 0xb1c], 0
jne 0x421f4e
cmp dword [ebp - 0xa7c], 3
mov eax, str.Windows_Server_2008__Domain_Controller_
je 0x421f53
mov eax, str.Windows_Vista
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov edx, dword [ebp - 0xb14]
add esp, 0xc
mov ebx, dword [ebp - 0xa88]
mov eax, dword [ebp - 0xb1c]
mov ecx, dword [ebp - 0xb20]
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x421fa1
test eax, eax
jne 0x421fa1
test bl, 0x20
je 0x421fa1
push str.___Datacenter_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x421fcb
test eax, eax
jne 0x421fcb
cmp dword [ebp - 0xa7c], 2
jne 0x421fcb
test bl, 2
je 0x421fcb
push str.___Enterprise_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x421feb
test eax, eax
jne 0x421feb
test bl, bl
jns 0x421feb
push str.___Web_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x4226bc
test eax, eax
jmp 0x4222de
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421450
test eax, eax
je 0x42217f
mov edx, dword [ebp - 0xa84]
test edx, 0x20000
je 0x422031
mov eax, str.Windows_7_Thin_PC
jmp 0x4220ca
mov eax, dword [ebp - 0xa88]
test eax, 0x10000
je 0x422048
mov eax, str.Windows_7__Starter_Edition_
jmp 0x4220ca
test eax, 0x1000000
je 0x422056
mov eax, str.Windows_7__Home_Basic_
jmp 0x4220ca
test eax, 0x2000000
je 0x422064
mov eax, str.Windows_7__Home_Premium_
jmp 0x4220ca
test dl, dl
jns 0x42206f
mov eax, str.Windows_7__Professional_
jmp 0x4220ca
test al, 2
je 0x42207a
mov eax, str.Windows_7__Enterprise_
jmp 0x4220ca
test eax, 0x400000
je 0x422088
mov eax, str.Windows_7__Ultimate_
jmp 0x4220ca
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421770
test eax, eax
je 0x4220a0
mov eax, str.Windows_Server_2008_R2
jmp 0x4220ca
cmp ecx, 4
jne 0x4220c5
cmp dword [ebp - 0xb20], 6
jne 0x4220c5
cmp dword [ebp - 0xb1c], 1
jne 0x4220c5
cmp dword [ebp - 0xa7c], 3
mov eax, str.Windows_Server_2008_R2__Domain_Controller_
je 0x4220ca
mov eax, str.Windows_7
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov edx, dword [ebp - 0xb14]
add esp, 0xc
mov ebx, dword [ebp - 0xa88]
mov eax, dword [ebp - 0xb1c]
mov ecx, dword [ebp - 0xb20]
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x422119
cmp eax, 1
jne 0x422119
test bl, 0x20
je 0x422119
push str.___Datacenter_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x422144
cmp eax, 1
jne 0x422144
cmp dword [ebp - 0xa7c], 2
jne 0x422144
test bl, 2
je 0x422144
push str.___Enterprise_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x422165
cmp eax, 1
jne 0x422165
test bl, bl
jns 0x422165
push str.___Web_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x4226bc
cmp eax, 1
jmp 0x4222de
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421480
test eax, eax
je 0x4222fb
mov edx, dword [ebp - 0xa84]
test edx, 0x20000
je 0x4221ac
mov eax, str.Windows_8_Thin_PC
jmp 0x422230
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421520
test eax, eax
je 0x4221c4
mov eax, str.Windows_8_RT
jmp 0x422230
mov eax, dword [ebp - 0xa88]
test eax, 0x10000
je 0x4221d8
mov eax, str.Windows_8__Starter_Edition_
jmp 0x422230
test dl, dl
jns 0x4221e3
mov eax, str.Windows_8__Pro_
jmp 0x422230
test al, 2
je 0x4221ee
mov eax, str.Windows_8__Enterprise_
jmp 0x422230
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.004217b0
test eax, eax
je 0x422206
mov eax, str.Windows_Server_2012
jmp 0x422230
cmp ecx, 4
jne 0x42222b
cmp dword [ebp - 0xb20], 6
jne 0x42222b
cmp dword [ebp - 0xb1c], 2
jne 0x42222b
cmp dword [ebp - 0xa7c], 3
mov eax, str.Windows_Server_2012__Domain_Controller_
je 0x422230
mov eax, str.Windows_8
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov edx, dword [ebp - 0xb14]
add esp, 0xc
mov ebx, dword [ebp - 0xa88]
mov eax, dword [ebp - 0xb1c]
mov ecx, dword [ebp - 0xb20]
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x42227f
cmp eax, 2
jne 0x42227f
test bl, 0x20
je 0x42227f
push str.___Datacenter_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x4222a8
cmp eax, 2
jne 0x4222a8
cmp dword [ebp - 0xa7c], eax
jne 0x4222a8
test al, bl
je 0x4222a8
push str.___Enterprise_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x4222c9
cmp eax, 2
jne 0x4222c9
test bl, bl
jns 0x4222c9
push str.___Web_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp ecx, 6
jne 0x4226bc
cmp eax, 2
jne 0x4226bc
test byte [ebp - 0xa84], 0x20
je 0x4226bc
push str.___Standard_Edition_
jmp 0x421919
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.004214b0
test eax, eax
je 0x4224c6
mov edx, dword [ebp - 0xa84]
test edx, 0x20000
je 0x422328
mov eax, str.Windows_8.1_Thin_PC
jmp 0x4223ac
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421520
test eax, eax
je 0x422340
mov eax, str.Windows_8.1_RT
jmp 0x4223ac
mov eax, dword [ebp - 0xa88]
test eax, 0x10000
je 0x422354
mov eax, str.Windows_8.1__Starter_Edition_
jmp 0x4223ac
test dl, dl
jns 0x42235f
mov eax, str.Windows_8.1__Pro_
jmp 0x4223ac
test al, 2
je 0x42236a
mov eax, str.Windows_8.1__Enterprise_
jmp 0x4223ac
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.004217f0
test eax, eax
je 0x422382
mov eax, str.Windows_Server_2012_R2
jmp 0x4223ac
cmp ecx, 4
jne 0x4223a7
cmp dword [ebp - 0xb20], 6
jne 0x4223a7
cmp dword [ebp - 0xb1c], 3
jne 0x4223a7
cmp dword [ebp - 0xa7c], 3
mov eax, str.Windows_Server_2012_R2__Domain_Controller_
je 0x4223ac
mov eax, str.Windows_8.1
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov eax, dword [ebp - 0xa84]
add esp, 0xc
test eax, 0x800000
je 0x4223ed
push str.___with_Bing___CoreConnected_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov eax, dword [ebp - 0xa84]
add esp, 0xc
test eax, 0x400000
je 0x422413
push str.___Update_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov eax, dword [ebp - 0xa84]
add esp, 0xc
mov esi, dword [ebp - 0xb14]
mov ebx, dword [ebp - 0xa88]
mov ecx, dword [ebp - 0xb1c]
mov edx, dword [ebp - 0xb20]
cmp esi, 4
jne 0x4226bc
cmp edx, 6
jne 0x42244d
cmp ecx, 3
jne 0x42244d
test bl, 0x20
je 0x42244d
push str.___Datacenter_Edition_
jmp 0x421919
cmp esi, 4
jne 0x4226bc
cmp edx, 6
jne 0x422478
cmp ecx, 3
jne 0x422478
cmp dword [ebp - 0xa7c], 2
jne 0x422478
test bl, 2
je 0x422478
push str.___Enterprise_Edition_
jmp 0x421919
cmp esi, 4
jne 0x4226bc
cmp edx, 6
jne 0x422499
cmp ecx, 3
jne 0x422499
test bl, bl
jns 0x422499
push str.___Web_Edition_
jmp 0x421919
cmp esi, 4
jne 0x4226bc
cmp edx, 6
jne 0x4226bc
cmp ecx, 3
jne 0x4226bc
test al, 0x20
je 0x4226bc
push str.___Standard_Edition_
jmp 0x421919
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.004214e0
test eax, eax
je 0x4226bc
mov edx, dword [ebp - 0xa84]
test edx, 0x20000
je 0x4224f3
mov eax, str.Windows_10_Thin_PC
jmp 0x4225a8
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421520
test eax, eax
je 0x42250e
mov eax, str.Windows_10_RT
jmp 0x4225a8
mov eax, dword [ebp - 0xa88]
test eax, 0x10000
je 0x422525
mov eax, str.Windows_10__Starter_Edition_
jmp 0x4225a8
test edx, 0x4000000
je 0x422534
mov eax, str.Windows_10__Home_
jmp 0x4225a8
test dl, dl
jns 0x42253f
mov eax, str.Windows_10__Pro_
jmp 0x4225a8
test al, 2
je 0x42254a
mov eax, str.Windows_10__Enterprise_
jmp 0x4225a8
test edx, edx
jns 0x422555
mov eax, str.Windows_10_Nano_Server
jmp 0x4225a8
test byte [ebp - 0xa80], 2
je 0x422565
mov eax, str.Windows_10_ARM64_Server
jmp 0x4225a8
push ecx
lea eax, [ebp - 0xbb8]
push eax
call fcn.00421830
test eax, eax
je 0x42257d
mov eax, str.Windows_Server_2016
jmp 0x4225a8
cmp ecx, 4
jne 0x4225a3
cmp dword [ebp - 0xb20], 6
ja 0x422595
jne 0x4225a3
cmp dword [ebp - 0xb1c], ecx
jb 0x4225a3
cmp dword [ebp - 0xa7c], 3
mov eax, str.Windows_Server_2016__Domain_Controller_
je 0x4225a8
mov eax, str.Windows_10
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov ebx, dword [ebp - 0xa84]
add esp, 0xc
test ebx, 0x800000
je 0x4225ea
push str.___with_Bing___CoreConnected_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov ebx, dword [ebp - 0xa84]
add esp, 0xc
mov edx, dword [ebp - 0xb14]
mov ecx, dword [ebp - 0xb1c]
mov eax, dword [ebp - 0xb20]
cmp edx, 4
jne 0x4226bc
cmp eax, 6
ja 0x422611
jne 0x422624
cmp ecx, 4
jb 0x422624
test byte [ebp - 0xa88], 0x20
je 0x422624
push str.___Datacenter_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp eax, 6
ja 0x422638
jne 0x422654
cmp ecx, edx
jb 0x422654
cmp dword [ebp - 0xa7c], 2
jne 0x422654
test byte [ebp - 0xa88], 2
je 0x422654
push str.___Enterprise_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp eax, 6
ja 0x422664
jne 0x422677
cmp ecx, edx
jb 0x422677
test byte [ebp - 0xa88], 0x80
je 0x422677
push str.___Web_Edition_
jmp 0x421919
cmp edx, 4
jne 0x4226bc
cmp eax, 6
ja 0x422687
jne 0x4226bc
cmp ecx, edx
jb 0x4226bc
test bl, 0x20
je 0x4226bc
push str.___Standard_Edition_
jmp 0x421919
push str.Unknown_OS
lea eax, [ebp - 0x70]
push eax
call fcn.004231d0
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0x14
mov eax, dword [ebp - 0xb10]
cmp eax, 0xa
ja case.0x4226c7.0
jmp dword [eax*4 + 0x423178]
mov eax, str.___x86_32_Processor_
jmp 0x422719
mov eax, str.___MIPS_Processor_
jmp 0x422719
mov eax, str.___Alpha_Processor_
jmp 0x422719
mov eax, str.___PPC_Processor_
jmp 0x422719
mov eax, str.___IA64_Itanium_2__Processor_
jmp 0x422719
mov eax, str.___x86_64_Processor_
jmp 0x422719
mov eax, str.___Alpha64_Processor_
jmp 0x422719
mov eax, str.___MSIL_Processor_
jmp 0x422719
mov eax, str.___ARM_Processor_
jmp 0x422719
mov eax, str.___SHX_Processor_
jmp 0x422719
mov eax, str.___Unknown_Processor_
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
lea eax, [ebp - 0x70]
push dword [ebp - 0xb20]
push str._v_d.
push eax
call fcn.004231d0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov esi, dword [ebp - 0xb1c]
mov eax, 0xcccccccd
mul esi
mov eax, esi
add esp, 0xc
shr edx, 3
lea ecx, [edx + edx*4]
add ecx, ecx
sub eax, ecx
lea eax, [ebp - 0x70]
je 0x422788
push esi
cmp esi, 9
jbe 0x422789
push str._02d
jmp 0x42278e
push edx
push str._01d
push eax
call fcn.004231d0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov eax, dword [ebp - 0xb18]
add esp, 0xc
test eax, eax
je 0x4227e3
push eax
lea eax, [ebp - 0x70]
push str._Build:_d
push eax
call fcn.004231d0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
push 0x5984e0
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov cx, word [ebp - 0xa8c]
add esp, 0xc
mov ax, word [ebp - 0xa8a]
test cx, cx
je 0x4228f1
test ax, ax
je 0x4228c5
mov esi, dword [ebp - 0xb14]
mov ebx, dword [ebp - 0xa88]
mov edi, dword [ebp - 0xb1c]
mov edx, dword [ebp - 0xb20]
cmp esi, 4
jne 0x4228aa
cmp edx, 4
ja 0x42285d
cmp cx, 6
jne 0x422862
cmp ax, 1
jne 0x422862
lea eax, [ebp - 0x70]
push str.Service_Pack:_6a
push eax
call fcn.004231d0
add esp, 8
jmp 0x4228da
cmp esi, 4
jne 0x4228aa
cmp edx, 5
jne 0x422870
test edi, edi
je 0x422870
test bl, 0x40
jne 0x42288c
cmp esi, 4
jne 0x4228aa
cmp edx, 5
jne 0x4228aa
test edi, edi
je 0x4228aa
cmp dword [ebp - 0xa7c], 1
jne 0x4228aa
test bl, 0x40
jne 0x4228aa
cmp cx, 1
jne 0x4228aa
cmp ax, cx
jne 0x4228aa
lea eax, [ebp - 0x70]
push str.Service_Pack:_1a
push eax
call fcn.004231d0
add esp, 8
jmp 0x4228da
movzx eax, ax
push eax
movzx eax, cx
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:_d._d
push eax
call fcn.004231d0
add esp, 0x10
jmp 0x4228da
movzx eax, cx
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:_d
push eax
call fcn.004231d0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
jmp 0x422908
test ax, ax
je 0x42290b
movzx eax, ax
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:0._d
push eax
call fcn.004231d0
add esp, 0xc
mov ecx, dword [ebp - 0xa88]
mov eax, ecx
shr eax, 0x13
and eax, 1
je 0x422927
test cl, 2
je 0x422927
push str.___Storage_Server_Enterprise_
jmp 0x422977
test byte [ebp - 0xa84], 8
je 0x422937
push str.___Storage_Server_Express_
jmp 0x422977
test eax, eax
je 0x42294b
test byte [ebp - 0xa84], 0x20
je 0x42294b
push str.___Storage_Server_Standard_
jmp 0x422977
test byte [ebp - 0xa84], 0x10
je 0x42295b
push str.___Storage_Server_Workgroup_
jmp 0x422977
test dword [ebp - 0xa84], 0x1000
je 0x42296e
push str.___Storage_Server_Essentials_
jmp 0x422977
test eax, eax
je 0x42298b
push str.___Storage_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x800
je 0x42299e
push str.___Home_Server_Premium_Edition_
jmp 0x4229af
test dword [ebp - 0xa88], 0x10000000
je 0x4229c3
push str.___Home_Server_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa88], 0x10
je 0x4229e5
push str.___Terminal_Services_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x100
je 0x422a0a
push str.___Embedded_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x200
je 0x422a2f
push str.___Terminal_Services_in_Remote_Admin_Mode_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
push str.KERNEL32.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x422a90
push str.IsWow64Process
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x422a90
lea eax, [ebp - 0xbc0]
mov dword [ebp - 0xbc0], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x422a90
cmp dword [ebp - 0xbc0], 0
je 0x422a90
push str.___64_Bit_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x4000
je 0x422ab5
push str.___Media_Center_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x8000
je 0x422ada
push str.___Tablet_PC_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x40000
je 0x422aff
push str.___Compute_Cluster_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x100
je 0x422b24
push str.___Foundation_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x10000
je 0x422b37
push str.___MultiPoint_Premium_Edition_
jmp 0x422b48
test dword [ebp - 0xa84], 0x200
je 0x422b5c
push str.___MultiPoint_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x100000
je 0x422b81
push str.___Security_Appliance_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x200000
je 0x422ba6
push str.___BackOffice_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x800000
je 0x422bcb
push str.___N_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa84], 0x40
je 0x422bed
push str.___E_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x4000000
je 0x422c12
push str.___Hyper_V_Tools_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x400
je 0x422c37
push str.___Hyper_V_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x20000000
je 0x422c5c
push str.___Server_Core_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x400
je 0x422c81
push str.___Uniprocessor_Free_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x800
je 0x422ca6
push str.___Uniprocessor_Checked_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x1000
je 0x422ccb
push str.___Multiprocessor_Free_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x2000
je 0x422cf0
push str.___Multiprocessor_Checked_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x40000000
je 0x422d15
push str.___Windows_Essential_Business_Server_Manangement_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa88], 0x80000000
je 0x422d3a
push str.___Windows_Essential_Business_Server_Messaging_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa84], 1
je 0x422d5c
push str.___Windows_Essential_Business_Server_Security_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa84], 2
je 0x422d7e
push str.___Cluster_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa88], 1
je 0x422da0
push str.___Small_Business_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa84], 4
je 0x422dc2
push str.___Small_Business_Server_Premium_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x2000
je 0x422de7
push str.___Prerelease_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x4000
je 0x422e0c
push str.___Evaluation_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x40000
je 0x422e31
push str.___Automotive_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x80000
je 0x422e56
push str.___China_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x100000
je 0x422e7b
push str.___Single_Language_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x200000
je 0x422ea0
push str.___Win32s_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x1000000
je 0x422ec5
push str.___Education_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x2000000
je 0x422eea
push str.___Industry_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x8000000
je 0x422f0f
push str.___Student_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x10000000
je 0x422f34
push str.___Mobile_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x20000000
je 0x422f59
push str.___IoT_Core_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa80], 0x20
je 0x422f7b
push str.___Cloud_Host_Infrastructure_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test dword [ebp - 0xa84], 0x40000000
je 0x422fa0
push str.___S_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa80], 1
je 0x422fc2
push str.___Cloud_Storage_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa80], 4
je 0x422fe4
push str.___PPI_Pro_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa80], 8
je 0x423006
push str.___Connected_Car_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
test byte [ebp - 0xa80], 0x10
je 0x423028
push str.___Handheld_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
add esp, 0xc
push 0x5984e0
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0051e768
mov ebx, dword [ebp - 0xbc4]
add esp, 0xc
jmp 0x423057
push str.Failed_in_call_to_GetOSVersion_n
push eax
call fcn.004231b0
add esp, 8
push 0x569fa8
push 0x400
push ebx
mov dword [ebp - 0xbc8], 0x101
call fcn.0051e70e
add esp, 0xc
lea eax, [ebp - 0x978]
push 0x101
push 0
push eax
call fcn.0051a780
add esp, 0xc
lea eax, [ebp - 0xbc8]
push eax
lea eax, [ebp - 0x978]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x4230ca
push str._nComputerName_:
push 0x400
push ebx
call fcn.0051e768
add esp, 0xc
lea eax, [ebp - 0x978]
push eax
push 0x400
push ebx
call fcn.0051e768
add esp, 0xc
push 0xff
lea eax, [ebp - 0xa78]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x423126
lea eax, [ebp - 0xa78]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x423126
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 0x423126
push str._nIP_:
push 0x400
push ebx
call fcn.0051e768
add esp, 0xc
push esi
push 0x400
push ebx
call fcn.0051e768
add esp, 0xc
push 0x5984e0
push 0x400
push ebx
call fcn.0051e768
add esp, 0xc
lea eax, [ebp - 0x870]
push eax
push 0x400
push ebx
call fcn.0051e768
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
xor eax, eax
pop edi
pop esi
pop ebx
call fcn.00518799
mov esp, ebp
pop ebp
ret