Function at 0x408d40
Capabilities:
Set socket configuration

Disassembly:
mov eax, dword [0x41b250]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x10]
push edi
mov ecx, 5
mov edi, 0x41b258
xor ebp, ebp
push 7
rep movsd dword es:[edi], dword [esi]
mov dword [eax + 0x18], ebp
mov ecx, dword [0x41b258]
mov edx, dword [0x41b25c]
mov eax, dword [0x41b260]
mov dword [0x41ae80], ecx
mov ecx, dword [0x41b264]
xor ebx, ebx
mov dword [0x41ae84], edx
mov dword [0x41ae88], eax
mov dword [0x41ae8c], ecx
call fcn.0040a500
add esp, 4
test al, al
jne 0x408f95
test byte [0x41b26b], 1
jne 0x408e7b
mov edx, dword [0x41b250]
push str.127.0.0.0
mov ebx, 2
mov word [edx + 0x32], bp
mov eax, dword [0x41b250]
mov ecx, dword [0x41b594]
mov dword [eax + 0x34], ecx
mov edx, dword [0x41b250]
mov dword [edx + 0x38], 0xffffffff
mov eax, dword [0x41b250]
mov word [eax + 0x30], bp
mov ecx, dword [0x41b250]
mov word [ecx + 0x3e], bp
call sub.WSOCK32.dll_inet_addr
mov edx, dword [0x41b250]
push str.255.0.0.0
mov dword [edx + 0x40], eax
call sub.WSOCK32.dll_inet_addr
mov ecx, dword [0x41b250]
push ebp
mov dword [ecx + 0x44], eax
mov edx, dword [0x41b250]
mov word [edx + 0x3c], bp
call fcn.00403520
mov eax, dword [0x4194b0]
add esp, 4
cmp eax, ebp
jle 0x408e7b
xor edx, edx
mov eax, 0x18
mov ecx, 0x4194b4
mov esi, dword [0x41b250]
inc ebx
add ecx, 4
mov word [eax + esi + 0x32], bp
mov edi, dword [0x41b250]
mov esi, dword [ecx - 4]
mov dword [eax + edi + 0x34], esi
mov esi, dword [0x41b250]
mov dword [eax + esi + 0x38], 0xffffffff
mov esi, dword [0x41b250]
mov word [eax + esi + 0x30], bp
mov esi, dword [0x4194b0]
add eax, 0xc
inc edx
cmp edx, esi
jl 0x408e38
xor eax, eax
lea edx, [ebx + ebx*2 + 0xc]
mov al, byte [0x41b26a]
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x14]
shl ecx, 2
lea esi, [eax + 0x14]
mov eax, dword [0x41b250]
lea edi, [eax + edx*4]
mov edx, ecx
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 [0x41b268]
mov ecx, dword [0x41b250]
and eax, 0xffff
mov dword [ecx + 0x1c], eax
mov edx, dword [0x41b250]
mov eax, dword [0x41b258]
add edx, 0x20
mov dword [edx], eax
mov ecx, dword [0x41b25c]
mov dword [edx + 4], ecx
mov eax, dword [0x41b260]
mov dword [edx + 8], eax
mov ecx, dword [0x41b264]
mov dword [edx + 0xc], ecx
mov eax, dword [0x41b250]
xor edx, edx
mov dl, byte [0x41b26a]
add edx, ebx
mov dword [eax + 0x18], edx
mov eax, dword [0x41bc80]
cmp eax, ebp
je 0x408f95
test byte [0x41b26b], 2
jne 0x408f14
mov byte [eax + 2], 0x63
jmp 0x408f18
mov byte [eax + 2], 0x43
mov edx, dword [0x41b250]
xor eax, eax
mov al, byte [0x41b26a]
add eax, ebx
lea esi, [edx + 0x30]
lea ecx, [eax + eax*2]
mov eax, dword [0x41bc80]
shl ecx, 2
mov edx, ecx
lea edi, [eax + 0x30]
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 [0x41b268]
mov ecx, dword [0x41bc80]
and eax, 0xffff
mov dword [ecx + 0x1c], eax
mov edx, dword [0x41bc80]
mov eax, dword [0x41b258]
add edx, 0x20
mov dword [edx], eax
mov ecx, dword [0x41b25c]
mov dword [edx + 4], ecx
mov eax, dword [0x41b260]
mov dword [edx + 8], eax
mov ecx, dword [0x41b264]
mov dword [edx + 0xc], ecx
mov eax, dword [0x41bc80]
xor edx, edx
mov dl, byte [0x41b26a]
add edx, ebx
mov dword [eax + 0x18], edx
pop edi
pop esi
pop ebp
pop ebx
ret