Function at 0x1800105b0
Capabilities:
Set socket configuration

Disassembly:
push rbx
sub rsp, 0x40
cmp qword [rcx + 0x110], 0
mov rbx, rcx
mov dword [rsp + 0x50], 1
jne 0x180010606
mov rcx, qword [rcx + 0x10]
movzx ecx, word [rcx + 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 0x180010606
mov dword [rbx + 0xdc], 0x64
jmp 0x1800108b0
cmp dword [rbx + 0x1bc], 0
mov qword [rsp + 0x30], rdi
jne 0x180010630
mov rax, qword [rbx + 0x10]
mov word [rax + 0x118], 0x300
mov dword [rbx + 0xdc], 0x64
jmp 0x1800108ab
mov rax, qword [rbx + 0x138]
test rax, rax
jne 0x18001065c
mov ecx, 0x4000
call fcn.18002b67c
mov qword [rbx + 0x138], rax
test rax, rax
je 0x1800106b1
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 0x1800106cd
mov rax, qword [rbx + 0x10]
mov word [rax + 0x118], 0x300
mov dword [rbx + 0xdc], 0xd6
jmp 0x1800108a6
mov rax, qword [rbx + 0x10]
mov word [rax + 0x118], 0x300
mov dword [rbx + 0xdc], reloc.WS2_32.dll_setsockopt
jmp 0x1800108ab
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 0x1800106fd
mov dword [rbx + 0xdc], 0x332
jmp 0x1800108a6
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 [0x180064870]
test eax, eax
je 0x180010734
mov dword [rbx + 0xdc], 0x334
jmp 0x1800108a1
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 [0x180064860]
test eax, eax
je 0x18001077d
mov dword [rbx + 0xdc], reloc.WS2_32.dll_setsockopt
jmp 0x1800108a1
mov rcx, qword [rbx + 0x70]
lea rdx, [rbx + 0x198]
mov r8d, reloc.WS2_32.dll_recv
call qword [0x180064840]
test eax, eax
je 0x1800107a7
mov dword [rbx + 0xdc], 0x336
jmp 0x1800108a1
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 0x1800107ea
mov dword [rbx + 0xdc], select
jmp 0x1800108a1
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbx + 0x198]
mov rcx, rax
call qword [0x180064840]
test eax, eax
je 0x180010813
mov dword [rbx + 0xdc], select
jmp 0x1800108a1
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 0x180010851
mov dword [rbx + 0xdc], eax
jmp 0x1800108a1
mov rax, qword [rbx + 0x10]
mov edi, 0x300
cmp dword [rax + 0x58], ebp
je 0x180010866
mov word [rax + 0x118], di
mov rax, qword [rbx + 0x10]
mov edx, listen
mov rcx, rbx
cmp dword [rax + 0x58], ebp
lea rax, sym.ProxyProtocol.dll_conf
cmovne rdx, rsi
xor r8d, r8d
mov edx, dword [rdx + rax]
call sym.ProxyProtocol.dll_sockmap
mov dword [rbx + 0xdc], eax
mov rax, qword [rbx + 0x10]
cmp dword [rax + 0x58], ebp
jne 0x1800108a1
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