Function at 0x403c60
Capabilities:
Check os version
Get hostname
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x483670
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x32c
push ebx
push esi
push edi
xor eax, eax
mov ecx, 0x24
lea edi, [ebp - 0xa4]
mov dword [ebp - 0xa8], 0x94
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], esp
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xa8]
xor esi, esi
push eax
xor ebx, ebx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov eax, dword [ebp - 0x98]
mov edi, 2
cmp eax, edi
jne 0x403d1d
cmp dword [ebp - 0xa4], 5
jae 0x403d16
push str.This_os_is_nt_4.0_for_server_or_workstation_version::
mov ecx, 0x65cd80
call fcn.00479641
mov ecx, dword [ebp - 0xa4]
push ecx
mov ecx, eax
call fcn.004794f4
push 0xa
mov ecx, eax
call fcn.00479456
push 0x401430
mov ecx, eax
call fcn.00401410
mov eax, dword [ebp - 0x98]
mov esi, 1
cmp eax, edi
jne 0x403d1d
cmp dword [ebp - 0xa4], 5
jb 0x403d56
mov ebx, 1
jmp 0x403d48
push str.ThisdwMajorVersion_os_is_before_win9X_vesion::
mov ecx, 0x65cd80
call fcn.00479641
push 0xa
mov ecx, eax
call fcn.00479456
push 0x401430
mov ecx, eax
call fcn.00401410
mov dword [ebp - 0x14], 1
cmp esi, 1
je 0x403d56
cmp ebx, 1
jne 0x403dfc
mov edi, str.HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x1a8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.srvcomment
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]
lea ecx, [ebp - 0x1a8]
push ecx
call fcn.00403ae0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jle 0x403db6
mov ebx, dword [ebp + 8]
push 0x40
push edx
push ebx
call fcn.0047b120
add esp, 0xc
jmp 0x403dff
lea edx, [ebp - 0x338]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov ebx, dword [ebp + 8]
push 0x10
push ebx
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
je 0x403dff
mov edi, str.Unknown
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x403dff
mov ebx, dword [ebp + 8]
cmp dword [ebp - 0x14], 1
jne 0x403e60
mov edi, str.HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserverparameters
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x1a8]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push str.srvcomment
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]
lea ecx, [ebp - 0x1a8]
push ecx
call fcn.00403ae0
mov edx, eax
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jle 0x403e75
push 0x40
push edx
push ebx
call fcn.0047b120
add esp, 0xc
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov ax, 1
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x338]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push 0x10
push ebx
call dword [sym.imp.WS2_32.dll_gethostname]
test eax, eax
je 0x403e60
mov edi, str.Unknown
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x403e60