Function at 0x180007b80
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rdi, rdx
movzx ecx, byte [rcx + 0x1d]
call fcn.180007ff0
movzx r8d, al
rol r8b, 1
xor al, r8b
rol r8b, 1
xor al, r8b
rol r8b, 1
movzx ecx, r8b
rol cl, 1
xor cl, byte [rbx]
xor cl, byte [rdi]
xor cl, r8b
xor cl, al
xor cl, 0x63
mov byte [rbx], cl
movzx ecx, byte [rbx + 0x1e]
call fcn.180007ff0
movzx edx, al
rol dl, 1
xor al, dl
rol dl, 1
xor al, dl
rol dl, 1
movzx ecx, dl
rol cl, 1
xor cl, byte [rbx + 1]
xor cl, dl
xor cl, al
xor cl, 0x63
mov byte [rbx + 1], cl
movzx ecx, byte [rbx + 0x1f]
call fcn.180007ff0
movzx edx, al
lea rsi, [rbx + 2]
rol dl, 1
xor al, dl
rol dl, 1
xor al, dl
rol dl, 1
movzx ecx, dl
rol cl, 1
xor cl, byte [rsi]
xor cl, dl
xor cl, al
xor cl, 0x63
mov byte [rsi], cl
movzx ecx, byte [rbx + 0x1c]
call fcn.180007ff0
movzx edx, al
mov r8b, 4
rol dl, 1
xor al, dl
rol dl, 1
xor al, dl
rol dl, 1
movzx ecx, dl
rol cl, 1
xor cl, byte [rbx + 3]
xor cl, dl
xor cl, al
xor cl, 0x63
mov byte [rbx + 3], cl
movzx edx, byte [rdi]
movzx eax, dl
add dl, dl
shr al, 7
movzx eax, al
imul ecx, eax, 0x1b
xor cl, dl
mov byte [rdi], cl
nop word [rax + rax]
movzx edx, r8b
lea rsi, [rsi + 4]
add r8b, 4
movzx eax, byte [rdx + rbx - 4]
lea ecx, [rdx + 1]
xor byte [rsi - 2], al
movzx eax, byte [rsi - 5]
xor byte [rcx + rbx], al
lea ecx, [rdx + 2]
movzx eax, byte [rsi - 4]
xor byte [rcx + rbx], al
lea ecx, [rdx + 3]
movzx eax, byte [rsi - 3]
xor byte [rcx + rbx], al
cmp r8b, 0x10
jb 0x180007c60
movzx r10d, byte [rbx + 0xc]
test r10b, r10b
je 0x180007d02
mov r9b, 1
xor r8b, r8b
cmp r9b, r10b
je 0x180007ccd
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 1
jne 0x180007ca8
not r8b
mov r9b, 1
test r8b, r8b
je 0x180007d05
nop dword [rax + rax]
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 0xff
jne 0x180007ce0
jmp 0x180007d05
xor r9b, r9b
movzx r10d, byte [rbx + 0xd]
movzx ecx, r9b
rol cl, 1
xor r9b, cl
rol cl, 1
xor r9b, cl
rol cl, 1
movzx eax, cl
rol al, 1
xor al, byte [rbx + 0x10]
xor al, cl
xor al, r9b
xor al, 0x63
mov byte [rbx + 0x10], al
test r10b, r10b
je 0x180007d92
mov r9b, 1
xor r8b, r8b
cmp r9b, r10b
je 0x180007d5c
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 1
jne 0x180007d37
not r8b
mov r9b, 1
test r8b, r8b
je 0x180007d95
nop word [rax + rax]
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 0xff
jne 0x180007d70
jmp 0x180007d95
xor r9b, r9b
movzx r10d, byte [rbx + 0xe]
movzx ecx, r9b
rol cl, 1
xor r9b, cl
rol cl, 1
xor r9b, cl
rol cl, 1
movzx eax, cl
rol al, 1
xor al, byte [rbx + 0x11]
xor al, cl
xor al, r9b
xor al, 0x63
mov byte [rbx + 0x11], al
test r10b, r10b
je 0x180007e22
mov r9b, 1
xor r8b, r8b
cmp r9b, r10b
je 0x180007dec
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 1
jne 0x180007dc7
not r8b
mov r9b, 1
test r8b, r8b
je 0x180007e25
nop word [rax + rax]
movzx eax, r9b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r9b, r9b
movzx ecx, al
cmovns ecx, edx
xor r9b, cl
add r8b, 0xff
jne 0x180007e00
jmp 0x180007e25
xor r9b, r9b
movzx r11d, byte [rbx + 0xf]
lea r8, [rbx + 0x12]
movzx ecx, r9b
rol cl, 1
xor r9b, cl
rol cl, 1
xor r9b, cl
rol cl, 1
movzx eax, cl
rol al, 1
xor al, cl
xor al, byte [r8]
xor al, r9b
xor al, 0x63
mov byte [r8], al
test r11b, r11b
je 0x180007eb2
mov r10b, 1
xor r9b, r9b
nop dword [rax + rax]
cmp r10b, r11b
je 0x180007e85
movzx eax, r10b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r10b, r10b
movzx ecx, al
cmovns ecx, edx
xor r10b, cl
add r9b, 1
jne 0x180007e60
not r9b
mov r10b, 1
test r9b, r9b
je 0x180007eb5
movzx eax, r10b
add al, al
movzx edx, al
movzx eax, dl
xor al, 0x1b
test r10b, r10b
movzx ecx, al
cmovns ecx, edx
xor r10b, cl
add r9b, 0xff
jne 0x180007e90
jmp 0x180007eb5
xor r10b, r10b
movzx ecx, r10b
mov r9b, 0x14
rol cl, 1
xor r10b, cl
rol cl, 1
xor r10b, cl
rol cl, 1
movzx eax, cl
rol al, 1
xor al, byte [rbx + 0x13]
xor al, cl
xor al, r10b
xor al, 0x63
mov byte [rbx + 0x13], al
nop word [rax + rax]
movzx edx, r9b
lea r8, [r8 + 4]
add r9b, 4
movzx eax, byte [rdx + rbx - 4]
lea ecx, [rdx + 1]
xor byte [r8 - 2], al
movzx eax, byte [r8 - 5]
xor byte [rcx + rbx], al
lea ecx, [rdx + 2]
movzx eax, byte [r8 - 4]
xor byte [rcx + rbx], al
lea ecx, [rdx + 3]
movzx eax, byte [r8 - 3]
xor byte [rcx + rbx], al
cmp r9b, 0x20
jb 0x180007ee0
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret