Function at 0x5fd8d358
Capabilities:
Set socket configuration

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x14
and dword [esp + 0xc], 0
push ebx
push esi
push edi
mov ebx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], 1
mov esi, dword [0x5fde9010]
cmp esi, 0x5fde9010
je 0x5fd8d391
test byte [esi + 0x1c], 8
jne 0x5fdb5f62
push dword [ebp + 0x10]
lea eax, [ebx - 1]
neg eax
push 0
sbb eax, eax
and eax, 0xb
push 0
add eax, 6
push eax
push ebx
push ecx
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov edi, eax
cmp edi, 0xffffffff
je 0x5fdb5f88
push 4
lea eax, [esp + 0x20]
push eax
push 0x3005
push 0xffff
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x5fdc2aba
and dword [ebp + 0x14], 1
je 0x5fd8d400
and dword [esp + 0x18], 0
lea eax, [esp + 0x18]
push 4
push eax
push 0x1b
push 0x29
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x5fdc2afa
push dword [ebp + 0xc]
mov edx, dword [esp + 0x14]
mov ecx, edi
push dword [ebp + 8]
call fcn.5fd8d49f
mov esi, eax
test esi, esi
jne 0x5fdb6012
mov esi, dword [esp + 0x10]
cmp ebx, 2
jne 0x5fd8d479
push 4
lea eax, [esi - 2]
mov dword [esp + 0x18], 1
neg eax
lea ecx, [esp + 0x18]
push ecx
sbb eax, eax
push 0x13
and eax, 0x29
push eax
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x5fdc2b1b
cmp dword [ebp + 0x14], 0
je 0x5fd8d479
push 4
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 1
push eax
push 0x13
push 0
push edi
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x5fdc2b67
mov eax, dword [0x5fde9010]
cmp eax, 0x5fde9010
je 0x5fd8d48f
test byte [eax + 0x1c], 8
jne 0x5fdc2b8c
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
push dword [ebp + 0x10]
movzx eax, ax
push eax
push dword [ebp + 8]
push ebx
push ecx
push dword [esi + 0x14]
push dword [esi + 0x10]
call fcn.5fdce5dd
mov ecx, dword [esp + 0x10]
jmp 0x5fd8d391
xor edi, edi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov ecx, dword [0x5fde9010]
cmp ecx, 0x5fde9010
je 0x5fdb5fc1
test byte [ecx + 0x1c], 8
je 0x5fdb5fc1
push esi
push ebx
push dword [ecx + 0x14]
mov edx, 0x5fd9fd68
push dword [ecx + 0x10]
push 0x14
pop ecx
call fcn.5fdc81e7
mov ecx, dword [0x5fde9010]
cmp esi, 0x276d
jne 0x5fdc2a5b
cmp dword [esp + 0x18], edi
jne 0x5fdc2a5b
cmp ecx, 0x5fde9010
je 0x5fdb5ff9
test byte [ecx + 0x1c], 8
je 0x5fdb5ff9
push ebx
push dword [ecx + 0x14]
mov edx, 0x5fd9fd68
push dword [ecx + 0x10]
push 0x15
pop ecx
call fcn.5fdc7d09
push 0
mov dword [esp + 0x1c], 1
call sym.DNSAPI.dll_Socket_InitWinsock
mov esi, eax
test esi, esi
je 0x5fdb5f7f
mov ecx, dword [0x5fde9010]
jmp 0x5fdc2a5b
cmp ecx, 0x5fde9010
je 0x5fdc2a98
test byte [ecx + 0x1c], 8
je 0x5fdc2a98
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_ntohs]
mov ecx, dword [ebp + 8]
movzx eax, ax
push eax
call fcn.5fdd4c5b
push eax
mov eax, dword [0x5fde9010]
push ebx
push dword [esp + 0x1c]
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1c
pop ecx
call fcn.5fdce575
test edi, edi
je 0x5fdc2aa3
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
test esi, esi
jne 0x5fdc2aac
mov esi, 0x267b
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_SetLastError]
xor eax, eax
jmp 0x5fd8d491
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov ecx, dword [0x5fde9010]
cmp ecx, 0x5fde9010
je 0x5fdc2a98
test byte [ecx + 0x1c], 8
je 0x5fdc2a5b
push esi
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x16
jmp 0x5fdc2aea
push esi
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x17
mov edx, 0x5fd9fd68
pop ecx
call fcn.5fdc7d09
jmp 0x5fdb6012
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov ecx, dword [0x5fde9010]
cmp ecx, 0x5fde9010
je 0x5fdc2a98
test byte [ecx + 0x1c], 8
jne 0x5fdc2ae1
jmp 0x5fdc2a5b
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov ecx, dword [0x5fde9010]
cmp ecx, 0x5fde9010
je 0x5fdc2a98
test byte [ecx + 0x1c], 8
je 0x5fdc2a5b
push esi
push 2
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x19
jmp 0x5fdc2b57
push esi
push 2
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x1a
mov edx, 0x5fd9fd68
pop ecx
call fcn.5fdc81e7
jmp 0x5fdb6012
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_1.dll_GetLastError]
mov esi, eax
mov ecx, dword [0x5fde9010]
cmp ecx, 0x5fde9010
je 0x5fdc2a98
test byte [ecx + 0x1c], 8
jne 0x5fdc2b4c
jmp 0x5fdc2a5b
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_ntohs]
mov ecx, dword [ebp + 8]
movzx eax, ax
push eax
call fcn.5fdd4c5b
push eax
mov eax, dword [0x5fde9010]
push ebx
push esi
push edi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1b
pop ecx
call fcn.5fdce575
jmp 0x5fd8d48f