Function at 0x140072420
Capabilities:
Encode data using xor

Disassembly:
jmp 0x140072420
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rdi, rdx
mov rdx, rcx
lea rcx, [rbp + 0x40]
call fcn.140015f90
mov rcx, qword [rbp + 0x40]
lea rdx, [rbp - 0x18]
call fcn.140019140
movups xmm0, xmmword [rbp - 0x18]
lea rdx, [rbp - 0x18]
mov rcx, qword [rbp + 0x40]
movsd xmm1, qword [rbp - 8]
movups xmmword [rbp - 0x30], xmm0
movsd qword [rbp - 0x20], xmm1
call fcn.14000ef30
mov r11, qword [rbp - 0x20]
mov r15, qword [rbp - 0x30]
mov r12, qword [rbp - 8]
mov r13, qword [rbp - 0x18]
mov rsi, qword [rbp - 0x28]
nop
cmp r15, r13
jne 0x14007249e
cmp r11, r12
je 0x14007264a
movups xmm0, xmmword [r11]
movups xmmword [rbp - 0x30], xmm0
psrldq xmm0, 8
movq rax, xmm0
cmp rsi, rax
jae 0x1400724ba
mov r8, rsi
jmp 0x1400724c6
movups xmm0, xmmword [r11]
movups xmmword [rbp - 0x30], xmm0
mov r8, qword [rbp - 0x28]
mov eax, dword [rdi]
mov r9, r8
mov rcx, qword [rbp - 0x30]
mov dword [rbp + 0x40], eax
cmp r8, 4
jb 0x140072517
movzx r10d, byte [rbp + 0x42]
mov rdx, r8
movzx ebx, byte [rbp + 0x41]
shr rdx, 2
imul r8, rdx, 0xfffffffffffffffc
add r8, r9
movzx r9d, byte [rbp + 0x43]
nop dword [rax]
nop dword [rax + rax]
xor byte [rcx], al
xor byte [rcx + 1], bl
xor byte [rcx + 2], r10b
xor byte [rcx + 3], r9b
add rcx, 4
sub rdx, 1
jne 0x140072500
test r8, r8
je 0x140072630
xor r10d, r10d
cmp r8, 0x40
jb 0x1400725c3
lea rdx, [rcx - 1]
add rdx, r8
lea rax, [rbp + r8 + 0x3f]
cmp rcx, rax
ja 0x140072547
lea rax, [rbp + 0x40]
cmp rdx, rax
jae 0x1400725c3
mov rbx, r8
and rbx, 0xffffffffffffffc0
lea rdx, [rbp + 0x40]
sub rdx, rcx
lea r9, [rbp + 0x50]
sub r9, rcx
lea rax, [rcx + 0x20]
movdqu xmm0, xmmword [rax - 0x20]
add r10, 0x40
movdqu xmm1, xmmword [rdx + rax - 0x20]
movdqu xmm2, xmmword [rax + rdx]
lea rax, [rax + 0x40]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x60], xmm1
movdqu xmm0, xmmword [rax - 0x50]
movdqu xmm1, xmmword [r9 + rax - 0x60]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x50], xmm1
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm1, xmmword [rax + r9 - 0x40]
pxor xmm2, xmm0
movdqu xmmword [rax - 0x40], xmm2
movdqu xmm0, xmmword [rax - 0x30]
pxor xmm1, xmm0
movdqu xmmword [rax - 0x30], xmm1
cmp r10, rbx
jb 0x140072560
cmp r10, r8
jae 0x1400725f1
lea rdx, [r10 + rcx]
lea r9, [rbp + 0x40]
sub r9, rcx
mov rcx, r8
sub rcx, r10
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + r9]
xor byte [rdx], al
lea rdx, [rdx + 1]
sub rcx, 1
jne 0x1400725e0
mov eax, dword [rdi]
mov dword [rbp + 0x40], eax
mov rax, r8
and eax, 3
movzx eax, byte [rbp + rax + 0x40]
mov byte [rdi], al
lea rax, [r8 + 1]
and eax, 3
movzx eax, byte [rbp + rax + 0x40]
mov byte [rdi + 1], al
lea rax, [r8 - 2]
and eax, 3
movzx eax, byte [rbp + rax + 0x40]
mov byte [rdi + 2], al
lea rax, [r8 - 1]
and eax, 3
movzx eax, byte [rbp + rax + 0x40]
mov byte [rdi + 3], al
movups xmm0, xmmword [r11]
add r11, 0x10
psrldq xmm0, 8
movq rax, xmm0
sub rsi, rax
jmp 0x140072490
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret