Function at 0x14008f410
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
cmp dword [rcx + 4], 1
je 0x14008f74f
mov rdi, rdx
mov rsi, rcx
mov r15, qword [rcx + 0xd0]
mov rax, qword [rcx + 0xd8]
lea rbx, [rcx + 8]
test rax, rax
je 0x14008f466
mov r12, r15
sub r12, rax
cmp r12, r8
mov rax, r8
cmovb rax, r12
test rax, rax
je 0x14008f4d7
cmp rax, 1
jne 0x14008f47a
xor ecx, ecx
jmp 0x14008f4c2
mov rax, r15
mov r14, r8
cmp r14, rax
jae 0x14008f505
jmp 0x14008f52a
mov rdx, rax
and rdx, 0xfffffffffffffffe
xor ecx, ecx
nop word cs:[rax + rax]
movzx r9d, byte [rdi + rcx]
mov r10, qword [rsi + 0xd8]
add r10, rsi
xor byte [rcx + r10 + 8], r9b
movzx r9d, byte [rdi + rcx + 1]
mov r10, qword [rsi + 0xd8]
add r10, rsi
xor byte [rcx + r10 + 9], r9b
add rcx, 2
cmp rdx, rcx
jne 0x14008f490
test al, 1
je 0x14008f4d7
movzx eax, byte [rdi + rcx]
mov rdx, qword [rsi + 0xd8]
add rdx, rbx
xor byte [rcx + rdx], al
mov r14, r8
sub r14, r12
jae 0x14008f4ee
add r8, qword [rsi + 0xd8]
mov r14, r8
jmp 0x14008f5c1
mov rcx, rbx
call fcn.14008f950
add rdi, r12
mov rax, qword [rsi + 0xd0]
cmp r14, rax
jb 0x14008f52a
cmp r15, 7
ja 0x14008f5d9
nop
mov rcx, rbx
call fcn.14008f950
mov rax, qword [rsi + 0xd0]
add rdi, rax
sub r14, rax
cmp r14, rax
jae 0x14008f510
test r14, r14
je 0x14008f5be
cmp r14, 8
jb 0x14008f557
lea rax, [rdi + r14]
cmp rbx, rax
jae 0x14008f6cd
lea rax, [rsi + r14]
add rax, 8
cmp rdi, rax
jae 0x14008f6cd
xor eax, eax
mov rdx, r14
mov rcx, rax
and rdx, 3
je 0x14008f581
mov rcx, rax
nop dword [rax + rax]
movzx r8d, byte [rdi + rcx]
xor byte [rbx + rcx], r8b
inc rcx
dec rdx
jne 0x14008f570
sub rax, r14
cmp rax, 0xfffffffffffffffc
ja 0x14008f5c1
nop word [rax + rax]
movzx eax, byte [rdi + rcx]
xor byte [rsi + rcx + 8], al
movzx eax, byte [rdi + rcx + 1]
xor byte [rsi + rcx + 9], al
movzx eax, byte [rdi + rcx + 2]
xor byte [rsi + rcx + 0xa], al
movzx eax, byte [rdi + rcx + 3]
xor byte [rsi + rcx + 0xb], al
add rcx, 4
cmp r14, rcx
jne 0x14008f590
jmp 0x14008f5c1
xor r14d, r14d
mov qword [rsi + 0xd8], r14
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r12, r15
shr r12, 3
mov r13, r15
and r13, 0xfffffffffffffff8
lea rax, [rsi + r13]
add rax, 8
mov qword [rsp + 0x20], rax
mov rbp, r12
and rbp, 0xfffffffffffffffc
jmp 0x14008f61e
mov rcx, rbx
call fcn.14008f950
mov rax, qword [rsi + 0xd0]
add rdi, rax
sub r14, rax
cmp r14, rax
jb 0x14008f52a
cmp r15, 0x20
jb 0x14008f634
lea rax, [rdi + r13]
cmp rbx, rax
jae 0x14008f680
cmp rdi, qword [rsp + 0x20]
jae 0x14008f680
xor eax, eax
mov rcx, rax
or rcx, 1
test r15b, 8
je 0x14008f64e
mov rdx, qword [rdi + rax*8]
xor qword [rbx + rax*8], rdx
mov rax, rcx
cmp r12, rcx
je 0x14008f600
nop word cs:[rax + rax]
mov rcx, qword [rdi + rax*8]
xor qword [rsi + rax*8 + 8], rcx
mov rcx, qword [rdi + rax*8 + 8]
xor qword [rsi + rax*8 + 0x10], rcx
add rax, 2
cmp r12, rax
jne 0x14008f660
jmp 0x14008f600
xor eax, eax
nop word cs:[rax + rax]
movups xmm0, xmmword [rdi + rax*8]
movups xmm1, xmmword [rdi + rax*8 + 0x10]
movups xmm2, xmmword [rsi + rax*8 + 8]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rax*8 + 0x18]
xorps xmm0, xmm1
movups xmmword [rsi + rax*8 + 8], xmm2
movups xmmword [rsi + rax*8 + 0x18], xmm0
add rax, 4
cmp rbp, rax
jne 0x14008f690
mov rax, rbp
cmp r12, rbp
je 0x14008f600
jmp 0x14008f636
cmp r14, 0x20
jae 0x14008f6d7
xor eax, eax
jmp 0x14008f71f
mov rax, r14
and rax, 0xffffffffffffffe0
xor ecx, ecx
movups xmm0, xmmword [rdi + rcx]
movups xmm1, xmmword [rdi + rcx + 0x10]
movups xmm2, xmmword [rsi + rcx + 8]
xorps xmm2, xmm0
movups xmm0, xmmword [rsi + rcx + 0x18]
xorps xmm0, xmm1
movups xmmword [rsi + rcx + 8], xmm2
movups xmmword [rsi + rcx + 0x18], xmm0
add rcx, 0x20
cmp rax, rcx
jne 0x14008f6e0
cmp r14, rax
je 0x14008f5c1
test r14b, 0x18
je 0x14008f559
mov rcx, rax
mov rax, r14
and rax, 0xfffffffffffffff8
nop dword [rax]
mov rdx, qword [rdi + rcx]
xor qword [rbx + rcx], rdx
add rcx, 8
cmp rax, rcx
jne 0x14008f730
cmp r14, rax
je 0x14008f5c1
jmp 0x14008f559
call fcn.1402b5ec8
int3