Function at 0x14008daa0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x40
mov rax, qword [rcx + 0x10]
mov rdi, r9
mov r14, r8
mov rsi, rdx
mov rbp, rcx
cmp qword [rcx + 8], rax
jne 0x14008dac8
call fcn.140041540
mov qword [rsp + 0x68], rbx
cmp rdi, 2
jb 0x14008dd24
mov rbx, rdi
shr rbx, 1
imul rax, rbx, 0xfffffffffffffffe
add rdi, rax
nop dword [rax]
nop dword [rax + rax]
mov r8d, dword [rsi]
mov eax, dword [rsi + 4]
bswap r8d
mov ecx, r8d
bswap eax
rol eax, 4
xor ecx, eax
and ecx, 0xf0f0f0f0
xor r8d, ecx
xor ecx, eax
rol ecx, 0xc
mov edx, ecx
xor edx, r8d
and edx, 0xffff0000
mov eax, edx
xor edx, ecx
xor eax, r8d
rol edx, 0xe
mov r8d, edx
xor r8d, eax
and r8d, 0x33333333
mov ecx, r8d
xor r8d, edx
xor ecx, eax
ror r8d, 6
mov r9d, r8d
xor r9d, ecx
and r9d, 0xff00ff
mov edx, r9d
xor r9d, r8d
xor edx, ecx
rol r9d, 9
mov ecx, r9d
xor ecx, edx
and ecx, 0xaaaaaaaa
mov eax, ecx
xor ecx, r9d
xor eax, edx
mov dword [rsp + 0x60], ecx
mov ecx, dword [rsi + 0xc]
rol eax, 1
mov dword [rsp + 0x78], eax
mov eax, dword [rsi + 8]
bswap eax
bswap ecx
rol ecx, 4
mov r8d, ecx
xor r8d, eax
and r8d, 0xf0f0f0f0
mov edx, r8d
xor r8d, ecx
rol r8d, 0xc
xor edx, eax
mov r9d, r8d
xor r9d, edx
and r9d, 0xffff0000
mov eax, r9d
xor r9d, r8d
rol r9d, 0xe
xor eax, edx
mov r8d, r9d
xor r8d, eax
and r8d, 0x33333333
mov ecx, r8d
xor r8d, r9d
xor ecx, eax
ror r8d, 6
mov r9d, r8d
xor r9d, ecx
and r9d, 0xff00ff
mov edx, r9d
xor r9d, r8d
xor edx, ecx
rol r9d, 9
mov ecx, r9d
xor ecx, edx
and ecx, 0xaaaaaaaa
mov eax, ecx
xor eax, edx
rol eax, 1
mov dword [rsp + 0x34], eax
mov rax, qword [rbp + 8]
lea r8, [rsp + 0x34]
xor ecx, r9d
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x30], ecx
lea r9, [rsp + 0x30]
lea rcx, [rsp + 0x78]
lea rdx, [rsp + 0x60]
call fcn.14008ce30
mov r11d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x30]
ror r11d, 1
mov ecx, r11d
ror r8d, 1
xor ecx, dword [rsp + 0x78]
and ecx, 0xaaaaaaaa
xor r11d, ecx
xor ecx, dword [rsp + 0x78]
ror ecx, 9
mov eax, ecx
xor eax, r11d
and eax, 0xff00ff
xor r11d, eax
xor eax, ecx
rol eax, 6
mov ecx, eax
xor ecx, r11d
and ecx, 0x33333333
xor r11d, ecx
xor ecx, eax
ror ecx, 0xe
mov edx, ecx
xor edx, r11d
and edx, 0xffff0000
xor r11d, edx
xor edx, ecx
ror edx, 0xc
mov ecx, edx
xor ecx, r11d
and ecx, 0xf0f0f0f0
mov eax, ecx
xor ecx, edx
ror ecx, 4
xor eax, r11d
bswap ecx
mov dword [r14 + 4], ecx
mov ecx, r8d
xor ecx, dword [rsp + 0x34]
and ecx, 0xaaaaaaaa
xor r8d, ecx
xor ecx, dword [rsp + 0x34]
ror ecx, 9
bswap eax
mov dword [r14], eax
mov eax, ecx
xor eax, r8d
and eax, 0xff00ff
xor r8d, eax
xor eax, ecx
rol eax, 6
mov ecx, eax
xor ecx, r8d
and ecx, 0x33333333
xor r8d, ecx
xor ecx, eax
ror ecx, 0xe
mov edx, ecx
xor edx, r8d
and edx, 0xffff0000
xor r8d, edx
xor edx, ecx
ror edx, 0xc
mov ecx, edx
xor ecx, r8d
and ecx, 0xf0f0f0f0
mov eax, ecx
xor ecx, edx
xor eax, r8d
bswap eax
mov dword [r14 + 8], eax
ror ecx, 4
bswap ecx
mov dword [r14 + 0xc], ecx
add rsi, 0x10
add r14, 0x10
sub rbx, 1
jne 0x14008daf0
test rdi, rdi
je 0x14008de65
lea rbx, [r14 + 4]
sub rsi, r14
nop dword [rax]
nop dword [rax + rax]
mov ecx, dword [rbx + rsi]
mov eax, dword [rbx + rsi - 4]
bswap ecx
rol ecx, 4
mov r8d, ecx
bswap eax
xor r8d, eax
and r8d, 0xf0f0f0f0
mov edx, r8d
xor r8d, ecx
xor edx, eax
rol r8d, 0xc
mov r9d, r8d
xor r9d, edx
and r9d, 0xffff0000
mov eax, r9d
xor r9d, r8d
xor eax, edx
rol r9d, 0xe
mov r8d, r9d
xor r8d, eax
and r8d, 0x33333333
mov ecx, r8d
xor r8d, r9d
xor ecx, eax
ror r8d, 6
mov r9d, r8d
xor r9d, ecx
and r9d, 0xff00ff
mov edx, r9d
xor r9d, r8d
mov r8, qword [rbp + 8]
xor edx, ecx
rol r9d, 9
mov ecx, r9d
xor ecx, edx
and ecx, 0xaaaaaaaa
mov eax, ecx
xor ecx, r9d
xor eax, edx
mov dword [rsp + 0x60], ecx
rol eax, 1
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x78]
mov dword [rsp + 0x78], eax
call fcn.14008c940
mov r8d, dword [rsp + 0x60]
ror r8d, 1
mov ecx, r8d
xor ecx, dword [rsp + 0x78]
and ecx, 0xaaaaaaaa
xor r8d, ecx
xor ecx, dword [rsp + 0x78]
ror ecx, 9
mov eax, ecx
xor eax, r8d
and eax, 0xff00ff
xor r8d, eax
xor eax, ecx
rol eax, 6
mov ecx, eax
xor ecx, r8d
and ecx, 0x33333333
xor r8d, ecx
xor ecx, eax
ror ecx, 0xe
mov edx, ecx
xor edx, r8d
and edx, 0xffff0000
xor r8d, edx
xor edx, ecx
ror edx, 0xc
mov ecx, edx
xor ecx, r8d
and ecx, 0xf0f0f0f0
mov eax, ecx
xor ecx, edx
xor eax, r8d
bswap eax
mov dword [rbx - 4], eax
ror ecx, 4
lea rbx, [rbx + 8]
bswap ecx
mov dword [rbx - 8], ecx
sub rdi, 1
jne 0x14008dd40
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
add rsp, 0x40
pop r14
pop rdi
pop rsi
ret