Function at 0x1400808bc
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
cmp dword [rdx + 0x1c], 0
je 0x140080962
movsxd rbp, dword [r8 + 4]
movsxd rdi, dword [r8]
mov rax, qword [rcx + 0x28]
mov esi, ebp
mov r12d, dword [r8 + 0xc]
sub r12d, ebp
imul rbp, rax
add rbp, qword [rcx + 0x18]
lea ecx, [rdi + rdi]
movsxd rbx, ecx
add rbx, rbp
mov r13d, dword [r8 + 8]
sub r13d, edi
add rdi, qword [rdx]
movsxd rcx, dword [rdx + 8]
sub rdi, rcx
sub esi, dword [rdx + 0xc]
mov r14d, dword [rdx + 0x18]
imul esi, r14d
add rsi, rdi
lea r15d, [r13 + r13]
sub r14d, r13d
sub r15, rax
mov rbp, r15
xor edi, edi
movzx edx, byte [rsi + rdi]
xor edx, 0xff
inc edx
movzx ecx, word [rbx + rdi*2]
call fcn.140080c8a
mov word [rbx + rdi*2], ax
inc rdi
add rbp, 0xfffffffffffffffe
cmp r13d, edi
jne 0x14008092a
sub rbx, rbp
add rsi, r14
add rsi, rdi
dec r12d
jne 0x140080925
jmp 0x140080c79
movsxd rbx, dword [r8 + 4]
mov r9d, dword [rdx + 0x18]
mov rbp, qword [rcx + 0x18]
mov r10, qword [rcx + 0x28]
mov r15d, dword [r8 + 0xc]
mov r11d, r15d
mov esi, dword [r8]
mov ecx, dword [rdx + 8]
mov eax, esi
sub eax, ecx
sar eax, 3
movsxd rdi, eax
add rdi, qword [rdx]
sub r11d, ebx
mov eax, ebx
sub eax, dword [rdx + 0xc]
mov r12d, dword [r8 + 8]
imul eax, r9d
add rax, rdi
mov r14, rbx
imul r14, r10
lea edi, [rsi + rsi]
movsxd rdi, edi
sub esi, ecx
jne 0x140080a34
cmp r12d, dword [rdx + 0x10]
jne 0x140080a34
add r14, rdi
lea rcx, [r14 + rbp]
add rcx, 0xe
mov rdx, rcx
mov ebp, r9d
movzx ebx, byte [rax]
test bl, bl
jns 0x1400809d7
and word [rdx - 0xe], 0
test bl, 0x40
je 0x1400809e1
and word [rdx - 0xc], 0
test bl, 0x20
je 0x1400809eb
and word [rdx - 0xa], 0
test bl, 0x10
je 0x1400809f5
and word [rdx - 8], 0
test bl, 8
je 0x1400809ff
and word [rdx - 6], 0
test bl, 4
je 0x140080a09
and word [rdx - 4], 0
test bl, 2
je 0x140080a13
and word [rdx - 2], 0
test bl, 1
je 0x140080a1c
and word [rdx], 0
inc rax
add rdx, 0x10
dec ebp
jne 0x1400809cb
add rcx, r10
dec r11d
jne 0x1400809c5
jmp 0x140080c79
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x2c], r15d
sub r12d, ecx
mov r8d, esi
and r8d, 7
mov edi, 0xff
mov ecx, r8d
shr edi, cl
mov edx, r12d
and dl, 7
mov cl, 8
sub cl, dl
mov edx, 0xff
shl edx, cl
mov r15d, 0xff
and edx, r15d
sar r12d, 3
add esi, 7
sar esi, 3
xor ecx, ecx
test edx, edx
sete cl
cmove edx, r15d
xor r13d, r13d
cmp r8d, 1
sbb r13d, r13d
mov r15d, r13d
sub r15d, esi
add r15d, r12d
add r8, r8
sub r15d, ecx
js 0x140080bfb
add rbp, r14
add rbp, qword [rsp + 0x30]
neg ecx
sub rbp, r8
add r12d, r13d
add r12d, ecx
sub r12d, esi
inc r12d
mov r8d, edi
movzx ebx, byte [rax]
mov ecx, r8d
and ecx, ebx
cmp ecx, 0x80
jb 0x140080ad1
and word [rbp], 0
test cl, 0x40
je 0x140080adb
and word [rbp + 2], 0
test cl, 0x20
je 0x140080ae5
and word [rbp + 4], 0
test cl, 0x10
je 0x140080aef
and word [rbp + 6], 0
test cl, 8
je 0x140080af9
and word [rbp + 8], 0
test cl, 4
je 0x140080b03
and word [rbp + 0xa], 0
test cl, 2
je 0x140080b0d
and word [rbp + 0xc], 0
test bl, 1
je 0x140080b17
and word [rbp + 0xe], 0
lea rbx, [rax + 1]
test r15d, r15d
je 0x140080b8c
mov rsi, rbp
mov edi, r12d
movzx ecx, byte [rbx]
test cl, cl
jns 0x140080b32
and word [rsi + 0x10], 0
test cl, 0x40
je 0x140080b3c
and word [rsi + 0x12], 0
test cl, 0x20
je 0x140080b46
and word [rsi + 0x14], 0
test cl, 0x10
je 0x140080b50
and word [rsi + 0x16], 0
test cl, 8
je 0x140080b5a
and word [rsi + 0x18], 0
test cl, 4
je 0x140080b64
and word [rsi + 0x1a], 0
test cl, 2
je 0x140080b6e
and word [rsi + 0x1c], 0
test cl, 1
je 0x140080b78
and word [rsi + 0x1e], 0
inc rbx
dec edi
add rsi, 0x10
cmp edi, 1
jg 0x140080b26
lea rcx, [rsi + 0x10]
jmp 0x140080b93
lea rcx, [rbp + 0x10]
mov rsi, rbp
movzx ebx, byte [rbx]
and ebx, edx
cmp ebx, 0x80
jb 0x140080ba4
and word [rcx], 0
test bl, 0x40
je 0x140080bae
and word [rsi + 0x12], 0
test bl, 0x20
je 0x140080bb8
and word [rsi + 0x14], 0
test bl, 0x10
je 0x140080bc2
and word [rsi + 0x16], 0
test bl, 8
je 0x140080bcc
and word [rsi + 0x18], 0
test bl, 4
je 0x140080bd6
and word [rsi + 0x1a], 0
test bl, 2
je 0x140080be0
and word [rsi + 0x1c], 0
test bl, 1
je 0x140080bea
and word [rsi + 0x1e], 0
add rax, r9
add rbp, r10
dec r11d
jne 0x140080abc
jmp 0x140080c79
and edx, edi
add r14, qword [rsp + 0x30]
sub r14, r8
lea rcx, [r14 + rbp]
add rcx, 0xe
sub ebx, dword [rsp + 0x2c]
movzx ebp, byte [rax]
and ebp, edx
cmp ebp, 0x80
jb 0x140080c23
and word [rcx - 0xe], 0
test bpl, 0x40
je 0x140080c2e
and word [rcx - 0xc], 0
test bpl, 0x20
je 0x140080c39
and word [rcx - 0xa], 0
test bpl, 0x10
je 0x140080c44
and word [rcx - 8], 0
test bpl, 8
je 0x140080c4f
and word [rcx - 6], 0
test bpl, 4
je 0x140080c5a
and word [rcx - 4], 0
test bpl, 2
je 0x140080c65
and word [rcx - 2], 0
test bpl, 1
je 0x140080c6f
and word [rcx], 0
add rax, r9
add rcx, r10
inc ebx
jne 0x140080c11
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret