Function at 0x41f8e0
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x9ce0], 0
jne 0x41f900
jmp 0x41fb80
push 0
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x9cd8]
add ecx, 0x24
call fcn.00403930
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
mov eax, dword [edx + 1]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 8]
mov dl, byte [ecx]
mov byte [ebp - 0xe8], dl
cmp byte [ebp - 0xe8], 0x84
je 0x41f952
cmp byte [ebp - 0xe8], 0x86
je 0x41fa4d
cmp byte [ebp - 0xe8], 0x87
je 0x41fb05
jmp 0x41fb80
mov byte [ebp - 0xe0], 5
mov eax, dword [ebp - 8]
xor ecx, ecx
mov cl, byte [eax + 9]
test ecx, ecx
jne 0x41f97d
mov edx, dword [ebp - 8]
xor eax, eax
mov al, byte [edx + 0xa]
test eax, eax
jne 0x41f97d
mov dword [ebp - 0xec], 5
jmp 0x41f987
mov dword [ebp - 0xec], 0
mov cl, byte [ebp - 0xec]
mov byte [ebp - 0xdf], cl
mov byte [ebp - 0xde], 0
mov byte [ebp - 0xdd], 1
push 6
mov edx, dword [ebp - 8]
add edx, 5
push edx
lea eax, [ebp - 0xdc]
push eax
call fcn.0047ff00
add esp, 0xc
mov ecx, dword [ebp - 0xdf]
and ecx, 0xff
test ecx, ecx
jne 0x41f9f5
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx*4 + 0x5c]
mov byte [ecx + 0x190b4], 2
mov edx, dword [ebp - 0xc]
push edx
push str._d_l
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x41fa0e
mov ecx, dword [ebp - 0xc]
push ecx
push 0x6509ec
lea edx, [ebp - 0xd4]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0xa
lea eax, [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx*4 + 0x5c]
push eax
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x9ce0]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x9ce0]
mov edx, dword [eax]
call dword [edx + 8]
lea eax, [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 4]
call fcn.0041f3b0
jmp 0x41fb80
mov ecx, dword [ebp - 0xc]
push ecx
push str._d_TOKEN_PROXY_CLOSE_r_n
lea edx, [ebp - 0xd4]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 4]
call fcn.0041f3b0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx*4 + 0x5c]
cmp dword [eax], 0
je 0x41fb03
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx*4 + 0x5c]
cmp dword [eax], 0xffffffff
je 0x41fb03
mov word [ebp - 0xe4], 1
mov word [ebp - 0xe2], 1
push 4
lea ecx, [ebp - 0xe4]
push ecx
push 0x80
push 0xffff
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx*4 + 0x5c]
mov edx, dword [ecx]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
push 1
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + eax*4 + 0x5c]
mov eax, dword [edx]
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx*4 + 0x5c]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + edx*4 + 0x5c]
mov dword [ecx], 0
jmp 0x41fb80
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x9cd8]
add ecx, 0x24
call fcn.00403700
sub eax, 5
push eax
mov eax, dword [ebp - 8]
add eax, 5
push eax
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov eax, dword [edx + ecx*4 + 0x5c]
push eax
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx + 0x9ce0]
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x9ce0]
mov edx, dword [eax]
call dword [edx + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x9cd8]
add ecx, 0x24
call fcn.00403700
sub eax, 5
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push 0x6509c0
lea edx, [ebp - 0xd4]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0xd4]
push eax
mov ecx, dword [ebp - 4]
call fcn.0041f3b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret