Function at 0x14009c1b8
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
push rdi
push r13
push r15
sub rsp, 0x30
xor ebx, ebx
mov rdi, r8
mov rsi, rcx
mov rbp, rdx
mov r10b, 0xf
mov r11b, 0x30
lea r13d, [rbx + 0x1f]
lea r15d, [rbx + 0x20]
mov r9, rbx
mov qword [rax + 0x18], rbx
mov r8d, ebx
mov ecx, ebx
cmp rdi, rbx
jbe 0x14009c22d
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rbp]
inc r9
sub dl, r11b
mov qword [rsp + 0x60], r9
movzx eax, dl
and eax, r13d
shl eax, cl
add r8d, eax
test r15b, dl
je 0x14009c230
add ecx, 5
cmp r9, rdi
jb 0x14009c1fa
mov r8d, ebx
cmp r8d, ebx
je 0x14009c23c
xor al, al
jmp 0x14009c63a
mov r8d, ebx
mov ecx, ebx
jmp 0x14009c271
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rbp]
inc r9
sub dl, r11b
mov qword [rsp + 0x60], r9
movzx eax, dl
and eax, r13d
shl eax, cl
add r8d, eax
test r15b, dl
je 0x14009c279
add ecx, 5
cmp r9, rdi
jb 0x14009c243
mov r8d, ebx
mov dword [rsi + 0x10], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c2b2
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rbp]
inc r9
sub dl, r11b
mov qword [rsp + 0x60], r9
movzx eax, dl
and eax, r13d
shl eax, cl
add r8d, eax
test r15b, dl
je 0x14009c2ba
add ecx, 5
cmp r9, rdi
jb 0x14009c284
mov r8d, ebx
mov dword [rsi + 0x18], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c2f3
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rbp]
inc r9
sub dl, r11b
mov qword [rsp + 0x60], r9
movzx eax, dl
and eax, r13d
shl eax, cl
add r8d, eax
test r15b, dl
je 0x14009c2fb
add ecx, 5
cmp r9, rdi
jb 0x14009c2c5
mov r8d, ebx
mov dword [rsi + 0x1c], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c334
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rbp]
inc r9
sub dl, r11b
mov qword [rsp + 0x60], r9
movzx eax, dl
and eax, r13d
shl eax, cl
add r8d, eax
test r15b, dl
je 0x14009c33c
add ecx, 5
cmp r9, rdi
jb 0x14009c306
mov r8d, ebx
mov dword [rsi + 0x20], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c375
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rbp]
inc r9
sub dl, r11b
mov qword [rsp + 0x60], r9
movzx eax, dl
and eax, r13d
shl eax, cl
add r8d, eax
test r15b, dl
je 0x14009c37d
add ecx, 5
cmp r9, rdi
jb 0x14009c347
mov r8d, ebx
mov dword [rsi + 0x24], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c3b6
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rbp]
inc r9
sub dl, r11b
mov qword [rsp + 0x60], r9
movzx eax, dl
and eax, r13d
shl eax, cl
add r8d, eax
test r15b, dl
je 0x14009c3be
add ecx, 5
cmp r9, rdi
jb 0x14009c388
mov r8d, ebx
lea rax, [rsp + 0x60]
mov dword [rsi + 0x28], r8d
mov r13d, 0x100
lea rdx, [rsi + 0x2c]
mov r9, rbp
mov rcx, rsi
mov r8, r13
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.14009c0e8
mov r8, qword [rsp + 0x60]
mov r11d, ebx
mov ecx, ebx
jmp 0x14009c423
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rbp]
inc r8
sub dl, 0x30
mov qword [rsp + 0x60], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r11d, eax
test r15b, dl
je 0x14009c42b
add ecx, 5
cmp r8, rdi
jb 0x14009c3f5
mov r11d, ebx
lea rax, [rsp + 0x60]
lea rdx, [rsi + 0x130]
mov r9, rbp
mov r8, r13
mov rcx, rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
mov dword [rsi + 0x12c], r11d
call fcn.14009c0e8
mov r8, qword [rsp + 0x60]
mov r11d, ebx
mov ecx, ebx
jmp 0x14009c490
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rbp]
inc r8
sub dl, 0x30
mov qword [rsp + 0x60], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r11d, eax
test r15b, dl
je 0x14009c498
add ecx, 5
cmp r8, rdi
jb 0x14009c462
mov r11d, ebx
lea rax, [rsp + 0x60]
lea rdx, [rsi + 0x234]
mov r9, rbp
mov r8, r13
mov rcx, rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
mov dword [rsi + 0x230], r11d
call fcn.14009c0e8
mov r8, qword [rsp + 0x60]
mov r11d, ebx
mov ecx, ebx
jmp 0x14009c4fd
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rbp]
inc r8
sub dl, 0x30
mov qword [rsp + 0x60], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r11d, eax
test r15b, dl
je 0x14009c505
add ecx, 5
cmp r8, rdi
jb 0x14009c4cf
mov r11d, ebx
mov dword [rsi + 0x334], r11d
mov r9d, ebx
mov ecx, ebx
jmp 0x14009c541
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rbp]
inc r8
sub dl, 0x30
mov qword [rsp + 0x60], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r9d, eax
test r15b, dl
je 0x14009c549
add ecx, 5
cmp r8, rdi
jb 0x14009c513
mov r9d, ebx
mov dword [rsi + 0x338], r9d
mov ecx, ebx
mov r9d, ebx
jmp 0x14009c585
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rbp]
inc r8
sub dl, 0x30
mov qword [rsp + 0x60], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r9d, eax
test r15b, dl
je 0x14009c58d
add ecx, 5
cmp r8, rdi
jb 0x14009c557
mov r9d, ebx
lea rax, [rsp + 0x60]
mov dword [rsi + 0x33c], r9d
lea rdx, [rsi + 0x340]
mov r9, rbp
mov r8, r15
mov rcx, rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.14009c0e8
lea rax, [rsp + 0x60]
lea rdx, [rsi + 0x380]
mov r9, rbp
mov r8, r13
mov rcx, rsi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.14009c0e8
mov r9, qword [rsp + 0x60]
mov r11b, bl
mov rax, rbx
cmp r9, rbx
jbe 0x14009c5f8
xor r11b, byte [rax + rbp]
inc rax
cmp rax, r9
jb 0x14009c5ec
mov r8d, ebx
mov ecx, ebx
jmp 0x14009c628
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, 0xf
xor dl, byte [r9 + rbp]
inc r9
sub dl, 0x30
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r8d, eax
test r15b, dl
je 0x14009c630
add ecx, 5
cmp r9, rdi
jb 0x14009c5ff
mov r8d, ebx
movzx ecx, r11b
cmp ecx, r8d
sete al
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r13
pop rdi
ret