Function at 0x140122f90
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov r10, qword [rcx + 0x18]
mov eax, 0xc8
mov r12, rcx
mov ecx, dword [rcx + 0x64]
mov r15, r9
mov r9, qword [rsp + 0xe0]
mov rbx, rdx
mov rbp, qword [r10 + 0x20]
test cl, 8
mov rdx, rbp
cmove rdx, r9
cmp rdx, r8
jbe 0x140122fe1
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor edx, edx
mov rax, r9
div rbp
test rdx, rdx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x38], rax
je 0x140123131
cmp rbp, r9
mov eax, 0x8b
jae 0x140122fd0
test cl, 4
je 0x140122fd0
mov byte [rsp + 0x67], 0
mov byte [rsp + 0x66], 1
mov rax, qword [r10 + 0x40]
mov qword [rsp + 0x40], rax
mov rax, qword [r12 + 0x38]
test rax, rax
je 0x14012316a
mov r14, qword [rsp + 0x38]
lea rsi, [r12 + 0x70]
lea rdi, [r12 + 0x280]
and ecx, 8
mov r8, rbx
mov r9, r15
mov dword [rsp + 0x28], ecx
mov rdx, rsi
mov rcx, rdi
mov qword [rsp + 0x20], r14
call rax
mov rax, r14
mov edx, dword [r12 + 0x64]
imul rax, rbp
test dl, 8
lea rcx, [rbx + rax]
cmove rbx, rcx
and edx, 4
je 0x14012312a
cmp byte [rsp + 0x66], 0
je 0x14012312a
add r15, rax
xor r13d, r13d
cmp byte [rsp + 0x67], 0
mov rdx, qword [rsp + 0x58]
mov r12, rbx
cmovne rdx, rbp
sub r12, rbp
test rdx, rdx
je 0x1401232ff
xor eax, eax
jmp 0x1401230b3
mov rax, rcx
movzx r8d, byte [r12 + rax]
movzx ecx, byte [r15 + rax]
mov byte [rbx + rax], r8b
xor cl, byte [rsi + rax]
mov byte [r12 + rax], cl
lea rcx, [rax + 1]
cmp rcx, rdx
jne 0x1401230b0
lea r8, [rsi + rdx]
add eax, 1
cdqe
sub r8, rax
cmp rbp, rdx
jbe 0x1401230f7
movzx ecx, byte [r8 + rax]
mov byte [r12 + rdx], cl
lea rdx, [rax + 1]
cmp rbp, rdx
mov rax, rdx
ja 0x1401230e2
mov r8, r12
mov rdx, r12
mov rcx, rdi
mov rax, qword [rsp + 0x40]
call rax
mov r8, rbp
cmp r13d, eax
mov rdx, r12
mov rcx, rsi
cmovb r13d, eax
call sub.msvcrt.dll_memcpy
test r13d, r13d
je 0x14012312a
lea ecx, [r13 + 0x20]
call fcn.1400eab70
xor eax, eax
jmp 0x140122fd0
cmp rbp, r9
mov eax, ecx
setb byte [rsp + 0x66]
movzx edi, byte [rsp + 0x66]
shr eax, 2
and al, dil
mov byte [rsp + 0x67], al
je 0x140123160
sub qword [rsp + 0x38], 1
mov byte [rsp + 0x66], al
jmp 0x140123015
mov byte [rsp + 0x67], 1
jmp 0x140123015
cmp qword [rsp + 0x38], 0
lea rax, [r12 + 0x70]
mov rsi, rax
mov qword [rsp + 0x68], rax
je 0x1401232d9
lea rax, [r12 + 0x280]
lea r14, [rbp - 8]
xor r9d, r9d
mov rcx, rsi
mov qword [rsp + 0xc0], r12
mov rsi, r15
mov qword [rsp + 0x48], rax
mov rax, r14
and r14, 0xfffffffffffffff8
shr rax, 3
add r14, 8
mov qword [rsp + 0xd8], r15
lea rdi, [rax*8 + 8]
mov rax, rbp
mov r12, r14
and eax, 7
xor r13d, r13d
mov r15, rbx
mov qword [rsp + 0x50], rax
mov r14, r9
nop dword [rax + rax]
xor eax, eax
cmp rbp, 7
mov r11, rsi
mov r10, rbx
mov r8, rbp
jbe 0x140123216
mov rdx, qword [rsi + rax]
xor rdx, qword [rcx + rax]
mov qword [rbx + rax], rdx
add rax, 8
cmp rax, rdi
jne 0x1401231f1
mov r8, qword [rsp + 0x50]
lea r11, [rsi + r12]
lea r10, [rbx + r12]
add rcx, r12
xor eax, eax
test r8, r8
je 0x140123235
nop dword [rax]
movzx edx, byte [r11 + rax]
xor dl, byte [rcx + rax]
mov byte [r10 + rax], dl
add rax, 1
cmp rax, r8
jne 0x140123220
mov r8, rbx
mov rdx, rbx
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
call rax
cmp r13d, eax
mov rcx, r15
cmovb r13d, eax
mov rax, qword [rsp + 0xc0]
mov r10d, dword [rax + 0x64]
lea rax, [rbx + rbp]
test r10b, 8
cmove rbx, rax
add r14, 1
add rsi, rbp
cmp qword [rsp + 0x38], r14
je 0x14012327f
mov r15, rbx
jmp 0x1401231e0
mov rax, qword [rsp + 0x38]
mov rdx, r15
mov rdi, qword [rsp + 0x68]
mov r15, qword [rsp + 0xd8]
imul rax, rbp
add r15, rax
cmp rcx, rdi
je 0x1401232b5
mov r8, rbp
mov rcx, rdi
mov dword [rsp + 0x38], r10d
call sub.msvcrt.dll_memcpy
mov r10d, dword [rsp + 0x38]
and r10d, 4
je 0x14012311c
cmp byte [rsp + 0x66], 0
je 0x14012311c
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x68]
jmp 0x140123089
and ecx, 4
je 0x14012312a
cmp byte [rsp + 0x66], 0
je 0x14012312a
lea rax, [r12 + 0x280]
xor r13d, r13d
mov qword [rsp + 0x48], rax
jmp 0x1401232ca
mov r8, rsi
xor eax, eax
jmp 0x1401230d8