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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd24
mov eax, dword [0x5b0008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x140
lea eax, [ebp - 0xcdc]
mov esi, ecx
push 0
push eax
mov dword [ebp - 0xcf0], esi
call fcn.0051b450
add esp, 0xc
lea eax, [ebp - 0xcdc]
lea ecx, [ebp - 0xcdd]
push eax
call fcn.0041fa00
test eax, eax
lea eax, [ebp - 0x898]
je 0x423010
push 0x569fe8
push eax
call fcn.00423280
add esp, 8
lea eax, [ebp - 0x898]
cmp dword [ebp - 0xc38], 5
push str.OS:
push 0x800
push eax
jne 0x4218c3
call fcn.0051f3ce
jmp 0x4218c8
call fcn.0051f428
mov ecx, dword [ebp - 0xc38]
add esp, 0xc
lea eax, [ecx - 1]
cmp eax, 4
ja case.default.0x4218dd
jmp dword [eax*4 + 0x42323c]
push 0x597c38
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
jmp 0x42268c
push str.Windows
jmp 0x4218e9
mov eax, dword [ebp - 0xc44]
cmp ecx, 5
jne 0x421939
cmp eax, 7
jb 0x421921
mov eax, str.Windows_Embedded_Compact
push eax
jmp 0x4218e9
cmp ecx, 5
jne 0x421939
cmp eax, 4
jne 0x421939
cmp dword [ebp - 0xc40], 0
mov eax, str.Windows_CE_.NET
ja 0x42193e
mov eax, str.Windows_CE
push eax
jmp 0x4218e9
mov edi, dword [ebp - 0xc3c]
mov esi, dword [ebp - 0xc40]
mov edx, dword [ebp - 0xc44]
cmp ecx, 3
jne 0x421a6e
cmp edx, 4
jne 0x421978
test esi, esi
jne 0x421978
cmp edi, 0x3b6
jne 0x421978
mov eax, str.Windows_95
push eax
jmp 0x42266b
cmp ecx, 3
jne 0x421a6e
cmp edx, 4
jne 0x42199e
lea eax, [edi - 0x3b7]
cmp eax, 0x81
ja 0x42199e
mov eax, str.Windows_95_SP1
push eax
jmp 0x42266b
cmp ecx, 3
jne 0x421a6e
cmp edx, 4
jne 0x4219c9
cmp esi, 0xa
jae 0x4219c9
lea eax, [edi - 0x439]
cmp eax, 0x84
ja 0x4219c9
mov eax, str.Windows_95_B__aka_OSR2_
push eax
jmp 0x42266b
cmp ecx, 3
jne 0x421a6e
cmp edx, 4
jne 0x4219ef
cmp esi, 0xa
jae 0x4219ef
cmp edi, 0x4be
jb 0x4219ef
mov eax, str.Windows_95_C__aka_OSR2.5_
push eax
jmp 0x42266b
cmp ecx, 3
jne 0x421a6e
cmp edx, 4
jne 0x421a11
cmp esi, 0xa
jne 0x421a11
cmp edi, 0x7ce
jne 0x421a11
mov eax, str.Windows_98
push eax
jmp 0x42266b
cmp ecx, 3
jne 0x421a6e
cmp edx, 4
jne 0x421a38
cmp esi, 0xa
jne 0x421a38
lea eax, [edi - 0x7cf]
cmp eax, 0xb7
ja 0x421a38
mov eax, str.Windows_98_SP1
push eax
jmp 0x42266b
cmp ecx, 3
jne 0x421a6e
cmp edx, 4
jne 0x421a5a
cmp esi, 0xa
jne 0x421a5a
cmp edi, 0x887
jb 0x421a5a
mov eax, str.Windows_98_Second_Edition
push eax
jmp 0x42266b
cmp ecx, 3
jne 0x421a6e
cmp edx, 4
jne 0x421a6e
mov eax, str.Windows_Millenium_Edition
cmp esi, 0x5a
je 0x421a73
mov eax, str.Windows___
push eax
jmp 0x42266b
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421590
test eax, eax
je 0x421b95
push str.Windows_NT
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov ecx, dword [ebp - 0xc38]
add esp, 0xc
mov edx, dword [ebp - 0xba0]
mov eax, dword [ebp - 0xc44]
cmp ecx, 4
jne 0x42268c
cmp eax, 4
ja 0x421ad3
cmp edx, 1
jne 0x421ad3
push str.__Workstation_
jmp 0x421b2d
cmp ecx, 4
jne 0x42268c
cmp eax, ecx
ja 0x421aec
cmp edx, 2
jne 0x421aec
push str.__Server_
jmp 0x421b2d
cmp ecx, 4
jne 0x42268c
cmp eax, ecx
ja 0x421b0d
cmp edx, 3
jne 0x421b0d
test byte [ebp - 0xbac], cl
je 0x421b0d
push str.__Primary_Domain_Controller_
jmp 0x421b2d
cmp ecx, 4
jne 0x42268c
cmp eax, ecx
ja 0x421b4d
cmp edx, 3
jne 0x421b4d
test byte [ebp - 0xbac], 8
je 0x421b4d
push str.__Backup_Domain_Controller_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov eax, dword [ebp - 0xc44]
add esp, 0xc
mov ecx, dword [ebp - 0xc38]
cmp ecx, 4
jne 0x42268c
cmp eax, ecx
ja 0x421b6d
test byte [ebp - 0xbac], 0x20
je 0x421b6d
push str.___Datacenter_
jmp 0x4218e9
cmp ecx, 4
jne 0x42268c
cmp eax, ecx
ja 0x42268c
test byte [ebp - 0xbac], 2
je 0x42268c
push str.___Enterprise_
jmp 0x4218e9
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421380
test eax, eax
je 0x421c82
test byte [ebp - 0xba8], 0x80
je 0x421bba
mov eax, str.Windows_2000__Professional_
jmp 0x421bfc
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004215c0
test eax, eax
je 0x421bd2
mov eax, str.Windows_2000_Server
jmp 0x421bfc
cmp ecx, 4
jne 0x421bf7
cmp dword [ebp - 0xc44], 5
jne 0x421bf7
cmp dword [ebp - 0xc40], 0
jne 0x421bf7
cmp dword [ebp - 0xba0], 3
mov eax, str.Windows_2000__Domain_Controller_
je 0x421bfc
mov eax, str.Windows_2000
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov esi, dword [ebp - 0xc38]
add esp, 0xc
mov eax, dword [ebp - 0xbac]
mov ecx, dword [ebp - 0xc40]
mov edx, dword [ebp - 0xc44]
cmp esi, 4
jne 0x42268c
cmp edx, 5
jne 0x421c49
test ecx, ecx
jne 0x421c49
test al, 0x20
je 0x421c49
push str.___Datacenter_
jmp 0x4218e9
cmp esi, 4
jne 0x42268c
cmp edx, 5
jne 0x42268c
test ecx, ecx
jne 0x42268c
cmp dword [ebp - 0xba0], 2
jne 0x42268c
test al, 2
je 0x42268c
push str.___Advanced_Server_
jmp 0x4218e9
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004213b0
test eax, eax
je 0x421e72
mov edx, dword [ebp - 0xbac]
test edx, 0x10000
je 0x421caf
mov eax, str.Windows_XP__Starter_Edition_
jmp 0x421d5a
test dl, 0x40
je 0x421cbe
mov eax, str.Windows_XP__Personal_
jmp 0x421d5a
test byte [ebp - 0xba8], 0x80
je 0x421cd1
mov eax, str.Windows_XP__Professional_
jmp 0x421d5a
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421600
test eax, eax
je 0x421ce9
mov eax, str.Windows_Server_2003
jmp 0x421d5a
mov esi, dword [ebp - 0xba0]
mov edi, dword [ebp - 0xc40]
mov ebx, dword [ebp - 0xc44]
cmp ecx, 4
jne 0x421d1d
cmp ebx, 5
jne 0x421d1d
test edi, edi
je 0x421d1d
cmp esi, 3
jne 0x421d1d
test edx, 0x20000
jne 0x421d1d
mov eax, str.Windows_Server_2003__Domain_Controller_
jmp 0x421d5a
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004216a0
test eax, eax
je 0x421d35
mov eax, str.Windows_Server_2003_R2
jmp 0x421d5a
cmp ecx, 4
jne 0x421d55
cmp ebx, 5
jne 0x421d55
test edi, edi
je 0x421d55
cmp esi, 3
jne 0x421d55
mov eax, str.Windows_Server_2003_R2__Domain_Controller_
test edx, 0x20000
jne 0x421d5a
mov eax, str.Windows_XP
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov edi, dword [ebp - 0xc38]
add esp, 0xc
mov ecx, dword [ebp - 0xbac]
mov edx, dword [ebp - 0xc40]
mov esi, dword [ebp - 0xc44]
cmp edi, 4
jne 0x421dc7
cmp esi, 5
jne 0x421da2
test edx, edx
je 0x421da2
test cl, 0x20
je 0x421da2
test ecx, 0x20000
je 0x421dbd
cmp edi, 4
jne 0x421dc7
cmp esi, 5
jne 0x421dc7
test edx, edx
je 0x421dc7
test cl, 0x20
je 0x421dc7
test ecx, 0x20000
je 0x421dc7
push str.___Datacenter_Edition_
jmp 0x4218e9
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421650
test eax, eax
jne 0x42243e
cmp edi, 4
jne 0x421e1d
cmp esi, 5
jne 0x421df6
test edx, edx
je 0x421df6
test cl, cl
jns 0x421df6
test ecx, 0x20000
je 0x421e10
cmp edi, 4
jne 0x421e1d
cmp esi, 5
jne 0x421e1a
test edx, edx
je 0x421e1a
test cl, cl
jns 0x421e1a
test ecx, 0x20000
je 0x421e1a
push str.___Web_Edition_
jmp 0x4218e9
cmp edi, 4
mov eax, dword [ebp - 0xba8]
jne 0x421e3a
cmp esi, 5
jne 0x421e3a
test edx, edx
je 0x421e3a
test al, 0x20
je 0x421e3a
test ecx, 0x20000
je 0x421e68
cmp edi, 4
jne 0x42268c
cmp esi, 5
jne 0x42268c
test edx, edx
je 0x42268c
test al, 0x20
je 0x42268c
test ecx, 0x20000
je 0x42268c
push str.___Standard_Edition_
jmp 0x4218e9
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004213e0
test eax, eax
je 0x421fd4
mov eax, dword [ebp - 0xbac]
test eax, 0x10000
je 0x421e9e
mov eax, str.Windows_Vista__Starter_Edition_
jmp 0x421f23
test eax, 0x1000000
je 0x421eac
mov eax, str.Windows_Vista__Home_Basic_
jmp 0x421f23
test eax, 0x2000000
je 0x421eba
mov eax, str.Windows_Vista__Home_Premium_
jmp 0x421f23
test eax, 0x8000000
je 0x421ec8
mov eax, str.Windows_Vista__Business_
jmp 0x421f23
test al, 2
je 0x421ed3
mov eax, str.Windows_Vista__Enterprise_
jmp 0x421f23
test eax, 0x400000
je 0x421ee1
mov eax, str.Windows_Vista__Ultimate_
jmp 0x421f23
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004216f0
test eax, eax
je 0x421ef9
mov eax, str.Windows_Server_2008
jmp 0x421f23
cmp ecx, 4
jne 0x421f1e
cmp dword [ebp - 0xc44], 6
jne 0x421f1e
cmp dword [ebp - 0xc40], 0
jne 0x421f1e
cmp dword [ebp - 0xba0], 3
mov eax, str.Windows_Server_2008__Domain_Controller_
je 0x421f23
mov eax, str.Windows_Vista
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov edx, dword [ebp - 0xc38]
add esp, 0xc
mov ebx, dword [ebp - 0xbac]
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xc44]
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x421f71
test eax, eax
jne 0x421f71
test bl, 0x20
je 0x421f71
push str.___Datacenter_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x421f9b
test eax, eax
jne 0x421f9b
cmp dword [ebp - 0xba0], 2
jne 0x421f9b
test bl, 2
je 0x421f9b
push str.___Enterprise_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x421fbb
test eax, eax
jne 0x421fbb
test bl, bl
jns 0x421fbb
push str.___Web_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x42268c
test eax, eax
jmp 0x4222ae
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421410
test eax, eax
je 0x42214f
mov edx, dword [ebp - 0xba8]
test edx, 0x20000
je 0x422001
mov eax, str.Windows_7_Thin_PC
jmp 0x42209a
mov eax, dword [ebp - 0xbac]
test eax, 0x10000
je 0x422018
mov eax, str.Windows_7__Starter_Edition_
jmp 0x42209a
test eax, 0x1000000
je 0x422026
mov eax, str.Windows_7__Home_Basic_
jmp 0x42209a
test eax, 0x2000000
je 0x422034
mov eax, str.Windows_7__Home_Premium_
jmp 0x42209a
test dl, dl
jns 0x42203f
mov eax, str.Windows_7__Professional_
jmp 0x42209a
test al, 2
je 0x42204a
mov eax, str.Windows_7__Enterprise_
jmp 0x42209a
test eax, 0x400000
je 0x422058
mov eax, str.Windows_7__Ultimate_
jmp 0x42209a
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421730
test eax, eax
je 0x422070
mov eax, str.Windows_Server_2008_R2
jmp 0x42209a
cmp ecx, 4
jne 0x422095
cmp dword [ebp - 0xc44], 6
jne 0x422095
cmp dword [ebp - 0xc40], 1
jne 0x422095
cmp dword [ebp - 0xba0], 3
mov eax, str.Windows_Server_2008_R2__Domain_Controller_
je 0x42209a
mov eax, str.Windows_7
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov edx, dword [ebp - 0xc38]
add esp, 0xc
mov ebx, dword [ebp - 0xbac]
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xc44]
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x4220e9
cmp eax, 1
jne 0x4220e9
test bl, 0x20
je 0x4220e9
push str.___Datacenter_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x422114
cmp eax, 1
jne 0x422114
cmp dword [ebp - 0xba0], 2
jne 0x422114
test bl, 2
je 0x422114
push str.___Enterprise_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x422135
cmp eax, 1
jne 0x422135
test bl, bl
jns 0x422135
push str.___Web_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x42268c
cmp eax, 1
jmp 0x4222ae
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421440
test eax, eax
je 0x4222cb
mov edx, dword [ebp - 0xba8]
test edx, 0x20000
je 0x42217c
mov eax, str.Windows_8_Thin_PC
jmp 0x422200
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004214e0
test eax, eax
je 0x422194
mov eax, str.Windows_8_RT
jmp 0x422200
mov eax, dword [ebp - 0xbac]
test eax, 0x10000
je 0x4221a8
mov eax, str.Windows_8__Starter_Edition_
jmp 0x422200
test dl, dl
jns 0x4221b3
mov eax, str.Windows_8__Pro_
jmp 0x422200
test al, 2
je 0x4221be
mov eax, str.Windows_8__Enterprise_
jmp 0x422200
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421770
test eax, eax
je 0x4221d6
mov eax, str.Windows_Server_2012
jmp 0x422200
cmp ecx, 4
jne 0x4221fb
cmp dword [ebp - 0xc44], 6
jne 0x4221fb
cmp dword [ebp - 0xc40], 2
jne 0x4221fb
cmp dword [ebp - 0xba0], 3
mov eax, str.Windows_Server_2012__Domain_Controller_
je 0x422200
mov eax, str.Windows_8
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov edx, dword [ebp - 0xc38]
add esp, 0xc
mov ebx, dword [ebp - 0xbac]
mov eax, dword [ebp - 0xc40]
mov ecx, dword [ebp - 0xc44]
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x42224f
cmp eax, 2
jne 0x42224f
test bl, 0x20
je 0x42224f
push str.___Datacenter_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x422278
cmp eax, 2
jne 0x422278
cmp dword [ebp - 0xba0], eax
jne 0x422278
test al, bl
je 0x422278
push str.___Enterprise_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x422299
cmp eax, 2
jne 0x422299
test bl, bl
jns 0x422299
push str.___Web_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp ecx, 6
jne 0x42268c
cmp eax, 2
jne 0x42268c
test byte [ebp - 0xba8], 0x20
je 0x42268c
push str.___Standard_Edition_
jmp 0x4218e9
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.00421470
test eax, eax
je 0x422496
mov edx, dword [ebp - 0xba8]
test edx, 0x20000
je 0x4222f8
mov eax, str.Windows_8.1_Thin_PC
jmp 0x42237c
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004214e0
test eax, eax
je 0x422310
mov eax, str.Windows_8.1_RT
jmp 0x42237c
mov eax, dword [ebp - 0xbac]
test eax, 0x10000
je 0x422324
mov eax, str.Windows_8.1__Starter_Edition_
jmp 0x42237c
test dl, dl
jns 0x42232f
mov eax, str.Windows_8.1__Pro_
jmp 0x42237c
test al, 2
je 0x42233a
mov eax, str.Windows_8.1__Enterprise_
jmp 0x42237c
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004217b0
test eax, eax
je 0x422352
mov eax, str.Windows_Server_2012_R2
jmp 0x42237c
cmp ecx, 4
jne 0x422377
cmp dword [ebp - 0xc44], 6
jne 0x422377
cmp dword [ebp - 0xc40], 3
jne 0x422377
cmp dword [ebp - 0xba0], 3
mov eax, str.Windows_Server_2012_R2__Domain_Controller_
je 0x42237c
mov eax, str.Windows_8.1
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov eax, dword [ebp - 0xba8]
add esp, 0xc
test eax, 0x800000
je 0x4223bd
push str.___with_Bing___CoreConnected_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov eax, dword [ebp - 0xba8]
add esp, 0xc
test eax, 0x400000
je 0x4223e3
push str.___Update_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov eax, dword [ebp - 0xba8]
add esp, 0xc
mov esi, dword [ebp - 0xc38]
mov ebx, dword [ebp - 0xbac]
mov ecx, dword [ebp - 0xc40]
mov edx, dword [ebp - 0xc44]
cmp esi, 4
jne 0x42268c
cmp edx, 6
jne 0x42241d
cmp ecx, 3
jne 0x42241d
test bl, 0x20
je 0x42241d
push str.___Datacenter_Edition_
jmp 0x4218e9
cmp esi, 4
jne 0x42268c
cmp edx, 6
jne 0x422448
cmp ecx, 3
jne 0x422448
cmp dword [ebp - 0xba0], 2
jne 0x422448
test bl, 2
je 0x422448
push str.___Enterprise_Edition_
jmp 0x4218e9
cmp esi, 4
jne 0x42268c
cmp edx, 6
jne 0x422469
cmp ecx, 3
jne 0x422469
test bl, bl
jns 0x422469
push str.___Web_Edition_
jmp 0x4218e9
cmp esi, 4
jne 0x42268c
cmp edx, 6
jne 0x42268c
cmp ecx, 3
jne 0x42268c
test al, 0x20
je 0x42268c
push str.___Standard_Edition_
jmp 0x4218e9
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004214a0
test eax, eax
je 0x42268c
mov edx, dword [ebp - 0xba8]
test edx, 0x20000
je 0x4224c3
mov eax, str.Windows_10_Thin_PC
jmp 0x422578
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004214e0
test eax, eax
je 0x4224de
mov eax, str.Windows_10_RT
jmp 0x422578
mov eax, dword [ebp - 0xbac]
test eax, 0x10000
je 0x4224f5
mov eax, str.Windows_10__Starter_Edition_
jmp 0x422578
test edx, 0x4000000
je 0x422504
mov eax, str.Windows_10__Home_
jmp 0x422578
test dl, dl
jns 0x42250f
mov eax, str.Windows_10__Pro_
jmp 0x422578
test al, 2
je 0x42251a
mov eax, str.Windows_10__Enterprise_
jmp 0x422578
test edx, edx
jns 0x422525
mov eax, str.Windows_10_Nano_Server
jmp 0x422578
test byte [ebp - 0xba4], 2
je 0x422535
mov eax, str.Windows_10_ARM64_Server
jmp 0x422578
push ecx
lea eax, [ebp - 0xcdc]
push eax
call fcn.004217f0
test eax, eax
je 0x42254d
mov eax, str.Windows_Server_2016
jmp 0x422578
cmp ecx, 4
jne 0x422573
cmp dword [ebp - 0xc44], 6
ja 0x422565
jne 0x422573
cmp dword [ebp - 0xc40], ecx
jb 0x422573
cmp dword [ebp - 0xba0], 3
mov eax, str.Windows_Server_2016__Domain_Controller_
je 0x422578
mov eax, str.Windows_10
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov ebx, dword [ebp - 0xba8]
add esp, 0xc
test ebx, 0x800000
je 0x4225ba
push str.___with_Bing___CoreConnected_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov ebx, dword [ebp - 0xba8]
add esp, 0xc
mov edx, dword [ebp - 0xc38]
mov ecx, dword [ebp - 0xc40]
mov eax, dword [ebp - 0xc44]
cmp edx, 4
jne 0x42268c
cmp eax, 6
ja 0x4225e1
jne 0x4225f4
cmp ecx, 4
jb 0x4225f4
test byte [ebp - 0xbac], 0x20
je 0x4225f4
push str.___Datacenter_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp eax, 6
ja 0x422608
jne 0x422624
cmp ecx, edx
jb 0x422624
cmp dword [ebp - 0xba0], 2
jne 0x422624
test byte [ebp - 0xbac], 2
je 0x422624
push str.___Enterprise_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp eax, 6
ja 0x422634
jne 0x422647
cmp ecx, edx
jb 0x422647
test byte [ebp - 0xbac], 0x80
je 0x422647
push str.___Web_Edition_
jmp 0x4218e9
cmp edx, 4
jne 0x42268c
cmp eax, 6
ja 0x422657
jne 0x42268c
cmp ecx, edx
jb 0x42268c
test bl, 0x20
je 0x42268c
push str.___Standard_Edition_
jmp 0x4218e9
push str.Unknown_OS
lea eax, [ebp - 0x68]
push eax
call fcn.004232a0
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0x14
mov eax, dword [ebp - 0xc34]
cmp eax, 0xa
ja case.0x422697.0
jmp dword [eax*4 + 0x423250]
mov eax, str.___x86_32_Processor_
jmp 0x4226e9
mov eax, str.___MIPS_Processor_
jmp 0x4226e9
mov eax, str.___Alpha_Processor_
jmp 0x4226e9
mov eax, str.___PPC_Processor_
jmp 0x4226e9
mov eax, str.___IA64_Itanium_2__Processor_
jmp 0x4226e9
mov eax, str.___x86_64_Processor_
jmp 0x4226e9
mov eax, str.___Alpha64_Processor_
jmp 0x4226e9
mov eax, str.___MSIL_Processor_
jmp 0x4226e9
mov eax, str.___ARM_Processor_
jmp 0x4226e9
mov eax, str.___SHX_Processor_
jmp 0x4226e9
mov eax, str.___Unknown_Processor_
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
push dword [ebp - 0xc44]
lea eax, [ebp - 0x68]
push str._v_d.
push eax
call fcn.004232a0
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov esi, dword [ebp - 0xc40]
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 0x422752
push esi
cmp esi, 9
jbe 0x422753
push str._02d
jmp 0x422758
push edx
push str._01d
push eax
call fcn.004232a0
add esp, 0xc
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov eax, dword [ebp - 0xc3c]
add esp, 0xc
test eax, eax
je 0x4227aa
push eax
lea eax, [ebp - 0x68]
push str._Build:_d
push eax
call fcn.004232a0
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0x18
push 0x598520
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov cx, word [ebp - 0xbb0]
add esp, 0xc
mov ax, word [ebp - 0xbae]
test cx, cx
je 0x4228b8
test ax, ax
je 0x42288c
mov esi, dword [ebp - 0xc38]
mov ebx, dword [ebp - 0xbac]
mov edi, dword [ebp - 0xc40]
mov edx, dword [ebp - 0xc44]
cmp esi, 4
jne 0x422871
cmp edx, 4
ja 0x422824
cmp cx, 6
jne 0x422829
cmp ax, 1
jne 0x422829
lea eax, [ebp - 0x68]
push str.Service_Pack:_6a
push eax
call fcn.004232a0
add esp, 8
jmp 0x4228a1
cmp esi, 4
jne 0x422871
cmp edx, 5
jne 0x422837
test edi, edi
je 0x422837
test bl, 0x40
jne 0x422853
cmp esi, 4
jne 0x422871
cmp edx, 5
jne 0x422871
test edi, edi
je 0x422871
cmp dword [ebp - 0xba0], 1
jne 0x422871
test bl, 0x40
jne 0x422871
cmp cx, 1
jne 0x422871
cmp ax, cx
jne 0x422871
lea eax, [ebp - 0x68]
push str.Service_Pack:_1a
push eax
call fcn.004232a0
add esp, 8
jmp 0x4228a1
movzx eax, ax
push eax
movzx eax, cx
push eax
lea eax, [ebp - 0x68]
push str.Service_Pack:_d._d
push eax
call fcn.004232a0
add esp, 0x10
jmp 0x4228a1
movzx eax, cx
push eax
lea eax, [ebp - 0x68]
push str.Service_Pack:_d
push eax
call fcn.004232a0
add esp, 0xc
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
jmp 0x4228cf
test ax, ax
je 0x4228d2
movzx eax, ax
push eax
lea eax, [ebp - 0x68]
push str.Service_Pack:0._d
push eax
call fcn.004232a0
add esp, 0xc
mov ecx, dword [ebp - 0xbac]
mov eax, ecx
shr eax, 0x13
and eax, 1
je 0x4228ee
test cl, 2
je 0x4228ee
push str.___Storage_Server_Enterprise_
jmp 0x42293e
test byte [ebp - 0xba8], 8
je 0x4228fe
push str.___Storage_Server_Express_
jmp 0x42293e
test eax, eax
je 0x422912
test byte [ebp - 0xba8], 0x20
je 0x422912
push str.___Storage_Server_Standard_
jmp 0x42293e
test byte [ebp - 0xba8], 0x10
je 0x422922
push str.___Storage_Server_Workgroup_
jmp 0x42293e
test dword [ebp - 0xba8], 0x1000
je 0x422935
push str.___Storage_Server_Essentials_
jmp 0x42293e
test eax, eax
je 0x422952
push str.___Storage_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x800
je 0x422965
push str.___Home_Server_Premium_Edition_
jmp 0x422976
test dword [ebp - 0xbac], 0x10000000
je 0x42298a
push str.___Home_Server_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xbac], 0x10
je 0x4229ac
push str.___Terminal_Services_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x100
je 0x4229d1
push str.___Embedded_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x200
je 0x4229f6
push str.___Terminal_Services_in_Remote_Admin_Mode_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
push str.KERNEL32.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x422a57
push str.IsWow64Process
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x422a57
lea eax, [ebp - 0xce8]
mov dword [ebp - 0xce8], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x422a57
cmp dword [ebp - 0xce8], 0
je 0x422a57
push str.___64_Bit_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x4000
je 0x422a7c
push str.___Media_Center_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x8000
je 0x422aa1
push str.___Tablet_PC_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x40000
je 0x422ac6
push str.___Compute_Cluster_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x100
je 0x422aeb
push str.___Foundation_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x10000
je 0x422afe
push str.___MultiPoint_Premium_Edition_
jmp 0x422b0f
test dword [ebp - 0xba8], 0x200
je 0x422b23
push str.___MultiPoint_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x100000
je 0x422b48
push str.___Security_Appliance_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x200000
je 0x422b6d
push str.___BackOffice_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x800000
je 0x422b92
push str.___N_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba8], 0x40
je 0x422bb4
push str.___E_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x4000000
je 0x422bd9
push str.___Hyper_V_Tools_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x400
je 0x422bfe
push str.___Hyper_V_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x20000000
je 0x422c23
push str.___Server_Core_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x400
je 0x422c48
push str.___Uniprocessor_Free_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x800
je 0x422c6d
push str.___Uniprocessor_Checked_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x1000
je 0x422c92
push str.___Multiprocessor_Free_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x2000
je 0x422cb7
push str.___Multiprocessor_Checked_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x40000000
je 0x422cdc
push str.___Windows_Essential_Business_Server_Manangement_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xbac], 0x80000000
je 0x422d01
push str.___Windows_Essential_Business_Server_Messaging_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba8], 1
je 0x422d23
push str.___Windows_Essential_Business_Server_Security_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba8], 2
je 0x422d45
push str.___Cluster_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xbac], 1
je 0x422d67
push str.___Small_Business_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba8], 4
je 0x422d89
push str.___Small_Business_Server_Premium_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x2000
je 0x422dae
push str.___Prerelease_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x4000
je 0x422dd3
push str.___Evaluation_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x40000
je 0x422df8
push str.___Automotive_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x80000
je 0x422e1d
push str.___China_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x100000
je 0x422e42
push str.___Single_Language_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x200000
je 0x422e67
push str.___Win32s_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x1000000
je 0x422e8c
push str.___Education_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x2000000
je 0x422eb1
push str.___Industry_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x8000000
je 0x422ed6
push str.___Student_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x10000000
je 0x422efb
push str.___Mobile_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x20000000
je 0x422f20
push str.___IoT_Core_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba4], 0x20
je 0x422f42
push str.___Cloud_Host_Infrastructure_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test dword [ebp - 0xba8], 0x40000000
je 0x422f67
push str.___S_Edition_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba4], 1
je 0x422f89
push str.___Cloud_Storage_Server_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba4], 4
je 0x422fab
push str.___PPI_Pro_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba4], 8
je 0x422fcd
push str.___Connected_Car_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
test byte [ebp - 0xba4], 0x10
je 0x422fef
push str.___Handheld_
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
add esp, 0xc
push 0x598520
lea eax, [ebp - 0x898]
push 0x800
push eax
call fcn.0051f428
mov esi, dword [ebp - 0xcf0]
add esp, 0xc
jmp 0x42301e
push str.Failed_in_call_to_GetOSVersion_n
push eax
call fcn.00423280
add esp, 8
push 0x569fe8
push 0x400
push esi
mov dword [ebp - 0xcf4], 0x101
call fcn.0051f3ce
push 0x101
lea eax, [ebp - 0xa9c]
push 0
push eax
call fcn.0051b450
add esp, 0x18
lea eax, [ebp - 0xcf4]
push eax
lea eax, [ebp - 0xa9c]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x42308b
push str._nComputerName_:
push 0x400
push esi
call fcn.0051f428
lea eax, [ebp - 0xa9c]
push eax
push 0x400
push esi
call fcn.0051f428
add esp, 0x18
lea eax, [ebp - 0xce4]
mov dword [ebp - 0xcec], 0x2e
push eax
lea eax, [ebp - 0xd24]
mov dword [ebp - 0xce4], 0
push eax
xorps xmm0, xmm0
mov dword [ebp - 0xd24], 0
push 0
lea eax, [ebp - 0xb9c]
movlpd qword [ebp - 0xd14], xmm0
push eax
xor bl, bl
movlpd qword [ebp - 0xd0c], xmm0
xor bh, bh
mov dword [ebp - 0xd20], 0
mov dword [ebp - 0xd1c], 1
mov dword [ebp - 0xd18], 6
movups xmmword [ebp - 0xd04], xmm0
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x423176
mov edi, dword [ebp - 0xce4]
test edi, edi
je 0x423176
mov eax, dword [edi + 4]
sub eax, 2
je 0x42315a
sub eax, 0x15
jne 0x423169
mov esi, dword [edi + 0x18]
mov bh, 1
push 0x2e
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xcec], 0x2e
push eax
call fcn.0051b450
add esp, 0xc
lea eax, [ebp - 0xcec]
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 0x423169
mov eax, dword [edi + 0x18]
mov bl, 1
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd04], xmm0
mov edi, dword [edi + 0x1c]
test edi, edi
jne 0x423110
mov esi, dword [ebp - 0xcf0]
push dword [ebp - 0xce4]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
test bh, bh
je 0x4231cd
lea eax, [ebp - 0x98]
push eax
test bl, bl
je 0x4231c6
push dword [ebp - 0xd00]
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.004232c0
lea eax, [ebp - 0x998]
push eax
push 0x400
push esi
call fcn.0051f428
add esp, 0x1c
jmp 0x423204
push str.Ipv6:__s__n
jmp 0x4231e3
test bl, bl
je 0x423204
push dword [ebp - 0xd00]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
push str.Ipv4:__s__n
lea eax, [ebp - 0x998]
push eax
call fcn.004232c0
lea eax, [ebp - 0x998]
push eax
push 0x400
push esi
call fcn.0051f428
add esp, 0x18
push 0x598520
push 0x400
push esi
call fcn.0051f428
lea eax, [ebp - 0x898]
push eax
push 0x400
push esi
call fcn.0051f428
mov ecx, dword [ebp - 4]
add esp, 0x18
xor ecx, ebp
xor eax, eax
pop edi
pop esi
pop ebx
call fcn.00519459
mov esp, ebp
pop ebp
ret