Function at 0x42fb3a
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov dword [ebp - 0xe4], ecx
mov eax, dword [ebp - 0xe4]
cmp dword [eax + 0x9cdc], 0
je 0x42fb5d
jmp 0x42fe62
mov ecx, dword [ebp - 0xe4]
cmp dword [ecx + 0x9ce8], 0
jne 0x42fb71
jmp 0x42fe62
push 0
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x9ce0]
add ecx, 0x24
call fcn.0040410e
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 1]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp - 4]
mov al, byte [edx]
mov byte [ebp - 0xe8], al
cmp byte [ebp - 0xe8], 4
je 0x42fbc9
cmp byte [ebp - 0xe8], 5
je 0x42fcd9
cmp byte [ebp - 0xe8], 6
je 0x42fdd8
jmp 0x42fe62
mov byte [ebp - 0xdc], 5
mov ecx, dword [ebp - 4]
xor edx, edx
mov dl, byte [ecx + 9]
test edx, edx
jne 0x42fbf4
mov eax, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + 0xa]
test ecx, ecx
jne 0x42fbf4
mov dword [ebp - 0xec], 5
jmp 0x42fbfe
mov dword [ebp - 0xec], 0
mov dl, byte [ebp - 0xec]
mov byte [ebp - 0xdb], dl
mov byte [ebp - 0xda], 0
mov byte [ebp - 0xd9], 1
push 6
mov eax, dword [ebp - 4]
add eax, 5
push eax
lea ecx, [ebp - 0xd8]
push ecx
call fcn.004ac230
add esp, 0xc
mov edx, dword [ebp - 0xdb]
and edx, 0xff
test edx, edx
jne 0x42fc78
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + eax*4 + 0x98]
mov byte [edx + 0x32088], 2
mov eax, dword [ebp - 0xd0]
push eax
push 0x73e868
lea ecx, [ebp - 0xcc]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x42fc94
mov edx, dword [ebp - 0xd0]
push edx
push str._d_l
lea eax, [ebp - 0xcc]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0xa
lea ecx, [ebp - 0xdc]
push ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + edx*4 + 0x98]
push ecx
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x9ce8]
call fcn.00430260
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xe4]
call fcn.0042fe8b
jmp 0x42fe62
mov ecx, dword [ebp - 0xd0]
push ecx
push str._d_TOKEN_PROXY_CLOSE_r_n
lea edx, [ebp - 0xcc]
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xe4]
call fcn.0042fe8b
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + ecx*4 + 0x98]
cmp dword [eax], 0
je 0x42fdd3
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + ecx*4 + 0x98]
cmp dword [eax], 0xffffffff
je 0x42fdd3
mov word [ebp - 0xe0], 1
mov word [ebp - 0xde], 1
push 4
lea ecx, [ebp - 0xe0]
push ecx
push 0x80
push 0xffff
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + edx*4 + 0x98]
mov edx, dword [ecx]
push edx
call dword [sym.imp.WS2_32.dll_setsockopt]
push 1
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx + eax*4 + 0x98]
mov eax, dword [edx]
push eax
call dword [sym.imp.WS2_32.dll_shutdown]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + ecx*4 + 0x98]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax + edx*4 + 0x98]
mov dword [ecx], 0
jmp 0x42fe62
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x9ce0]
add ecx, 0x24
call fcn.00403d9c
sub eax, 5
push eax
mov eax, dword [ebp - 4]
add eax, 5
push eax
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xe4]
mov eax, dword [edx + ecx*4 + 0x98]
push eax
mov ecx, dword [ebp - 0xe4]
mov ecx, dword [ecx + 0x9ce8]
call fcn.00430260
mov edx, dword [ebp - 0xe4]
mov ecx, dword [edx + 0x9ce0]
add ecx, 0x24
call fcn.00403d9c
sub eax, 5
push eax
mov eax, dword [ebp - 0xd0]
push eax
push str._d__
lea ecx, [ebp - 0xcc]
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea edx, [ebp - 0xcc]
push edx
mov ecx, dword [ebp - 0xe4]
call fcn.0042fe8b
mov esp, ebp
pop ebp
ret