Function at 0x48e2f0
Capabilities:
Set socket configuration

Disassembly:
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, dword [esp + 0x3c]
mov ebx, ecx
push edi
mov eax, dword [esi]
cmp eax, 0xffffffff
je 0x48e335
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], 0
push ecx
push 1
lea ecx, [esp + 0x1b]
mov byte [esp + 0x1b], 0
push ecx
xorps xmm0, xmm0
push eax
movq qword [esp + 0x30], xmm0
call fcn.00478480
add esp, 0x10
mov dword [esi], 0xffffffff
mov eax, dword [ebx + 4]
add eax, 0x18
lock inc dword [eax]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x5c]
test ebp, ebp
je 0x48e366
xor eax, eax
lock xadd dword [ebp], eax
cmp eax, 1
jne 0x48e366
mov ecx, dword [ebx + 4]
push 0
push 0x3e3
push edi
call fcn.0047cd40
lea eax, [esp + 0x20]
mov dword [esp + 0x28], 0
push eax
push dword [esp + 0x50]
xorps xmm0, xmm0
push dword [esp + 0x50]
movq qword [esp + 0x2c], xmm0
push dword [esp + 0x50]
call fcn.00480bd0
mov ecx, eax
add esp, 0x10
mov eax, dword [esi]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], eax
cmp eax, 0xffffffff
je 0x48e516
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x48e512
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 0x7f5028
push eax
lea ecx, [esp + 0x34]
call fcn.0044c740
mov esi, dword [0x7f5034]
movq xmm0, qword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x1c], eax
mov eax, dword [0x7f5030]
movq qword [esp + 0x14], xmm0
cmp eax, 0x257edfd1
jne 0x48e3f4
cmp esi, 0xb2ab117a
je 0x48e403
cmp eax, 0x257edfd0
jne 0x48e407
cmp esi, 0xb2ab117a
jne 0x48e407
mov al, 1
jmp 0x48e421
mov eax, dword [0x7f5028]
mov ecx, 0x7f5028
push 0x2733
mov eax, dword [eax + 0x18]
call eax
mov esi, dword [0x7f5034]
movzx eax, al
add eax, 2
mov dword [esp + 0x2c], 0x2733
mov dword [esp + 0x34], eax
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x34], 0x7f5028
lea eax, [esp + 0x18]
movq xmm0, qword [esp + 0x30]
push eax
movq qword [esp + 0x34], xmm0
call fcn.0046a970
add esp, 8
test al, al
jne 0x48e4d4
mov eax, dword [0x7f5030]
cmp eax, 0x257edfd1
jne 0x48e471
cmp esi, 0xb2ab117a
je 0x48e480
cmp eax, 0x257edfd0
jne 0x48e484
cmp esi, 0xb2ab117a
jne 0x48e484
mov al, 1
jmp 0x48e498
mov eax, dword [0x7f5028]
mov ecx, 0x7f5028
push 0x4d5
mov eax, dword [eax + 0x18]
call eax
movzx eax, al
add eax, 2
mov dword [esp + 0x2c], 0x4d5
mov dword [esp + 0x34], eax
lea eax, [esp + 0x2c]
push eax
mov dword [esp + 0x34], 0x7f5028
lea eax, [esp + 0x18]
movq xmm0, qword [esp + 0x30]
push eax
movq qword [esp + 0x34], xmm0
call fcn.0046a970
add esp, 8
test al, al
je 0x48e50e
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0x5c]
push eax
push 0x8004667e
push esi
mov dword [esp + 0x68], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
setne al
movzx eax, al
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0047ba10
add esp, 8
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
mov dword [esi], ecx
cmp ecx, 0xffffffff
jne 0x48e537
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x20]
push 0
push eax
push edi
call fcn.0048e0a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0x24
push edi
lea eax, [esp + 0x44]
mov dword [esp + 0x44], 0
push eax
mov eax, dword [esp + 0x5c]
push eax
push eax
push 0
push dword [esp + 0x64]
push ecx
push dword [esp + 0x58]
call sub.MSWSOCK.dll_AcceptEx
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
test esi, esi
jne 0x48e583
cmp eax, 0x3e5
je 0x48e583
mov ecx, dword [ebx + 4]
push esi
push eax
push edi
call fcn.0047cd40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0x24
test ebp, ebp
je 0x48e59e
xor eax, eax
lock xadd dword [ebp], eax
cmp eax, 1
jne 0x48e59e
push edi
push dword [esp + 0x40]
call dword [sym.imp.KERNEL32.dll_CancelIoEx]
mov ecx, dword [ebx + 4]
push edi
call fcn.0047ce70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 0x24