Function at 0x140254140
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
cmp dword [0x140334388], 0
mov rsi, rdx
mov rdx, qword [rcx]
mov rbx, rcx
movsxd rdi, r8d
je 0x140254185
mov rcx, qword [rcx + 0x28]
mov r8, rdx
mov rdx, rsi
mov r9d, edi
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x140254940
mov r8, rdi
mov rcx, rsi
call fcn.1400bd020
mov ecx, dword [rbx + 0x4c]
mov r8d, edi
mov rdx, rsi
call fcn.1402541c0
mov rsi, qword [rsp + 0x38]
mov dword [rbx + 0x4c], eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
lea rbp, [rax - 0x5f]
sub rsp, 0xf8
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x140319d50]
xor rax, rsp
mov qword [rbp - 0x29], rax
mov r10d, r9d
mov r11, r8
mov rdi, rdx
mov rsi, rcx
movdqu xmm0, xmmword [rcx + 0x50]
movdqu xmm10, xmmword [rcx + 0x90]
movdqa xmmword [rbp - 0x49], xmm0
movdqu xmm0, xmmword [rcx + 0x60]
movdqa xmmword [rbp - 0x59], xmm0
movdqu xmm0, xmmword [rcx + 0x70]
movdqa xmmword [rbp - 0x69], xmm0
movdqu xmm0, xmmword [rcx + 0x80]
movdqa xmmword [rbp - 0x79], xmm0
cmp r9d, 0x10
jge 0x1402549c6
test r9d, r9d
je 0x140254cbb
jmp 0x140254c10
mov eax, r11d
neg eax
and eax, 0xf
je 0x140254a17
movdqu xmm0, xmmword [r8]
sub r10d, eax
lea r9, [rbp - 0x59]
lea r8, [rbp - 0x49]
movdqu xmmword [rdx], xmm0
mov edx, eax
lea rax, [rbp - 0x39]
mov qword [rsp + 0x30], rax
add rdi, rdx
lea rax, [rbp - 0x79]
movdqa xmmword [rbp - 0x39], xmm0
mov qword [rsp + 0x28], rax
add r11, rdx
lea rax, [rbp - 0x69]
mov qword [rsp + 0x20], rax
call fcn.140254f70
movdqa xmm10, xmmword [rbp - 0x39]
sub r10d, 0x40
js 0x140254ad0
lea ebx, [r10 + 0x40]
movaps xmmword [rsp + 0xb0], xmm9
shr rbx, 6
mov eax, ebx
neg eax
shl eax, 6
add r10d, eax
nop dword [rax]
movdqu xmm6, xmmword [r11]
lea rax, [rbp - 0x79]
movdqu xmm7, xmmword [r11 + 0x10]
lea r9, [rbp - 0x69]
movdqu xmm8, xmmword [r11 + 0x20]
lea r8, [rbp - 0x59]
movdqu xmm9, xmmword [r11 + 0x30]
lea rdx, [rbp - 0x49]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140254ed0
movdqu xmmword [rdi], xmm6
add r11, 0x40
pxor xmm6, xmmword [rbp - 0x49]
movdqu xmmword [rdi + 0x10], xmm7
pxor xmm7, xmmword [rbp - 0x59]
movdqu xmmword [rdi + 0x20], xmm8
pxor xmm8, xmmword [rbp - 0x69]
movdqu xmmword [rdi + 0x30], xmm9
add rdi, 0x40
pxor xmm9, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x49], xmm6
movdqa xmmword [rbp - 0x59], xmm7
movdqa xmmword [rbp - 0x69], xmm8
movdqa xmmword [rbp - 0x79], xmm9
sub rbx, 1
jne 0x140254a40
movaps xmm9, xmmword [rsp + 0xb0]
lea eax, [r10 + 0x10]
test eax, eax
js 0x140254b4e
movdqu xmm6, xmmword [r11]
lea r9, [rbp - 0x69]
movdqu xmm7, xmmword [r11 + 0x10]
lea r8, [rbp - 0x59]
movdqu xmm8, xmmword [r11 + 0x20]
lea rdx, [rbp - 0x49]
mov r10d, eax
mov rcx, rsi
lea rax, [rbp - 0x79]
mov qword [rsp + 0x20], rax
call fcn.140254e20
movdqu xmmword [rdi], xmm6
pxor xmm6, xmmword [rbp - 0x59]
movdqa xmmword [rbp - 0x59], xmm6
movdqu xmmword [rdi + 0x10], xmm7
pxor xmm7, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x69], xmm7
movdqu xmmword [rdi + 0x20], xmm8
pxor xmm8, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x79], xmm8
test r10d, r10d
je 0x140254c87
add rdi, 0x30
add r11, 0x30
jmp 0x140254c10
lea eax, [r10 + 0x20]
test eax, eax
js 0x140254bb1
movdqu xmm6, xmmword [r11]
lea r9, [rbp - 0x69]
movdqu xmm7, xmmword [r11 + 0x10]
lea r8, [rbp - 0x59]
mov r10d, eax
lea rdx, [rbp - 0x49]
lea rax, [rbp - 0x79]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.140254d90
movdqu xmmword [rdi], xmm6
pxor xmm6, xmmword [rbp - 0x69]
movdqa xmmword [rbp - 0x69], xmm6
movdqu xmmword [rdi + 0x10], xmm7
pxor xmm7, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x79], xmm7
test r10d, r10d
je 0x140254c87
add rdi, 0x20
add r11, 0x20
jmp 0x140254c10
lea eax, [r10 + 0x30]
test eax, eax
js 0x140254bff
movdqu xmm6, xmmword [r11]
lea r9, [rbp - 0x69]
mov r10d, eax
lea r8, [rbp - 0x59]
lea rax, [rbp - 0x79]
mov rcx, rsi
lea rdx, [rbp - 0x49]
mov qword [rsp + 0x20], rax
call fcn.140254d30
movdqu xmmword [rdi], xmm6
pxor xmm6, xmmword [rbp - 0x79]
movdqa xmmword [rbp - 0x79], xmm6
test r10d, r10d
je 0x140254c87
add rdi, 0x10
add r11, 0x10
jmp 0x140254c10
add r10d, 0x40
je 0x140254c87
nop dword [rax]
movsxd rbx, r10d
lea rcx, [rbp - 0x39]
xorps xmm0, xmm0
mov r8, rbx
mov rdx, r11
movdqu xmmword [rbp - 0x39], xmm0
call fcn.1400bd020
movd xmm1, dword [rbp - 0x2d]
lea rax, [rbp - 0x39]
movd xmm0, dword [rbp - 0x31]
lea r9, [rbp - 0x59]
movd xmm2, dword [rbp - 0x35]
lea r8, [rbp - 0x49]
movd xmm3, dword [rbp - 0x39]
mov rdx, rbx
mov qword [rsp + 0x30], rax
mov rcx, rsi
lea rax, [rbp - 0x79]
punpckldq xmm3, xmm0
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x69]
punpckldq xmm2, xmm1
punpckldq xmm3, xmm2
mov qword [rsp + 0x20], rax
movdqa xmmword [rbp - 0x39], xmm3
movdqu xmmword [rdi], xmm3
call fcn.140254f70
movdqa xmm10, xmmword [rbp - 0x39]
movdqa xmm0, xmmword [rbp - 0x49]
movdqa xmm1, xmmword [rbp - 0x59]
movdqu xmmword [rsi + 0x50], xmm0
movdqa xmm0, xmmword [rbp - 0x69]
movdqu xmmword [rsi + 0x60], xmm1
movdqa xmm1, xmmword [rbp - 0x79]
movdqu xmmword [rsi + 0x70], xmm0
movdqu xmmword [rsi + 0x80], xmm1
movdqu xmmword [rsi + 0x90], xmm10
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.1400ba2f0
lea r11, [rsp + 0xf8]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm10, xmmword [r11 - 0x58]
mov rsp, r11
pop rdi
pop rsi
pop rbx
pop rbp
ret