Function at 0x6d94fdf0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x2c8
xor eax, eax
lea rdi, [rsp + 0x40]
mov rbp, rdx
nop dword [rax]
mov rdx, qword [rcx + rax]
bswap rdx
mov qword [rax + rdi], rdx
add rax, 8
cmp rax, 0x80
jne 0x6d94fe10
lea rax, [rdi + 0x70]
lea r11, [rdi + 0x270]
mov r9, qword [rax]
mov r8, qword [rax - 0x70]
add rax, 8
add r8, qword [rax - 0x30]
mov rcx, qword [rax - 0x70]
mov rdx, r9
mov r10, r9
shr r9, 6
ror rdx, 0x3d
ror r10, 0x13
xor rdx, r10
xor rdx, r9
mov r9, rcx
add r8, rdx
mov rdx, rcx
ror r9, 1
ror rdx, 8
shr rcx, 7
xor rdx, r9
xor rdx, rcx
add rdx, r8
mov qword [rax + 8], rdx
cmp rax, r11
jne 0x6d94fe32
mov rax, qword [rbp]
lea r12, [0x6dae1620]
mov r13, rbp
mov r9, rax
mov qword [rsp], rax
mov rax, qword [rbp + 8]
mov r8, rax
mov qword [rsp + 8], rax
mov rax, qword [rbp + 0x10]
mov rcx, rax
mov qword [rsp + 0x10], rax
mov rax, qword [rbp + 0x18]
mov rdx, rax
mov qword [rsp + 0x18], rax
mov rax, qword [rbp + 0x20]
mov r10, rax
mov qword [rsp + 0x20], rax
mov rax, qword [rbp + 0x28]
mov r11, rax
mov qword [rsp + 0x28], rax
mov rax, qword [rbp + 0x30]
mov rbx, rax
mov qword [rsp + 0x30], rax
mov rax, qword [rbp + 0x38]
mov rbp, rdi
mov rsi, rax
mov qword [rsp + 0x38], rax
lea rax, [0x6dae13a0]
mov rdi, rax
nop dword [rax]
mov rax, r10
mov r15, r10
mov r14, qword [rbp]
ror r15, 0xe
add r14, qword [rdi]
ror rax, 0x12
xor rax, r15
mov r15, r10
ror r15, 0x29
xor rax, r15
mov r15, r9
add r14, rax
mov rax, rbx
ror r15, 0x1c
xor rax, r11
and rax, r10
xor rax, rbx
add rbx, qword [rdi + 8]
add rax, r14
mov r14, r8
add rbx, qword [rbp + 8]
add rsi, rax
or r14, r9
mov rax, r8
and rax, r9
and r14, rcx
add rdx, rsi
or r14, rax
mov rax, r9
ror rax, 0x22
xor rax, r15
mov r15, r9
ror r15, 0x27
xor rax, r15
add rax, r14
mov r14, rdx
add rsi, rax
mov rax, r11
ror r14, 0xe
xor rax, r10
mov r15, rsi
and rax, rdx
xor rax, r11
add rbx, rax
mov rax, rdx
ror rax, 0x12
xor rax, r14
mov r14, rdx
ror r14, 0x29
ror r15, 0x1c
add r11, qword [rdi + 0x10]
xor rax, r14
mov r14, rsi
add r11, qword [rbp + 0x10]
add rbx, rax
or r14, r9
mov rax, rsi
and rax, r9
and r14, r8
add rcx, rbx
or r14, rax
mov rax, rsi
ror rax, 0x22
xor rax, r15
mov r15, rsi
ror r15, 0x27
xor rax, r15
add rax, r14
mov r14, rcx
add rbx, rax
mov rax, rdx
ror r14, 0xe
xor rax, r10
mov r15, rbx
and rax, rcx
xor rax, r10
add r11, rax
mov rax, rcx
ror rax, 0x12
xor rax, r14
mov r14, rcx
ror r14, 0x29
xor rax, r14
mov r14, rbx
add r11, rax
or r14, rsi
mov rax, rbx
and rax, rsi
and r14, r9
add r8, r11
or r14, rax
mov rax, rbx
ror rax, 0x22
ror r15, 0x1c
add r10, qword [rdi + 0x18]
xor rax, r15
mov r15, rbx
add r10, qword [rbp + 0x18]
ror r15, 0x27
xor rax, r15
add rax, r14
mov r14, rcx
xor r14, rdx
add r11, rax
mov rax, r8
and r14, r8
ror rax, 0xe
mov r15, r11
xor r14, rdx
or r15, rbx
add rdx, qword [rbp + 0x20]
add r10, r14
mov r14, r8
and r15, rsi
ror r14, 0x12
add rdx, qword [rdi + 0x20]
xor r14, rax
mov rax, r8
ror rax, 0x29
xor r14, rax
mov rax, r11
and rax, rbx
add r10, r14
mov r14, r11
or r15, rax
mov rax, r11
ror r14, 0x22
ror rax, 0x1c
add r9, r10
xor r14, rax
mov rax, r11
ror rax, 0x27
xor r14, rax
lea rax, [r15 + r14]
mov r14, r9
add rax, r10
mov r10, r8
xor r10, rcx
mov r15, rax
and r10, r9
xor r10, rcx
ror r14, 0xe
ror r15, 0x1c
add rdx, r10
mov r10, r9
add rcx, qword [rbp + 0x28]
ror r10, 0x12
add rcx, qword [rdi + 0x28]
xor r10, r14
mov r14, r9
ror r14, 0x29
xor r10, r14
mov r14, rax
add rdx, r10
or r14, r11
mov r10, rax
and r10, r11
and r14, rbx
add rsi, rdx
or r14, r10
mov r10, rax
ror r10, 0x22
xor r10, r15
mov r15, rax
ror r15, 0x27
xor r10, r15
add r10, r14
mov r14, rsi
add rdx, r10
mov r10, r9
ror r14, 0xe
xor r10, r8
mov r15, rdx
and r10, rsi
xor r10, r8
add rcx, r10
mov r10, rsi
ror r10, 0x12
xor r10, r14
mov r14, rsi
ror r14, 0x29
xor r10, r14
mov r14, rdx
add rcx, r10
mov r10, rdx
add rbx, rcx
or r14, rax
and r10, rax
and r14, r11
ror r15, 0x1c
add r8, qword [rbp + 0x30]
or r14, r10
mov r10, rdx
add r8, qword [rdi + 0x30]
ror r10, 0x22
xor r10, r15
mov r15, rdx
ror r15, 0x27
xor r10, r15
add r10, r14
mov r14, rbx
add rcx, r10
mov r10, rsi
ror r14, 0xe
xor r10, r9
mov r15, rcx
and r10, rbx
ror r15, 0x1c
xor r10, r9
add r8, r10
mov r10, rbx
ror r10, 0x12
xor r10, r14
mov r14, rbx
ror r14, 0x29
xor r10, r14
mov r14, rcx
add r8, r10
or r14, rdx
mov r10, rcx
and r14, rax
and r10, rdx
add r11, r8
or r14, r10
mov r10, rcx
ror r10, 0x22
xor r10, r15
mov r15, rcx
ror r15, 0x27
xor r10, r15
add r10, r14
add r9, qword [rbp + 0x38]
mov r14, r11
add r8, r10
add r9, qword [rdi + 0x38]
mov r10, rbx
xor r10, rsi
ror r14, 0xe
mov r15, r8
and r10, r11
ror r15, 0x1c
add rdi, 0x40
xor r10, rsi
add rbp, 0x40
add r9, r10
mov r10, r11
ror r10, 0x12
xor r10, r14
mov r14, r11
ror r14, 0x29
xor r10, r14
mov r14, r8
add r9, r10
or r14, rcx
lea r10, [r9 + rax]
mov rax, r8
and r14, rdx
and rax, rcx
or r14, rax
mov rax, r8
ror rax, 0x22
xor rax, r15
mov r15, r8
ror r15, 0x27
xor rax, r15
add rax, r14
add r9, rax
cmp rdi, r12
jne 0x6d94ff00
add r9, qword [rsp]
add r8, qword [rsp + 8]
add rcx, qword [rsp + 0x10]
add rdx, qword [rsp + 0x18]
add r10, qword [rsp + 0x20]
add r11, qword [rsp + 0x28]
add rbx, qword [rsp + 0x30]
add rsi, qword [rsp + 0x38]
mov qword [r13], r9
mov qword [r13 + 8], r8
mov qword [r13 + 0x10], rcx
mov qword [r13 + 0x18], rdx
mov qword [r13 + 0x20], r10
mov qword [r13 + 0x28], r11
mov qword [r13 + 0x30], rbx
mov qword [r13 + 0x38], rsi
add rsp, 0x2c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret