Function at 0x180010170
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x40
cmp qword [rcx + 0x110], 0
mov rbx, rcx
mov dword [rsp + 0x50], 1
jne 0x1800101c6
mov rax, qword [rcx + 0x10]
movzx ecx, word [rax + 0x170]
call qword [sym.imp.WS2_32.dll_ntohs]
mov rcx, qword [rbx + 0x10]
mov rdx, rbx
movzx r8d, ax
mov rcx, qword [rcx + 0x128]
call sym.ProxyProtocol.dll_parsehostname
test eax, eax
je 0x1800101c6
mov dword [rbx + 0xdc], 0x64
jmp 0x18001047a
cmp dword [rbx + 0x1bc], 0
mov qword [rsp + 0x30], rdi
jne 0x1800101f3
mov rax, qword [rbx + 0x10]
mov edi, 0x300
mov word [rax + 0x118], di
mov dword [rbx + 0xdc], 0x64
jmp 0x180010475
mov rax, qword [rbx + 0x138]
test rax, rax
jne 0x18001021f
mov ecx, 0x4000
call fcn.18002b164
mov qword [rbx + 0x138], rax
test rax, rax
je 0x180010277
mov dword [rbx + 0x158], 0x4000
mov rcx, qword [rbx + 0x10]
lea rdx, [rbx + 0x188]
mov r9d, dword [rbx + 0x158]
mov r8, rax
mov qword [rsp + 0x60], rbp
xor ebp, ebp
mov dword [rbx + 0x150], ebp
mov dword [rbx + 0x148], ebp
mov rcx, qword [rcx + 0x38]
mov dword [rsp + 0x20], ebp
call sym.ProxyProtocol.dll_sockrecvfrom
test eax, eax
jg 0x180010296
mov rax, qword [rbx + 0x10]
mov edi, 0x300
mov word [rax + 0x118], di
mov dword [rbx + 0xdc], 0xd6
jmp 0x180010470
mov rax, qword [rbx + 0x10]
mov edi, 0x300
mov word [rax + 0x118], di
mov dword [rbx + 0xdc], reloc.WS2_32.dll_setsockopt
jmp 0x180010475
mov edx, 2
mov dword [rbx + 0x148], eax
mov ecx, edx
lea r8d, [rdx + 0xf]
call qword [sym.ProxyProtocol.dll_so]
mov qword [rbx + 0x70], rax
cmp rax, 0xffffffffffffffff
jne 0x1800102c6
mov dword [rbx + 0xdc], 0x332
jmp 0x180010470
mov qword [rsp + 0x38], rsi
lea r9, [rsp + 0x50]
mov esi, 4
mov edx, 0xffff
mov r8d, esi
mov dword [rsp + 0x20], esi
mov rcx, rax
call qword [0x180064a40]
test eax, eax
je 0x1800102fd
mov dword [rbx + 0xdc], 0x334
jmp 0x18001046b
mov rcx, qword [rbx + 0x70]
lea r8, [rsp + 0x50]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, qword [rbx + 0x10]
lea r8, [rsp + 0x58]
mov dword [rsp + 0x58], reloc.WS2_32.dll_recv
lea rdx, [rbx + 0x198]
mov rcx, qword [rcx + 0x38]
call qword [0x180064a30]
test eax, eax
je 0x180010346
mov dword [rbx + 0xdc], reloc.WS2_32.dll_setsockopt
jmp 0x18001046b
mov rcx, qword [rbx + 0x70]
lea rdx, [rbx + 0x198]
mov r8d, reloc.WS2_32.dll_recv
call qword [0x180064a10]
test eax, eax
je 0x180010370
mov dword [rbx + 0xdc], 0x336
jmp 0x18001046b
mov rax, qword [rbx + 0x10]
mov edx, 2
mov ecx, edx
movups xmm0, xmmword [rax + 0xc8]
lea r8d, [rdx + 0xf]
movups xmmword [rbx + 0x198], xmm0
mov word [rbx + 0x19a], bp
call qword [sym.ProxyProtocol.dll_so]
mov qword [rbx + 0x78], rax
cmp rax, 0xffffffffffffffff
jne 0x1800103b3
mov dword [rbx + 0xdc], select
jmp 0x18001046b
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbx + 0x198]
mov rcx, rax
call qword [0x180064a10]
test eax, eax
je 0x1800103dd
mov ecx, listen
mov dword [rbx + 0xdc], ecx
jmp 0x18001046b
mov rcx, qword [rbx + 0x78]
lea r8, [rsp + 0x50]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
movups xmm0, xmmword [rbx + 0x1b8]
mov rax, qword [rbx + 0x10]
mov rcx, rbx
mov dword [rbx + 0xb4], esi
movups xmmword [rbx + 0x1a8], xmm0
call qword [rax + 0x28]
test eax, eax
je 0x18001041b
mov dword [rbx + 0xdc], eax
jmp 0x18001046b
mov rax, qword [rbx + 0x10]
mov edi, 0x300
cmp dword [rax + 0x58], ebp
je 0x180010430
mov word [rax + 0x118], di
mov rax, qword [rbx + 0x10]
mov ecx, listen
cmp dword [rax + 0x58], ebp
lea rax, sym.ProxyProtocol.dll_conf
cmovne rcx, rsi
xor r8d, r8d
mov edx, dword [rcx + rax]
mov rcx, rbx
call sym.ProxyProtocol.dll_sockmap
mov dword [rbx + 0xdc], eax
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x58], ebp
jne 0x18001046b
mov word [rax + 0x118], di
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x30]
xor edx, edx
mov rcx, rbx
call sym.ProxyProtocol.dll_dolog
mov rcx, rbx
call sym.ProxyProtocol.dll_freeparam
xor eax, eax
add rsp, 0x40
pop rbx
ret