Function at 0x140191159
Capabilities:
Encode data using xor

Disassembly:
test r8, r8
je 0x1401913f7
push rbx
push rsi
push rdi
push r12
push r13
push r15
mov eax, 0x68
call fcn.1401f4630
sub rsp, rax
mov rax, qword [0x1402defb8]
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 0x1401911f8
mov r14, r15
cmp r8, 0x10
jb 0x1401911ee
mov rbp, r8
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, 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 0x1401911c3
movups xmm0, xmmword [r14]
movups xmmword [r15], xmm0
jmp 0x140191252
cmp rdi, 0x10
jb 0x14019125b
mov rbp, rdi
shr rbp, 4
imul rax, rbp, 0xfffffffffffffff0
add rdi, rax
nop dword [rax]
mov r8, r12
lea rdx, [rsp + 0x48]
mov rcx, rsi
call r13
mov rcx, qword [rsi]
mov rax, qword [r15]
xor rax, qword [rsp + 0x48]
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 0x140191210
test rdi, rdi
je 0x1401913d0
lea rax, [rsp + 0x48]
mov rbp, rsi
sub rax, r15
lea r14, [rsp + 0x4a]
mov qword [rsp + 0x28], rax
sub rbp, r15
dec rax
sub r14, r15
mov qword [rsp + 0x20], rax
add rbp, 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 0x140191380
mov rcx, qword [rsp + 0x20]
movzx edx, byte [rax + rbp - 3]
movzx ecx, byte [rax + rcx]
xor cl, byte [rax - 1]
mov byte [rax + rbx - 3], cl
mov rcx, rax
sub rcx, r15
mov byte [rax - 1], dl
cmp rcx, rdi
jae 0x14019137d
mov rcx, qword [rsp + 0x28]
lea rdx, [rax + rbx]
movzx r8d, byte [r10 + rdx - 2]
movzx ecx, byte [rax + rcx]
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 0x140191377
mov rcx, qword [rsp + 0x38]
movzx edx, byte [rax + rbp - 1]
movzx ecx, byte [rax + rcx]
xor cl, byte [rax + 1]
mov byte [rax + rbx - 1], cl
mov rcx, qword [rsp + 0x40]
add rcx, rax
mov byte [rax + 1], dl
cmp rcx, rdi
jae 0x140191371
movzx edx, byte [rax + rbp]
add r9, 4
movzx ecx, byte [rax + r14]
xor cl, byte [rax + 2]
mov byte [rax + rbx], cl
mov byte [rax + 2], dl
add rax, 4
cmp r9, 0x10
jb 0x1401912d2
jmp 0x140191380
add r9, 3
jmp 0x140191380
add r9, 2
jmp 0x140191380
inc r9
cmp rdi, 0x10
jbe 0x14019139e
add rsi, 0x10
add rbp, 0x10
add rbx, 0x10
sub rdi, 0x10
jne 0x1401912b0
jmp 0x1401913d0
cmp r9, 0x10
jae 0x1401913d0
sub rsi, r15
lea rcx, [r15 + r9]
mov edx, reloc.WS2_32.dll_recv
sub rdx, r9
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rcx + rsi]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x1401913c0
mov rbp, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1401f4710
add rsp, 0x68
pop r15
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret