Function at 0x14000d470
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov rax, qword [0x14010bcf8]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov r13, qword [rsp + 0x108]
xorps xmm0, xmm0
mov r15, rdx
movzx r12d, r9w
mov rdx, qword [rcx + 0x138]
mov r14, r8
mov rbp, rcx
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
test rdx, rdx
je 0x14000d6f7
mov rsi, qword [rsp + 0x100]
test rsi, rsi
je 0x14000d6f7
mov ecx, dword [rsi + 8]
xor edi, edi
movsd xmm0, qword [rsi]
movsd qword [rsp + 0x40], xmm0
mov eax, dword [rsp + 0x40]
mov dword [rdx + 0x34], eax
mov rax, qword [rsp + 0x40]
shr rax, 0x20
mov dword [rdx + 0x38], eax
mov dword [rsp + 0x48], ecx
mov dword [rdx + 0x40], edi
mov dword [rdx + 0x30], edi
mov dword [rdx + 0x3c], ecx
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x14000d6f7
mov ebx, 0x20
lea r8, [rsp + 0x60]
mov r9d, ebx
lea rdx, [rsp + 0x60]
call fcn.14004cce0
mov rdx, qword [rbp + 0x138]
test rdx, rdx
je 0x14000d6f7
mov ecx, dword [rsi + 8]
movsd xmm0, qword [rsi]
mov dword [rdx + 0x40], edi
mov dword [rdx + 0x30], 1
mov dword [rdx + 0x3c], ecx
movsd qword [rsp + 0x50], xmm0
mov eax, dword [rsp + 0x50]
mov dword [rdx + 0x34], eax
mov rax, qword [rsp + 0x50]
shr rax, 0x20
mov dword [rdx + 0x38], eax
lea rdx, [rsp + 0x60]
mov dword [rsp + 0x58], ecx
mov rcx, qword [rbp + 0x558]
call fcn.14004c100
lea rcx, [rsp + 0x60]
mov edx, eax
neg ecx
lea rax, [rsp + 0x60]
and ecx, 7
sub ebx, ecx
test ecx, ecx
je 0x14000d5ab
nop dword [rax + rax]
mov byte [rax], dil
inc rax
add ecx, 0xffffffff
jne 0x14000d5a0
cmp ebx, 8
jb 0x14000d5d0
mov ecx, ebx
shr rcx, 3
nop word [rax + rax]
mov qword [rax], rdi
add ebx, 0xfffffff8
add rax, 8
sub rcx, 1
jne 0x14000d5c0
test ebx, ebx
je 0x14000d5e0
mov byte [rax], dil
lea rax, [rax + 1]
add ebx, 0xffffffff
jne 0x14000d5d4
test edx, edx
je 0x14000d5eb
mov eax, edx
jmp 0x14000d6fc
mov rcx, qword [rbp + 0x558]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov ebx, r12d
mov r9, r14
mov dword [rsp + 0x20], ebx
mov r8d, 5
mov rdx, r13
call fcn.14004c730
test eax, eax
jne 0x14000d6fc
mov rcx, qword [rsp + 0x118]
lea rax, [rsp + 0x50]
sub rcx, rax
xorps xmm4, xmm4
xorps xmm3, xmm3
mov rdx, rdi
nop word [rax + rax]
xorps xmm0, xmm0
lea rax, [rsp + 0x50]
add rax, rdx
add rdx, 8
movd xmm2, dword [rcx + rax]
movd xmm1, dword [rax]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklbw xmm1, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
movd xmm1, dword [rax + 4]
punpcklbw xmm1, xmm0
por xmm4, xmm2
movd xmm2, dword [rcx + rax + 4]
punpcklbw xmm2, xmm0
punpcklwd xmm2, xmm0
punpcklwd xmm1, xmm0
pxor xmm2, xmm1
por xmm3, xmm2
cmp rdx, 0x10
jl 0x14000d640
por xmm3, xmm4
movdqa xmm0, xmm3
psrldq xmm0, 8
por xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
por xmm3, xmm0
movd eax, xmm3
test eax, eax
je 0x14000d6c6
mov eax, 0xfffffecf
jmp 0x14000d6fc
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x14000d6ee
test r14, r14
je 0x14000d6ee
test r15, r15
je 0x14000d6ee
mov r9d, ebx
mov r8, r15
mov rdx, r14
call fcn.14004cce0
mov eax, edi
jmp 0x14000d6fc
mov edi, 0xffffff53
mov eax, edi
jmp 0x14000d6fc
mov eax, 0xffffff53
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.1400b06c0
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret