Function at 0x14009f970
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x50
xor r14d, r14d
mov dword [rbp + 0x28], 0xb4b8b7e1
mov rsi, rdx
mov word [rbp + 0x2c], 0x100
mov edx, r14d
mov rdi, rcx
nop
lea eax, [rdx - 0x31]
xor byte [rbp + rdx + 0x28], al
inc rdx
cmp rdx, 4
jb 0x14009f9a0
mov rbx, 0xffffffffffffffff
mov byte [rbp + 0x2d], r14b
mov rax, rbx
lea rcx, [rbp + 0x28]
inc rax
cmp byte [rcx + rax], r14b
jne 0x14009f9c2
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x14009f9d8
mov rcx, qword [rsi]
mov rdx, qword [rsi + 0x10]
lea r9, [rbp + 0x28]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.140085f70
mov word [rbp + 0x2c], 0x100
mov rcx, r14
cmp rax, rbx
je 0x14009fa48
mov dword [rbp + 0x28], 0xb4b8b7e1
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 4
jb 0x14009fa10
xorps xmm0, xmm0
mov byte [rbp + 0x2d], r14b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
lea rax, [rbp + 0x28]
mov qword [rdi + 0x18], r14
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14009fa36
lea rdx, [rbp + 0x28]
jmp 0x14009fd33
mov dword [rbp + 0x28], 0xb5bfa0e1
nop
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 4
jb 0x14009fa50
mov byte [rbp + 0x2d], r14b
lea rcx, [rbp + 0x28]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], r14b
jne 0x14009fa70
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x14009fa86
mov rcx, qword [rsi]
mov rdx, qword [rsi + 0x10]
lea r9, [rbp + 0x28]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.140085f70
mov word [rbp + 0x2c], 0x100
mov rcx, r14
cmp rax, rbx
je 0x14009fae8
mov dword [rbp + 0x28], 0xb5bfa0e1
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 4
jb 0x14009fab0
xorps xmm0, xmm0
mov byte [rbp + 0x2d], r14b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
lea rax, [rbp + 0x28]
mov qword [rdi + 0x18], r14
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14009fad6
lea rdx, [rbp + 0x28]
jmp 0x14009fd33
mov dword [rbp + 0x28], 0xa2bcb2e1
nop
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 4
jb 0x14009faf0
mov byte [rbp + 0x2d], r14b
lea rcx, [rbp + 0x28]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], r14b
jne 0x14009fb10
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x14009fb26
mov rcx, qword [rsi]
mov rdx, qword [rsi + 0x10]
lea r9, [rbp + 0x28]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.140085f70
mov word [rbp + 0x2c], 0x100
mov rcx, r14
cmp rax, rbx
je 0x14009fb88
mov dword [rbp + 0x28], 0xa2bcb2e1
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 4
jb 0x14009fb50
xorps xmm0, xmm0
mov byte [rbp + 0x2d], r14b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
lea rax, [rbp + 0x28]
mov qword [rdi + 0x18], r14
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14009fb76
lea rdx, [rbp + 0x28]
jmp 0x14009fd33
mov dword [rbp + 0x28], 0xb5a1bae1
nop
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 4
jb 0x14009fb90
mov byte [rbp + 0x2d], r14b
lea rcx, [rbp + 0x28]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], r14b
jne 0x14009fbb0
cmp qword [rsi + 0x18], 0x10
mov rcx, rsi
jb 0x14009fbc6
mov rcx, qword [rsi]
mov rdx, qword [rsi + 0x10]
lea r9, [rbp + 0x28]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call fcn.140085f70
mov rcx, r14
cmp rax, rbx
je 0x14009fc28
mov dword [rbp + 0x28], 0xb5a1bae1
mov word [rbp + 0x2c], 0x100
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 4
jb 0x14009fbf0
xorps xmm0, xmm0
mov byte [rbp + 0x2d], r14b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
lea rax, [rbp + 0x28]
mov qword [rdi + 0x18], r14
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14009fc16
lea rdx, [rbp + 0x28]
jmp 0x14009fd33
mov dword [rbp + 0x28], 0xb7a1bae1
mov word [rbp + 0x2c], 0xb4
mov byte [rbp + 0x2e], 1
nop dword [rax]
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 5
jb 0x14009fc40
mov byte [rbp + 0x2e], r14b
lea rcx, [rbp + 0x28]
mov rax, rbx
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], r14b
jne 0x14009fc60
cmp qword [rsi + 0x18], 0x10
mov rdx, qword [rsi + 0x10]
jb 0x14009fc77
mov rsi, qword [rsi]
lea r9, [rbp + 0x28]
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, rsi
call fcn.140085f70
mov rcx, r14
cmp rax, rbx
je 0x14009fce5
mov dword [rbp + 0x28], 0xb7a1bae1
mov word [rbp + 0x2c], 0xb4
mov byte [rbp + 0x2e], 1
nop dword [rax]
nop dword [rax + rax]
lea eax, [rcx - 0x31]
xor byte [rbp + rcx + 0x28], al
inc rcx
cmp rcx, 5
jb 0x14009fcb0
xorps xmm0, xmm0
mov byte [rbp + 0x2e], r14b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
lea rax, [rbp + 0x28]
mov qword [rdi + 0x18], r14
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14009fcd6
lea rdx, [rbp + 0x28]
jmp 0x14009fd33
mov dword [rbp - 0x18], 0xa7a2beba
mov dword [rbp - 0x14], 0xa4baa4a3
mov dword [rbp - 0x10], 0xbdbda3
mov byte [rbp - 0xc], 1
nop
lea eax, [rcx - 0x31]
xor byte [rbp + rcx - 0x18], al
inc rcx
cmp rcx, 0xb
jb 0x14009fd00
xorps xmm0, xmm0
mov byte [rbp - 0xc], r14b
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r14
lea rax, [rbp - 0x18]
mov qword [rdi + 0x18], r14
inc rbx
cmp byte [rax + rbx], r14b
jne 0x14009fd26
lea rdx, [rbp - 0x18]
mov r8, rbx
mov rcx, rdi
call fcn.14000d350
mov rbx, qword [rsp + 0x70]
mov rax, rdi
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r14
pop rdi
pop rbp
ret