Function at 0x140127460
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 0x1401274a1
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 0x140127751
mov rax, qword [rax + 0x40]
test r9d, r9d
mov qword [rsp + 0x28], rax
jne 0x14012769a
cmp r14, r15
ja 0x1401277ef
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 0x1401275ac
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 0x140127551
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 0x140127596
movzx edx, byte [r10 + rax]
xor dl, byte [r11 + rax]
mov byte [r8 + rax], dl
add rax, 1
cmp rax, rcx
jne 0x140127580
mov rax, r13
add rbx, r14
add rsi, r14
sub rax, r14
cmp r14, r13
ja 0x1401275ba
mov r13, rax
jmp 0x140127530
mov r11, rsi
mov r10, rdi
mov r8, rbx
mov rcx, r14
jmp 0x140127579
mov qword [rsp + 0xb0], r13
mov r13d, r15d
mov r15, qword [rsp + 0xb0]
test r15, r15
jne 0x1401275f3
xor eax, eax
test r13d, r13d
je 0x140127490
lea ecx, [r13 + 0x20]
mov dword [rsp + 0x28], eax
call fcn.1400eab70
mov eax, dword [rsp + 0x28]
jmp 0x140127490
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 0x140127680
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 0x140127650
and r8, 0xfffffffffffffff8
lea rax, [r8 + 8]
add rbx, rax
add rdi, rax
add rsi, rax
and r15d, 7
je 0x1401275d2
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 0x140127682
jmp 0x1401275d2
mov rcx, qword [rsp + 0x90]
mov rax, r14
sub r15, r9
sub rax, r9
cmp r9, 7
lea rcx, [rcx + rax + 0x70]
jbe 0x140127804
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 0x1401276d0
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 0x1401277fc
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 0x140127710
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 0x1401274ce
sub r14, r9
cmp r15, 7
lea rcx, [rcx + r14 + 0x70]
jbe 0x1401277f7
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 0x140127780
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 0x1401277d6
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 0x1401277b4
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 0x140127490
xor r13d, r13d
jmp 0x1401275cd
mov r9, r15
jmp 0x1401277ad
mov rax, r9
jmp 0x140127734
mov r10, rdx
mov r8, rsi
mov r11, r9
jmp 0x14012770e