Function at 0x1800107e0
Capabilities:
Set socket configuration

Disassembly:
push rbx
push rdi
sub rsp, 0x38
cmp qword [rcx + 0x110], 0
mov rbx, rcx
mov dword [rsp + 0x50], 1
jne 0x180010828
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
jne 0x18001083e
cmp dword [rbx + 0x1bc], 0
jne 0x18001084d
mov rax, qword [rbx + 0x10]
mov word [rax + 0x118], 0x300
mov dword [rbx + 0xdc], 0x64
jmp 0x180010adc
mov rax, qword [rbx + 0x138]
mov qword [rsp + 0x68], rsi
test rax, rax
jne 0x18001087e
mov ecx, 0x4000
call fcn.18002bc34
mov qword [rbx + 0x138], rax
test rax, rax
je 0x1800108db
mov dword [rbx + 0x158], 0x4000
mov rcx, qword [rbx + 0x10]
lea rdx, [rbx + 0x188]
mov r9d, dword [rbx + 0x158]
lea rsi, [rbx + 0x10]
mov qword [rsp + 0x30], r14
mov r8, rax
xor r14d, r14d
mov dword [rbx + 0x150], r14d
mov dword [rbx + 0x148], r14d
mov rcx, qword [rcx + 0x38]
mov dword [rsp + 0x20], r14d
call sym.ProxyProtocol.dll_sockrecvfrom
test eax, eax
jg 0x1800108f7
mov rax, qword [rbx + 0x10]
mov word [rax + 0x118], 0x300
mov dword [rbx + 0xdc], 0xd6
jmp 0x180010ad2
mov rax, qword [rbx + 0x10]
mov word [rax + 0x118], 0x300
mov dword [rbx + 0xdc], reloc.WS2_32.dll_setsockopt
jmp 0x180010ad7
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 0x180010927
mov dword [rbx + 0xdc], 0x332
jmp 0x180010ad2
mov qword [rsp + 0x60], rbp
lea r9, [rsp + 0x50]
mov ebp, 4
mov edx, 0xffff
mov r8d, ebp
mov dword [rsp + 0x20], ebp
mov rcx, rax
call qword [0x180065870]
test eax, eax
je 0x18001095e
mov dword [rbx + 0xdc], 0x334
jmp 0x180010acd
mov rcx, qword [rbx + 0x70]
lea r8, [rsp + 0x50]
mov edx, 0x8004667e
call qword [sym.imp.WS2_32.dll_ioctlsocket]
mov rcx, qword [rsi]
lea r8, [rsp + 0x58]
mov dword [rsp + 0x58], reloc.WS2_32.dll_recv
lea rdx, [rbx + 0x198]
mov rcx, qword [rcx + 0x38]
call qword [0x180065860]
test eax, eax
je 0x1800109a6
mov dword [rbx + 0xdc], reloc.WS2_32.dll_setsockopt
jmp 0x180010acd
mov rcx, qword [rbx + 0x70]
lea rdx, [rbx + 0x198]
mov r8d, reloc.WS2_32.dll_recv
call qword [0x180065840]
test eax, eax
je 0x1800109d0
mov dword [rbx + 0xdc], 0x336
jmp 0x180010acd
mov rax, qword [rsi]
mov edx, 2
mov ecx, edx
movups xmm0, xmmword [rax + 0xc8]
lea r8d, [rdx + 0xf]
movups xmmword [rbx + 0x198], xmm0
mov word [rbx + 0x19a], r14w
call qword [sym.ProxyProtocol.dll_so]
mov qword [rbx + 0x78], rax
cmp rax, 0xffffffffffffffff
jne 0x180010a13
mov dword [rbx + 0xdc], select
jmp 0x180010acd
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbx + 0x198]
mov rcx, rax
call qword [0x180065840]
test eax, eax
je 0x180010a3c
mov dword [rbx + 0xdc], select
jmp 0x180010acd
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], ebp
movups xmmword [rbx + 0x1a8], xmm0
call qword [rax + 0x28]
test eax, eax
je 0x180010a7a
mov dword [rbx + 0xdc], eax
jmp 0x180010acd
mov rax, qword [rbx + 0x10]
mov edi, 0x300
cmp dword [rax + 0x58], r14d
je 0x180010a90
mov word [rax + 0x118], di
mov rax, qword [rbx + 0x10]
mov edx, listen
mov rcx, rbx
cmp dword [rax + 0x58], r14d
lea rax, sym.ProxyProtocol.dll_conf
cmovne rdx, rbp
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], r14d
jne 0x180010acd
mov word [rax + 0x118], di
mov rbp, qword [rsp + 0x60]
mov r14, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x68]
xor edx, edx
mov rcx, rbx
call sym.ProxyProtocol.dll_dolog
mov rcx, rbx
call sym.ProxyProtocol.dll_freeparam
xor eax, eax
add rsp, 0x38
pop rdi
pop rbx
ret