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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xbec
mov eax, dword [0x5c3040]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x160
lea eax, [ebp - 0xbd8]
mov ebx, ecx
push 0
push eax
mov dword [ebp - 0xbe4], ebx
call fcn.00526a30
add esp, 0xc
lea eax, [ebp - 0xbd8]
lea ecx, [ebp - 0xbd9]
push eax
call fcn.00420200
test eax, eax
lea eax, [ebp - 0x870]
je 0x424022
push 0x579be0
push eax
call fcn.00424190
add esp, 8
lea eax, [ebp - 0x870]
cmp dword [ebp - 0xb34], 5
push str.OS:
push 0x800
push eax
jne 0x422923
call fcn.0052c1a3
jmp 0x422928
call fcn.0052c1fd
mov ecx, dword [ebp - 0xb34]
add esp, 0xc
lea eax, [ecx - 1]
cmp eax, 4
ja case.default.0x42293d
jmp dword [eax*4 + 0x424144]
push 0x5a7a58
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
jmp 0x42367f
push str.Windows
jmp 0x422949
mov eax, dword [ebp - 0xb40]
cmp ecx, 5
jne 0x422999
cmp eax, 7
jb 0x422981
mov eax, str.Windows_Embedded_Compact
push eax
jmp 0x422949
cmp ecx, 5
jne 0x422999
cmp eax, 4
jne 0x422999
cmp dword [ebp - 0xb3c], 0
mov eax, str.Windows_CE_.NET
ja 0x42299e
mov eax, str.Windows_CE
push eax
jmp 0x422949
mov edi, dword [ebp - 0xb38]
mov esi, dword [ebp - 0xb3c]
mov edx, dword [ebp - 0xb40]
cmp ecx, 3
jne 0x422ace
cmp edx, 4
jne 0x4229d8
test esi, esi
jne 0x4229d8
cmp edi, 0x3b6
jne 0x4229d8
mov eax, str.Windows_95
push eax
jmp 0x42365e
cmp ecx, 3
jne 0x422ace
cmp edx, 4
jne 0x4229fe
lea eax, [edi - 0x3b7]
cmp eax, 0x81
ja 0x4229fe
mov eax, str.Windows_95_SP1
push eax
jmp 0x42365e
cmp ecx, 3
jne 0x422ace
cmp edx, 4
jne 0x422a29
cmp esi, 0xa
jae 0x422a29
lea eax, [edi - 0x439]
cmp eax, 0x84
ja 0x422a29
mov eax, str.Windows_95_B__aka_OSR2_
push eax
jmp 0x42365e
cmp ecx, 3
jne 0x422ace
cmp edx, 4
jne 0x422a4f
cmp esi, 0xa
jae 0x422a4f
cmp edi, 0x4be
jb 0x422a4f
mov eax, str.Windows_95_C__aka_OSR2.5_
push eax
jmp 0x42365e
cmp ecx, 3
jne 0x422ace
cmp edx, 4
jne 0x422a71
cmp esi, 0xa
jne 0x422a71
cmp edi, 0x7ce
jne 0x422a71
mov eax, str.Windows_98
push eax
jmp 0x42365e
cmp ecx, 3
jne 0x422ace
cmp edx, 4
jne 0x422a98
cmp esi, 0xa
jne 0x422a98
lea eax, [edi - 0x7cf]
cmp eax, 0xb7
ja 0x422a98
mov eax, str.Windows_98_SP1
push eax
jmp 0x42365e
cmp ecx, 3
jne 0x422ace
cmp edx, 4
jne 0x422aba
cmp esi, 0xa
jne 0x422aba
cmp edi, 0x887
jb 0x422aba
mov eax, str.Windows_98_Second_Edition
push eax
jmp 0x42365e
cmp ecx, 3
jne 0x422ace
cmp edx, 4
jne 0x422ace
mov eax, str.Windows_Millenium_Edition
cmp esi, 0x5a
je 0x422ad3
mov eax, str.Windows___
push eax
jmp 0x42365e
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422610
test eax, eax
je 0x422bf5
push str.Windows_NT
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov ecx, dword [ebp - 0xb34]
add esp, 0xc
mov edx, dword [ebp - 0xa98]
mov eax, dword [ebp - 0xb40]
cmp ecx, 4
jne 0x42367f
cmp eax, 4
ja 0x422b33
cmp edx, 1
jne 0x422b33
push str.__Workstation_
jmp 0x422b8d
cmp ecx, 4
jne 0x42367f
cmp eax, ecx
ja 0x422b4c
cmp edx, 2
jne 0x422b4c
push str.__Server_
jmp 0x422b8d
cmp ecx, 4
jne 0x42367f
cmp eax, ecx
ja 0x422b6d
cmp edx, 3
jne 0x422b6d
test byte [ebp - 0xaa8], cl
je 0x422b6d
push str.__Primary_Domain_Controller_
jmp 0x422b8d
cmp ecx, 4
jne 0x42367f
cmp eax, ecx
ja 0x422bad
cmp edx, 3
jne 0x422bad
test byte [ebp - 0xaa8], 8
je 0x422bad
push str.__Backup_Domain_Controller_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xb40]
add esp, 0xc
mov ecx, dword [ebp - 0xb34]
cmp ecx, 4
jne 0x42367f
cmp eax, ecx
ja 0x422bcd
test byte [ebp - 0xaa8], 0x20
je 0x422bcd
push str.___Datacenter_
jmp 0x422949
cmp ecx, 4
jne 0x42367f
cmp eax, ecx
ja 0x42367f
test byte [ebp - 0xaa8], 2
je 0x42367f
push str.___Enterprise_
jmp 0x422949
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422280
test eax, eax
je 0x422ce2
test byte [ebp - 0xaa4], 0x80
je 0x422c1a
mov eax, str.Windows_2000__Professional_
jmp 0x422c5c
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422640
test eax, eax
je 0x422c32
mov eax, str.Windows_2000_Server
jmp 0x422c5c
cmp ecx, 4
jne 0x422c57
cmp dword [ebp - 0xb40], 5
jne 0x422c57
cmp dword [ebp - 0xb3c], 0
jne 0x422c57
cmp dword [ebp - 0xa98], 3
mov eax, str.Windows_2000__Domain_Controller_
je 0x422c5c
mov eax, str.Windows_2000
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov esi, dword [ebp - 0xb34]
add esp, 0xc
mov eax, dword [ebp - 0xaa8]
mov ecx, dword [ebp - 0xb3c]
mov edx, dword [ebp - 0xb40]
cmp esi, 4
jne 0x42367f
cmp edx, 5
jne 0x422ca9
test ecx, ecx
jne 0x422ca9
test al, 0x20
je 0x422ca9
push str.___Datacenter_
jmp 0x422949
cmp esi, 4
jne 0x42367f
cmp edx, 5
jne 0x42367f
test ecx, ecx
jne 0x42367f
cmp dword [ebp - 0xa98], 2
jne 0x42367f
test al, 2
je 0x42367f
push str.___Advanced_Server_
jmp 0x422949
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.004222b0
test eax, eax
je 0x422ed2
mov edx, dword [ebp - 0xaa8]
test edx, 0x10000
je 0x422d0f
mov eax, str.Windows_XP__Starter_Edition_
jmp 0x422dba
test dl, 0x40
je 0x422d1e
mov eax, str.Windows_XP__Personal_
jmp 0x422dba
test byte [ebp - 0xaa4], 0x80
je 0x422d31
mov eax, str.Windows_XP__Professional_
jmp 0x422dba
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422680
test eax, eax
je 0x422d49
mov eax, str.Windows_Server_2003
jmp 0x422dba
mov esi, dword [ebp - 0xa98]
mov edi, dword [ebp - 0xb3c]
mov ebx, dword [ebp - 0xb40]
cmp ecx, 4
jne 0x422d7d
cmp ebx, 5
jne 0x422d7d
test edi, edi
je 0x422d7d
cmp esi, 3
jne 0x422d7d
test edx, 0x20000
jne 0x422d7d
mov eax, str.Windows_Server_2003__Domain_Controller_
jmp 0x422dba
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422720
test eax, eax
je 0x422d95
mov eax, str.Windows_Server_2003_R2
jmp 0x422dba
cmp ecx, 4
jne 0x422db5
cmp ebx, 5
jne 0x422db5
test edi, edi
je 0x422db5
cmp esi, 3
jne 0x422db5
mov eax, str.Windows_Server_2003_R2__Domain_Controller_
test edx, 0x20000
jne 0x422dba
mov eax, str.Windows_XP
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov edi, dword [ebp - 0xb34]
add esp, 0xc
mov ecx, dword [ebp - 0xaa8]
mov edx, dword [ebp - 0xb3c]
mov esi, dword [ebp - 0xb40]
cmp edi, 4
jne 0x422e27
cmp esi, 5
jne 0x422e02
test edx, edx
je 0x422e02
test cl, 0x20
je 0x422e02
test ecx, 0x20000
je 0x422e1d
cmp edi, 4
jne 0x422e27
cmp esi, 5
jne 0x422e27
test edx, edx
je 0x422e27
test cl, 0x20
je 0x422e27
test ecx, 0x20000
je 0x422e27
push str.___Datacenter_Edition_
jmp 0x422949
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.004226d0
test eax, eax
jne 0x42349e
cmp edi, 4
jne 0x422e7d
cmp esi, 5
jne 0x422e56
test edx, edx
je 0x422e56
test cl, cl
jns 0x422e56
test ecx, 0x20000
je 0x422e70
cmp edi, 4
jne 0x422e7d
cmp esi, 5
jne 0x422e7a
test edx, edx
je 0x422e7a
test cl, cl
jns 0x422e7a
test ecx, 0x20000
je 0x422e7a
push str.___Web_Edition_
jmp 0x422949
cmp edi, 4
mov eax, dword [ebp - 0xaa4]
jne 0x422e9a
cmp esi, 5
jne 0x422e9a
test edx, edx
je 0x422e9a
test al, 0x20
je 0x422e9a
test ecx, 0x20000
je 0x422ec8
cmp edi, 4
jne 0x42367f
cmp esi, 5
jne 0x42367f
test edx, edx
je 0x42367f
test al, 0x20
je 0x42367f
test ecx, 0x20000
je 0x42367f
push str.___Standard_Edition_
jmp 0x422949
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.004222e0
test eax, eax
je 0x423034
mov eax, dword [ebp - 0xaa8]
test eax, 0x10000
je 0x422efe
mov eax, str.Windows_Vista__Starter_Edition_
jmp 0x422f83
test eax, 0x1000000
je 0x422f0c
mov eax, str.Windows_Vista__Home_Basic_
jmp 0x422f83
test eax, 0x2000000
je 0x422f1a
mov eax, str.Windows_Vista__Home_Premium_
jmp 0x422f83
test eax, 0x8000000
je 0x422f28
mov eax, str.Windows_Vista__Business_
jmp 0x422f83
test al, 2
je 0x422f33
mov eax, str.Windows_Vista__Enterprise_
jmp 0x422f83
test eax, 0x400000
je 0x422f41
mov eax, str.Windows_Vista__Ultimate_
jmp 0x422f83
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422770
test eax, eax
je 0x422f59
mov eax, str.Windows_Server_2008
jmp 0x422f83
cmp ecx, 4
jne 0x422f7e
cmp dword [ebp - 0xb40], 6
jne 0x422f7e
cmp dword [ebp - 0xb3c], 0
jne 0x422f7e
cmp dword [ebp - 0xa98], 3
mov eax, str.Windows_Server_2008__Domain_Controller_
je 0x422f83
mov eax, str.Windows_Vista
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov edx, dword [ebp - 0xb34]
add esp, 0xc
mov ebx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xb3c]
mov ecx, dword [ebp - 0xb40]
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x422fd1
test eax, eax
jne 0x422fd1
test bl, 0x20
je 0x422fd1
push str.___Datacenter_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x422ffb
test eax, eax
jne 0x422ffb
cmp dword [ebp - 0xa98], 2
jne 0x422ffb
test bl, 2
je 0x422ffb
push str.___Enterprise_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x42301b
test eax, eax
jne 0x42301b
test bl, bl
jns 0x42301b
push str.___Web_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x42367f
test eax, eax
jmp 0x42330e
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422310
test eax, eax
je 0x4231af
mov edx, dword [ebp - 0xaa4]
test edx, 0x20000
je 0x423061
mov eax, str.Windows_7_Thin_PC
jmp 0x4230fa
mov eax, dword [ebp - 0xaa8]
test eax, 0x10000
je 0x423078
mov eax, str.Windows_7__Starter_Edition_
jmp 0x4230fa
test eax, 0x1000000
je 0x423086
mov eax, str.Windows_7__Home_Basic_
jmp 0x4230fa
test eax, 0x2000000
je 0x423094
mov eax, str.Windows_7__Home_Premium_
jmp 0x4230fa
test dl, dl
jns 0x42309f
mov eax, str.Windows_7__Professional_
jmp 0x4230fa
test al, 2
je 0x4230aa
mov eax, str.Windows_7__Enterprise_
jmp 0x4230fa
test eax, 0x400000
je 0x4230b8
mov eax, str.Windows_7__Ultimate_
jmp 0x4230fa
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.004227b0
test eax, eax
je 0x4230d0
mov eax, str.Windows_Server_2008_R2
jmp 0x4230fa
cmp ecx, 4
jne 0x4230f5
cmp dword [ebp - 0xb40], 6
jne 0x4230f5
cmp dword [ebp - 0xb3c], 1
jne 0x4230f5
cmp dword [ebp - 0xa98], 3
mov eax, str.Windows_Server_2008_R2__Domain_Controller_
je 0x4230fa
mov eax, str.Windows_7
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov edx, dword [ebp - 0xb34]
add esp, 0xc
mov ebx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xb3c]
mov ecx, dword [ebp - 0xb40]
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x423149
cmp eax, 1
jne 0x423149
test bl, 0x20
je 0x423149
push str.___Datacenter_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x423174
cmp eax, 1
jne 0x423174
cmp dword [ebp - 0xa98], 2
jne 0x423174
test bl, 2
je 0x423174
push str.___Enterprise_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x423195
cmp eax, 1
jne 0x423195
test bl, bl
jns 0x423195
push str.___Web_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x42367f
cmp eax, 1
jmp 0x42330e
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422340
test eax, eax
je 0x42332b
mov edx, dword [ebp - 0xaa4]
test edx, 0x20000
je 0x4231dc
mov eax, str.Windows_8_Thin_PC
jmp 0x423260
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422560
test eax, eax
je 0x4231f4
mov eax, str.Windows_8_RT
jmp 0x423260
mov eax, dword [ebp - 0xaa8]
test eax, 0x10000
je 0x423208
mov eax, str.Windows_8__Starter_Edition_
jmp 0x423260
test dl, dl
jns 0x423213
mov eax, str.Windows_8__Pro_
jmp 0x423260
test al, 2
je 0x42321e
mov eax, str.Windows_8__Enterprise_
jmp 0x423260
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.004227f0
test eax, eax
je 0x423236
mov eax, str.Windows_Server_2012
jmp 0x423260
cmp ecx, 4
jne 0x42325b
cmp dword [ebp - 0xb40], 6
jne 0x42325b
cmp dword [ebp - 0xb3c], 2
jne 0x42325b
cmp dword [ebp - 0xa98], 3
mov eax, str.Windows_Server_2012__Domain_Controller_
je 0x423260
mov eax, str.Windows_8
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov edx, dword [ebp - 0xb34]
add esp, 0xc
mov ebx, dword [ebp - 0xaa8]
mov eax, dword [ebp - 0xb3c]
mov ecx, dword [ebp - 0xb40]
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x4232af
cmp eax, 2
jne 0x4232af
test bl, 0x20
je 0x4232af
push str.___Datacenter_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x4232d8
cmp eax, 2
jne 0x4232d8
cmp dword [ebp - 0xa98], eax
jne 0x4232d8
test al, bl
je 0x4232d8
push str.___Enterprise_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x4232f9
cmp eax, 2
jne 0x4232f9
test bl, bl
jns 0x4232f9
push str.___Web_Edition_
jmp 0x422949
cmp edx, 4
jne 0x42367f
cmp ecx, 6
jne 0x42367f
cmp eax, 2
jne 0x42367f
test byte [ebp - 0xaa4], 0x20
je 0x42367f
push str.___Standard_Edition_
jmp 0x422949
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422370
test eax, eax
je 0x4234f6
mov edx, dword [ebp - 0xaa4]
test edx, 0x20000
je 0x423358
mov eax, str.Windows_8.1_Thin_PC
jmp 0x4233dc
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422560
test eax, eax
je 0x423370
mov eax, str.Windows_8.1_RT
jmp 0x4233dc
mov eax, dword [ebp - 0xaa8]
test eax, 0x10000
je 0x423384
mov eax, str.Windows_8.1__Starter_Edition_
jmp 0x4233dc
test dl, dl
jns 0x42338f
mov eax, str.Windows_8.1__Pro_
jmp 0x4233dc
test al, 2
je 0x42339a
mov eax, str.Windows_8.1__Enterprise_
jmp 0x4233dc
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422830
test eax, eax
je 0x4233b2
mov eax, str.Windows_Server_2012_R2
jmp 0x4233dc
cmp ecx, 4
jne 0x4233d7
cmp dword [ebp - 0xb40], 6
jne 0x4233d7
cmp dword [ebp - 0xb3c], 3
jne 0x4233d7
cmp dword [ebp - 0xa98], 3
mov eax, str.Windows_Server_2012_R2__Domain_Controller_
je 0x4233dc
mov eax, str.Windows_8.1
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa4]
add esp, 0xc
test eax, 0x800000
je 0x42341d
push str.___with_Bing___CoreConnected_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa4]
add esp, 0xc
test eax, 0x400000
je 0x423443
push str.___Update_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa4]
add esp, 0xc
mov esi, dword [ebp - 0xb34]
mov ebx, dword [ebp - 0xaa8]
mov ecx, dword [ebp - 0xb3c]
mov edx, dword [ebp - 0xb40]
cmp esi, 4
jne 0x42367f
cmp edx, 6
jne 0x42347d
cmp ecx, 3
jne 0x42347d
test bl, 0x20
je 0x42347d
push str.___Datacenter_Edition_
jmp 0x422949
cmp esi, 4
jne 0x42367f
cmp edx, 6
jne 0x4234a8
cmp ecx, 3
jne 0x4234a8
cmp dword [ebp - 0xa98], 2
jne 0x4234a8
test bl, 2
je 0x4234a8
push str.___Enterprise_Edition_
jmp 0x422949
cmp esi, 4
jne 0x42367f
cmp edx, 6
jne 0x4234c9
cmp ecx, 3
jne 0x4234c9
test bl, bl
jns 0x4234c9
push str.___Web_Edition_
jmp 0x422949
cmp esi, 4
jne 0x42367f
cmp edx, 6
jne 0x42367f
cmp ecx, 3
jne 0x42367f
test al, 0x20
je 0x42367f
push str.___Standard_Edition_
jmp 0x422949
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.004223a0
test eax, eax
je 0x42367f
mov ecx, dword [ebp - 0xaa4]
test ecx, 0x20000
je 0x423523
mov eax, str.Windows_10_Thin_PC
jmp 0x4235be
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422560
test eax, eax
je 0x42353e
mov eax, str.Windows_10_RT
jmp 0x4235be
mov eax, dword [ebp - 0xaa8]
test eax, 0x10000
je 0x423552
mov eax, str.Windows_10__Starter_Edition_
jmp 0x4235be
test ecx, 0x4000000
je 0x423561
mov eax, str.Windows_10__Home_
jmp 0x4235be
test cl, cl
jns 0x42356c
mov eax, str.Windows_10__Pro_
jmp 0x4235be
test al, 2
je 0x423577
mov eax, str.Windows_10__Enterprise_
jmp 0x4235be
test ecx, ecx
jns 0x423582
mov eax, str.Windows_10_Nano_Server
jmp 0x4235be
test byte [ebp - 0xaa0], 2
je 0x423592
mov eax, str.Windows_10_ARM64_Server
jmp 0x4235be
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.00422870
test eax, eax
je 0x4235aa
mov eax, str.Windows_Server_2016
jmp 0x4235be
cmp dword [ebp - 0xa98], 3
mov eax, str.Windows_Server_2016__Domain_Controller_
mov ecx, str.Windows_10
cmovne eax, ecx
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov ebx, dword [ebp - 0xaa4]
add esp, 0xc
test ebx, 0x800000
je 0x423600
push str.___with_Bing___CoreConnected_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov ebx, dword [ebp - 0xaa4]
add esp, 0xc
push ecx
lea eax, [ebp - 0xbd8]
push eax
call fcn.004223a0
test eax, eax
je 0x42367f
mov eax, dword [ebp - 0xaa8]
test al, 0x20
je 0x423625
push str.___Datacenter_Edition_
jmp 0x422949
cmp dword [ebp - 0xa98], 2
jne 0x42363c
test al, 2
je 0x42363c
push str.___Enterprise_Edition_
jmp 0x422949
test al, al
jns 0x42364a
push str.___Web_Edition_
jmp 0x422949
test bl, 0x20
je 0x42367f
push str.___Standard_Edition_
jmp 0x422949
push str.Unknown_OS
lea eax, [ebp - 0x70]
push eax
call fcn.004241b0
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0x14
mov eax, dword [ebp - 0xb30]
cmp eax, 0xa
ja case.0x42368a.0
jmp dword [eax*4 + 0x424158]
mov eax, str.___x86_32_Processor_
jmp 0x4236dc
mov eax, str.___MIPS_Processor_
jmp 0x4236dc
mov eax, str.___Alpha_Processor_
jmp 0x4236dc
mov eax, str.___PPC_Processor_
jmp 0x4236dc
mov eax, str.___IA64_Itanium_2__Processor_
jmp 0x4236dc
mov eax, str.___x86_64_Processor_
jmp 0x4236dc
mov eax, str.___Alpha64_Processor_
jmp 0x4236dc
mov eax, str.___MSIL_Processor_
jmp 0x4236dc
mov eax, str.___ARM_Processor_
jmp 0x4236dc
mov eax, str.___SHX_Processor_
jmp 0x4236dc
mov eax, str.___Unknown_Processor_
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
lea eax, [ebp - 0x70]
push dword [ebp - 0xb40]
push str._v_d.
push eax
call fcn.004241b0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov esi, dword [ebp - 0xb3c]
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 0x42374b
push esi
cmp esi, 9
jbe 0x42374c
push str._02d
jmp 0x423751
push edx
push str._01d
push eax
call fcn.004241b0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xb38]
add esp, 0xc
test eax, eax
je 0x4237a6
push eax
lea eax, [ebp - 0x70]
push str._Build:_d
push eax
call fcn.004241b0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
push 0x5a8340
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov cx, word [ebp - 0xaac]
add esp, 0xc
mov ax, word [ebp - 0xaaa]
test cx, cx
je 0x4238c3
test ax, ax
je 0x423897
mov esi, dword [ebp - 0xb34]
mov edx, dword [ebp - 0xb40]
cmp esi, 4
jne 0x42381a
cmp edx, 4
ja 0x423817
cmp cx, 6
jne 0x423817
cmp ax, 1
jne 0x423817
lea eax, [ebp - 0x70]
push str.Service_Pack:_6a
push eax
call fcn.004241b0
add esp, 8
jmp 0x4238ac
cmp esi, 4
mov ebx, dword [ebp - 0xaa8]
mov edi, dword [ebp - 0xb3c]
jne 0x423836
cmp edx, 5
jne 0x423836
test edi, edi
je 0x423836
test bl, 0x40
jne 0x42385e
cmp esi, 4
jne 0x42387c
cmp edx, 5
jne 0x42387c
test edi, edi
je 0x42387c
cmp dword [ebp - 0xa98], 1
jne 0x42387c
cmp esi, esi
jne 0x42385e
cmp edx, edx
jne 0x42385e
test edi, edi
je 0x42385e
test bl, 0x40
jne 0x42387c
cmp cx, 1
jne 0x42387c
cmp ax, cx
jne 0x42387c
lea eax, [ebp - 0x70]
push str.Service_Pack:_1a
push eax
call fcn.004241b0
add esp, 8
jmp 0x4238ac
movzx eax, ax
push eax
movzx eax, cx
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:_d._d
push eax
call fcn.004241b0
add esp, 0x10
jmp 0x4238ac
movzx eax, cx
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:_d
push eax
call fcn.004241b0
add esp, 0xc
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
jmp 0x4238da
test ax, ax
je 0x4238dd
movzx eax, ax
push eax
lea eax, [ebp - 0x70]
push str.Service_Pack:0._d
push eax
call fcn.004241b0
add esp, 0xc
mov ecx, dword [ebp - 0xaa8]
mov eax, ecx
shr eax, 0x13
and eax, 1
je 0x4238f9
test cl, 2
je 0x4238f9
push str.___Storage_Server_Enterprise_
jmp 0x423949
test byte [ebp - 0xaa4], 8
je 0x423909
push str.___Storage_Server_Express_
jmp 0x423949
test eax, eax
je 0x42391d
test byte [ebp - 0xaa4], 0x20
je 0x42391d
push str.___Storage_Server_Standard_
jmp 0x423949
test byte [ebp - 0xaa4], 0x10
je 0x42392d
push str.___Storage_Server_Workgroup_
jmp 0x423949
test dword [ebp - 0xaa4], 0x1000
je 0x423940
push str.___Storage_Server_Essentials_
jmp 0x423949
test eax, eax
je 0x42395d
push str.___Storage_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x800
je 0x423970
push str.___Home_Server_Premium_Edition_
jmp 0x423981
test dword [ebp - 0xaa8], 0x10000000
je 0x423995
push str.___Home_Server_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test byte [ebp - 0xaa8], 0x10
je 0x4239b7
push str.___Terminal_Services_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x100
je 0x4239dc
push str.___Embedded_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x200
je 0x423a01
push str.___Terminal_Services_in_Remote_Admin_Mode_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
push str.KERNEL32.DLL
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
je 0x423a62
push str.IsWow64Process
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x423a62
lea eax, [ebp - 0xbe0]
mov dword [ebp - 0xbe0], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
test eax, eax
je 0x423a62
cmp dword [ebp - 0xbe0], 0
je 0x423a62
push str.___64_Bit_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x4000
je 0x423a87
push str.___Media_Center_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x8000
je 0x423aac
push str.___Tablet_PC_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x40000
je 0x423ad1
push str.___Compute_Cluster_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x100
je 0x423af6
push str.___Foundation_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x10000
je 0x423b09
push str.___MultiPoint_Premium_Edition_
jmp 0x423b1a
test dword [ebp - 0xaa4], 0x200
je 0x423b2e
push str.___MultiPoint_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x100000
je 0x423b53
push str.___Security_Appliance_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x200000
je 0x423b78
push str.___BackOffice_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x800000
je 0x423b9d
push str.___N_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test byte [ebp - 0xaa4], 0x40
je 0x423bbf
push str.___E_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x4000000
je 0x423be4
push str.___Hyper_V_Tools_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x400
je 0x423c09
push str.___Hyper_V_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x20000000
je 0x423c2e
push str.___Server_Core_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x400
je 0x423c53
push str.___Uniprocessor_Free_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x800
je 0x423c78
push str.___Uniprocessor_Checked_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x1000
je 0x423c9d
push str.___Multiprocessor_Free_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x2000
je 0x423cc2
push str.___Multiprocessor_Checked_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x40000000
je 0x423ce7
push str.___Windows_Essential_Business_Server_Manangement_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa8], 0x80000000
je 0x423d0c
push str.___Windows_Essential_Business_Server_Messaging_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test byte [ebp - 0xaa4], 1
je 0x423d2e
push str.___Windows_Essential_Business_Server_Security_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test byte [ebp - 0xaa4], 2
je 0x423d50
push str.___Cluster_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test byte [ebp - 0xaa8], 1
je 0x423d72
push str.___Small_Business_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test byte [ebp - 0xaa4], 4
je 0x423d94
push str.___Small_Business_Server_Premium_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x2000
je 0x423db9
push str.___Prerelease_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x4000
je 0x423dde
push str.___Evaluation_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x40000
je 0x423e03
push str.___Automotive_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x80000
je 0x423e28
push str.___China_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x100000
je 0x423e4d
push str.___Single_Language_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x200000
je 0x423e72
push str.___Win32s_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x1000000
je 0x423e97
push str.___Education_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x2000000
je 0x423ebc
push str.___Industry_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x8000000
je 0x423ee1
push str.___Student_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
test dword [ebp - 0xaa4], 0x10000000
je 0x423f06
push str.___Mobile_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
mov eax, dword [ebp - 0xaa0]
test eax, 0x200000
je 0x423f32
push str.___IoT_Core_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa0]
add esp, 0xc
test al, 0x20
je 0x423f55
push str.___Cloud_Host_Infrastructure_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa0]
add esp, 0xc
test eax, 0x2000
je 0x423f7b
push str.___S_Edition_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa0]
add esp, 0xc
test al, 1
je 0x423f9e
push str.___Cloud_Storage_Server_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa0]
add esp, 0xc
test al, 4
je 0x423fc1
push str.___PPI_Pro_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa0]
add esp, 0xc
test al, 8
je 0x423fe4
push str.___Connected_Car_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov eax, dword [ebp - 0xaa0]
add esp, 0xc
test al, 0x10
je 0x424001
push str.___Handheld_
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
add esp, 0xc
push 0x5a8340
lea eax, [ebp - 0x870]
push 0x800
push eax
call fcn.0052c1fd
mov ebx, dword [ebp - 0xbe4]
add esp, 0xc
jmp 0x424030
push str.Failed_in_call_to_GetOSVersion_n
push eax
call fcn.00424190
add esp, 8
push 0x579be0
push 0x400
push ebx
mov dword [ebp - 0xbe8], 0x101
call fcn.0052c1a3
add esp, 0xc
mov byte [ebp - 0x978], 0
lea eax, [ebp - 0x977]
push 0x100
push 0
push eax
call fcn.00526a30
add esp, 0xc
lea eax, [ebp - 0xbe8]
push eax
lea eax, [ebp - 0x978]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x4240aa
push str._nComputerName_:
push 0x400
push ebx
call fcn.0052c1fd
add esp, 0xc
lea eax, [ebp - 0x978]
push eax
push 0x400
push ebx
call fcn.0052c1fd
add esp, 0xc
push 0xff
lea eax, [ebp - 0xa78]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x424106
lea eax, [ebp - 0xa78]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x424106
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 0x424106
push str._nIP_:
push 0x400
push ebx
call fcn.0052c1fd
add esp, 0xc
push esi
push 0x400
push ebx
call fcn.0052c1fd
add esp, 0xc
push 0x5a8340
push 0x400
push ebx
call fcn.0052c1fd
add esp, 0xc
lea eax, [ebp - 0x870]
push eax
push 0x400
push ebx
call fcn.0052c1fd
mov ecx, dword [ebp - 4]
add esp, 0xc
xor ecx, ebp
xor eax, eax
pop edi
pop esi
pop ebx
call fcn.00524763
mov esp, ebp
pop ebp
ret