Function at 0x14009f350
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r13
push r15
mov rbp, rsp
sub rsp, 0x30
xor r9d, r9d
mov rbx, r8
mov rdi, rcx
mov qword [rbp + 0x30], r9
xor r8d, r8d
xor ecx, ecx
mov rsi, rdx
mov r10b, 0xf
lea r15d, [r9 + 0x1f]
mov r11b, 0x30
lea r13d, [r9 + 0x20]
test rbx, rbx
je 0x14009f3c5
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rsi]
inc r9
sub dl, r11b
mov qword [rbp + 0x30], r9
movzx eax, dl
and eax, r15d
shl eax, cl
add r8d, eax
test r13b, dl
je 0x14009f3c8
add ecx, 5
cmp r9, rbx
jb 0x14009f393
xor r8d, r8d
test r8d, r8d
je 0x14009f3d4
xor al, al
jmp 0x14009f7bd
xor r8d, r8d
xor ecx, ecx
jmp 0x14009f408
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rsi]
inc r9
sub dl, r11b
mov qword [rbp + 0x30], r9
movzx eax, dl
and eax, r15d
shl eax, cl
add r8d, eax
test r13b, dl
je 0x14009f410
add ecx, 5
cmp r9, rbx
jb 0x14009f3db
xor r8d, r8d
mov dword [rdi + 0x10], r8d
xor r8d, r8d
xor ecx, ecx
jmp 0x14009f448
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rsi]
inc r9
sub dl, r11b
mov qword [rbp + 0x30], r9
movzx eax, dl
and eax, r15d
shl eax, cl
add r8d, eax
test r13b, dl
je 0x14009f450
add ecx, 5
cmp r9, rbx
jb 0x14009f41b
xor r8d, r8d
mov dword [rdi + 0x18], r8d
xor r8d, r8d
xor ecx, ecx
jmp 0x14009f488
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rsi]
inc r9
sub dl, r11b
mov qword [rbp + 0x30], r9
movzx eax, dl
and eax, r15d
shl eax, cl
add r8d, eax
test r13b, dl
je 0x14009f490
add ecx, 5
cmp r9, rbx
jb 0x14009f45b
xor r8d, r8d
mov dword [rdi + 0x1c], r8d
xor r8d, r8d
xor ecx, ecx
jmp 0x14009f4c8
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rsi]
inc r9
sub dl, r11b
mov qword [rbp + 0x30], r9
movzx eax, dl
and eax, r15d
shl eax, cl
add r8d, eax
test r13b, dl
je 0x14009f4d0
add ecx, 5
cmp r9, rbx
jb 0x14009f49b
xor r8d, r8d
mov dword [rdi + 0x20], r8d
xor r8d, r8d
xor ecx, ecx
jmp 0x14009f508
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rsi]
inc r9
sub dl, r11b
mov qword [rbp + 0x30], r9
movzx eax, dl
and eax, r15d
shl eax, cl
add r8d, eax
test r13b, dl
je 0x14009f510
add ecx, 5
cmp r9, rbx
jb 0x14009f4db
xor r8d, r8d
mov dword [rdi + 0x24], r8d
xor r8d, r8d
xor ecx, ecx
jmp 0x14009f548
mov al, r9b
add al, al
lea edx, [rax + r9]
and dl, r10b
xor dl, byte [r9 + rsi]
inc r9
sub dl, r11b
mov qword [rbp + 0x30], r9
movzx eax, dl
and eax, r15d
shl eax, cl
add r8d, eax
test r13b, dl
je 0x14009f550
add ecx, 5
cmp r9, rbx
jb 0x14009f51b
xor r8d, r8d
mov dword [rdi + 0x28], r8d
lea rax, [rbp + 0x30]
mov r15d, 0x100
mov qword [rsp + 0x28], rbx
mov r8d, r15d
mov qword [rsp + 0x20], rax
lea rdx, [rdi + 0x2c]
mov r9, rsi
mov rcx, rdi
call fcn.14009f97c
mov r8, qword [rbp + 0x30]
xor r9d, r9d
xor ecx, ecx
jmp 0x14009f5b2
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rsi]
inc r8
sub dl, 0x30
mov qword [rbp + 0x30], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r9d, eax
test r13b, dl
je 0x14009f5ba
add ecx, 5
cmp r8, rbx
jb 0x14009f585
xor r9d, r9d
mov dword [rdi + 0x12c], r9d
lea rax, [rbp + 0x30]
mov r9, rsi
mov qword [rsp + 0x28], rbx
lea rdx, [rdi + 0x130]
mov qword [rsp + 0x20], rax
mov r8, r15
mov rcx, rdi
call fcn.14009f97c
mov r8, qword [rbp + 0x30]
xor r9d, r9d
xor ecx, ecx
jmp 0x14009f61c
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rsi]
inc r8
sub dl, 0x30
mov qword [rbp + 0x30], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r9d, eax
test r13b, dl
je 0x14009f624
add ecx, 5
cmp r8, rbx
jb 0x14009f5ef
xor r9d, r9d
mov dword [rdi + 0x230], r9d
lea rax, [rbp + 0x30]
mov r9, rsi
mov qword [rsp + 0x28], rbx
lea rdx, [rdi + 0x234]
mov qword [rsp + 0x20], rax
mov r8, r15
mov rcx, rdi
call fcn.14009f97c
mov r8, qword [rbp + 0x30]
xor r9d, r9d
xor ecx, ecx
jmp 0x14009f686
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rsi]
inc r8
sub dl, 0x30
mov qword [rbp + 0x30], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r9d, eax
test r13b, dl
je 0x14009f68e
add ecx, 5
cmp r8, rbx
jb 0x14009f659
xor r9d, r9d
mov dword [rdi + 0x334], r9d
xor r9d, r9d
xor ecx, ecx
jmp 0x14009f6c9
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rsi]
inc r8
sub dl, 0x30
mov qword [rbp + 0x30], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r9d, eax
test r13b, dl
je 0x14009f6d1
add ecx, 5
cmp r8, rbx
jb 0x14009f69c
xor r9d, r9d
mov dword [rdi + 0x338], r9d
xor r9d, r9d
xor ecx, ecx
jmp 0x14009f70c
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rsi]
inc r8
sub dl, 0x30
mov qword [rbp + 0x30], r8
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r9d, eax
test r13b, dl
je 0x14009f714
add ecx, 5
cmp r8, rbx
jb 0x14009f6df
xor r9d, r9d
mov dword [rdi + 0x33c], r9d
lea rax, [rbp + 0x30]
mov r9, rsi
mov qword [rsp + 0x28], rbx
lea rdx, [rdi + 0x340]
mov qword [rsp + 0x20], rax
mov r8, r13
mov rcx, rdi
call fcn.14009f97c
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rbx
lea rdx, [rdi + 0x380]
mov qword [rsp + 0x20], rax
mov r9, rsi
mov r8, r15
mov rcx, rdi
call fcn.14009f97c
mov r8, qword [rbp + 0x30]
xor r10b, r10b
xor eax, eax
test r8, r8
je 0x14009f77b
xor r10b, byte [rax + rsi]
inc rax
cmp rax, r8
jb 0x14009f76f
xor r9d, r9d
xor ecx, ecx
jmp 0x14009f7ab
mov al, r8b
add al, al
lea edx, [rax + r8]
and dl, 0xf
xor dl, byte [r8 + rsi]
inc r8
sub dl, 0x30
movzx eax, dl
and eax, 0x1f
shl eax, cl
add r9d, eax
test r13b, dl
je 0x14009f7b3
add ecx, 5
cmp r8, rbx
jb 0x14009f782
xor r9d, r9d
movzx eax, r10b
cmp eax, r9d
sete al
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r13
pop rbp
ret