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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c4
mov eax, dword [0x4ea5e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x138
lea eax, [ebp - 0x6b8]
mov esi, ecx
push 0
push eax
mov dword [ebp - 0x6bc], esi
call fcn.004b2d10
add esp, 0xc
lea ebx, [ebp - 0x6b8]
call fcn.00405690
test eax, eax
je 0x40751a
lea ecx, [ebp - 0x270]
push str.OS:
push ecx
call fcn.004a931b
mov eax, dword [ebp - 0x6ac]
mov edx, dword [ebp - 0x614]
mov esi, dword [ebp - 0x620]
add esp, 8
cmp eax, 4
ja case.default.0x406636
jmp dword [eax*4 + 0x407760]
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406644
mov edx, dword [0x4d501c]
mov dword [edi], edx
jmp 0x406fda
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406660
mov ecx, dword [str.Windows]
mov dword [eax], ecx
mov ecx, dword [0x4d5024]
mov dword [eax + 4], ecx
cmp edx, 1
jne 0x406fda
lea eax, [ebp - 0x270]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406690
mov edx, dword [str.__Win32s_]
mov ecx, dword [0x4d502c]
mov dword [eax], edx
mov dx, word [0x4d5030]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
jmp 0x406fda
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4066c0
mov ecx, dword [str.Windows_CE]
mov edx, dword [0x4d5038]
mov dword [eax], ecx
mov cx, word [0x4d503c]
mov dword [eax + 4], edx
mov dl, byte [0x4d503e]
mov word [eax + 8], cx
mov byte [eax + 0xa], dl
jmp 0x406fda
cmp edx, 2
jne 0x4067b9
mov edx, dword [ebp - 0x618]
mov ecx, dword [ebp - 0x61c]
cmp esi, 4
jne 0x406726
test ecx, ecx
jne 0x406726
cmp edx, 0x3b6
jne 0x406726
push str.Windows_95
lea eax, [ebp - 0x70]
push eax
jmp 0x4067c2
lea eax, [ebp - 0x6b8]
call fcn.004060b0
test eax, eax
je 0x40673f
push str.Windows_95_SP1
jmp 0x4067be
lea eax, [ebp - 0x6b8]
call fcn.004060e0
test eax, eax
je 0x406759
push str.Windows_95_OSR2
lea edx, [ebp - 0x70]
push edx
jmp 0x4067c2
cmp esi, 4
jne 0x406776
cmp ecx, 0xa
jne 0x406776
cmp edx, 0x7ce
jne 0x406776
push str.Windows_98
lea eax, [ebp - 0x70]
push eax
jmp 0x4067c2
lea eax, [ebp - 0x6b8]
call fcn.00406110
test eax, eax
je 0x40678c
push str.Windows_98_SP1
jmp 0x4067be
cmp esi, 4
jne 0x4067b9
cmp ecx, 0xa
jne 0x4067a9
cmp edx, 0x887
jb 0x4067b9
push str.Windows_98_Second_Edition
lea edx, [ebp - 0x70]
push edx
jmp 0x4067c2
cmp ecx, 0x5a
jne 0x4067b9
push str.Windows_Millenium_Edition
lea eax, [ebp - 0x70]
push eax
jmp 0x4067c2
push str.Windows___
lea ecx, [ebp - 0x70]
push ecx
call fcn.004a931b
lea eax, [ebp - 0x70]
add esp, 8
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4067d0
lea edi, [ebp - 0x270]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4067e0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x406fda
cmp edx, 3
jne 0x406dcd
mov edx, dword [ebp - 0x620]
cmp edx, 4
ja 0x4069db
lea eax, [ebp - 0x270]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406820
mov edx, dword [str.Windows_NT]
mov ecx, dword [0x4d50d0]
mov dword [eax], edx
mov dx, word [0x4d50d4]
mov dword [eax + 4], ecx
mov cl, byte [0x4d50d6]
mov word [eax + 8], dx
mov byte [eax + 0xa], cl
mov eax, dword [ebp - 0x588]
test eax, eax
jne 0x4068eb
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406862
mov edx, dword [str.__Workstation_]
mov ecx, dword [0x4d50dc]
mov dword [eax], edx
mov edx, dword [0x4d50e0]
mov dword [eax + 4], ecx
mov cx, word [0x4d50e4]
mov dword [eax + 8], edx
mov dl, byte [0x4d50e6]
mov word [eax + 0xc], cx
mov byte [eax + 0xe], dl
mov edx, dword [ebp - 0x58c]
test dl, 0x20
je 0x406989
lea eax, [ebp - 0x270]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4068b0
mov ecx, dword [str.___Datacenter_]
mov dword [eax], ecx
mov ecx, dword [0x4d5134]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5138]
mov dword [eax + 8], ecx
mov cx, word [0x4d513c]
mov word [eax + 0xc], cx
mov cl, byte [0x4d513e]
mov byte [eax + 0xe], cl
jmp 0x406dd3
cmp eax, 1
jne 0x406920
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4068f7
mov ecx, dword [str.__Server_]
mov edx, dword [0x4d50ec]
mov dword [eax], ecx
mov cx, word [0x4d50f0]
mov dword [eax + 4], edx
mov word [eax + 8], cx
jmp 0x406898
cmp eax, 2
jne 0x406898
mov edx, dword [ebp - 0x58c]
test dl, 4
je 0x40695a
lea edi, [ebp - 0x270]
dec edi
jmp 0x406940
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406940
mov ecx, 7
mov esi, str.__Primary_Domain_Controller_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x40689e
test dl, 8
je 0x40689e
lea edi, [ebp - 0x270]
dec edi
lea ebx, [ebx]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406970
mov ecx, 7
mov esi, str.__Backup_Domain_Controller_
rep movsd dword es:[edi], dword [esi]
jmp 0x40689e
test dl, 2
je 0x406dd3
lea eax, [ebp - 0x270]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4069a0
mov ecx, dword [str.___Enterprise_]
mov dword [eax], ecx
mov ecx, dword [0x4d5144]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5148]
mov dword [eax + 8], ecx
mov cx, word [0x4d514c]
mov word [eax + 0xc], cx
mov cl, byte [0x4d514e]
mov byte [eax + 0xe], cl
jmp 0x406dd3
lea eax, [ebp - 0x6b8]
call fcn.00406140
test eax, eax
je 0x406b89
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4069f5
mov ecx, dword [str.Windows_2000]
mov dword [eax], ecx
mov ecx, dword [0x4d5154]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5158]
mov dword [eax + 8], ecx
mov cl, byte [0x4d515c]
mov byte [eax + 0xc], cl
cmp edx, 5
jne 0x406dcd
cmp dword [ebp - 0x61c], 0
jne 0x406dcd
mov eax, dword [ebp - 0x588]
test eax, eax
jne 0x406a74
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406a47
mov edx, dword [str.__Professional_]
mov ecx, dword [0x4d5164]
mov dword [eax], edx
mov edx, dword [0x4d5168]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d516c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
jmp 0x406aef
cmp eax, 1
jne 0x406aa6
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406a80
mov edx, dword [str.__Server_]
mov ecx, dword [0x4d50ec]
mov dword [eax], edx
mov dx, word [0x4d50f0]
mov dword [eax + 4], ecx
mov word [eax + 8], dx
jmp 0x406aef
cmp eax, 2
jne 0x406aef
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406ab2
mov ecx, dword [str.__Domain_Controller_]
mov edx, dword [0x4d5174]
mov dword [eax], ecx
mov ecx, dword [0x4d5178]
mov dword [eax + 4], edx
mov edx, dword [0x4d517c]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d5180]
mov dword [eax + 0xc], edx
mov dl, byte [0x4d5184]
mov dword [eax + 0x10], ecx
mov byte [eax + 0x14], dl
mov al, byte [ebp - 0x58c]
test al, 0x20
je 0x406b3b
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406b00
mov ecx, dword [str.___Datacenter_]
mov edx, dword [0x4d5134]
mov dword [eax], ecx
mov ecx, dword [0x4d5138]
mov dword [eax + 4], edx
mov dx, word [0x4d513c]
mov dword [eax + 8], ecx
mov cl, byte [0x4d513e]
mov word [eax + 0xc], dx
mov byte [eax + 0xe], cl
jmp 0x406dcd
test al, 2
je 0x406dcd
lea eax, [ebp - 0x270]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406b50
mov edx, dword [str.___Advanced_Server_]
mov ecx, dword [0x4d518c]
mov dword [eax], edx
mov edx, dword [0x4d5190]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5194]
mov dword [eax + 8], edx
mov edx, dword [0x4d5198]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
jmp 0x406dcd
lea eax, [ebp - 0x6b8]
call fcn.00406160
test eax, eax
je 0x406dcd
mov ecx, dword [ebp - 0x620]
mov ebx, dword [ebp - 0x588]
mov edx, dword [ebp - 0x61c]
cmp ecx, 5
jne 0x406c08
test edx, edx
je 0x406c08
test byte [ebp - 0x58c], 0x40
je 0x406c08
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406bc7
mov ecx, dword [str.Windows_XP__Personal_]
mov dword [eax], ecx
mov ecx, dword [0x4d51a0]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d51a4]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d51a8]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x4d51ac]
mov dword [eax + 0x10], ecx
mov cx, word [0x4d51b0]
mov word [eax + 0x14], cx
jmp 0x406c43
lea eax, [ebp - 0x6b8]
call fcn.00406580
test eax, eax
je 0x406c7c
lea edi, [ebp - 0x270]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406c20
cmp dword [ebp - 0x620], 5
mov ecx, 6
mov esi, str.Windows_XP__Professional_
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
jne 0x406dcd
test edx, edx
je 0x406d09
test byte [ebp - 0x58c], 0x20
je 0x406d09
lea edi, [ebp - 0x270]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406c60
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 0x406dcd
cmp ecx, 5
jne 0x406dcd
test edx, edx
je 0x406dcd
cmp ebx, 1
jne 0x406cd9
lea eax, [ebp - 0x270]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406ca0
mov ecx, dword [str.Windows_Server_2003]
mov dword [eax], ecx
mov ecx, dword [0x4d51d4]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d51d8]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d51dc]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x4d51e0]
mov dword [eax + 0x10], ecx
jmp 0x406c43
cmp ebx, 2
jne 0x406c43
lea edi, [ebp - 0x270]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406cf0
mov ecx, 0xa
mov esi, str.Windows_Server_2003__Domain_Controller_
rep movsd dword es:[edi], dword [esi]
jmp 0x406c43
cmp dword [ebp - 0x620], 5
jne 0x406dcd
test edx, edx
je 0x406dcd
mov al, byte [ebp - 0x58c]
test al, 2
je 0x406d4c
lea edi, [ebp - 0x270]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406d30
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 0x406dcd
test al, al
jns 0x406d84
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406d57
mov edx, dword [str.___Web_Edition_]
mov ecx, dword [0x4d5240]
mov dword [eax], edx
mov edx, dword [0x4d5244]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5248]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
jmp 0x406dcd
cmp ebx, 1
jne 0x406dcd
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406d90
mov edx, dword [str.___Standard_Edition_]
mov ecx, dword [0x4d5250]
mov dword [eax], edx
mov edx, dword [0x4d5254]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5258]
mov dword [eax + 8], edx
mov edx, dword [0x4d525c]
mov dword [eax + 0xc], ecx
mov cl, byte [0x4d5260]
mov dword [eax + 0x10], edx
mov byte [eax + 0x14], cl
mov edx, dword [ebp - 0x58c]
test dl, 0x10
je 0x406e1f
lea eax, [ebp - 0x270]
dec eax
nop
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406de0
mov ecx, dword [str.___Terminal_Services_]
mov dword [eax], ecx
mov ecx, dword [0x4d5268]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d526c]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d5270]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x4d5274]
mov dword [eax + 0x10], ecx
mov cx, word [0x4d5278]
mov word [eax + 0x14], cx
test dl, 1
je 0x406e46
lea edi, [ebp - 0x270]
dec edi
jmp 0x406e30
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406e30
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 0x406e80
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406e55
mov ecx, dword [str.___Embedded_]
mov dword [eax], ecx
mov ecx, dword [0x4d52a8]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d52ac]
mov dword [eax + 8], ecx
mov cl, byte [0x4d52b0]
mov byte [eax + 0xc], cl
test edx, 0x200
je 0x406ea7
lea edi, [ebp - 0x270]
dec edi
nop
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406e90
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 0x406ecb
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406eb6
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 0x406f24
lea eax, [ebp - 0x270]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406ee0
mov edx, dword [str.___Uniprocessor_Free_]
mov ecx, dword [0x4d5300]
mov dword [eax], edx
mov edx, dword [0x4d5304]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5308]
mov dword [eax + 8], edx
mov edx, dword [0x4d530c]
mov dword [eax + 0xc], ecx
mov cx, word [0x4d5310]
mov dword [eax + 0x10], edx
mov word [eax + 0x14], cx
jmp 0x406fda
test edx, 0x800
je 0x406f4d
lea edi, [ebp - 0x270]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406f33
mov ecx, 6
mov esi, str.___Uniprocessor_Checked_
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
jmp 0x406fda
test edx, 0x1000
je 0x406f9f
lea eax, [ebp - 0x270]
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406f60
mov edx, dword [str.___Multiprocessor_Free_]
mov ecx, dword [0x4d5334]
mov dword [eax], edx
mov edx, dword [0x4d5338]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d533c]
mov dword [eax + 8], edx
mov edx, dword [0x4d5340]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x4d5344]
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ecx
jmp 0x406fda
test edx, 0x2000
je 0x406fda
lea edi, [ebp - 0x270]
dec edi
mov edi, edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x406fb0
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 0x406fda
lea edx, [ebp - 0x70]
push str.Unknown_OS
push edx
call fcn.004a931b
add esp, 8
mov eax, dword [ebp - 0x6a8]
dec eax
cmp eax, 9
ja case.default.0x406fea
jmp dword [eax*4 + 0x407774]
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x406ff8
mov ecx, dword [str.___Intel_Processor_]
mov edx, dword [0x4d5374]
mov dword [eax], ecx
mov ecx, dword [0x4d5378]
mov dword [eax + 4], edx
mov edx, dword [0x4d537c]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d5380]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x407038
mov edx, dword [str.___MSIL_Processor_]
mov ecx, dword [0x4d5388]
mov dword [eax], edx
mov edx, dword [0x4d538c]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5390]
mov dword [eax + 8], edx
mov dx, word [0x4d5394]
mov dword [eax + 0xc], ecx
mov cl, byte [0x4d5396]
mov word [eax + 0x10], dx
mov byte [eax + 0x12], cl
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x407083
mov edx, dword [str.___MIPS_Processor_]
mov ecx, dword [0x4d539c]
mov dword [eax], edx
mov edx, dword [0x4d53a0]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d53a4]
mov dword [eax + 8], edx
mov dx, word [0x4d53a8]
mov dword [eax + 0xc], ecx
mov cl, byte [0x4d53aa]
mov word [eax + 0x10], dx
mov byte [eax + 0x12], cl
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
mov edi, edi
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4070d0
mov edx, dword [str.___ARM_Processor_]
mov ecx, dword [0x4d53b0]
mov dword [eax], edx
mov edx, dword [0x4d53b4]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d53b8]
mov dword [eax + 8], edx
mov dx, word [0x4d53bc]
mov dword [eax + 0xc], ecx
mov word [eax + 0x10], dx
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x407112
mov ecx, dword [str.___SHX_Processor_]
mov edx, dword [0x4d53c4]
mov dword [eax], ecx
mov ecx, dword [0x4d53c8]
mov dword [eax + 4], edx
mov edx, dword [0x4d53cc]
mov dword [eax + 8], ecx
mov cx, word [0x4d53d0]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x407154
mov edx, dword [str.___Alpha_Processor_]
mov ecx, dword [0x4d53d8]
mov dword [eax], edx
mov edx, dword [0x4d53dc]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d53e0]
mov dword [eax + 8], edx
mov edx, dword [0x4d53e4]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x407194
mov ecx, dword [str.___Alpha64_Processor_]
mov edx, dword [0x4d53ec]
mov dword [eax], ecx
mov ecx, dword [0x4d53f0]
mov dword [eax + 4], edx
mov edx, dword [0x4d53f4]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d53f8]
mov dword [eax + 0xc], edx
mov dx, word [0x4d53fc]
jmp 0x4072e8
lea eax, [ebp - 0x270]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4071d8
mov ecx, dword [str.___PPC_Processor_]
mov edx, dword [0x4d5404]
mov dword [eax], ecx
mov ecx, dword [0x4d5408]
mov dword [eax + 4], edx
mov edx, dword [0x4d540c]
mov dword [eax + 8], ecx
mov cx, word [0x4d5410]
mov dword [eax + 0xc], edx
mov word [eax + 0x10], cx
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
lea ebx, [ebx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x407220
mov edx, dword [str.___IA64_Processor_]
mov ecx, dword [0x4d5418]
mov dword [eax], edx
mov edx, dword [0x4d541c]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5420]
mov dword [eax + 8], edx
mov dx, word [0x4d5424]
mov dword [eax + 0xc], ecx
mov cl, byte [0x4d5426]
mov word [eax + 0x10], dx
mov byte [eax + 0x12], cl
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
jmp 0x407270
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x407270
mov edx, dword [str.___AMD64_Processor_]
mov ecx, dword [0x4d542c]
mov dword [eax], edx
mov edx, dword [0x4d5430]
mov dword [eax + 4], ecx
mov ecx, dword [0x4d5434]
mov dword [eax + 8], edx
mov edx, dword [0x4d5438]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
jmp 0x4072ef
lea eax, [ebp - 0x270]
dec eax
lea ecx, [ecx]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4072b0
mov ecx, dword [str.___Unknown_Processor_]
mov edx, dword [0x4d5440]
mov dword [eax], ecx
mov ecx, dword [0x4d5444]
mov dword [eax + 4], edx
mov edx, dword [0x4d5448]
mov dword [eax + 8], ecx
mov ecx, dword [0x4d544c]
mov dword [eax + 0xc], edx
mov dx, word [0x4d5450]
mov dword [eax + 0x10], ecx
mov word [eax + 0x14], dx
mov eax, dword [ebp - 0x6b8]
push eax
lea ecx, [ebp - 0x70]
push str._v_d.
push ecx
call fcn.004a931b
lea eax, [ebp - 0x70]
add esp, 0xc
mov edx, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407310
lea edi, [ebp - 0x270]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x407320
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x6b4]
mov eax, 0xcccccccd
mul ecx
shr edx, 3
lea eax, [edx + edx*4]
add eax, eax
mov esi, ecx
sub esi, eax
je 0x40736f
push ecx
cmp ecx, 9
jbe 0x407364
push str._02d
lea ecx, [ebp - 0x70]
push ecx
jmp 0x407379
push str._01d
lea edx, [ebp - 0x70]
push edx
jmp 0x407379
push edx
push str._01d
lea eax, [ebp - 0x70]
push eax
call fcn.004a931b
lea eax, [ebp - 0x70]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407386
lea edi, [ebp - 0x270]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x407396
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebp - 0x6b0]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
test eax, eax
je 0x4073f8
push eax
lea ecx, [ebp - 0x70]
push str._Build:_d
push ecx
call fcn.004a931b
lea eax, [ebp - 0x70]
add esp, 0xc
mov edx, eax
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4073d0
lea edi, [ebp - 0x270]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4073e0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov di, word [ebp - 0x624]
test di, di
je 0x4074d1
mov si, word [ebp - 0x622]
test si, si
je 0x40748d
cmp dword [ebp - 0x614], 3
jne 0x407445
cmp dword [ebp - 0x620], 4
ja 0x407445
cmp di, 6
jne 0x407445
cmp si, 1
jne 0x407445
lea edx, [ebp - 0x70]
push str._Service_Pack:_6a
push edx
call fcn.004a931b
add esp, 8
jmp 0x4074a2
lea eax, [ebp - 0x6b8]
call fcn.00406180
test eax, eax
je 0x407472
cmp di, 1
jne 0x407472
cmp si, di
jne 0x407472
lea eax, [ebp - 0x70]
push str._Service_Pack:_1a
push eax
call fcn.004a931b
add esp, 8
jmp 0x4074a2
movzx ecx, si
push ecx
movzx edx, di
push edx
lea eax, [ebp - 0x70]
push str._Service_Pack:_d._d
push eax
call fcn.004a931b
add esp, 0x10
jmp 0x4074a2
movzx ecx, di
push ecx
lea edx, [ebp - 0x70]
push str._Service_Pack:_d
push edx
call fcn.004a931b
add esp, 0xc
lea eax, [ebp - 0x70]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4074a7
lea edi, [ebp - 0x270]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4074b7
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4074f2
mov ax, word [ebp - 0x622]
test ax, ax
je 0x4074f2
movzx eax, ax
push eax
lea ecx, [ebp - 0x70]
push str._Service_Pack:0._d
push ecx
call fcn.004a931b
add esp, 0xc
lea edi, [ebp - 0x270]
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x407500
mov dx, word [0x4d54dc]
mov esi, dword [ebp - 0x6bc]
mov word [edi], dx
jmp 0x40752e
lea eax, [ebp - 0x270]
push str.Failed_in_call_to_GetOSVersion_n
push eax
call fcn.004a931b
add esp, 8
xor ebx, ebx
push pe_nt_image_headers32
lea ecx, [ebp - 0x377]
push ebx
push ecx
mov byte [ebp - 0x378], bl
call fcn.004b2d10
add esp, 0xc
lea edx, [ebp - 0x6c0]
push edx
lea eax, [ebp - 0x378]
push eax
mov dword [ebp - 0x6c0], 0x101
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
test eax, eax
je 0x4075c3
mov ecx, dword [str.Current_user_:]
mov dword [esi], ecx
mov edx, dword [0x4d5504]
mov dword [esi + 4], edx
mov eax, dword [0x4d5508]
mov dword [esi + 8], eax
mov ecx, dword [0x4d550c]
lea eax, [ebp - 0x378]
mov dword [esi + 0xc], ecx
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x407597
sub eax, ecx
mov edx, ecx
lea edi, [esi - 1]
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x4075a5
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x6bc]
push pe_nt_image_headers32
lea edx, [ebp - 0x47f]
push ebx
push edx
mov byte [ebp - 0x480], bl
call fcn.004b2d10
add esp, 0xc
lea eax, [ebp - 0x6c0]
push eax
lea ecx, [ebp - 0x480]
push ecx
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x40766e
lea eax, [esi - 1]
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
cmp cl, bl
jne 0x407600
mov edx, dword [str._nComputerName_:]
mov dword [eax], edx
mov ecx, dword [0x4d5514]
mov dword [eax + 4], ecx
mov edx, dword [0x4d5518]
mov dword [eax + 8], edx
mov ecx, dword [0x4d551c]
mov dword [eax + 0xc], ecx
mov dl, byte [0x4d5520]
mov byte [eax + 0x10], dl
lea eax, [ebp - 0x480]
mov ecx, eax
lea esp, [esp]
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x407640
sub eax, ecx
mov edx, ecx
lea edi, [esi - 1]
mov edi, edi
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x407650
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x6bc]
push 0xff
lea eax, [ebp - 0x580]
push eax
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
jne 0x407702
lea ecx, [ebp - 0x580]
push ecx
call dword [sym.imp.WS2_32.dll_gethostbyname]
cmp eax, ebx
je 0x407702
mov edx, dword [eax + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
cmp eax, ebx
je 0x407702
lea ecx, [esi - 1]
lea ebx, [ebx]
mov dl, byte [ecx + 1]
inc ecx
cmp dl, bl
jne 0x4076b0
mov edx, dword [str._nIP_:]
mov dword [ecx], edx
mov dx, word [0x4d5528]
mov word [ecx + 4], dx
mov dl, byte [0x4d552a]
mov byte [ecx + 6], dl
mov ecx, eax
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x4076d6
sub eax, ecx
mov edx, ecx
lea edi, [esi - 1]
mov cl, byte [edi + 1]
inc edi
cmp cl, bl
jne 0x4076e4
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x6bc]
lea edi, [esi - 1]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x407705
mov ax, word [0x4d54dc]
mov word [edi], ax
lea eax, [ebp - 0x270]
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
inc eax
cmp dl, bl
jne 0x407720
sub eax, ecx
mov edx, ecx
dec esi
lea esp, [esp]
mov cl, byte [esi + 1]
inc esi
cmp cl, bl
jne 0x407730
mov edi, esi
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004a8a2f
mov esp, ebp
pop ebp
ret