Function at 0x1800368e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x90
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
mov r15, rdx
mov ebx, dword [rdx]
mov r14, qword [rdx + 8]
xor esi, esi
mov qword [rsp + 0x20], rsi
mov qword [rax - 0x78], rsi
mov qword [rax - 0x70], 0xf
mov byte [rsp + 0x20], sil
cmp rbx, 0xf
ja 0x18003694a
mov qword [rax - 0x78], rbx
mov r8d, ebx
mov rdx, r14
lea rcx, [rsp + 0x20]
call fcn.18009fc20
mov byte [rsp + rbx + 0x20], sil
mov rdi, qword [rsp + 0x20]
jmp 0x1800369bf
mov rbp, rbx
or rbp, 0xf
mov eax, socket
cmp rbp, rax
cmovb rbp, rax
lea rcx, [rbp + 1]
cmp rcx, 0x1000
jb 0x180036996
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180036c9a
mov rcx, rax
call fcn.18009d1b8
test rax, rax
je 0x180036c94
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18003699e
call fcn.18009d1b8
mov rdi, rax
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rbp
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call fcn.18009fc20
mov byte [rdi + rbx], sil
mov qword [rsp + 0x20], rdi
cmp byte [0x18010a364], 0
je 0x180036a93
lea rbx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rbx, rdi
movdqa xmm6, xmmword [0x1800ec8d0]
movdqa xmm7, xmmword [0x1800ec730]
mov word [rsp + 0x60], 0xe327
mov rcx, qword gs:[0x58]
mov eax, dword [0x18010bb98]
mov edx, 4
mov rcx, qword [rcx + rax*8]
mov eax, dword [rdx + rcx]
cmp dword [0x18010d1f4], eax
jg 0x180036ca0
lea rdi, [0x180106580]
cmp byte [0x1801065a2], 0
je 0x180036a7b
mov r11d, 1
sub r11, rdi
movabs r8, 0xd993efbb19cfe32d
nop dword [rax]
lea rdx, [rsi + rdi]
movzx ecx, sil
and cl, 7
shl cl, 3
mov rax, r8
shr rax, cl
xor byte [rdx], al
lea ecx, [r11 + rdx]
and cl, 7
shl cl, 3
mov r9, r8
shr r9, cl
xor byte [rdx + 1], r9b
add rsi, 2
cmp rsi, 0x22
jb 0x180036a40
mov byte [0x1801065a2], 0
mov r9d, dword [r15]
mov r8, rbx
mov rdx, rdi
mov ecx, 5
call fcn.18006a848
mov rdi, qword [rsp + 0x20]
lea rsi, [rsp + 0x20]
mov r15, qword [rsp + 0x38]
cmp r15, 0x10
cmovae rsi, rdi
mov rbp, qword [rsp + 0x30]
cmp rbp, 8
jb 0x180036b0c
lea r14, [rsi + rbp]
lea r8, [r14 - 7]
sub r8, rsi
mov edx, 0x3c
mov rcx, rsi
call fcn.1800a06d0
mov rbx, rax
test rax, rax
je 0x180036b0c
mov r8d, 8
lea rdx, str._message
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x180036b6f
inc rbx
lea r8, [r14 - 7]
sub r8, rbx
mov edx, 0x3c
mov rcx, rbx
call fcn.1800a06d0
mov rbx, rax
test rax, rax
jne 0x180036ad0
xor bl, bl
cmp r15, 0x10
jb 0x180036b45
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180036b3d
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180036c94
mov rcx, rdi
call fcn.18009d1f4
movzx eax, bl
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [rsp + 0x70]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
sub rbx, rsi
jne 0x180036b0c
lea rsi, [rsp + 0x20]
cmp r15, 0x10
cmovae rsi, rdi
cmp rbp, 0xc
jb 0x180036b0c
lea r14, [rsi + rbp]
lea r8, [r14 - 0xb]
sub r8, rsi
lea edx, [rbx + 0x20]
mov rcx, rsi
call fcn.1800a06d0
mov rbx, rax
test rax, rax
je 0x180036b0c
nop dword [rax]
mov r8d, reloc.WS2_32.dll_inet_ntoa
lea rdx, str._type_chat_
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x180036bed
inc rbx
lea r8, [r14 - 0xb]
sub r8, rbx
mov edx, 0x20
mov rcx, rbx
call fcn.1800a06d0
mov rbx, rax
test rax, rax
jne 0x180036bb0
jmp 0x180036b0c
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
je 0x180036b0c
lea rsi, [rsp + 0x20]
cmp r15, 0x10
cmovae rsi, rdi
cmp rbp, 7
jb 0x180036b0c
lea r8, [rbp - 6]
add r8, rsi
sub r8, rsi
mov edx, 0x3e
mov rcx, rsi
call fcn.1800a06d0
mov rbx, rax
test rax, rax
je 0x180036b0c
nop dword [rax]
nop dword [rax + rax]
mov r8d, 7
lea rdx, str.__body_
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x180036c80
inc rbx
lea r8, [rbp - 6]
add r8, rsi
sub r8, rbx
mov edx, 0x3e
mov rcx, rbx
call fcn.1800a06d0
mov rbx, rax
test rax, rax
jne 0x180036c40
jmp 0x180036b0c
sub rbx, rsi
cmp rbx, 0xffffffffffffffff
je 0x180036b0c
mov bl, 1
jmp 0x180036b0e
call fcn.1800a45b8
int3
call fcn.180001df0
nop
lea rcx, [0x18010d1f4]
call fcn.18009d704
cmp dword [0x18010d1f4], 0xffffffff
jne 0x180036a19
mov byte [0x1801065a2], 1
movaps xmmword [0x180106580], xmm6
movaps xmmword [0x180106590], xmm7
movzx eax, word [rsp + 0x60]
mov word [0x1801065a0], ax
lea rcx, [0x1800ce4b0]
call fcn.18009d564
lea rcx, [0x18010d1f4]
call fcn.18009d6a4
jmp 0x180036a19