Function at 0x401af0
Capabilities:
Check if file exists
Get hostname
Initialize winsock library
Resolve dns

Disassembly:
sub esp, 0x5b8
push ebx
push ebp
push esi
lea eax, [esp + 0x10]
push edi
lea ecx, [esp + 0x230]
push eax
push ecx
mov dword [esp + 0x1c], 0x104
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov ebp, dword [esp + 0x5d0]
lea edx, [esp + 0x230]
push ebp
push edx
call fcn.00402c1f
add esp, 8
test eax, eax
jne 0x401bc2
push str.Connecting_to_local_system...
mov byte [esp + 0x17], 1
call fcn.00402a5b
add esp, 4
lea eax, [esp + 0x438]
push eax
push 0x202
call sub.WS2_32.dll_WSAStartup
lea ecx, [esp + 0x334]
push 0x104
push ecx
call sub.WS2_32.dll_gethostname
lea edx, [esp + 0x334]
push edx
call sub.WS2_32.dll_gethostbyname
movsx ecx, word [eax + 0xa]
mov eax, dword [eax + 0xc]
mov edx, ecx
lea edi, [esp + 0x1c]
mov esi, dword [eax]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1c]
push eax
call sub.WS2_32.dll_inet_ntoa
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x401bf8
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x28]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push ebp
mov eax, ecx
mov esi, edi
mov edi, edx
push str.Connecting_to__s...
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov byte [esp + 0x1b], 0
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00402a5b
add esp, 8
mov edi, dword [esp + 0x5dc]
lea ecx, [esp + 0x28]
push edi
push ecx
lea edx, [esp + 0x134]
push str._sADMIN_System32_s
push edx
call fcn.00402a09
mov ebx, dword [esp + 0x5f0]
lea eax, [esp + 0x13c]
push eax
push ebx
call fcn.004018c0
add esp, 0x18
test al, al
jne 0x401d4e
mov al, byte [esp + 0x5cc]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
test al, al
jne 0x401c53
call esi
cmp eax, 0x20
je 0x401d4e
call esi
cmp eax, 5
je 0x401c6d
cmp eax, 0x52e
je 0x401c6d
cmp eax, 0x3e7
je 0x401c6d
cmp eax, 0x35
jne 0x401ca7
mov ecx, dword [esp + 0x5e8]
mov edx, dword [esp + 0x5e4]
push ecx
lea eax, [esp + 0x2c]
push edx
push eax
call fcn.00401950
add esp, 0xc
test al, al
je 0x401ca7
lea ecx, [esp + 0x12c]
push ecx
push ebx
call fcn.004018c0
add esp, 8
test al, al
jne 0x401d4e
call fcn.004018b0
mov bl, byte [esp + 0x13]
test bl, bl
je 0x401cc3
mov edx, dword [esp + 0x5d4]
push edx
push str.Couldnt_install__s_service:_n
jmp 0x401cc9
push ebp
push str._rCouldnt_access__s:_n
call fcn.00402a5b
add esp, 8
call esi
mov esi, eax
push esi
call fcn.00401820
add esp, 4
cmp esi, 0x43
je 0x401d13
cmp esi, 0x35
je 0x401d13
cmp esi, 0x4d0
je 0x401cf8
cmp esi, 0x4cf
jne 0x401d34
test bl, bl
je 0x401d0b
push str.Make_sure_that_file_and_print_sharing_services_are_enabled._n
call fcn.00402a5b
add esp, 4
jmp 0x401d34
push ebp
push str.Make_sure_that_file_and_print_sharing_services_are_enabled_on__s._n
jmp 0x401d2c
test bl, bl
je 0x401d26
push str.Make_sure_that_the_admin__share_is_enabled._n
call fcn.00402a5b
add esp, 4
jmp 0x401d34
push ebp
push str.Make_sure_that_the_default_admin__share_is_enabled_on__s._n
call fcn.00402a5b
add esp, 8
lea eax, [esp + 0x28]
push eax
call fcn.00401940
add esp, 4
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5b8
ret
call fcn.004018b0
mov al, byte [esp + 0x13]
test al, al
mov eax, str.local_system
jne 0x401d62
mov eax, ebp
mov esi, dword [esp + 0x5d4]
push eax
push esi
push str._rStarting__s_service_on__s...
call fcn.00402a5b
push edi
lea ecx, [esp + 0x13c]
push str.__SystemRoot__System32_s
push ecx
call fcn.00402a09
mov edx, dword [esp + 0x604]
mov ebx, dword [esp + 0x5f0]
lea eax, [esp + 0x144]
push edx
push eax
push ebx
push esi
push ebp
call fcn.00401730
add esp, 0x2c
test eax, eax
jne 0x401e23
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
call fcn.004018b0
cmp edi, 2
je 0x401dd7
push ebp
push esi
push str._rCould_not_start__s_service_on__s:_n
call fcn.00402a5b
push edi
call fcn.00401820
add esp, 0x10
jmp 0x401dfc
mov al, byte [esp + 0x13]
test al, al
je 0x401dee
push str._rCouldnt_access_Admin__share._nMake_sure_the_Admin__share_is_enabled._n
call fcn.00402a5b
add esp, 4
jmp 0x401dfc
push ebp
push str._rCouldnt_access__s:_nMake_sure_the_Admin__share_is_enabled._n
call fcn.00402a5b
add esp, 8
mov ecx, dword [esp + 0x5dc]
mov edx, dword [esp + 0x5cc]
push ecx
push ebx
push ebp
push edx
call fcn.004019f0
add esp, 0x10
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5b8
ret
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x5b8
ret