Function at 0x1005cd30
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10297f1d
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x10343c80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebp + 0x1c]
cmp dword [eax], 0xffffffff
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0x18]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x2c], ecx
je 0x1005cde5
mov ecx, dword [0x10344780]
mov eax, dword [0x10344784]
cmp ecx, 0x257edfd1
jne 0x1005cd98
cmp eax, 0xb2ab117a
je 0x1005cda7
cmp ecx, 0x257edfd0
jne 0x1005cdab
cmp eax, 0xb2ab117a
jne 0x1005cdab
mov al, 1
jmp 0x1005cdbc
mov eax, dword [0x10344778]
mov ecx, 0x10344778
push 1
mov eax, dword [eax + 0x18]
call eax
mov dword [esi], 1
mov dword [esi + 4], 0x10344778
movzx ecx, al
add ecx, 2
mov dword [esi + 8], ecx
movq xmm0, qword [esi]
movq qword [edi], xmm0
mov ecx, dword [esi + 8]
mov dword [edi + 8], ecx
jmp 0x1005cf72
push 1
push 0
push 0
push ebx
push ecx
push edx
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov ebx, eax
mov ecx, esi
cmp ebx, 0xffffffff
sete dl
call fcn.10059870
cmp ebx, 0xffffffff
jne 0x1005ce0c
or ebx, ebx
jmp 0x1005ce2a
cmp dword [ebp - 0x14], 0x17
jne 0x1005ce2a
push 4
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push eax
push 0x1b
push 0x29
push ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
mov dword [ebp - 4], 0
cmp ebx, 0xffffffff
jne 0x1005ce46
movq xmm0, qword [esi]
movq qword [edi], xmm0
mov eax, dword [esi + 8]
jmp 0x1005cf6f
mov eax, dword [ebp - 0x28]
push 0
push 0
mov eax, dword [eax + 4]
push dword [eax + 0x14]
push ebx
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test eax, eax
jne 0x1005cec3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [0x103447d0]
mov ecx, dword [0x103447d4]
mov dword [ebp - 0x28], eax
cmp edx, 0x257edfd1
jne 0x1005ce83
cmp ecx, 0xb2ab117a
je 0x1005ce93
cmp edx, 0x257edfd0
jne 0x1005ce9a
cmp ecx, 0xb2ab117a
jne 0x1005ce9a
test eax, eax
setne cl
jmp 0x1005ceaf
push eax
mov eax, dword [0x103447c8]
mov ecx, 0x103447c8
mov eax, dword [eax + 0x18]
call eax
mov cl, al
mov eax, dword [ebp - 0x28]
mov dword [esi], eax
movzx eax, cl
add eax, 2
mov dword [esi + 4], 0x103447c8
mov dword [esi + 8], eax
jmp 0x1005ced1
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
movq xmm0, qword [esi]
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], eax
test al, 1
je 0x1005cf2a
cmp eax, 1
jne 0x1005cef4
cmp dword [ebp - 0x20], 0
setne al
test al, al
je 0x1005cf2a
movq xmm0, qword [esi]
lea edx, [ebp - 0x21]
movq qword [edi], xmm0
mov ecx, ebx
mov eax, dword [esi + 8]
xorps xmm0, xmm0
mov dword [edi + 8], eax
lea eax, [ebp - 0x20]
push eax
push 1
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x21], 0
call fcn.100598f0
add esp, 8
jmp 0x1005cf72
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], 0xffffffff
mov dword [eax], ebx
sub ecx, 1
je 0x1005cf4f
sub ecx, 1
je 0x1005cf49
mov byte [eax + 4], 0
jmp 0x1005cf53
mov byte [eax + 4], 0x20
jmp 0x1005cf53
mov byte [eax + 4], 0x10
push dword [ebp - 0x2c]
push ecx
lea ecx, [eax + 8]
call fcn.100658a0
xorps xmm0, xmm0
xor eax, eax
movq qword [esi], xmm0
mov dword [esi + 8], eax
movq qword [edi], xmm0
mov dword [edi + 8], eax
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1026af9a
mov esp, ebp
pop ebp
ret 0x18