Function at 0x6f613050
Capabilities:
Encode data using xor

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
test r8d, r8d
jle 0x6f613520
mov rax, rcx
lea r10d, [r8 - 1]
mov r11d, 0x11
neg rax
and eax, 0xf
lea r9d, [rax + 0xf]
cmp r9d, 0x11
cmovb r9d, r11d
cmp r10d, r9d
jb 0x6f613550
test eax, eax
je 0x6f613590
movzx r9d, byte [rcx]
xor r9b, byte [rdx]
cmp eax, 1
je 0x6f613530
movzx esi, byte [rcx + 1]
xor sil, byte [rdx + 1]
or r9d, esi
cmp eax, 2
je 0x6f613540
movzx edi, byte [rcx + 2]
xor dil, byte [rdx + 2]
or r9d, edi
cmp eax, 3
je 0x6f613510
movzx ebp, byte [rcx + 3]
xor bpl, byte [rdx + 3]
or r9d, ebp
cmp eax, 4
je 0x6f613560
movzx r12d, byte [rcx + 4]
xor r12b, byte [rdx + 4]
or r9d, r12d
cmp eax, 5
je 0x6f613570
movzx r10d, byte [rcx + 5]
xor r10b, byte [rdx + 5]
or r9d, r10d
cmp eax, 6
je 0x6f6135a0
movzx r11d, byte [rcx + 6]
xor r11b, byte [rdx + 6]
or r9d, r11d
cmp eax, 7
je 0x6f6135b0
movzx ebx, byte [rcx + 7]
xor bl, byte [rdx + 7]
or r9d, ebx
cmp eax, 8
je 0x6f613580
movzx esi, byte [rcx + 8]
xor sil, byte [rdx + 8]
or r9d, esi
cmp eax, 9
je 0x6f6135c0
movzx edi, byte [rcx + 9]
xor dil, byte [rdx + 9]
or r9d, edi
cmp eax, 0xa
je 0x6f6135d0
movzx ebp, byte [rcx + 0xa]
xor bpl, byte [rdx + 0xa]
or r9d, ebp
cmp eax, 0xb
je 0x6f6135e0
movzx r12d, byte [rcx + 0xb]
xor r12b, byte [rdx + 0xb]
or r9d, r12d
cmp eax, 0xc
je 0x6f6135f0
movzx r10d, byte [rcx + 0xc]
xor r10b, byte [rdx + 0xc]
or r9d, r10d
cmp eax, 0xd
je 0x6f613600
movzx r11d, byte [rcx + 0xd]
xor r11b, byte [rdx + 0xd]
or r9d, r11d
cmp eax, 0xf
jne 0x6f613610
movzx ebx, byte [rdx + 0xe]
mov esi, 0xf
xor bl, byte [rcx + 0xe]
or r9d, ebx
nop dword [rax + rax]
mov ebp, r8d
mov r10d, eax
mov ebx, 1
sub ebp, eax
lea r11, [rcx + r10]
add r10, rdx
mov r12d, ebp
movdqu xmm0, xmmword [r10]
shr r12d, 4
mov eax, 0x10
lea edi, [r12 - 1]
pxor xmm0, xmmword [r11]
and edi, 7
cmp r12d, 1
jbe 0x6f613375
test edi, edi
je 0x6f6132d7
cmp edi, 1
je 0x6f6132b7
cmp edi, 2
je 0x6f6132a0
cmp edi, 3
je 0x6f613289
cmp edi, 4
je 0x6f613272
cmp edi, 5
je 0x6f61325b
cmp edi, 6
je 0x6f613244
movdqu xmm1, xmmword [r10 + 0x10]
mov ebx, 2
mov eax, 0x20
pxor xmm1, xmmword [r11 + 0x10]
por xmm0, xmm1
movdqu xmm2, xmmword [r10 + rax]
add ebx, 1
pxor xmm2, xmmword [r11 + rax]
add rax, 0x10
por xmm0, xmm2
movdqu xmm3, xmmword [r10 + rax]
add ebx, 1
pxor xmm3, xmmword [r11 + rax]
add rax, 0x10
por xmm0, xmm3
movdqu xmm4, xmmword [r10 + rax]
add ebx, 1
pxor xmm4, xmmword [r11 + rax]
add rax, 0x10
por xmm0, xmm4
movdqu xmm5, xmmword [r10 + rax]
add ebx, 1
pxor xmm5, xmmword [r11 + rax]
add rax, 0x10
por xmm0, xmm5
movdqu xmm1, xmmword [r10 + rax]
add ebx, 1
pxor xmm1, xmmword [r11 + rax]
add rax, 0x10
por xmm0, xmm1
movdqu xmm2, xmmword [r10 + rax]
add ebx, 1
pxor xmm2, xmmword [r11 + rax]
add rax, 0x10
cmp r12d, ebx
por xmm0, xmm2
jbe 0x6f613375
movdqu xmm3, xmmword [r10 + rax]
add ebx, 8
pxor xmm3, xmmword [r11 + rax]
movdqu xmm4, xmmword [r10 + rax + 0x10]
pxor xmm4, xmmword [r11 + rax + 0x10]
movdqu xmm5, xmmword [r10 + rax + 0x20]
por xmm0, xmm3
pxor xmm5, xmmword [r11 + rax + 0x20]
movdqu xmm1, xmmword [r10 + rax + 0x30]
por xmm0, xmm4
pxor xmm1, xmmword [r11 + rax + 0x30]
movdqu xmm2, xmmword [r10 + rax + 0x40]
por xmm0, xmm5
pxor xmm2, xmmword [r11 + rax + 0x40]
movdqu xmm3, xmmword [r10 + rax + 0x50]
por xmm0, xmm1
pxor xmm3, xmmword [r11 + rax + 0x50]
movdqu xmm4, xmmword [r10 + rax + 0x60]
por xmm0, xmm2
pxor xmm4, xmmword [r11 + rax + 0x60]
por xmm0, xmm3
por xmm4, xmm0
movdqu xmm0, xmmword [r10 + rax + 0x70]
pxor xmm0, xmmword [r11 + rax + 0x70]
sub rax, 0xffffffffffffff80
cmp r12d, ebx
por xmm0, xmm4
ja 0x6f6132d7
movdqa xmm5, xmm0
mov r12d, ebp
and r12d, 0xfffffff0
psrldq xmm5, 8
por xmm0, xmm5
lea ebx, [r12 + rsi]
movdqa xmm1, xmm0
psrldq xmm1, 4
por xmm0, xmm1
movdqa xmm2, xmm0
psrldq xmm2, 2
por xmm0, xmm2
movdqa xmm3, xmm0
psrldq xmm3, 1
por xmm0, xmm3
movaps xmmword [rsp], xmm0
movzx r10d, byte [rsp]
or r9d, r10d
cmp ebp, r12d
je 0x6f6134fa
movsxd r11, ebx
movzx ebx, byte [rcx + r11]
mov rdi, r11
lea rbp, [r11 + 1]
xor bl, byte [rdx + r11]
not rdi
add edi, r8d
and edi, 7
or r9d, ebx
cmp r8d, ebp
jle 0x6f6134fa
test edi, edi
je 0x6f613489
cmp edi, 1
je 0x6f613475
cmp edi, 2
je 0x6f613467
cmp edi, 3
je 0x6f613458
cmp edi, 4
je 0x6f613448
cmp edi, 5
je 0x6f613438
cmp edi, 6
je 0x6f613428
movzx esi, byte [rcx + rbp]
xor sil, byte [rdx + rbp]
lea rbp, [r11 + 2]
mov eax, esi
or r9d, eax
movzx r10d, byte [rcx + rbp]
xor r10b, byte [rdx + rbp]
add rbp, 1
or r9d, r10d
movzx r12d, byte [rcx + rbp]
xor r12b, byte [rdx + rbp]
add rbp, 1
or r9d, r12d
movzx r11d, byte [rcx + rbp]
xor r11b, byte [rdx + rbp]
add rbp, 1
or r9d, r11d
movzx edi, byte [rcx + rbp]
xor dil, byte [rdx + rbp]
add rbp, 1
or r9d, edi
movzx ebx, byte [rcx + rbp]
xor bl, byte [rdx + rbp]
add rbp, 1
or r9d, ebx
movzx esi, byte [rcx + rbp]
xor sil, byte [rdx + rbp]
add rbp, 1
or r9d, esi
cmp r8d, ebp
jle 0x6f6134fa
movzx eax, byte [rcx + rbp]
movzx r10d, byte [rcx + rbp + 1]
xor al, byte [rdx + rbp]
xor r10b, byte [rdx + rbp + 1]
movzx r12d, byte [rcx + rbp + 2]
movzx r11d, byte [rcx + rbp + 3]
xor r12b, byte [rdx + rbp + 2]
xor r11b, byte [rdx + rbp + 3]
movzx edi, byte [rcx + rbp + 4]
movzx ebx, byte [rcx + rbp + 5]
xor dil, byte [rdx + rbp + 4]
or r9d, eax
xor bl, byte [rdx + rbp + 5]
or r9d, r10d
movzx esi, byte [rcx + rbp + 6]
xor sil, byte [rdx + rbp + 6]
or r9d, r12d
or r9d, r11d
or r9d, edi
or r9d, ebx
or esi, r9d
movzx r9d, byte [rcx + rbp + 7]
xor r9b, byte [rdx + rbp + 7]
add rbp, 8
or r9d, esi
cmp r8d, ebp
jg 0x6f613489
xor eax, eax
test r9b, r9b
setne al
add eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov esi, 3
jmp 0x6f6131c0
xor eax, eax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov esi, 1
jmp 0x6f6131c0
mov esi, 2
jmp 0x6f6131c0
xor ebx, ebx
xor r9d, r9d
jmp 0x6f6133c9
mov esi, 4
jmp 0x6f6131c0
mov esi, 5
jmp 0x6f6131c0
mov esi, 8
jmp 0x6f6131c0
xor esi, esi
xor r9d, r9d
jmp 0x6f6131c0
mov esi, 6
jmp 0x6f6131c0
mov esi, 7
jmp 0x6f6131c0
mov esi, 9
jmp 0x6f6131c0
mov esi, 0xa
jmp 0x6f6131c0
mov esi, 0xb
jmp 0x6f6131c0
mov esi, 0xc
jmp 0x6f6131c0
mov esi, 0xd
jmp 0x6f6131c0
mov esi, 0xe
jmp 0x6f6131c0