Function at 0x1400175f0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
mov rax, rcx
mov rcx, qword [rcx + 0x30]
mov r11, qword [rax + 0x40]
mov r9, rcx
not r9
or r9, r8
add r9, rcx
xor rcx, r8
lea rcx, [rcx + r9*2]
add rcx, 2
mov qword [rax + 0x30], rcx
test r11, r11
je 0x140017652
mov r10d, 8
sub r10, r11
cmp r8, r10
mov rdi, r10
cmovb rdi, r8
cmp rdi, 3
jbe 0x14001765a
mov esi, dword [rdx]
mov r9d, 4
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jb 0x14001766b
jmp 0x140017682
xor r10d, r10d
jmp 0x1400177a1
xor esi, esi
xor r9d, r9d
mov rcx, r9
or rcx, 1
cmp rcx, rdi
jae 0x140017682
movzx ebx, word [rdx + r9]
lea ecx, [r9*8]
shl rbx, cl
or rsi, rbx
or r9, 2
cmp r9, rdi
jae 0x1400176ba
movzx edi, byte [rdx + r9]
shl r9d, 3
mov ecx, r9d
shl rdi, cl
mov rcx, rdi
not rcx
and rcx, rsi
xor rdi, rsi
add rdi, rsi
mov r9, rdi
xor r9, rcx
not rcx
and rcx, rdi
add rcx, rcx
sub rcx, r9
mov rsi, rcx
mov r9d, r11d
and r9d, 8
mov ecx, r11d
or ecx, 8
imul ecx, r9d
xor r9d, 8
mov edi, r11d
not edi
or edi, 0x37
add edi, r11d
inc edi
mov ebx, edi
not ebx
and ebx, r9d
mov ebp, r11d
or ebp, 0x37
and ebp, edi
imul ebp, ebx
mov ebx, r9d
and ebx, edi
or r9d, edi
imul r9d, ebx
add ecx, r9d
add ecx, ebp
and cl, 0x38
shl rsi, cl
or rsi, qword [rax + 0x38]
mov qword [rax + 0x38], rsi
cmp r10, r8
jbe 0x14001771a
add r11, r8
jmp 0x1400178f5
mov rdi, qword [rax + 0x18]
xor rdi, rsi
mov r9, qword [rax + 0x10]
mov rcx, qword [rax]
add rcx, r9
rol r9, 0xd
xor r9, rcx
rol rcx, 0x20
mov r11, qword [rax + 8]
add r11, rdi
rol rdi, 0x10
mov rbx, r11
and rbx, rdi
add rdi, r11
add rbx, rbx
sub rdi, rbx
add rcx, rdi
rol rdi, 0x15
mov rbx, rdi
and rbx, rcx
add rdi, rcx
add rbx, rbx
mov r14, rbx
xor r14, rdi
not rbx
and rbx, rdi
add rbx, rbx
sub rbx, r14
add r11, r9
rol r9, 0x11
mov qword [rax + 0x18], rbx
mov rdi, r11
and rdi, r9
add r9, r11
add rdi, rdi
sub r9, rdi
rol r11, 0x20
mov qword [rax + 0x10], r9
mov qword [rax + 8], r11
xor rcx, rsi
mov qword [rax], rcx
sub r8, r10
mov r11d, r8d
and r11d, 7
and r8, 0xfffffffffffffff8
cmp r10, r8
jae 0x14001784c
mov rcx, qword [rax]
mov r9, qword [rax + 8]
mov rdi, qword [rax + 0x18]
mov rsi, qword [rax + 0x10]
nop word [rax + rax]
mov rbx, qword [rdx + r10]
mov r15, rbx
and r15, rdi
add r15, r15
mov r14, rbx
add rcx, rsi
rol rsi, 0xd
sub r14, r15
mov r15, rcx
and r15, rsi
add r15, r15
sub rsi, r15
add rsi, rcx
rol rcx, 0x20
add r14, rdi
add r9, r14
rol r14, 0x10
xor r14, r9
add rcx, r14
rol r14, 0x15
mov r15, r14
and r15, rcx
add r14, rcx
add r15, r15
add r9, rsi
rol rsi, 0x11
mov rdi, r14
xor rsi, r9
rol r9, 0x20
sub rdi, r15
xor rcx, rbx
add r10, 8
cmp r10, r8
jb 0x1400177d0
mov qword [rax + 0x18], rdi
mov qword [rax + 0x10], rsi
mov qword [rax + 8], r9
mov qword [rax], rcx
cmp r11d, 3
jbe 0x14001786a
mov r9d, dword [rdx + r10]
mov r8d, 4
mov rcx, r8
or rcx, 1
cmp rcx, r11
jb 0x14001787c
jmp 0x1400178aa
xor r9d, r9d
xor r8d, r8d
mov rcx, r8
or rcx, 1
cmp rcx, r11
jae 0x1400178aa
lea rcx, [r8 + r10]
movzx esi, word [rdx + rcx]
lea ecx, [r8*8]
shl rsi, cl
mov ecx, esi
not ecx
and ecx, r9d
mov edi, esi
and edi, r9d
lea r9, [rsi + r9*2]
lea rcx, [rcx + rdi*2]
sub r9, rcx
or r8, 2
cmp r8, r11
jae 0x1400178f1
add r10, r8
movzx edx, byte [rdx + r10]
shl r8d, 3
mov ecx, r8d
shl rdx, cl
mov rcx, r9
not rcx
mov r8, r9
xor r8, rcx
and r8, rdx
or rdx, rcx
xor r8, rcx
mov rcx, r8
not rcx
add rcx, r9
and rcx, rdx
not rdx
sub r8, r9
and r8, rdx
sub rcx, r8
mov r9, rcx
mov qword [rax + 0x38], r9
mov qword [rax + 0x40], r11
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret