Function at 0x1401275b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov byte [rsp + 0x20], r9b
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
movzx ebx, r9b
mov rsi, r8
mov r13, rdx
mov rdi, rcx
mov rax, rdx
sub rax, rcx
and rax, 0xfffffffffffffff8
cmp rax, 0x100
jle 0x140127681
test rsi, rsi
jle 0x1401276fc
movzx r9d, bl
mov r8, r13
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.140127120
mov rcx, rsi
sar rcx, 2
sar rsi, 1
add rsi, rcx
mov rcx, r13
mov rbp, qword [rsp + 0x38]
sub rcx, rbp
and rcx, 0xfffffffffffffff8
mov r14, qword [rsp + 0x30]
mov rax, r14
sub rax, rdi
and rax, 0xfffffffffffffff8
movzx r9d, bl
mov r8, rsi
cmp rax, rcx
jge 0x140127655
mov rdx, r14
mov rcx, rdi
call fcn.1401275b0
mov rdi, rbp
jmp 0x14012766b
mov rdx, r13
mov rcx, rbp
call fcn.1401275b0
mov r13, r14
mov qword [rsp + 0x88], r14
mov rax, r13
sub rax, rdi
and rax, 0xfffffffffffffff8
cmp rax, 0x100
jg 0x1401275f1
cmp rdi, r13
je 0x14012791a
lea rbp, [rdi + 8]
cmp rbp, r13
je 0x14012791a
mov r14, rdi
nop word [rax + rax]
mov rsi, rbp
mov rdx, rbp
lea rcx, [rsp + 0x88]
call fcn.140117e20
nop
mov rdx, rdi
lea rcx, [rsp + 0x88]
call fcn.140118270
test al, al
je 0x1401278ae
mov rbx, rbp
cmp rbp, rdi
je 0x1401276f4
nop dword [rax]
nop dword [rax + rax]
mov rcx, rbx
sub rbx, 8
mov rdx, rbx
call fcn.1401181a0
cmp rbx, rdi
jne 0x1401276e0
mov rcx, rdi
jmp 0x1401278ee
mov r15, r13
sub r15, rdi
sar r15, 3
mov qword [rsp + 0x30], r15
mov r14, r15
sar r14, 1
test r14, r14
jle 0x140127830
lea r12, [r15 - 1]
sar r12, 1
lea rbx, [rdi + r14*8]
lea r13, [r15 - 1]
nop dword [rax]
dec r14
sub rbx, 8
mov rdx, rbx
lea rcx, [rsp + 0x80]
call fcn.140117e20
nop
mov rbp, r14
mov rsi, r14
cmp r14, r12
jge 0x140127796
nop dword [rax]
nop word [rax + rax]
add rsi, rsi
lea rcx, [rsi + 2]
lea rcx, [rdi + rcx*8]
lea rdx, [rcx - 8]
call fcn.140118270
movzx eax, al
xor rax, 1
inc rax
add rsi, rax
lea rdx, [rdi + rsi*8]
lea rcx, [rdi + rbp*8]
call fcn.1401181a0
mov rbp, rsi
cmp rsi, r12
jl 0x140127760
cmp rbp, r12
jne 0x1401277b5
test r15b, 1
jne 0x1401277b5
lea rdx, [r15 - 1]
lea rdx, [rdi + rdx*8]
lea rcx, [rdi + rbp*8]
call fcn.1401181a0
mov rbp, r13
cmp r14, rbp
jge 0x1401277f8
nop word [rax + rax]
lea rsi, [rbp - 1]
sar rsi, 1
lea r15, [rdi + rsi*8]
lea rdx, [rsp + 0x80]
mov rcx, r15
call fcn.140118270
test al, al
je 0x1401277f3
lea rcx, [rdi + rbp*8]
mov rdx, r15
call fcn.1401181a0
mov rbp, rsi
cmp r14, rsi
jl 0x1401277c0
mov r15, qword [rsp + 0x30]
lea rcx, [rdi + rbp*8]
lea rdx, [rsp + 0x80]
call fcn.1401181a0
nop
lea rcx, [rsp + 0x80]
call fcn.1401073b0
test r14, r14
jg 0x140127730
movzx ebx, byte [rsp + 0x98]
mov r13, qword [rsp + 0x88]
cmp r15, 2
jl 0x14012791a
lea rsi, [r13 - 8]
mov r14d, 8
sub r14, rdi
nop word [rax + rax]
mov rdx, rsi
lea rcx, [rsp + 0x88]
call fcn.140117e20
nop
mov rdx, rdi
mov rcx, rsi
call fcn.1401181a0
mov r8, rsi
sub r8, rdi
sar r8, 3
mov byte [rsp + 0x20], bl
lea r9, [rsp + 0x88]
xor edx, edx
mov rcx, rdi
call fcn.1401274b0
nop
lea rcx, [rsp + 0x88]
call fcn.1401073b0
sub rsi, 8
lea rax, [r14 + rsi]
and rax, 0xfffffffffffffff8
cmp rax, 0x10
jge 0x140127850
jmp 0x14012791a
mov rbx, r14
mov rdx, r14
lea rcx, [rsp + 0x88]
call fcn.140118270
test al, al
je 0x1401278eb
mov rdx, rbx
mov rcx, rsi
call fcn.1401181a0
mov rsi, rbx
sub rbx, 8
mov rdx, rbx
lea rcx, [rsp + 0x88]
call fcn.140118270
test al, al
jne 0x1401278c5
mov rcx, rsi
lea rdx, [rsp + 0x88]
call fcn.1401181a0
nop
lea rcx, [rsp + 0x88]
call fcn.1401073b0
add rbp, 8
add r14, 8
cmp rbp, r13
jne 0x1401276a0
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret