Function at 0x425a10
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff9a4
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x65c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], ebx
mov esi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.004042b8
mov eax, dword [ebp - 8]
call fcn.004042b8
xor eax, eax
push ebp
push 0x425c82
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [esi], 0
jle 0x425c4f
mov edx, 0x425c98
mov eax, dword [ebp - 4]
call fcn.004110e4
test al, al
je 0x425c4f
lea eax, [ebp - 4]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x425cb0
call fcn.004043b0
mov edx, eax
inc edx
mov ecx, 0xff
mov eax, dword [ebp - 4]
call fcn.00404328
lea eax, [ebp - 0x14]
push eax
mov edx, dword [ebp - 4]
mov eax, 0x425cbc
call fcn.004043b0
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00404328
mov edx, 0x425cc8
mov eax, dword [ebp - 8]
call fcn.004110e4
test al, al
je 0x425b06
mov eax, dword [ebp - 0x14]
call fcn.004042c8
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
call fcn.004042c8
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0xc], eax
push 8
lea eax, [ebp - 0x10]
push eax
push 6
push 0
mov eax, dword [esi]
push eax
call sub.wsock32.dll_setsockopt
mov eax, dword [esi]
push eax
call sub.wsock32.dll_closesocket
xor eax, eax
mov dword [esi], eax
jmp 0x425c4f
cmp byte [0x4782dc], 0
je 0x425b7d
xor ebx, ebx
lea ecx, [ebp - 0x18]
mov dl, 0x7c
xor eax, eax
call fcn.004254a8
mov eax, dword [ebp - 0x18]
call fcn.004040d0
dec eax
jle 0x425c43
inc ebx
lea eax, [ebp - 8]
push eax
mov ecx, ebx
mov dl, 0x7c
mov eax, dword [ebp - 0x18]
call fcn.00425120
cmp dword [ebp - 8], 0
je 0x425c43
mov eax, dword [ebp - 0x14]
call fcn.004042c8
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
call fcn.004042c8
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0xc], eax
push 8
lea eax, [ebp - 0x10]
push eax
push 6
push 0
mov eax, dword [esi]
push eax
call sub.wsock32.dll_setsockopt
jmp 0x425b2c
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
push 0x400
lea eax, [ebp - 0x658]
push eax
push 0
push 0
push 0x4004747f
mov eax, dword [esi]
push eax
call sub.WS2_32.DLL_WSAIoctl_1
inc eax
je 0x425c43
mov eax, dword [ebp - 0x1c]
mov ecx, 0x4c
cdq
idiv ecx
mov edi, eax
dec edi
test edi, edi
jl 0x425c43
inc edi
lea ebx, [ebp - 0x658]
mov eax, dword [ebx]
and eax, 4
cmp eax, 4
je 0x425c3d
push dword [ebx + 8]
call sub.wsock32.dll_inet_ntoa
mov edx, eax
lea eax, [ebp - 0x65c]
call fcn.00403fec
mov eax, dword [ebp - 0x65c]
mov edx, 0x425cd8
call fcn.00404214
je 0x425c3d
push dword [ebx + 8]
call sub.wsock32.dll_inet_ntoa
mov edx, eax
lea eax, [ebp - 8]
call fcn.00403fec
mov eax, dword [ebp - 0x14]
call fcn.004042c8
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 8]
call fcn.004042c8
push eax
call sub.wsock32.dll_inet_addr
mov dword [ebp - 0xc], eax
push 8
lea eax, [ebp - 0x10]
push eax
push 6
push 0
mov eax, dword [esi]
push eax
call sub.wsock32.dll_setsockopt
add ebx, 0x4c
dec edi
jne 0x425bc6
mov eax, dword [esi]
push eax
call sub.wsock32.dll_closesocket
xor eax, eax
mov dword [esi], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x425c89
lea eax, [ebp - 0x65c]
call fcn.00403dfc
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00403e20
lea eax, [ebp - 8]
mov edx, 2
call fcn.00403e20
ret