Function at 0x140001a00
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
mov rax, qword [0x14002b040]
xor rax, rsp
mov qword [rsp + 0x68], rax
mov r14, qword [rsp + 0xe8]
mov r15, r9
mov rbx, qword [rsp + 0xf0]
mov qword [rsp + 0x40], rcx
mov ecx, 0x514
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], rdx
call fcn.14000b950
movsxd rbp, dword [rsp + 0xe0]
lea r8, [0x1400276c4]
mov r13, rax
mov byte [rsp + 0x48], 0
xor eax, eax
lea rcx, [rsp + 0x48]
mov r9d, ebp
mov qword [rsp + 0x49], rax
mov byte [rsp + 0x51], al
lea edx, [rax + 0xa]
call fcn.140001010
mov rsi, 0xffffffffffffffff
lea rax, [rsp + 0x48]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140001a90
inc r8
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.14001e000
lea rax, [rsp + 0x48]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], 0
jne 0x140001ab2
movsxd rcx, edi
mov r8, rbp
inc rcx
mov rdx, r15
add rcx, r13
call fcn.14001e000
inc ebp
add edi, ebp
mov rbp, rsi
inc rbp
cmp byte [r14 + rbp], 0
jne 0x140001ad6
mov r9d, ebp
lea r8, [0x1400276c4]
mov edx, 0xa
lea rcx, [rsp + 0x48]
call fcn.140001010
lea rax, [rsp + 0x48]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140001b01
movsxd rcx, edi
lea rdx, [rsp + 0x48]
add rcx, r13
inc r8
call fcn.14001e000
lea rcx, [rsp + 0x48]
mov rax, rsi
nop word [rax + rax]
cmp byte [rcx + rax + 1], 0
lea rax, [rax + 1]
jne 0x140001b30
lea r12d, [rax + rdi]
movsxd r15, ebp
movsxd rdi, r12d
mov r8, r15
inc rdi
mov rdx, r14
add rdi, r13
mov rcx, rdi
call fcn.14001e000
lea eax, [rbp - 1]
movsxd rcx, eax
test eax, eax
jle 0x140001b80
lea rdx, [r15 + rdi]
nop word [rax + rax]
movzx eax, byte [rdx - 1]
xor byte [rdi], al
lea rdi, [rdi + 1]
sub rcx, 1
jne 0x140001b70
lea edi, [r12 + 1]
add edi, ebp
cmp qword [rbx + 0x20], 0
je 0x140001c7e
mov rdx, qword [rbx + 0x10]
mov rcx, r13
mov rax, qword [rbx + 8]
dec rdx
and rdx, qword [rbx + 0x18]
mov rdx, qword [rax + rdx*8]
mov edx, dword [rdx + 8]
add edx, edi
add edx, 0x32
cmovb rdx, rsi
call fcn.14000c50c
mov r9, qword [rbx + 0x10]
lea r8, [0x1400276c4]
dec r9
lea rcx, [rsp + 0x48]
and r9, qword [rbx + 0x18]
mov r13, rax
mov rax, qword [rbx + 8]
mov edx, 0xa
mov r9, qword [rax + r9*8]
mov r9d, dword [r9 + 8]
call fcn.140001010
lea rax, [rsp + 0x48]
mov r8, rsi
inc r8
cmp byte [rax + r8], 0
jne 0x140001bf1
movsxd rcx, edi
lea rdx, [rsp + 0x48]
add rcx, r13
inc r8
call fcn.14001e000
lea rcx, [rsp + 0x48]
mov rax, rsi
inc rax
cmp byte [rcx + rax], 0
jne 0x140001c16
mov rdx, qword [rbx + 0x10]
inc eax
dec rdx
add edi, eax
and rdx, qword [rbx + 0x18]
mov rax, qword [rbx + 8]
movsxd rcx, edi
add rcx, r13
mov rdx, qword [rax + rdx*8]
movsxd r8, dword [rdx + 8]
mov rdx, qword [rdx]
call fcn.14001e000
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
dec rcx
and rcx, qword [rbx + 0x18]
mov rcx, qword [rax + rcx*8]
add edi, dword [rcx + 8]
mov rcx, qword [rcx]
call fcn.14000c514
sub qword [rbx + 0x20], 1
je 0x140001c76
inc qword [rbx + 0x18]
jmp 0x140001b92
mov qword [rbx + 0x18], 0
xor eax, eax
mov byte [rsp + 0x58], 0
mov r9d, edi
mov qword [rsp + 0x59], rax
lea r8, [0x1400276c4]
mov byte [rsp + 0x61], al
lea rcx, [rsp + 0x58]
lea edx, [rax + 0xa]
call fcn.140001010
mov rbx, qword [rsp + 0x30]
mov rcx, rsi
nop dword [rax]
inc rcx
cmp byte [rbx + rcx], 0
jne 0x140001cb0
lea rax, [rsp + 0x58]
nop
cmp byte [rax + rsi + 1], 0
lea rsi, [rsi + 1]
jne 0x140001cc0
lea eax, [rsi + 4]
mov rsi, qword [rsp + 0x38]
add eax, edi
add ecx, eax
mov dword [rsi], ecx
movsxd rcx, ecx
call fcn.14000b950
mov r14, qword [rsp + 0x40]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x20], rcx
lea r8, str._s_s_r_n_r_n
mov r9, rbx
mov rcx, rax
mov qword [r14], rax
movsxd rdx, dword [rsi]
call fcn.140001010
movsxd rcx, dword [rsi]
mov rdx, r13
movsxd r8, edi
sub rcx, r8
add rcx, qword [r14]
call fcn.14001e000
mov rcx, r13
call fcn.14000c514
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.140003220
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret