Function at 0x6e7560
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x50
lea rbp, [rsp + 0x50]
mov rax, qword [rcx + 0x270]
mov rax, qword [rax + 0x30]
mov qword [rbp - 0x18], rax
mov r15d, dword [rdx]
mov r14d, dword [rdx + 4]
movsxd rcx, r14d
mov esi, dword [rdx + 8]
movsxd r11, esi
mov eax, dword [rdx + 0xc]
mov dword [rbp - 4], eax
movsxd r13, eax
mov ebx, dword [rdx + 0x10]
movsxd r8, ebx
mov qword [rbp - 0x20], rdx
mov eax, dword [rdx + 0x14]
cmp ecx, r15d
mov qword [rbp - 0x10], rsi
mov r12, rbx
jle 0x6e7631
movsxd rdi, r15d
lea r9d, [rbx - 1]
jmp 0x6e7610
mov rdx, qword [rbp - 0x18]
mov r10, qword [rdx + rdi*8]
mov rdx, r11
cmp r12d, eax
jg 0x6e7600
mov rsi, rdx
shl rsi, 6
add rsi, r10
lea rsi, [rsi + r8*2]
mov ebx, r9d
nop word cs:[rax + rax]
cmp word [rsi], 0
jne 0x6e7624
add rsi, 2
inc ebx
cmp ebx, eax
jl 0x6e75f0
cmp rdx, r13
lea rdx, [rdx + 1]
jl 0x6e75cb
jmp 0x6e7615
cmp esi, dword [rbp - 4]
jle 0x6e75c0
cmp rdi, rcx
lea rdi, [rdi + 1]
mov rsi, qword [rbp - 0x10]
jl 0x6e7610
jmp 0x6e7631
mov rdx, qword [rbp - 0x20]
mov dword [rdx], edi
mov r15d, edi
mov rsi, qword [rbp - 0x10]
cmp r14d, r15d
jle 0x6e76b2
movsxd r9, r15d
lea r10d, [r12 - 1]
jmp 0x6e7690
mov rdx, qword [rbp - 0x18]
mov rdi, qword [rdx + rcx*8]
mov rdx, r11
cmp r12d, eax
jg 0x6e7680
mov rsi, rdx
shl rsi, 6
add rsi, rdi
lea rsi, [rsi + r8*2]
mov ebx, r10d
nop word cs:[rax + rax]
cmp word [rsi], 0
jne 0x6e76a4
add rsi, 2
inc ebx
cmp ebx, eax
jl 0x6e7670
cmp rdx, r13
lea rdx, [rdx + 1]
jl 0x6e764b
jmp 0x6e7695
cmp esi, dword [rbp - 4]
jle 0x6e7640
cmp rcx, r9
lea rcx, [rcx - 1]
mov rsi, qword [rbp - 0x10]
jg 0x6e7690
jmp 0x6e76b2
mov rdx, qword [rbp - 0x20]
mov dword [rdx + 4], ecx
mov r14d, ecx
mov rsi, qword [rbp - 0x10]
cmp dword [rbp - 4], esi
jle 0x6e772f
movsxd r9, r15d
movsxd rdi, r14d
mov rcx, r12
lea ebx, [rcx - 1]
jmp 0x6e7710
mov rdx, r9
cmp ecx, eax
jg 0x6e7700
mov rcx, r11
shl rcx, 6
mov rsi, qword [rbp - 0x18]
add rcx, qword [rsi + rdx*8]
lea rsi, [rcx + r8*2]
mov ecx, ebx
nop dword [rax]
cmp word [rsi], 0
jne 0x6e7724
add rsi, 2
inc ecx
cmp ecx, eax
jl 0x6e76f0
cmp rdx, rdi
lea rdx, [rdx + 1]
mov rcx, r12
jl 0x6e76d3
jmp 0x6e7715
cmp r14d, r15d
jge 0x6e76d0
cmp r11, r13
lea r11, [r11 + 1]
jl 0x6e7710
mov rsi, qword [rbp - 0x10]
jmp 0x6e772f
mov rcx, qword [rbp - 0x20]
mov dword [rcx + 8], r11d
mov esi, r11d
cmp dword [rbp - 4], esi
mov qword [rbp - 0x10], rsi
jle 0x6e77b2
movsxd r9, r15d
movsxd rdi, r14d
movsxd r10, esi
mov rcx, r12
lea ebx, [rcx - 1]
jmp 0x6e7790
mov rdx, r9
cmp ecx, eax
jg 0x6e7780
mov rcx, r13
shl rcx, 6
mov rsi, qword [rbp - 0x18]
add rcx, qword [rsi + rdx*8]
lea rsi, [rcx + r8*2]
mov ecx, ebx
nop dword [rax]
cmp word [rsi], 0
jne 0x6e77a0
add rsi, 2
inc ecx
cmp ecx, eax
jl 0x6e7770
cmp rdx, rdi
lea rdx, [rdx + 1]
mov rcx, r12
jl 0x6e7753
jmp 0x6e7795
cmp r14d, r15d
jge 0x6e7750
cmp r13, r10
lea r13, [r13 - 1]
jg 0x6e7790
jmp 0x6e77ae
mov rcx, qword [rbp - 0x20]
mov dword [rcx + 0xc], r13d
mov ecx, r13d
mov dword [rbp - 4], ecx
mov rsi, qword [rbp - 0x10]
movsxd rcx, eax
cmp eax, r12d
mov r13, qword [rbp - 0x20]
jle 0x6e782e
movsxd rbx, esi
movsxd r9, r15d
movsxd r11, r14d
lea r10d, [rsi - 1]
shl rbx, 6
jmp 0x6e7820
mov rdx, r9
cmp dword [rbp - 4], esi
jl 0x6e7811
mov rsi, qword [rbp - 0x18]
mov rsi, qword [rsi + rdx*8]
add rsi, rbx
lea rdi, [rsi + r8*2]
mov esi, r10d
nop word [rax + rax]
cmp word [rdi], 0
jne 0x6e7833
add rdi, 0x40
inc esi
cmp esi, dword [rbp - 4]
jl 0x6e7800
cmp rdx, r11
lea rdx, [rdx + 1]
mov rsi, qword [rbp - 0x10]
jl 0x6e77e3
jmp 0x6e7825
cmp r14d, r15d
jge 0x6e77e0
cmp r8, rcx
lea r8, [r8 + 1]
jl 0x6e7820
mov rdx, r12
jmp 0x6e783e
mov dword [r13 + 0x10], r8d
mov edx, r8d
mov rsi, qword [rbp - 0x10]
cmp eax, edx
mov qword [rbp - 0x30], rdx
jle 0x6e78ba
movsxd rbx, esi
movsxd r8, r15d
movsxd r11, r14d
movsxd r9, edx
lea r10d, [rsi - 1]
shl rbx, 6
jmp 0x6e78a0
mov rdx, r8
cmp dword [rbp - 4], esi
jl 0x6e7891
mov rsi, qword [rbp - 0x18]
mov rsi, qword [rsi + rdx*8]
add rsi, rbx
lea rdi, [rsi + rcx*2]
mov esi, r10d
nop word [rax + rax]
cmp word [rdi], 0
jne 0x6e78b0
add rdi, 0x40
inc esi
cmp esi, dword [rbp - 4]
jl 0x6e7880
cmp rdx, r11
lea rdx, [rdx + 1]
mov rsi, qword [rbp - 0x10]
jl 0x6e7863
jmp 0x6e78a5
cmp r14d, r15d
jge 0x6e7860
cmp rcx, r9
lea rcx, [rcx - 1]
jg 0x6e78a0
jmp 0x6e78ba
mov dword [r13 + 0x14], ecx
mov eax, ecx
mov rsi, qword [rbp - 0x10]
mov ecx, r14d
sub ecx, r15d
shl ecx, 3
mov edx, dword [rbp - 4]
sub edx, esi
shl edx, 2
lea edx, [rdx + rdx*2]
mov ebx, eax
mov rdi, qword [rbp - 0x30]
sub ebx, edi
shl ebx, 4
imul ecx, ecx
imul edx, edx
add edx, ecx
imul ebx, ebx
add ebx, edx
xor r11d, r11d
cmp r14d, r15d
mov dword [r13 + 0x18], ebx
jl 0x6e7a52
movsxd r12, edi
movsxd rcx, dword [rbp - 0x10]
mov qword [rbp - 0x40], rcx
movsxd rbx, dword [rbp - 4]
movsxd r13, r15d
movsxd rcx, r14d
mov qword [rbp - 0x48], rcx
cmp eax, edi
mov edx, eax
cmovl edx, edi
sub edx, edi
lea rcx, [rdx + 1]
inc edx
and edx, 7
mov r14, rcx
mov qword [rbp - 0x50], rdx
sub r14, rdx
lea edx, [r14 + rdi]
mov dword [rbp - 0x24], edx
lea rdx, [r12 + 4]
mov qword [rbp - 0x38], rdx
xor r11d, r11d
pxor xmm0, xmm0
pcmpeqd xmm1, xmm1
nop word cs:[rax + rax]
mov edx, dword [rbp - 4]
cmp edx, dword [rbp - 0x10]
jl 0x6e7a44
mov rdx, qword [rbp - 0x18]
mov r9, qword [rdx + r13*8]
mov r15, qword [rbp - 0x40]
mov rdx, r15
shl rdx, 6
add rdx, r9
mov rsi, qword [rbp - 0x38]
lea r8, [rdx + rsi*2]
mov rsi, qword [rbp - 0x30]
nop
cmp eax, esi
jl 0x6e7a33
mov rdx, r15
shl rdx, 6
add rdx, r9
cmp rcx, 8
lea r10, [rdx + r12*2]
jae 0x6e79a0
mov edx, esi
jmp 0x6e7a17
lea r10, [r10 + r14*2]
movd xmm3, r11d
pxor xmm2, xmm2
mov rdi, r14
mov rdx, r8
nop word cs:[rax + rax]
movq xmm4, qword [rdx - 8]
punpcklwd xmm4, xmm0
movq xmm5, qword [rdx]
punpcklwd xmm5, xmm0
pcmpeqd xmm4, xmm0
pxor xmm4, xmm1
psubd xmm3, xmm4
pcmpeqd xmm5, xmm0
pxor xmm5, xmm1
psubd xmm2, xmm5
add rdx, 0x10
add rdi, 0xfffffffffffffff8
jne 0x6e79c0
cmp dword [rbp - 0x50], 0
paddd xmm2, xmm3
pshufd xmm3, xmm2, 0x4e
paddd xmm3, xmm2
pshufd xmm2, xmm3, 0xe5
paddd xmm2, xmm3
movd r11d, xmm2
mov edx, dword [rbp - 0x24]
je 0x6e7a33
dec edx
nop dword [rax]
cmp word [r10], 1
sbb r11d, 0xffffffff
add r10, 2
inc edx
cmp edx, eax
jl 0x6e7a20
add r8, 0x40
cmp r15, rbx
lea r15, [r15 + 1]
jl 0x6e7980
cmp r13, qword [rbp - 0x48]
lea r13, [r13 + 1]
jl 0x6e7950
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x1c], r11d
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret