Function at 0x14009c250
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 0x14009c2c5
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 0x14009c2c8
add ecx, 5
cmp r9, rdi
jb 0x14009c292
mov r8d, ebx
cmp r8d, ebx
je 0x14009c2d4
xor al, al
jmp 0x14009c6d2
mov r8d, ebx
mov ecx, ebx
jmp 0x14009c309
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 0x14009c311
add ecx, 5
cmp r9, rdi
jb 0x14009c2db
mov r8d, ebx
mov dword [rsi + 0x10], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c34a
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 0x14009c352
add ecx, 5
cmp r9, rdi
jb 0x14009c31c
mov r8d, ebx
mov dword [rsi + 0x18], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c38b
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 0x14009c393
add ecx, 5
cmp r9, rdi
jb 0x14009c35d
mov r8d, ebx
mov dword [rsi + 0x1c], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c3cc
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 0x14009c3d4
add ecx, 5
cmp r9, rdi
jb 0x14009c39e
mov r8d, ebx
mov dword [rsi + 0x20], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c40d
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 0x14009c415
add ecx, 5
cmp r9, rdi
jb 0x14009c3df
mov r8d, ebx
mov dword [rsi + 0x24], r8d
mov ecx, ebx
mov r8d, ebx
jmp 0x14009c44e
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 0x14009c456
add ecx, 5
cmp r9, rdi
jb 0x14009c420
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.14009c180
mov r8, qword [rsp + 0x60]
mov r11d, ebx
mov ecx, ebx
jmp 0x14009c4bb
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 0x14009c4c3
add ecx, 5
cmp r8, rdi
jb 0x14009c48d
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.14009c180
mov r8, qword [rsp + 0x60]
mov r11d, ebx
mov ecx, ebx
jmp 0x14009c528
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 0x14009c530
add ecx, 5
cmp r8, rdi
jb 0x14009c4fa
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.14009c180
mov r8, qword [rsp + 0x60]
mov r11d, ebx
mov ecx, ebx
jmp 0x14009c595
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 0x14009c59d
add ecx, 5
cmp r8, rdi
jb 0x14009c567
mov r11d, ebx
mov dword [rsi + 0x334], r11d
mov r9d, ebx
mov ecx, ebx
jmp 0x14009c5d9
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 0x14009c5e1
add ecx, 5
cmp r8, rdi
jb 0x14009c5ab
mov r9d, ebx
mov dword [rsi + 0x338], r9d
mov ecx, ebx
mov r9d, ebx
jmp 0x14009c61d
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 0x14009c625
add ecx, 5
cmp r8, rdi
jb 0x14009c5ef
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.14009c180
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.14009c180
mov r9, qword [rsp + 0x60]
mov r11b, bl
mov rax, rbx
cmp r9, rbx
jbe 0x14009c690
xor r11b, byte [rax + rbp]
inc rax
cmp rax, r9
jb 0x14009c684
mov r8d, ebx
mov ecx, ebx
jmp 0x14009c6c0
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 0x14009c6c8
add ecx, 5
cmp r9, rdi
jb 0x14009c697
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