Function at 0x1801b07c0
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x1801b0a77
push rbx
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0x68
call fcn.180227e80
sub rsp, rax
mov rax, qword [0x18032d860]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov r15, qword [rsp + 0xc0]
mov r12, r9
mov r13, qword [rsp + 0xc8]
mov rdi, r8
mov qword [rsp + 0xb0], rbp
mov rbx, rdx
mov qword [rsp + 0x60], r14
mov rsi, rcx
cmp rcx, rdx
je 0x1801b087a
mov r14, r15
cmp r8, 0x10
jb 0x1801b08db
mov rbp, r8
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, rax
nop word [rax + rax]
mov r8, r12
mov rdx, rbx
mov rcx, rsi
call r13
mov rax, qword [r14]
xor qword [rbx], rax
mov rax, qword [r14 + 8]
mov r14, rsi
xor qword [rbx + 8], rax
add rsi, 0x10
add rbx, 0x10
sub rbp, 1
jne 0x1801b0840
cmp r15, r14
je 0x1801b08d2
movups xmm0, xmmword [r14]
movups xmmword [r15], xmm0
jmp 0x1801b08d2
cmp rdi, 0x10
jb 0x1801b08db
mov rbp, rdi
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, rax
nop
mov r8, r12
lea rdx, [rsp + 0x48]
mov rcx, rsi
call r13
mov rcx, qword [rsi]
mov rax, qword [rsp + 0x48]
xor rax, qword [r15]
mov qword [rbx], rax
mov rax, qword [rsp + 0x50]
xor rax, qword [r15 + 8]
mov qword [r15], rcx
mov rcx, qword [rsi + 8]
add rsi, 0x10
mov qword [rbx + 8], rax
add rbx, 0x10
mov qword [r15 + 8], rcx
sub rbp, 1
jne 0x1801b0890
test rdi, rdi
je 0x1801b0a50
lea rax, [rsp + 0x48]
mov r14, rsi
sub rax, r15
lea rbp, [rsp + 0x4a]
mov qword [rsp + 0x28], rax
sub r14, r15
dec rax
sub rbp, r15
mov qword [rsp + 0x20], rax
add r14, 2
mov eax, 1
sub rbx, r15
sub rax, r15
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x49]
sub rax, r15
mov qword [rsp + 0x38], rax
mov eax, 2
sub rax, r15
mov qword [rsp + 0x40], rax
add rbx, 2
mov r8, r12
lea rdx, [rsp + 0x48]
mov rcx, rsi
call r13
mov r10, rsi
lea rcx, [r15 - 2]
sub r10, rcx
lea rax, [r15 + 1]
xor r9d, r9d
sub r10, rbx
cmp r9, rdi
jae 0x1801b0a06
mov rcx, qword [rsp + 0x20]
movzx edx, byte [r14 + rax - 3]
movzx ecx, byte [rcx + rax]
xor cl, byte [rax - 1]
mov byte [rbx + rax - 3], cl
mov rcx, rax
sub rcx, r15
mov byte [rax - 1], dl
cmp rcx, rdi
jae 0x1801b0a03
mov rcx, qword [rsp + 0x28]
lea rdx, [rbx + rax]
movzx r8d, byte [rdx + r10 - 2]
movzx ecx, byte [rcx + rax]
xor cl, byte [rax]
mov byte [rdx - 2], cl
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov byte [rax], r8b
cmp rcx, rdi
jae 0x1801b09fd
mov rcx, qword [rsp + 0x38]
movzx edx, byte [r14 + rax - 1]
movzx ecx, byte [rcx + rax]
xor cl, byte [rax + 1]
mov byte [rbx + rax - 1], cl
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov byte [rax + 1], dl
cmp rcx, rdi
jae 0x1801b09f7
movzx edx, byte [r14 + rax]
add r9, 4
movzx ecx, byte [rax + rbp]
xor cl, byte [rax + 2]
mov byte [rbx + rax], cl
mov byte [rax + 2], dl
add rax, 4
cmp r9, 0x10
jb 0x1801b0952
jmp 0x1801b0a06
add r9, 3
jmp 0x1801b0a06
add r9, 2
jmp 0x1801b0a06
inc r9
cmp rdi, 0x10
jbe 0x1801b0a24
add rsi, 0x10
add r14, 0x10
add rbx, 0x10
sub rdi, 0x10
jne 0x1801b0930
jmp 0x1801b0a50
cmp r9, 0x10
jae 0x1801b0a50
sub rsi, r15
lea rcx, [r15 + r9]
mov edx, reloc.WS2_32.dll_recv
sub rdx, r9
nop dword [rax]
movzx eax, byte [rcx + rsi]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1801b0a40
mov rbp, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.180227e50
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret