Function at 0x8f5970
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x258
movaps xmmword [rsp + 0x240], xmm6
lea r13, [rsp + 0x40]
mov qword [rsp + 0x2b0], r8
mov r12, rcx
xor r8d, r8d
mov rcx, r13
lea rbp, [rsp + 0x80]
lea r14, [rsp + 0x1c0]
call fcn.008fa9e0
lea rdx, [0x023f46a0]
mov rcx, r13
lea rsi, [rsp + 0xc0]
mov qword [rsp + 0x30], rax
lea rbx, [rsp + 0x140]
lea r15, [rsp + 0x180]
call fcn.008fabb0
mov rdx, r13
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.008f9de0
mov r8, rbp
lea rdx, [0x023f4660]
mov rcx, r14
call fcn.008fa7f0
lea rdx, [0x023f46a0]
mov rcx, r14
call fcn.008fabb0
mov rdx, r14
mov rcx, rsi
mov rdi, rax
call fcn.008f9de0
lea r10, [rsp + 0x100]
mov rdx, rbp
not rdi
mov rcx, r10
mov r8d, 0x262a4
mov qword [rsp + 0x28], r10
call fcn.008f9d20
mov r10, qword [rsp + 0x28]
mov r8, rsi
mov rdx, r10
mov rcx, r10
call fcn.008fa7f0
mov r8, r13
mov rdx, r14
mov rcx, rbx
call fcn.008f9720
mov rdx, rbx
mov rcx, r15
call fcn.008f9de0
mov r10, qword [rsp + 0x28]
mov r8, r15
mov rcx, rsi
mov rdx, r10
mov qword [rsp + 0x38], r10
call fcn.008f9720
mov rdx, rsi
mov rcx, r15
call fcn.008fa240
lea rdx, [0x023f46a0]
mov rcx, rsi
mov qword [rsp + 0x28], rax
call fcn.008fabb0
mov r8, qword [rsp + 0x2b0]
or rax, qword [rsp + 0x28]
xor r9d, r9d
and rdi, rax
mov rax, qword [rsp + 0x30]
mov rcx, r9
mov rdx, r8
mov r8, rbx
and rax, rdi
add rdx, 0xffffffffffffffff
mov rdi, qword [rsp + 0x20]
mov rdx, r15
adc rcx, 0xffffffffffffffff
and rdi, rcx
mov rcx, rsi
not rdi
and rdi, rax
mov qword [rsp + 0x28], rdi
lea rdi, [rsp + 0x200]
call fcn.008f9720
mov r10, qword [rsp + 0x38]
mov rdx, r15
mov rcx, rbx
mov r8, r10
mov qword [rsp + 0x30], r10
call fcn.008f9720
mov r8, r14
mov rdx, rbx
mov rcx, r15
call fcn.008f9720
mov rcx, r15
call fcn.008fa8c0
lea rdx, [0x023f46a0]
mov r8, rsi
mov rcx, rdi
movq xmm6, rax
call fcn.008fa700
mov r10, qword [rsp + 0x30]
mov rax, rsi
mov rdx, rdi
pshufd xmm6, xmm6, 0
nop dword [rax]
movdqa xmm0, xmmword [rax]
pxor xmm0, xmmword [rdx]
add rax, 0x10
add rdx, 0x10
pand xmm0, xmm6
pxor xmm0, xmmword [rax - 0x10]
movaps xmmword [rax - 0x10], xmm0
cmp rax, r10
jne 0x8f5b50
mov r8, rbx
lea rdx, [0x023f46a0]
mov rcx, rdi
call fcn.008fa700
mov rax, rdi
nop word [rax + rax]
movdqa xmm0, xmmword [rbx]
pxor xmm0, xmmword [rax]
add rbx, 0x10
add rax, 0x10
pand xmm0, xmm6
pxor xmm0, xmmword [rbx - 0x10]
movaps xmmword [rbx - 0x10], xmm0
cmp r15, rbx
jne 0x8f5b90
lea rbx, [r12 + 0x80]
mov r8, rbp
lea rdx, [0x023f4660]
mov rcx, rbx
call fcn.008fa700
mov r8, rsi
mov rdx, r14
mov rcx, rbp
call fcn.008f9720
lea rcx, [r12 + 0x40]
mov r8, rbp
mov rdx, rbx
call fcn.008f9720
mov r8, r13
mov rdx, r13
mov rcx, r12
call fcn.008fa7f0
mov rdx, r12
lea rcx, [r12 + 0xc0]
mov r8, rbp
call fcn.008f9720
mov rax, qword [rsp + 0x20]
sub qword [r12 + 0x40], rax
mov rcx, r12
call fcn.008f5860
mov rdx, qword [rsp + 0x28]
not rdx
or rdx, rax
je 0x8f5c50
mov eax, dword [rsp + 0x28]
movaps xmm6, xmmword [rsp + 0x240]
add rsp, 0x258
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, 0x131
lea rdx, [0x023eee60]
lea rcx, [0x023eeec0]
call qword [sym.imp.msvcrt.dll__assert]
jmp 0x8f5c2a