Function at 0x418b51
Capabilities:
Get hostname
Get session user name
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c4
mov eax, dword [0x4f5568]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x138
lea eax, [ebp - 0x6b8]
mov ebx, ecx
push 0
push eax
mov dword [ebp - 0x6bc], ebx
call fcn.004b67a0
add esp, 0xc
lea eax, [ebp - 0x6b8]
push eax
call fcn.004179c0
test eax, eax
lea eax, [ebp - 0x270]
je 0x4197b5
push str.OS:
push eax
call fcn.004ad5d8
mov eax, dword [ebp - 0x6ac]
add esp, 8
mov edx, dword [ebp - 0x614]
mov edi, dword [ebp - 0x620]
cmp eax, 4
ja case.default.0x4189a7
jmp dword [eax*4 + 0x4199bc]
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4189b5
mov eax, dword [0x4dff88]
mov dword [edi], eax
jmp 0x4192ba
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4189d2
mov eax, dword [str.Windows]
mov dword [ecx], eax
mov eax, dword [0x4dff90]
mov dword [ecx + 4], eax
cmp edx, 1
jne 0x4192ba
lea ecx, [ebp - 0x270]
dec ecx
jmp 0x418a00
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418a00
mov eax, dword [str.__Win32s_]
mov dword [ecx], eax
mov eax, dword [0x4dff98]
mov dword [ecx + 4], eax
mov ax, word [0x4dff9c]
mov word [ecx + 8], ax
jmp 0x4192ba
lea ecx, [ebp - 0x270]
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418a30
mov eax, dword [str.Windows_CE]
mov dword [ecx], eax
mov eax, dword [0x4dffa4]
mov dword [ecx + 4], eax
mov ax, word [0x4dffa8]
mov word [ecx + 8], ax
mov al, byte [0x4dffaa]
mov byte [ecx + 0xa], al
jmp 0x4192ba
cmp edx, 2
jne 0x418b10
mov esi, dword [ebp - 0x618]
mov edx, dword [ebp - 0x61c]
cmp edi, 4
jne 0x418a90
test edx, edx
jne 0x418a90
cmp esi, 0x3b6
jne 0x418a90
push str.Windows_95
jmp 0x418b15
lea ecx, [ebp - 0x6b8]
call fcn.00418410
test eax, eax
je 0x418aa6
push str.Windows_95_SP1
jmp 0x418b15
lea ecx, [ebp - 0x6b8]
call fcn.00418440
test eax, eax
je 0x418abc
push str.Windows_95_OSR2
jmp 0x418b15
cmp edi, 4
jne 0x418ad5
cmp edx, 0xa
jne 0x418ad5
cmp esi, 0x7ce
jne 0x418ad5
push str.Windows_98
jmp 0x418b15
lea ecx, [ebp - 0x6b8]
call fcn.00418470
test eax, eax
je 0x418aeb
push str.Windows_98_SP1
jmp 0x418b15
cmp edi, 4
jne 0x418b10
cmp edx, 0xa
jne 0x418b04
cmp esi, 0x887
jb 0x418b10
push str.Windows_98_Second_Edition
jmp 0x418b15
cmp edx, 0x5a
jne 0x418b10
push str.Windows_Millenium_Edition
jmp 0x418b15
push str.Windows___
lea eax, [ebp - 0x70]
push eax
call fcn.004ad5d8
lea edx, [ebp - 0x70]
add esp, 8
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x418b26
lea edi, [ebp - 0x270]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418b36
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4192ba
cmp edx, 3
mov edx, dword [ebp - 0x58c]
jne 0x4190bf
cmp edi, 4
ja 0x418cf8
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418b70
mov eax, dword [str.Windows_NT]
mov dword [ecx], eax
mov eax, dword [0x4e003c]
mov dword [ecx + 4], eax
mov ax, word [0x4e0040]
mov word [ecx + 8], ax
mov al, byte [0x4e0042]
mov byte [ecx + 0xa], al
mov eax, dword [ebp - 0x588]
test eax, eax
jne 0x418be8
lea ecx, [ebp - 0x270]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418bb0
mov eax, dword [str.__Workstation_]
mov dword [ecx], eax
mov eax, dword [0x4e0048]
mov dword [ecx + 4], eax
mov eax, dword [0x4e004c]
mov dword [ecx + 8], eax
mov ax, word [0x4e0050]
mov word [ecx + 0xc], ax
mov al, byte [0x4e0052]
mov byte [ecx + 0xe], al
jmp 0x418c67
cmp eax, 1
jne 0x418c19
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418bf4
mov eax, dword [str.__Server_]
mov dword [ecx], eax
mov eax, dword [0x4e0058]
mov dword [ecx + 4], eax
mov ax, word [0x4e005c]
mov word [ecx + 8], ax
jmp 0x418c67
cmp eax, 2
jne 0x418c67
test dl, 4
je 0x418c47
lea edi, [ebp - 0x270]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418c30
mov ecx, 7
mov esi, str.__Primary_Domain_Controller_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x418c67
test dl, 8
je 0x418c67
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418c53
mov ecx, 7
mov esi, str.__Backup_Domain_Controller_
rep movsd dword es:[edi], dword [esi]
test dl, 0x20
je 0x418cab
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418c73
mov eax, dword [str.___Datacenter_]
mov dword [ecx], eax
mov eax, dword [0x4e00a0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e00a4]
mov dword [ecx + 8], eax
mov ax, word [0x4e00a8]
mov word [ecx + 0xc], ax
mov al, byte [0x4e00aa]
mov byte [ecx + 0xe], al
jmp 0x4190bf
test dl, 2
je 0x4190bf
lea ecx, [ebp - 0x270]
dec ecx
jmp 0x418cc0
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418cc0
mov eax, dword [str.___Enterprise_]
mov dword [ecx], eax
mov eax, dword [0x4e00b0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e00b4]
mov dword [ecx + 8], eax
mov ax, word [0x4e00b8]
mov word [ecx + 0xc], ax
mov al, byte [0x4e00ba]
mov byte [ecx + 0xe], al
jmp 0x4190bf
lea ecx, [ebp - 0x6b8]
call fcn.004184a0
test eax, eax
je 0x418e96
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418d12
mov eax, dword [str.Windows_2000]
mov dword [ecx], eax
mov eax, dword [0x4e00c0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e00c4]
mov dword [ecx + 8], eax
mov al, byte [0x4e00c8]
mov byte [ecx + 0xc], al
cmp edi, 5
jne 0x4190bf
cmp dword [ebp - 0x61c], 0
jne 0x4190bf
mov eax, dword [ebp - 0x588]
test eax, eax
jne 0x418d8d
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418d62
mov eax, dword [str.__Professional_]
mov dword [ecx], eax
mov eax, dword [0x4e00d0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e00d4]
mov dword [ecx + 8], eax
mov eax, dword [0x4e00d8]
mov dword [ecx + 0xc], eax
jmp 0x418e0a
cmp eax, 1
jne 0x418dc5
lea ecx, [ebp - 0x270]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418da0
mov eax, dword [str.__Server_]
mov dword [ecx], eax
mov eax, dword [0x4e0058]
mov dword [ecx + 4], eax
mov ax, word [0x4e005c]
mov word [ecx + 8], ax
jmp 0x418e0a
cmp eax, 2
jne 0x418e0a
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418dd1
mov eax, dword [str.__Domain_Controller_]
mov dword [ecx], eax
mov eax, dword [0x4e00e0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e00e4]
mov dword [ecx + 8], eax
mov eax, dword [0x4e00e8]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e00ec]
mov dword [ecx + 0x10], eax
mov al, byte [0x4e00f0]
mov byte [ecx + 0x14], al
test dl, 0x20
je 0x418e4e
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418e16
mov eax, dword [str.___Datacenter_]
mov dword [ecx], eax
mov eax, dword [0x4e00a0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e00a4]
mov dword [ecx + 8], eax
mov ax, word [0x4e00a8]
mov word [ecx + 0xc], ax
mov al, byte [0x4e00aa]
mov byte [ecx + 0xe], al
jmp 0x4190bf
test dl, 2
je 0x4190bf
lea ecx, [ebp - 0x270]
dec ecx
mov edi, edi
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418e60
mov eax, dword [str.___Advanced_Server_]
mov dword [ecx], eax
mov eax, dword [0x4e00f8]
mov dword [ecx + 4], eax
mov eax, dword [0x4e00fc]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0100]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e0104]
mov dword [ecx + 0x10], eax
jmp 0x4190bf
lea ecx, [ebp - 0x6b8]
call fcn.004184c0
test eax, eax
je 0x4190bf
mov ecx, dword [ebp - 0x588]
mov ebx, dword [ebp - 0x61c]
cmp edi, 5
jne 0x418f10
test ebx, ebx
je 0x418f10
test dl, 0x40
je 0x418f10
lea ecx, [ebp - 0x270]
dec ecx
lea ebx, [ebx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418ed0
mov eax, dword [str.Windows_XP__Personal_]
mov dword [ecx], eax
mov eax, dword [0x4e010c]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0110]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0114]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e0118]
mov dword [ecx + 0x10], eax
mov ax, word [0x4e011c]
mov word [ecx + 0x14], ax
jmp 0x418fca
lea eax, [ebp - 0x6b8]
push eax
call fcn.004188e0
test eax, eax
je 0x418f4e
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418f27
mov ecx, 6
mov esi, str.Windows_XP__Professional_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov edi, dword [ebp - 0x620]
cmp edi, 5
jne 0x4190b9
jmp 0x418fca
cmp edi, 5
jne 0x4190b9
test ebx, ebx
je 0x4190b9
cmp ecx, 1
jne 0x418fa3
lea ecx, [ebp - 0x270]
dec ecx
jmp 0x418f70
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x418f70
mov eax, dword [str.Windows_Server_2003]
mov dword [ecx], eax
mov eax, dword [0x4e0140]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0144]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0148]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e014c]
mov dword [ecx + 0x10], eax
jmp 0x418fca
cmp ecx, 2
jne 0x418fd0
lea edi, [ebp - 0x270]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418fb0
mov ecx, 0xa
mov esi, str.Windows_Server_2003__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x620]
mov ecx, dword [ebp - 0x588]
test ebx, ebx
je 0x418ffc
test dl, 0x20
je 0x418ffc
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x418fe0
mov ecx, 5
mov esi, str.___Datacenter_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4190b9
cmp edi, 5
jne 0x4190b9
test ebx, ebx
je 0x4190b9
test dl, 2
je 0x41903c
lea edi, [ebp - 0x270]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419020
mov ecx, 5
mov esi, str.___Enterprise_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4190b9
test dl, dl
jns 0x419072
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419047
mov eax, dword [str.___Web_Edition_]
mov dword [ecx], eax
mov eax, dword [0x4e01ac]
mov dword [ecx + 4], eax
mov eax, dword [0x4e01b0]
mov dword [ecx + 8], eax
mov eax, dword [0x4e01b4]
mov dword [ecx + 0xc], eax
jmp 0x4190b9
cmp ecx, 1
jne 0x4190b9
lea ecx, [ebp - 0x270]
dec ecx
mov edi, edi
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419080
mov eax, dword [str.___Standard_Edition_]
mov dword [ecx], eax
mov eax, dword [0x4e01bc]
mov dword [ecx + 4], eax
mov eax, dword [0x4e01c0]
mov dword [ecx + 8], eax
mov eax, dword [0x4e01c4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e01c8]
mov dword [ecx + 0x10], eax
mov al, byte [0x4e01cc]
mov byte [ecx + 0x14], al
mov ebx, dword [ebp - 0x6bc]
test dl, 0x10
je 0x41910b
lea ecx, [ebp - 0x270]
dec ecx
jmp 0x4190d0
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4190d0
mov eax, dword [str.___Terminal_Services_]
mov dword [ecx], eax
mov eax, dword [0x4e01d4]
mov dword [ecx + 4], eax
mov eax, dword [0x4e01d8]
mov dword [ecx + 8], eax
mov eax, dword [0x4e01dc]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e01e0]
mov dword [ecx + 0x10], eax
mov ax, word [0x4e01e4]
mov word [ecx + 0x14], ax
test dl, 1
je 0x41912d
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419117
mov ecx, 9
mov esi, str.___BackOffice_Small_Business_Edition_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
test edx, 0x100
je 0x419169
lea ecx, [ebp - 0x270]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419140
mov eax, dword [str.___Embedded_]
mov dword [ecx], eax
mov eax, dword [0x4e0214]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0218]
mov dword [ecx + 8], eax
mov al, byte [0x4e021c]
mov byte [ecx + 0xc], al
test edx, 0x200
je 0x41918f
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419178
mov ecx, 0xa
mov esi, str.___Terminal_Services_in_Remote_Admin_Mode_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
test edx, 0x4000
je 0x4191b5
lea edi, [ebp - 0x270]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4191a0
mov ecx, 6
mov esi, str.___Media_Center_Edition_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
test edx, 0x400
je 0x419204
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4191c4
mov eax, dword [str.___Uniprocessor_Free_]
mov dword [ecx], eax
mov eax, dword [0x4e026c]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0270]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0274]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e0278]
mov dword [ecx + 0x10], eax
mov ax, word [0x4e027c]
mov word [ecx + 0x14], ax
jmp 0x4192ba
test edx, 0x800
je 0x41922d
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419213
mov ecx, 6
mov esi, str.___Uniprocessor_Checked_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4192ba
test edx, 0x1000
je 0x41927b
lea ecx, [ebp - 0x270]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419240
mov eax, dword [str.___Multiprocessor_Free_]
mov dword [ecx], eax
mov eax, dword [0x4e02a0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e02a4]
mov dword [ecx + 8], eax
mov eax, dword [0x4e02a8]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e02ac]
mov dword [ecx + 0x10], eax
mov eax, dword [0x4e02b0]
mov dword [ecx + 0x14], eax
jmp 0x4192ba
test edx, 0x2000
je 0x4192ba
lea edi, [ebp - 0x270]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419290
mov ecx, 6
mov esi, str.___Multiprocessor_Checked_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
jmp 0x4192ba
lea eax, [ebp - 0x70]
push str.Unknown_OS
push eax
call fcn.004ad5d8
add esp, 8
mov eax, dword [ebp - 0x6a8]
dec eax
cmp eax, 9
ja case.default.0x4192ca
jmp dword [eax*4 + 0x4199d0]
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4192d8
mov eax, dword [str.___Intel_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e02e0]
mov dword [ecx + 4], eax
mov eax, dword [0x4e02e4]
mov dword [ecx + 8], eax
mov eax, dword [0x4e02e8]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e02ec]
mov dword [ecx + 0x10], eax
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419315
mov eax, dword [str.___MSIL_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e02f4]
mov dword [ecx + 4], eax
mov eax, dword [0x4e02f8]
mov dword [ecx + 8], eax
mov eax, dword [0x4e02fc]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e0300]
mov word [ecx + 0x10], ax
mov al, byte [0x4e0302]
mov byte [ecx + 0x12], al
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
lea esp, [esp]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419360
mov eax, dword [str.___MIPS_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e0308]
mov dword [ecx + 4], eax
mov eax, dword [0x4e030c]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0310]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e0314]
mov word [ecx + 0x10], ax
mov al, byte [0x4e0316]
mov byte [ecx + 0x12], al
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4193a7
mov eax, dword [str.___ARM_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e031c]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0320]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0324]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e0328]
mov word [ecx + 0x10], ax
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4193e6
mov eax, dword [str.___SHX_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e0330]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0334]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0338]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e033c]
mov word [ecx + 0x10], ax
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419425
mov eax, dword [str.___Alpha_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e0344]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0348]
mov dword [ecx + 8], eax
mov eax, dword [0x4e034c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e0350]
mov dword [ecx + 0x10], eax
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419462
mov eax, dword [str.___Alpha64_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e0358]
mov dword [ecx + 4], eax
mov eax, dword [0x4e035c]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0360]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e0364]
mov dword [ecx + 0x10], eax
mov ax, word [0x4e0368]
jmp 0x4195a7
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4194a5
mov eax, dword [str.___PPC_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e0370]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0374]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0378]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e037c]
mov word [ecx + 0x10], ax
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x4194e4
mov eax, dword [str.___IA64_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e0384]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0388]
mov dword [ecx + 8], eax
mov eax, dword [0x4e038c]
mov dword [ecx + 0xc], eax
mov ax, word [0x4e0390]
mov word [ecx + 0x10], ax
mov al, byte [0x4e0392]
mov byte [ecx + 0x12], al
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
jmp 0x419530
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419530
mov eax, dword [str.___AMD64_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e0398]
mov dword [ecx + 4], eax
mov eax, dword [0x4e039c]
mov dword [ecx + 8], eax
mov eax, dword [0x4e03a0]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e03a4]
mov dword [ecx + 0x10], eax
jmp 0x4195ab
lea ecx, [ebp - 0x270]
dec ecx
lea ebx, [ebx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419570
mov eax, dword [str.___Unknown_Processor_]
mov dword [ecx], eax
mov eax, dword [0x4e03ac]
mov dword [ecx + 4], eax
mov eax, dword [0x4e03b0]
mov dword [ecx + 8], eax
mov eax, dword [0x4e03b4]
mov dword [ecx + 0xc], eax
mov eax, dword [0x4e03b8]
mov dword [ecx + 0x10], eax
mov ax, word [0x4e03bc]
mov word [ecx + 0x14], ax
push dword [ebp - 0x6b8]
lea eax, [ebp - 0x70]
push str._v_d.
push eax
call fcn.004ad5d8
lea edx, [ebp - 0x70]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4195c7
lea edi, [ebp - 0x270]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4195d7
mov ecx, edx
mov eax, 0xcccccccd
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x6b4]
mul esi
mov eax, esi
shr edx, 3
lea ecx, [edx + edx*4]
add ecx, ecx
sub eax, ecx
lea eax, [ebp - 0x70]
je 0x419618
push esi
cmp esi, 9
jbe 0x419619
push str._02d
jmp 0x41961e
push edx
push str._01d
push eax
call fcn.004ad5d8
lea edx, [ebp - 0x70]
add esp, 0xc
mov esi, edx
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x419630
lea edi, [ebp - 0x270]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419640
mov eax, dword [ebp - 0x6b0]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test eax, eax
je 0x41969d
push eax
lea eax, [ebp - 0x70]
push str._Build:_d
push eax
call fcn.004ad5d8
lea edx, [ebp - 0x70]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x419677
lea edi, [ebp - 0x270]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419687
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dx, word [ebp - 0x624]
test dx, dx
je 0x419778
mov si, word [ebp - 0x622]
test si, si
je 0x419733
cmp dword [ebp - 0x614], 3
jne 0x4196ea
cmp dword [ebp - 0x620], 4
ja 0x4196ea
cmp dx, 6
jne 0x4196ea
cmp si, 1
jne 0x4196ea
lea eax, [ebp - 0x70]
push str._Service_Pack:_6a
push eax
call fcn.004ad5d8
add esp, 8
jmp 0x419748
lea eax, [ebp - 0x6b8]
push eax
call fcn.004184e0
test eax, eax
je 0x419718
cmp dx, 1
jne 0x419718
cmp si, dx
jne 0x419718
lea eax, [ebp - 0x70]
push str._Service_Pack:_1a
push eax
call fcn.004ad5d8
add esp, 8
jmp 0x419748
movzx eax, si
push eax
movzx eax, dx
push eax
lea eax, [ebp - 0x70]
push str._Service_Pack:_d._d
push eax
call fcn.004ad5d8
add esp, 0x10
jmp 0x419748
movzx eax, dx
push eax
lea eax, [ebp - 0x70]
push str._Service_Pack:_d
push eax
call fcn.004ad5d8
add esp, 0xc
lea edx, [ebp - 0x70]
mov esi, edx
lea ecx, [ecx]
mov al, byte [edx]
inc edx
test al, al
jne 0x419750
lea edi, [ebp - 0x270]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419760
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x419799
mov ax, word [ebp - 0x622]
test ax, ax
je 0x419799
movzx eax, ax
push eax
lea eax, [ebp - 0x70]
push str._Service_Pack:0._d
push eax
call fcn.004ad5d8
add esp, 0xc
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4197a0
mov ax, word [0x4e0448]
mov word [edi], ax
jmp 0x4197c3
push str.Failed_in_call_to_GetOSVersion_n
push eax
call fcn.004ad5d8
add esp, 8
push 0x100
lea eax, [ebp - 0x377]
mov byte [ebp - 0x378], 0
push 0
push eax
call fcn.004b67a0
add esp, 0xc
mov dword [ebp - 0x6c0], 0x101
lea eax, [ebp - 0x6c0]
push eax
lea eax, [ebp - 0x378]
push eax
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
test eax, eax
je 0x419838
movdqu xmm0, xmmword [str.Current_user_:]
lea edx, [ebp - 0x378]
mov esi, edx
movdqu xmmword [ebx], xmm0
mov al, byte [edx]
inc edx
test al, al
jne 0x419816
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419822
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x100
lea eax, [ebp - 0x47f]
mov byte [ebp - 0x480], 0
push 0
push eax
call fcn.004b67a0
add esp, 0xc
lea eax, [ebp - 0x6c0]
push eax
lea eax, [ebp - 0x480]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x4198d6
lea ecx, [ebx - 1]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419870
mov eax, dword [str._nComputerName_:]
lea edx, [ebp - 0x480]
mov dword [ecx], eax
mov esi, edx
mov eax, dword [0x4e0480]
mov dword [ecx + 4], eax
mov eax, dword [0x4e0484]
mov dword [ecx + 8], eax
mov eax, dword [0x4e0488]
mov dword [ecx + 0xc], eax
mov al, byte [0x4e048c]
mov byte [ecx + 0x10], al
lea esp, [esp]
mov al, byte [edx]
inc edx
test al, al
jne 0x4198b0
sub edx, esi
lea edi, [ebx - 1]
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4198c0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0xff
lea eax, [ebp - 0x580]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x41995a
lea eax, [ebp - 0x580]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
je 0x41995a
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
push dword [eax]
call dword [sym.imp.WS2_32.dll_inet_ntoa]
mov edx, eax
test edx, edx
je 0x41995a
lea ecx, [ebx - 1]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x419913
mov eax, dword [str._nIP_:]
mov esi, edx
mov dword [ecx], eax
mov ax, word [0x4e0494]
mov word [ecx + 4], ax
mov al, byte [0x4e0496]
mov byte [ecx + 6], al
mov al, byte [edx]
inc edx
test al, al
jne 0x419938
sub edx, esi
lea edi, [ebx - 1]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x419944
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [ebx - 1]
lea ecx, [ecx]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x419960
mov ax, word [0x4e0448]
lea edx, [ebp - 0x270]
mov word [edi], ax
mov esi, edx
jmp 0x419980
mov al, byte [edx]
inc edx
test al, al
jne 0x419980
sub edx, esi
dec ebx
lea ebx, [ebx]
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x419990
mov ecx, edx
mov edi, ebx
shr ecx, 2
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004aca59
mov esp, ebp
pop ebp
ret