Function at 0x14001a010
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], r9
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
movzx esi, r8b
mov r15, rdx
mov r12, rcx
mov r10d, dword [rdx + 8]
test r10d, r10d
je 0x14001a36e
mov r11, qword [rdx]
cmp word [r11], 0
je 0x14001a36e
xor ebp, ebp
mov edx, ebp
test r10d, r10d
je 0x14001a071
nop dword [rax]
mov eax, edx
cmp word [r11 + rax*2], 0x2c
je 0x14001a094
inc edx
cmp edx, r10d
jb 0x14001a060
lea rbx, [rcx + 0x48]
mov qword [rsp + 0x78], rbx
mov rdx, r15
mov rcx, rbx
call fcn.14001d1e0
test rax, rax
je 0x14001a09e
mov eax, 8
jmp 0x14001a373
mov eax, 0x11
jmp 0x14001a373
mov edi, 0x32f54a96
mov eax, dword [r15 + 8]
test eax, eax
je 0x14001a0d5
mov rdx, qword [r15]
mov r8d, eax
movzx eax, word [rdx]
imul ecx, eax, 0xc5
imul eax, edi, 0x34c3
add ecx, eax
mov eax, edi
shr eax, 2
mov edi, ecx
xor edi, eax
lea rdx, [rdx + 2]
sub r8, 1
jne 0x14001a0b1
mov rdx, qword [r12]
mov rax, rdx
test rdx, rdx
je 0x14001a0fb
cmp edi, dword [rax + 8]
je 0x14001a196
jae 0x14001a0f2
mov rax, qword [rax + 0x18]
jmp 0x14001a0f6
mov rax, qword [rax + 0x20]
test rax, rax
jne 0x14001a0e1
mov ecx, 0x70
call fcn.1400282f8
mov r14, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x14001a1c0
mov qword [rax], rbp
mov dword [rax + 8], ebp
mov qword [rax + 0x18], rbp
lea rdx, [rax + 0x20]
mov dword [rax + 0x30], 0xffffffff
mov dword [rax + 0x34], 5
mov qword [rax + 0x38], rbp
mov dword [rax + 0x40], 0x3f400000
mov dword [rax + 0x44], 0x3e000000
add rax, 0x28
or rax, 1
mov qword [rdx], rax
or rdx, 2
mov qword [r14 + 0x28], rdx
lea rcx, [r14 + 0x48]
call fcn.140027560
nop
mov rdx, r15
lea rcx, [r14 + 0x48]
call fcn.1400275b0
mov dword [r14 + 0x68], 0x10000
mov byte [r14 + 0x6d], sil
mov dword [r14 + 0x60], edi
mov qword [r14 + 0x58], r12
mov byte [r14 + 0x6e], 0
mov byte [r14 + 0x6c], 0
mov dword [r14 + 0x64], ebp
mov rbx, qword [rsp + 0x78]
jmp 0x14001a1c3
inc edi
mov rax, rdx
nop dword [rax + rax]
cmp edi, dword [rax + 8]
je 0x14001a1bc
jae 0x14001a1ad
mov rax, qword [rax + 0x18]
jmp 0x14001a1b1
mov rax, qword [rax + 0x20]
test rax, rax
je 0x14001a0fb
jmp 0x14001a1a0
inc edi
jmp 0x14001a198
mov r14, rbp
test r14, r14
jne 0x14001a1d1
lea eax, [r14 + 6]
jmp 0x14001a373
mov rbx, qword [rbx]
mov r13, rbp
mov ecx, 0x38
call fcn.1400282f8
mov rsi, rax
mov qword [rsp + 0x20], rax
test rax, rax
je 0x14001a20d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi + 0x20], xmm0
mov qword [rsi + 0x30], rax
lea rcx, [rsi + 8]
call fcn.140027560
jmp 0x14001a210
mov rsi, rbp
test rsi, rsi
je 0x14001a2cf
mov dword [rsi], edi
mov rdx, r15
lea rcx, [rsi + 8]
call fcn.1400275b0
test rbx, rbx
je 0x14001a264
nop dword [rax]
lea rdx, [rbx + 8]
lea rcx, [rsi + 8]
call fcn.140027820
test al, al
jne 0x14001a295
mov r13, rbx
lea rdx, [rbx + 8]
lea rcx, [rsi + 8]
call fcn.1400278f0
test al, al
je 0x14001a25b
mov rbx, qword [rbx + 0x28]
jmp 0x14001a25f
mov rbx, qword [rbx + 0x30]
test rbx, rbx
jne 0x14001a230
mov qword [rsi + 0x20], r13
mov qword [rsi + 0x28], rbp
mov qword [rsi + 0x30], rbp
mov byte [rsi + 0x18], 1
test r13, r13
je 0x14001a2b4
lea rdx, [r13 + 8]
lea rcx, [rsi + 8]
call fcn.1400278f0
mov rbx, qword [rsp + 0x78]
test al, al
je 0x14001a2ae
mov qword [r13 + 0x28], rsi
jmp 0x14001a2bc
lea rcx, [rsi + 8]
call fcn.140027e00
nop
mov edx, 0x38
mov rcx, rsi
call fcn.140028334
jmp 0x14001a2ca
mov qword [r13 + 0x30], rsi
jmp 0x14001a2bc
mov rbx, qword [rsp + 0x78]
mov qword [rbx], rsi
mov rdx, rsi
mov rcx, rbx
call fcn.14001f000
inc dword [rbx + 8]
mov r12, qword [rsp + 0x70]
mov rbx, qword [r12]
mov ecx, 0x28
call fcn.1400282f8
test rax, rax
je 0x14001a35a
mov qword [rax + 0xc], rbp
mov qword [rax + 0x14], rbp
mov qword [rax + 0x1c], rbp
mov dword [rax + 0x24], ebp
mov qword [rax], r14
mov dword [rax + 8], edi
test rbx, rbx
je 0x14001a319
nop dword [rax]
cmp edi, dword [rbx + 8]
je 0x14001a331
mov rbp, rbx
jae 0x14001a310
mov rbx, qword [rbx + 0x18]
jmp 0x14001a314
mov rbx, qword [rbx + 0x20]
test rbx, rbx
jne 0x14001a300
mov qword [rax + 0x10], rbp
mov byte [rax + 0xc], 1
test rbp, rbp
je 0x14001a346
cmp edi, dword [rbp + 8]
jae 0x14001a340
mov qword [rbp + 0x18], rax
jmp 0x14001a34a
mov edx, 0x28
mov rcx, rax
call fcn.140028334
jmp 0x14001a35a
mov qword [rbp + 0x20], rax
jmp 0x14001a34a
mov qword [r12], rax
mov rdx, rax
mov rcx, r12
call fcn.14001f200
inc dword [r12 + 8]
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14001a36a
mov qword [rax], r14
xor eax, eax
jmp 0x14001a373
mov eax, 9
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret