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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd40
mov eax, dword [0x5d60c4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x160
lea eax, [ebp - 0xcfc]
mov edi, ecx
push 0
push eax
mov dword [ebp - 0xd08], edi
call fcn.0052d9b0
add esp, 0xc
lea eax, [ebp - 0xcfc]
lea ecx, [ebp - 0xd01]
push eax
call fcn.0041f6c0
test eax, eax
lea eax, [ebp - 0x898]
je 0x423733
push 0x5b9638
push eax
call fcn.00423a20
add esp, 8
lea eax, [ebp - 0x898]
cmp dword [ebp - 0xc58], 5
push str.OS:
push 0x800
push eax
jne 0x421ec3
call fcn.0053193e
jmp 0x421ec8
call fcn.00531998
mov esi, dword [ebp - 0xc58]
add esp, 0xc
lea eax, [esi - 1]
cmp eax, 4
ja case.default.0x421edd
jmp dword [eax*4 + 0x4239d8]
push 0x5bf180
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
jmp 0x422da8
push str.Windows
jmp 0x421ee9
mov eax, dword [ebp - 0xc64]
cmp esi, 5
jne 0x421f39
cmp eax, 7
jb 0x421f21
mov eax, str.Windows_Embedded_Compact
push eax
jmp 0x421ee9
cmp esi, 5
jne 0x421f39
cmp eax, 4
jne 0x421f39
cmp dword [ebp - 0xc60], 0
mov eax, str.Windows_CE_.NET
ja 0x421f3e
mov eax, str.Windows_CE
push eax
jmp 0x421ee9
mov edi, dword [ebp - 0xc5c]
mov edx, dword [ebp - 0xc60]
mov ecx, dword [ebp - 0xc64]
cmp esi, 3
jne 0x42206e
cmp ecx, 4
jne 0x421f78
test edx, edx
jne 0x421f78
cmp edi, 0x3b6
jne 0x421f78
mov eax, str.Windows_95
push eax
jmp 0x422d87
cmp esi, 3
jne 0x42206e
cmp ecx, 4
jne 0x421f9e
lea eax, [edi - 0x3b7]
cmp eax, 0x81
ja 0x421f9e
mov eax, str.Windows_95_SP1
push eax
jmp 0x422d87
cmp esi, 3
jne 0x42206e
cmp ecx, 4
jne 0x421fc9
cmp edx, 0xa
jae 0x421fc9
lea eax, [edi - 0x439]
cmp eax, 0x84
ja 0x421fc9
mov eax, str.Windows_95_B__aka_OSR2_
push eax
jmp 0x422d87
cmp esi, 3
jne 0x42206e
cmp ecx, 4
jne 0x421fef
cmp edx, 0xa
jae 0x421fef
cmp edi, 0x4be
jb 0x421fef
mov eax, str.Windows_95_C__aka_OSR2.5_
push eax
jmp 0x422d87
cmp esi, 3
jne 0x42206e
cmp ecx, 4
jne 0x422011
cmp edx, 0xa
jne 0x422011
cmp edi, 0x7ce
jne 0x422011
mov eax, str.Windows_98
push eax
jmp 0x422d87
cmp esi, 3
jne 0x42206e
cmp ecx, 4
jne 0x422038
cmp edx, 0xa
jne 0x422038
lea eax, [edi - 0x7cf]
cmp eax, 0xb7
ja 0x422038
mov eax, str.Windows_98_SP1
push eax
jmp 0x422d87
cmp esi, 3
jne 0x42206e
cmp ecx, 4
jne 0x42205a
cmp edx, 0xa
jne 0x42205a
cmp edi, 0x887
jb 0x42205a
mov eax, str.Windows_98_Second_Edition
push eax
jmp 0x422d87
cmp esi, 3
jne 0x42206e
cmp ecx, 4
jne 0x42206e
mov eax, str.Windows_Millenium_Edition
cmp edx, 0x5a
je 0x422073
mov eax, str.Windows___
push eax
jmp 0x422d87
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421b60
test eax, eax
je 0x422195
push str.Windows_NT
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov ecx, dword [ebp - 0xc58]
add esp, 0xc
mov edx, dword [ebp - 0xbbc]
mov eax, dword [ebp - 0xc64]
cmp ecx, 4
jne 0x422da8
cmp eax, 4
ja 0x4220d3
cmp edx, 1
jne 0x4220d3
push str.__Workstation_
jmp 0x42212d
cmp ecx, 4
jne 0x422da8
cmp eax, ecx
ja 0x4220ec
cmp edx, 2
jne 0x4220ec
push str.__Server_
jmp 0x42212d
cmp ecx, 4
jne 0x422da8
cmp eax, ecx
ja 0x42210d
cmp edx, 3
jne 0x42210d
test byte [ebp - 0xbcc], cl
je 0x42210d
push str.__Primary_Domain_Controller_
jmp 0x42212d
cmp ecx, 4
jne 0x422da8
cmp eax, ecx
ja 0x42214d
cmp edx, 3
jne 0x42214d
test byte [ebp - 0xbcc], 8
je 0x42214d
push str.__Backup_Domain_Controller_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xc64]
add esp, 0xc
mov ecx, dword [ebp - 0xc58]
cmp ecx, 4
jne 0x422da8
cmp eax, ecx
ja 0x42216d
test byte [ebp - 0xbcc], 0x20
je 0x42216d
push str.___Datacenter_
jmp 0x421ee9
cmp ecx, 4
jne 0x422da8
cmp eax, ecx
ja 0x422da8
test byte [ebp - 0xbcc], 2
je 0x422da8
push str.___Enterprise_
jmp 0x421ee9
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.004217d0
test eax, eax
je 0x422282
test byte [ebp - 0xbc8], 0x80
je 0x4221ba
mov eax, str.Windows_2000__Professional_
jmp 0x4221fc
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421b90
test eax, eax
je 0x4221d2
mov eax, str.Windows_2000_Server
jmp 0x4221fc
cmp esi, 4
jne 0x4221f7
cmp dword [ebp - 0xc64], 5
jne 0x4221f7
cmp dword [ebp - 0xc60], 0
jne 0x4221f7
cmp dword [ebp - 0xbbc], 3
mov eax, str.Windows_2000__Domain_Controller_
je 0x4221fc
mov eax, str.Windows_2000
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov esi, dword [ebp - 0xc58]
add esp, 0xc
mov eax, dword [ebp - 0xbcc]
mov ecx, dword [ebp - 0xc60]
mov edx, dword [ebp - 0xc64]
cmp esi, 4
jne 0x422da8
cmp edx, 5
jne 0x422249
test ecx, ecx
jne 0x422249
test al, 0x20
je 0x422249
push str.___Datacenter_
jmp 0x421ee9
cmp esi, 4
jne 0x422da8
cmp edx, 5
jne 0x422da8
test ecx, ecx
jne 0x422da8
cmp dword [ebp - 0xbbc], 2
jne 0x422da8
test al, 2
je 0x422da8
push str.___Advanced_Server_
jmp 0x421ee9
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421800
test eax, eax
je 0x422472
mov ecx, dword [ebp - 0xbcc]
test ecx, 0x10000
je 0x4222af
mov eax, str.Windows_XP__Starter_Edition_
jmp 0x42235a
test cl, 0x40
je 0x4222be
mov eax, str.Windows_XP__Personal_
jmp 0x42235a
test byte [ebp - 0xbc8], 0x80
je 0x4222d1
mov eax, str.Windows_XP__Professional_
jmp 0x42235a
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421bd0
test eax, eax
je 0x4222e9
mov eax, str.Windows_Server_2003
jmp 0x42235a
mov edx, dword [ebp - 0xbbc]
mov edi, dword [ebp - 0xc60]
mov ebx, dword [ebp - 0xc64]
cmp esi, 4
jne 0x42231d
cmp ebx, 5
jne 0x42231d
test edi, edi
je 0x42231d
cmp edx, 3
jne 0x42231d
test ecx, 0x20000
jne 0x42231d
mov eax, str.Windows_Server_2003__Domain_Controller_
jmp 0x42235a
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421c70
test eax, eax
je 0x422335
mov eax, str.Windows_Server_2003_R2
jmp 0x42235a
cmp esi, 4
jne 0x422355
cmp ebx, 5
jne 0x422355
test edi, edi
je 0x422355
cmp edx, 3
jne 0x422355
mov eax, str.Windows_Server_2003_R2__Domain_Controller_
test ecx, 0x20000
jne 0x42235a
mov eax, str.Windows_XP
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov edi, dword [ebp - 0xc58]
add esp, 0xc
mov ecx, dword [ebp - 0xbcc]
mov edx, dword [ebp - 0xc60]
mov esi, dword [ebp - 0xc64]
cmp edi, 4
jne 0x4223c7
cmp esi, 5
jne 0x4223a2
test edx, edx
je 0x4223a2
test cl, 0x20
je 0x4223a2
test ecx, 0x20000
je 0x4223bd
cmp edi, 4
jne 0x4223c7
cmp esi, 5
jne 0x4223c7
test edx, edx
je 0x4223c7
test cl, 0x20
je 0x4223c7
test ecx, 0x20000
je 0x4223c7
push str.___Datacenter_Edition_
jmp 0x421ee9
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421c20
test eax, eax
jne 0x422a3e
cmp edi, 4
jne 0x42241d
cmp esi, 5
jne 0x4223f6
test edx, edx
je 0x4223f6
test cl, cl
jns 0x4223f6
test ecx, 0x20000
je 0x422410
cmp edi, 4
jne 0x42241d
cmp esi, 5
jne 0x42241a
test edx, edx
je 0x42241a
test cl, cl
jns 0x42241a
test ecx, 0x20000
je 0x42241a
push str.___Web_Edition_
jmp 0x421ee9
cmp edi, 4
mov eax, dword [ebp - 0xbc8]
jne 0x42243a
cmp esi, 5
jne 0x42243a
test edx, edx
je 0x42243a
test al, 0x20
je 0x42243a
test ecx, 0x20000
je 0x422468
cmp edi, 4
jne 0x422da8
cmp esi, 5
jne 0x422da8
test edx, edx
je 0x422da8
test al, 0x20
je 0x422da8
test ecx, 0x20000
je 0x422da8
push str.___Standard_Edition_
jmp 0x421ee9
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421830
test eax, eax
je 0x4225d4
mov eax, dword [ebp - 0xbcc]
test eax, 0x10000
je 0x42249e
mov eax, str.Windows_Vista__Starter_Edition_
jmp 0x422523
test eax, 0x1000000
je 0x4224ac
mov eax, str.Windows_Vista__Home_Basic_
jmp 0x422523
test eax, 0x2000000
je 0x4224ba
mov eax, str.Windows_Vista__Home_Premium_
jmp 0x422523
test eax, 0x8000000
je 0x4224c8
mov eax, str.Windows_Vista__Business_
jmp 0x422523
test al, 2
je 0x4224d3
mov eax, str.Windows_Vista__Enterprise_
jmp 0x422523
test eax, 0x400000
je 0x4224e1
mov eax, str.Windows_Vista__Ultimate_
jmp 0x422523
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421cc0
test eax, eax
je 0x4224f9
mov eax, str.Windows_Server_2008
jmp 0x422523
cmp esi, 4
jne 0x42251e
cmp dword [ebp - 0xc64], 6
jne 0x42251e
cmp dword [ebp - 0xc60], 0
jne 0x42251e
cmp dword [ebp - 0xbbc], 3
mov eax, str.Windows_Server_2008__Domain_Controller_
je 0x422523
mov eax, str.Windows_Vista
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov edx, dword [ebp - 0xc58]
add esp, 0xc
mov ebx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xc60]
mov ecx, dword [ebp - 0xc64]
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x422571
test eax, eax
jne 0x422571
test bl, 0x20
je 0x422571
push str.___Datacenter_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x42259b
test eax, eax
jne 0x42259b
cmp dword [ebp - 0xbbc], 2
jne 0x42259b
test bl, 2
je 0x42259b
push str.___Enterprise_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x4225bb
test eax, eax
jne 0x4225bb
test bl, bl
jns 0x4225bb
push str.___Web_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x422da8
test eax, eax
jmp 0x4228ae
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421860
test eax, eax
je 0x42274f
mov ecx, dword [ebp - 0xbc8]
test ecx, 0x20000
je 0x422601
mov eax, str.Windows_7_Thin_PC
jmp 0x42269a
mov eax, dword [ebp - 0xbcc]
test eax, 0x10000
je 0x422618
mov eax, str.Windows_7__Starter_Edition_
jmp 0x42269a
test eax, 0x1000000
je 0x422626
mov eax, str.Windows_7__Home_Basic_
jmp 0x42269a
test eax, 0x2000000
je 0x422634
mov eax, str.Windows_7__Home_Premium_
jmp 0x42269a
test cl, cl
jns 0x42263f
mov eax, str.Windows_7__Professional_
jmp 0x42269a
test al, 2
je 0x42264a
mov eax, str.Windows_7__Enterprise_
jmp 0x42269a
test eax, 0x400000
je 0x422658
mov eax, str.Windows_7__Ultimate_
jmp 0x42269a
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421d00
test eax, eax
je 0x422670
mov eax, str.Windows_Server_2008_R2
jmp 0x42269a
cmp esi, 4
jne 0x422695
cmp dword [ebp - 0xc64], 6
jne 0x422695
cmp dword [ebp - 0xc60], 1
jne 0x422695
cmp dword [ebp - 0xbbc], 3
mov eax, str.Windows_Server_2008_R2__Domain_Controller_
je 0x42269a
mov eax, str.Windows_7
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov edx, dword [ebp - 0xc58]
add esp, 0xc
mov ebx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xc60]
mov ecx, dword [ebp - 0xc64]
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x4226e9
cmp eax, 1
jne 0x4226e9
test bl, 0x20
je 0x4226e9
push str.___Datacenter_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x422714
cmp eax, 1
jne 0x422714
cmp dword [ebp - 0xbbc], 2
jne 0x422714
test bl, 2
je 0x422714
push str.___Enterprise_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x422735
cmp eax, 1
jne 0x422735
test bl, bl
jns 0x422735
push str.___Web_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x422da8
cmp eax, 1
jmp 0x4228ae
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421890
test eax, eax
je 0x4228cb
mov ecx, dword [ebp - 0xbc8]
test ecx, 0x20000
je 0x42277c
mov eax, str.Windows_8_Thin_PC
jmp 0x422800
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421ab0
test eax, eax
je 0x422794
mov eax, str.Windows_8_RT
jmp 0x422800
mov eax, dword [ebp - 0xbcc]
test eax, 0x10000
je 0x4227a8
mov eax, str.Windows_8__Starter_Edition_
jmp 0x422800
test cl, cl
jns 0x4227b3
mov eax, str.Windows_8__Pro_
jmp 0x422800
test al, 2
je 0x4227be
mov eax, str.Windows_8__Enterprise_
jmp 0x422800
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421d40
test eax, eax
je 0x4227d6
mov eax, str.Windows_Server_2012
jmp 0x422800
cmp esi, 4
jne 0x4227fb
cmp dword [ebp - 0xc64], 6
jne 0x4227fb
cmp dword [ebp - 0xc60], 2
jne 0x4227fb
cmp dword [ebp - 0xbbc], 3
mov eax, str.Windows_Server_2012__Domain_Controller_
je 0x422800
mov eax, str.Windows_8
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov edx, dword [ebp - 0xc58]
add esp, 0xc
mov ebx, dword [ebp - 0xbcc]
mov eax, dword [ebp - 0xc60]
mov ecx, dword [ebp - 0xc64]
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x42284f
cmp eax, 2
jne 0x42284f
test bl, 0x20
je 0x42284f
push str.___Datacenter_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x422878
cmp eax, 2
jne 0x422878
cmp dword [ebp - 0xbbc], eax
jne 0x422878
test al, bl
je 0x422878
push str.___Enterprise_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x422899
cmp eax, 2
jne 0x422899
test bl, bl
jns 0x422899
push str.___Web_Edition_
jmp 0x421ee9
cmp edx, 4
jne 0x422da8
cmp ecx, 6
jne 0x422da8
cmp eax, 2
jne 0x422da8
test byte [ebp - 0xbc8], 0x20
je 0x422da8
push str.___Standard_Edition_
jmp 0x421ee9
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.004218c0
test eax, eax
je 0x422a96
mov ecx, dword [ebp - 0xbc8]
test ecx, 0x20000
je 0x4228f8
mov eax, str.Windows_8.1_Thin_PC
jmp 0x42297c
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421ab0
test eax, eax
je 0x422910
mov eax, str.Windows_8.1_RT
jmp 0x42297c
mov eax, dword [ebp - 0xbcc]
test eax, 0x10000
je 0x422924
mov eax, str.Windows_8.1__Starter_Edition_
jmp 0x42297c
test cl, cl
jns 0x42292f
mov eax, str.Windows_8.1__Pro_
jmp 0x42297c
test al, 2
je 0x42293a
mov eax, str.Windows_8.1__Enterprise_
jmp 0x42297c
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421d80
test eax, eax
je 0x422952
mov eax, str.Windows_Server_2012_R2
jmp 0x42297c
cmp esi, 4
jne 0x422977
cmp dword [ebp - 0xc64], 6
jne 0x422977
cmp dword [ebp - 0xc60], 3
jne 0x422977
cmp dword [ebp - 0xbbc], 3
mov eax, str.Windows_Server_2012_R2__Domain_Controller_
je 0x42297c
mov eax, str.Windows_8.1
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc8]
add esp, 0xc
test eax, 0x800000
je 0x4229bd
push str.___with_Bing___CoreConnected_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc8]
add esp, 0xc
test eax, 0x400000
je 0x4229e3
push str.___Update_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc8]
add esp, 0xc
mov esi, dword [ebp - 0xc58]
mov ebx, dword [ebp - 0xbcc]
mov ecx, dword [ebp - 0xc60]
mov edx, dword [ebp - 0xc64]
cmp esi, 4
jne 0x422da8
cmp edx, 6
jne 0x422a1d
cmp ecx, 3
jne 0x422a1d
test bl, 0x20
je 0x422a1d
push str.___Datacenter_Edition_
jmp 0x421ee9
cmp esi, 4
jne 0x422da8
cmp edx, 6
jne 0x422a48
cmp ecx, 3
jne 0x422a48
cmp dword [ebp - 0xbbc], 2
jne 0x422a48
test bl, 2
je 0x422a48
push str.___Enterprise_Edition_
jmp 0x421ee9
cmp esi, 4
jne 0x422da8
cmp edx, 6
jne 0x422a69
cmp ecx, 3
jne 0x422a69
test bl, bl
jns 0x422a69
push str.___Web_Edition_
jmp 0x421ee9
cmp esi, 4
jne 0x422da8
cmp edx, 6
jne 0x422da8
cmp ecx, 3
jne 0x422da8
test al, 0x20
je 0x422da8
push str.___Standard_Edition_
jmp 0x421ee9
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.004218f0
test eax, eax
je 0x422da8
mov ecx, dword [ebp - 0xbc8]
test ecx, 0x20000
je 0x422ac3
mov eax, str.Windows_10_Thin_PC
jmp 0x422bcb
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421ab0
test eax, eax
je 0x422ade
mov eax, str.Windows_10_RT
jmp 0x422bcb
mov eax, dword [ebp - 0xbcc]
test eax, 0x10000
je 0x422af5
mov eax, str.Windows_10__Starter_Edition_
jmp 0x422bcb
test ecx, 0x4000000
je 0x422b07
mov eax, str.Windows_10__Home_
jmp 0x422bcb
test cl, cl
jns 0x422b15
mov eax, str.Windows_10__Pro_
jmp 0x422bcb
test al, 2
je 0x422b23
mov eax, str.Windows_10__Enterprise_
jmp 0x422bcb
test ecx, ecx
jns 0x422b31
mov eax, str.Windows_10_Nano_Server
jmp 0x422bcb
test byte [ebp - 0xbc4], 2
je 0x422b44
mov eax, str.Windows_10_ARM64_Server
jmp 0x422bcb
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421dc0
test eax, eax
je 0x422b5c
mov eax, str.Windows_Server_2016
jmp 0x422bcb
cmp esi, 4
jne 0x422bc6
cmp dword [ebp - 0xc64], 6
ja 0x422b74
jne 0x422bc6
cmp dword [ebp - 0xc60], esi
jb 0x422bc6
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421950
test eax, eax
jne 0x422bc6
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.004219b0
test eax, eax
jne 0x422bc6
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421a10
test eax, eax
jne 0x422bc6
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421a60
test eax, eax
jne 0x422bc6
cmp dword [ebp - 0xbbc], 3
mov eax, str.Windows_Server_2016__Domain_Controller_
je 0x422bcb
mov eax, str.Windows_10
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov ebx, dword [ebp - 0xbc8]
add esp, 0xc
test ebx, 0x800000
je 0x422c0d
push str.___with_Bing___CoreConnected_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov ebx, dword [ebp - 0xbc8]
add esp, 0xc
cmp dword [ebp - 0xc58], 4
mov edi, dword [ebp - 0xc60]
mov esi, dword [ebp - 0xc64]
jne 0x422c85
cmp esi, 6
ja 0x422c2e
jne 0x422c85
cmp edi, 4
jb 0x422c85
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421950
test eax, eax
jne 0x422c85
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.004219b0
test eax, eax
jne 0x422c85
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421a10
test eax, eax
jne 0x422c85
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421a60
test eax, eax
jne 0x422c85
test byte [ebp - 0xbcc], 0x20
je 0x422c85
push str.___Datacenter_Edition_
jmp 0x421ee9
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421dc0
mov edx, dword [ebp - 0xbcc]
test eax, eax
je 0x422cab
test dl, 2
je 0x422cab
push str.___Enterprise_Edition_
jmp 0x421ee9
cmp dword [ebp - 0xc58], 4
jne 0x422da8
cmp esi, 6
ja 0x422cc4
jne 0x422d16
cmp edi, 4
jb 0x422d16
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421950
test eax, eax
jne 0x422d16
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.004219b0
test eax, eax
jne 0x422d16
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421a10
test eax, eax
jne 0x422d16
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421a60
test eax, eax
jne 0x422d16
test dl, dl
jns 0x422d16
push str.___Web_Edition_
jmp 0x421ee9
cmp dword [ebp - 0xc58], 4
jne 0x422da8
cmp esi, 6
ja 0x422d2f
jne 0x422da8
cmp edi, 4
jb 0x422da8
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421950
test eax, eax
jne 0x422da8
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.004219b0
test eax, eax
jne 0x422da8
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421a10
test eax, eax
jne 0x422da8
push ecx
lea eax, [ebp - 0xcfc]
push eax
call fcn.00421a60
test eax, eax
jne 0x422da8
test bl, 0x20
je 0x422da8
push str.___Standard_Edition_
jmp 0x421ee9
push str.Unknown_OS
lea eax, [ebp - 0x68]
push eax
call fcn.00423a40
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0x14
mov eax, dword [ebp - 0xc54]
cmp eax, 0xa
ja case.0x422db3.0
jmp dword [eax*4 + 0x4239ec]
mov eax, str.___x86_32_Processor_
jmp 0x422e05
mov eax, str.___MIPS_Processor_
jmp 0x422e05
mov eax, str.___Alpha_Processor_
jmp 0x422e05
mov eax, str.___PPC_Processor_
jmp 0x422e05
mov eax, str.___IA64_Itanium_2__Processor_
jmp 0x422e05
mov eax, str.___x86_64_Processor_
jmp 0x422e05
mov eax, str.___Alpha64_Processor_
jmp 0x422e05
mov eax, str.___MSIL_Processor_
jmp 0x422e05
mov eax, str.___ARM_Processor_
jmp 0x422e05
mov eax, str.___SHX_Processor_
jmp 0x422e05
mov eax, str.___Unknown_Processor_
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
push dword [ebp - 0xc64]
lea eax, [ebp - 0x68]
push str._v_d.
push eax
call fcn.00423a40
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov esi, dword [ebp - 0xc60]
mov eax, 0xcccccccd
mul esi
mov eax, esi
add esp, 0x24
shr edx, 3
lea ecx, [edx + edx*4]
add ecx, ecx
sub eax, ecx
lea eax, [ebp - 0x68]
je 0x422e6e
push esi
cmp esi, 9
jbe 0x422e6f
push str._02d
jmp 0x422e74
push edx
push str._01d
push eax
call fcn.00423a40
add esp, 0xc
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xc5c]
add esp, 0xc
test eax, eax
je 0x422ec6
push eax
lea eax, [ebp - 0x68]
push str._Build:_d
push eax
call fcn.00423a40
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0x18
push 0x5bfa68
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov cx, word [ebp - 0xbd0]
add esp, 0xc
mov ax, word [ebp - 0xbce]
test cx, cx
je 0x422fd4
test ax, ax
je 0x422fa8
mov esi, dword [ebp - 0xc58]
mov ebx, dword [ebp - 0xbcc]
mov edi, dword [ebp - 0xc60]
mov edx, dword [ebp - 0xc64]
cmp esi, 4
jne 0x422f8d
cmp edx, 4
ja 0x422f40
cmp cx, 6
jne 0x422f45
cmp ax, 1
jne 0x422f45
lea eax, [ebp - 0x68]
push str.Service_Pack:_6a
push eax
call fcn.00423a40
add esp, 8
jmp 0x422fbd
cmp esi, 4
jne 0x422f8d
cmp edx, 5
jne 0x422f53
test edi, edi
je 0x422f53
test bl, 0x40
jne 0x422f6f
cmp esi, 4
jne 0x422f8d
cmp edx, 5
jne 0x422f8d
test edi, edi
je 0x422f8d
cmp dword [ebp - 0xbbc], 1
jne 0x422f8d
test bl, 0x40
jne 0x422f8d
cmp cx, 1
jne 0x422f8d
cmp ax, cx
jne 0x422f8d
lea eax, [ebp - 0x68]
push str.Service_Pack:_1a
push eax
call fcn.00423a40
add esp, 8
jmp 0x422fbd
movzx eax, ax
push eax
movzx eax, cx
push eax
lea eax, [ebp - 0x68]
push str.Service_Pack:_d._d
push eax
call fcn.00423a40
add esp, 0x10
jmp 0x422fbd
movzx eax, cx
push eax
lea eax, [ebp - 0x68]
push str.Service_Pack:_d
push eax
call fcn.00423a40
add esp, 0xc
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
jmp 0x422feb
test ax, ax
je 0x422fee
movzx eax, ax
push eax
lea eax, [ebp - 0x68]
push str.Service_Pack:0._d
push eax
call fcn.00423a40
add esp, 0xc
mov ecx, dword [ebp - 0xbcc]
mov eax, ecx
shr eax, 0x13
and eax, 1
je 0x42300a
test cl, 2
je 0x42300a
push str.___Storage_Server_Enterprise_
jmp 0x42305a
test byte [ebp - 0xbc8], 8
je 0x42301a
push str.___Storage_Server_Express_
jmp 0x42305a
test eax, eax
je 0x42302e
test byte [ebp - 0xbc8], 0x20
je 0x42302e
push str.___Storage_Server_Standard_
jmp 0x42305a
test byte [ebp - 0xbc8], 0x10
je 0x42303e
push str.___Storage_Server_Workgroup_
jmp 0x42305a
test dword [ebp - 0xbc8], 0x1000
je 0x423051
push str.___Storage_Server_Essentials_
jmp 0x42305a
test eax, eax
je 0x42306e
push str.___Storage_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x800
je 0x423081
push str.___Home_Server_Premium_Edition_
jmp 0x423092
test dword [ebp - 0xbcc], 0x10000000
je 0x4230a6
push str.___Home_Server_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test byte [ebp - 0xbcc], 0x10
je 0x4230c8
push str.___Terminal_Services_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x100
je 0x4230ed
push str.___Embedded_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x200
je 0x423112
push str.___Terminal_Services_in_Remote_Admin_Mode_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
push str.KERNEL32.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x423173
push str.IsWow64Process
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x423173
lea eax, [ebp - 0xd00]
mov dword [ebp - 0xd00], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x423173
cmp dword [ebp - 0xd00], 0
je 0x423173
push str.___64_Bit_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x4000
je 0x423198
push str.___Media_Center_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x8000
je 0x4231bd
push str.___Tablet_PC_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x40000
je 0x4231e2
push str.___Compute_Cluster_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x100
je 0x423207
push str.___Foundation_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x10000
je 0x42321a
push str.___MultiPoint_Premium_Edition_
jmp 0x42322b
test dword [ebp - 0xbc8], 0x200
je 0x42323f
push str.___MultiPoint_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x100000
je 0x423264
push str.___Security_Appliance_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x200000
je 0x423289
push str.___BackOffice_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x800000
je 0x4232ae
push str.___N_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test byte [ebp - 0xbc8], 0x40
je 0x4232d0
push str.___E_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x4000000
je 0x4232f5
push str.___Hyper_V_Tools_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x400
je 0x42331a
push str.___Hyper_V_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x20000000
je 0x42333f
push str.___Server_Core_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x400
je 0x423364
push str.___Uniprocessor_Free_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x800
je 0x423389
push str.___Uniprocessor_Checked_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x1000
je 0x4233ae
push str.___Multiprocessor_Free_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x2000
je 0x4233d3
push str.___Multiprocessor_Checked_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x40000000
je 0x4233f8
push str.___Windows_Essential_Business_Server_Manangement_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbcc], 0x80000000
je 0x42341d
push str.___Windows_Essential_Business_Server_Messaging_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test byte [ebp - 0xbc8], 1
je 0x42343f
push str.___Windows_Essential_Business_Server_Security_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test byte [ebp - 0xbc8], 2
je 0x423461
push str.___Cluster_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test byte [ebp - 0xbcc], 1
je 0x423483
push str.___Small_Business_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test byte [ebp - 0xbc8], 4
je 0x4234a5
push str.___Small_Business_Server_Premium_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x2000
je 0x4234ca
push str.___Prerelease_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x4000
je 0x4234ef
push str.___Evaluation_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x40000
je 0x423514
push str.___Automotive_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x80000
je 0x423539
push str.___China_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x100000
je 0x42355e
push str.___Single_Language_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x200000
je 0x423583
push str.___Win32s_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x1000000
je 0x4235a8
push str.___Education_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x2000000
je 0x4235cd
push str.___Industry_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x8000000
je 0x4235f2
push str.___Student_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
test dword [ebp - 0xbc8], 0x10000000
je 0x423617
push str.___Mobile_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
mov eax, dword [ebp - 0xbc4]
test eax, 0x200000
je 0x423643
push str.___IoT_Core_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc4]
add esp, 0xc
test al, 0x20
je 0x423666
push str.___Cloud_Host_Infrastructure_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc4]
add esp, 0xc
test eax, 0x2000
je 0x42368c
push str.___S_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc4]
add esp, 0xc
test al, 1
je 0x4236af
push str.___Cloud_Storage_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc4]
add esp, 0xc
test al, 4
je 0x4236d2
push str.___PPI_Pro_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc4]
add esp, 0xc
test al, 8
je 0x4236f5
push str.___Connected_Car_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov eax, dword [ebp - 0xbc4]
add esp, 0xc
test al, 0x10
je 0x423712
push str.___Handheld_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
add esp, 0xc
push 0x5bfa68
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.00531998
mov edi, dword [ebp - 0xd08]
add esp, 0xc
jmp 0x423741
push str.Failed_in_call_to_GetOSVersion_n
push eax
call fcn.00423a20
add esp, 8
push 0x5b9638
push 0x400
push edi
mov dword [ebp - 0xd10], 0x101
call fcn.0053193e
push 0x101
lea eax, [ebp - 0xb9c]
push 0
push eax
call fcn.0052d9b0
add esp, 0x18
lea eax, [ebp - 0xd10]
push eax
lea eax, [ebp - 0xb9c]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x4237ae
push str._nComputerName_:
push 0x400
push edi
call fcn.00531998
lea eax, [ebp - 0xb9c]
push eax
push 0x400
push edi
call fcn.00531998
add esp, 0x18
mov eax, dword [0x5e44e8]
cmp dword [eax + 0xe64], 0
je 0x423947
lea eax, [ebp - 0xd00]
mov dword [ebp - 0xd0c], 0x2e
push eax
lea eax, [ebp - 0xd40]
mov dword [ebp - 0xd00], 0
push eax
xorps xmm0, xmm0
mov dword [ebp - 0xd40], 0
push 0
lea eax, [ebp - 0xa98]
movlpd qword [ebp - 0xd30], xmm0
push eax
xor bl, bl
movlpd qword [ebp - 0xd28], xmm0
xor bh, bh
mov dword [ebp - 0xd3c], 0
mov dword [ebp - 0xd38], 1
mov dword [ebp - 0xd34], 6
movups xmmword [ebp - 0xd20], xmm0
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x4238ab
mov edi, dword [ebp - 0xd00]
test edi, edi
je 0x4238a5
mov eax, dword [edi + 4]
sub eax, 2
je 0x42388f
sub eax, 0x15
jne 0x42389e
mov esi, dword [edi + 0x18]
mov bh, 1
push 0x2e
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xd0c], 0x2e
push eax
call fcn.0052d9b0
add esp, 0xc
lea eax, [ebp - 0xd0c]
push eax
lea eax, [ebp - 0x98]
push eax
push 0
push dword [edi + 0x10]
push esi
call dword [sym.imp.WS2_32.dll_WSAAddressToStringA]
jmp 0x42389e
mov eax, dword [edi + 0x18]
mov bl, 1
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd20], xmm0
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x423845
mov edi, dword [ebp - 0xd08]
push dword [ebp - 0xd00]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
test bh, bh
je 0x423918
lea eax, [ebp - 0x98]
push eax
test bl, bl
je 0x4238fe
push dword [ebp - 0xd1c]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x998]
push str.IPv4:__s_nIPv6:__s__n
push eax
call fcn.00423a60
lea eax, [ebp - 0x998]
push eax
push 0x400
push edi
call fcn.00531998
add esp, 0x1c
jmp 0x4239a0
lea eax, [ebp - 0x998]
push str.IPv6:__s__n
push eax
call fcn.00423a60
lea eax, [ebp - 0x998]
push eax
jmp 0x423992
test bl, bl
je 0x4239a0
push dword [ebp - 0xd1c]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x998]
push str.IPv4:__s__n
push eax
call fcn.00423a60
lea eax, [ebp - 0x998]
push eax
jmp 0x423992
push 0xff
lea eax, [ebp - 0xa98]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x4239a0
lea eax, [ebp - 0xa98]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x4239a0
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 0x4239a0
push str._nIP_:
push 0x400
push edi
call fcn.00531998
push esi
push 0x400
push edi
call fcn.00531998
add esp, 0x18
push 0x5bfa68
push 0x400
push edi
call fcn.00531998
lea eax, [ebp - 0x898]
push eax
push 0x400
push edi
call fcn.00531998
mov ecx, dword [ebp - 4]
add esp, 0x18
xor ecx, ebp
xor eax, eax
pop edi
pop esi
pop ebx
call fcn.0052b789
mov esp, ebp
pop ebp
ret