Function at 0x140127570
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x48
mov r15, qword [rsp + 0xb0]
mov eax, 0xc8
mov qword [rsp + 0x90], rcx
mov rbx, rdx
mov rsi, r9
cmp r8, r15
jae 0x1401275b1
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd r9, dword [rcx + 0xa0]
mov rax, qword [rcx + 0x18]
mov r14, qword [rax + 0x20]
cmp r15, r9
mov r8, r9
jbe 0x140127861
mov rax, qword [rax + 0x40]
test r9d, r9d
mov qword [rsp + 0x28], rax
jne 0x1401277aa
cmp r14, r15
ja 0x1401278ff
mov rax, qword [rsp + 0x90]
lea r12, [r14 - 8]
sub r15, r14
xor r13d, r13d
mov qword [rsp + 0xb0], r15
mov r15d, r13d
mov r13, qword [rsp + 0xb0]
lea rdi, [rax + 0x70]
add rax, 0x280
mov qword [rsp + 0x30], rax
mov rax, r12
and r12, 0xfffffffffffffff8
shr rax, 3
add r12, 8
lea rbp, [rax*8 + 8]
lea rax, [rdi + r12]
mov qword [rsp + 0x38], rax
nop dword [rax + rax]
mov r8, rdi
mov rdx, rdi
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x28]
call rax
cmp r15d, eax
cmovb r15d, eax
cmp r14, 7
jbe 0x1401276bc
xor eax, eax
mov rdx, qword [rdi + rax]
xor rdx, qword [rsi + rax]
mov qword [rbx + rax], rdx
add rax, 8
cmp rax, rbp
jne 0x140127661
mov r10, qword [rsp + 0x38]
mov rcx, r14
lea r11, [rsi + r12]
lea r8, [rbx + r12]
and ecx, 7
xor eax, eax
test rcx, rcx
je 0x1401276a6
movzx edx, byte [r10 + rax]
xor dl, byte [r11 + rax]
mov byte [r8 + rax], dl
add rax, 1
cmp rax, rcx
jne 0x140127690
mov rax, r13
add rbx, r14
add rsi, r14
sub rax, r14
cmp r14, r13
ja 0x1401276ca
mov r13, rax
jmp 0x140127640
mov r11, rsi
mov r10, rdi
mov r8, rbx
mov rcx, r14
jmp 0x140127689
mov qword [rsp + 0xb0], r13
mov r13d, r15d
mov r15, qword [rsp + 0xb0]
test r15, r15
jne 0x140127703
xor eax, eax
test r13d, r13d
je 0x1401275a0
lea ecx, [r13 + 0x20]
mov dword [rsp + 0x28], eax
call fcn.1400eac80
mov eax, dword [rsp + 0x28]
jmp 0x1401275a0
mov rax, qword [rsp + 0x90]
lea rdi, [rax + 0x70]
lea rcx, [rax + 0x280]
mov rax, qword [rsp + 0x28]
mov r8, rdi
mov rdx, rdi
call rax
cmp r13d, eax
cmovb r13d, eax
mov rax, qword [rsp + 0x90]
sub r14d, r15d
cmp r15, 7
mov dword [rax + 0xa0], r14d
jbe 0x140127790
lea r8, [r15 - 8]
mov rax, r8
shr rax, 3
lea rcx, [rax*8 + 8]
xor eax, eax
nop word [rax + rax]
mov rdx, qword [rdi + rax]
xor rdx, qword [rsi + rax]
mov qword [rbx + rax], rdx
add rax, 8
cmp rcx, rax
jne 0x140127760
and r8, 0xfffffffffffffff8
lea rax, [r8 + 8]
add rbx, rax
add rdi, rax
add rsi, rax
and r15d, 7
je 0x1401276e2
xor eax, eax
movzx edx, byte [rdi + rax]
xor dl, byte [rsi + rax]
mov byte [rbx + rax], dl
add rax, 1
cmp rax, r15
jne 0x140127792
jmp 0x1401276e2
mov rcx, qword [rsp + 0x90]
mov rax, r14
sub r15, r9
sub rax, r9
cmp r9, 7
lea rcx, [rcx + rax + 0x70]
jbe 0x140127914
lea r11, [r9 - 8]
xor eax, eax
mov r10, r11
shr r10, 3
lea r8, [r10*8 + 8]
nop
mov rdx, qword [rcx + rax]
xor rdx, qword [rsi + rax]
mov qword [rbx + rax], rdx
add rax, 8
cmp rax, r8
jne 0x1401277e0
mov rax, r11
neg r10
and rax, 0xfffffffffffffff8
lea r11, [r11 + r10*8]
add rax, 8
add rcx, rax
test r11, r11
lea rdx, [rbx + rax]
lea r8, [rsi + rax]
je 0x14012790c
mov r10, rdx
xor eax, eax
movzx edx, byte [rcx + rax]
xor dl, byte [r8 + rax]
mov byte [r10 + rax], dl
add rax, 1
cmp rax, r11
jne 0x140127820
mov rax, qword [rsp + 0x90]
movsxd rax, dword [rax + 0xa0]
add rbx, rax
add rsi, rax
mov rax, qword [rsp + 0x90]
mov dword [rax + 0xa0], 0
jmp 0x1401275de
sub r14, r9
cmp r15, 7
lea rcx, [rcx + r14 + 0x70]
jbe 0x140127907
lea r10, [r15 - 8]
mov rax, r10
shr rax, 3
lea r9, [rax*8 + 8]
xor eax, eax
nop dword [rax + rax]
mov rdx, qword [rcx + rax]
xor rdx, qword [rsi + rax]
mov qword [rbx + rax], rdx
add rax, 8
cmp rax, r9
jne 0x140127890
and r10, 0xfffffffffffffff8
mov r9, r15
lea rax, [r10 + 8]
and r9d, 7
add rsi, rax
add rcx, rax
add rbx, rax
test r9, r9
je 0x1401278e6
xor eax, eax
movzx edx, byte [rcx + rax]
xor dl, byte [rsi + rax]
mov byte [rbx + rax], dl
add rax, 1
cmp r9, rax
jne 0x1401278c4
mov rax, qword [rsp + 0x90]
mov r8d, dword [rax + 0xa0]
mov rax, qword [rsp + 0x90]
sub r8d, r15d
mov dword [rax + 0xa0], r8d
xor eax, eax
jmp 0x1401275a0
xor r13d, r13d
jmp 0x1401276dd
mov r9, r15
jmp 0x1401278bd
mov rax, r9
jmp 0x140127844
mov r10, rdx
mov r8, rsi
mov r11, r9
jmp 0x14012781e