Function at 0x140258920
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov rsi, rdx
mov r15, rcx
mov eax, dword [0x140565354]
cmp eax, 0x14
jg 0x14025897b
lea rdx, [rsp + 0x38]
mov rcx, r15
mov r8d, 0x896d876
mov r9d, 0x7e690152
call fcn.14010e400
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rdi]
mov rax, qword [r15 + 0x10]
mov ecx, dword [0x140565354]
mov edx, 0x6f3614b0
add edx, dword [0x1405286fc]
cmp ecx, edx
jl 0x1402589b0
mov r9d, dword [0x1405286fc]
mov eax, r9d
xor eax, 0x1353b20a
mov ecx, r9d
xor ecx, 0x6cac4df5
and ecx, r9d
lea r8d, [rax + rcx*2]
add r9d, 0xd7bc5121
lea rdx, [rsp + 0x38]
mov rcx, r15
call fcn.14010e400
jmp 0x140258941
cmp rbx, rax
je 0x1402589cd
xorps xmm0, xmm0
movups xmmword [rbx + 0x18], xmm0
mov r14, qword [rsi + 0x18]
cmp qword [rsi + 0x20], 0x10
jb 0x1402589eb
mov rsi, qword [rsi + 8]
jmp 0x1402589ef
mov rcx, r15
mov rdx, rbx
mov r8, rsi
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140258c10
add rsi, 8
lea r13, [rbx + 8]
lea r12, [rbx + 0x18]
mov rcx, r14
mov edx, 0x1333de6f
mov r8d, 0x4d0d7eff
call fcn.14025b680
test al, 1
je 0x140258a21
movups xmm0, xmmword [rsi]
movups xmmword [r13], xmm0
mov r13d, 0xf
jmp 0x140258bb5
mov qword [rsp + 0x60], r13
mov r13, r14
or r13, 0xf
movabs rax, 0x7fffffffffffffff
cmp r13, rax
cmovae r13, rax
cmp r13, 0xfff
jb 0x140258a79
lea rcx, [r13 + 0x28]
mov edx, 0x5d67df02
mov r8d, 0x670151fe
call fcn.1400aaef0
lea rcx, [rax + 0x27]
mov ebp, ecx
not ebp
xor rcx, 0xffffffffffffffe0
and ebp, 0x1f
or rbp, rcx
not rbp
mov qword [rbp - 8], rax
jmp 0x140258b9e
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
xor eax, eax
movabs r12, 0x608462d0944a7e8f
test al, al
jne 0x140258ae9
mov rax, qword [0x140528700]
mov rcx, rax
xor rcx, r12
and rax, r12
lea rcx, [rcx + rax*2]
add rcx, qword [rsp + 0x30]
mov edx, 0x5d67df02
mov r8d, 0x670151fe
call fcn.1400aaef0
mov rbp, rax
mov rcx, r15
mov edx, 0x641fedc5
mov r8d, 0x2f9737a0
call fcn.14025be40
test al, 1
jne 0x140258b85
mov rax, qword [rsp + 0x30]
lea rbp, [rax + rax]
dec rbp
movabs r14, 0x80016285eb3c3670
movabs rsi, 0x16285eb3c3670
movabs r13, 0x1f7cffb556f1b7e2
mov ebx, 0x6f3614a8
nop dword [rax + rax]
mov rax, qword [0x140528700]
lea rcx, [rax + r12]
imul rcx, rbp
mov rdx, rax
xor rdx, r14
and rax, rsi
lea rax, [rdx + rax*2]
add rax, rcx
mov rdx, r13
sub rdx, rax
mov rax, rdx
neg rax
dec rcx
mov r8, rcx
xor r8, rax
and rcx, rax
lea rcx, [r8 + rcx*2]
sub rcx, rdx
mov edx, 0x5d67df02
mov r8d, 0x670151fe
call fcn.1400aaef0
mov eax, dword [0x140565354]
mov ecx, dword [0x1405286fc]
add ecx, ebx
cmp eax, ecx
jge 0x140258b20
jmp 0x140258aa2
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov r13, qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
mov qword [rax], rbp
lea r8, [r14 + 1]
mov rcx, rbp
mov rdx, rsi
call fcn.14040bf30
mov dword [rsp + 0x28], 0xb3f6d4bd
mov dword [rsp + 0x20], 0xef28fc3e
mov rcx, r14
mov rdx, r12
mov r8, rbx
mov r9, r13
call fcn.14025bb90
lea rax, [0x140426b18]
mov qword [rbx], rax
mov rcx, qword [rdi]
add rcx, 0x28
mov rdx, rdi
mov r8d, 0xf6795f85
mov r9d, 0x216c347
call fcn.1400aa890
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret