Function at 0x1401241d0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov r13, qword [rsp + 0xc0]
mov eax, 0xc8
mov qword [rsp + 0xa0], rcx
mov rsi, rdx
mov rdi, r9
cmp r8, r13
jae 0x140124211
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movsxd r8, dword [rcx + 0xa0]
mov rax, qword [rcx + 0x18]
mov r14, qword [rax + 0x20]
cmp r13, r8
mov r10, r8
jbe 0x140124526
mov rax, qword [rax + 0x40]
test r8d, r8d
mov qword [rsp + 0x30], rax
jne 0x1401242d3
lea rax, [r14 + r14]
xor r15d, r15d
cmp r13, rax
mov qword [rsp + 0x38], rax
jb 0x1401242a0
mov rax, qword [rsp + 0xa0]
mov r10, qword [rax + 0x28]
test r10, r10
je 0x1401245ce
mov rax, r13
xor edx, edx
mov r9, rdi
div r14
mov r8, rsi
mov rbp, rax
mov rax, qword [rsp + 0xa0]
mov r13, rdx
mov qword [rsp + 0x20], rbp
lea rdx, [rax + 0x70]
lea rcx, [rax + 0x280]
call r10
mov r9, rbp
imul r9, r14
add rsi, r9
add rdi, r9
cmp r13, r14
jae 0x14012445b
test r13, r13
jne 0x140124394
xor eax, eax
test r15d, r15d
je 0x140124200
lea ecx, [r15 + 0x20]
mov dword [rsp + 0x30], eax
call fcn.1400eac80
mov eax, dword [rsp + 0x30]
jmp 0x140124200
mov rcx, qword [rsp + 0xa0]
mov rax, r14
sub r13, r8
sub rax, r8
cmp r8, 7
lea rcx, [rcx + rax + 0x70]
jbe 0x1401246b8
lea rbx, [r8 - 8]
xor eax, eax
mov r11, rbx
shr r11, 3
lea r10, [r11*8 + 8]
nop dword [rax + rax]
mov rdx, qword [rdi + rax]
xor rdx, qword [rcx + rax]
mov qword [rcx + rax], rdx
mov qword [rsi + rax], rdx
add rax, 8
cmp rax, r10
jne 0x140124310
neg r11
mov rdx, rbx
and rdx, 0xfffffffffffffff8
lea r11, [rbx + r11*8]
add rdx, 8
add rcx, rdx
test r11, r11
lea rax, [rdi + rdx]
lea r10, [rsi + rdx]
je 0x140124377
mov r8, rax
xor eax, eax
movzx edx, byte [r8 + rax]
xor dl, byte [rcx + rax]
mov byte [rcx + rax], dl
mov byte [r10 + rax], dl
add rax, 1
cmp rax, r11
jne 0x140124350
mov rax, qword [rsp + 0xa0]
movsxd r8, dword [rax + 0xa0]
mov rax, qword [rsp + 0xa0]
add rsi, r8
add rdi, r8
mov dword [rax + 0xa0], 0
jmp 0x14012423e
mov rax, qword [rsp + 0xa0]
mov r8, r14
lea rbx, [rax + 0x70]
lea rcx, [rax + 0x90]
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xa0]
mov r8, rbx
mov rdx, rbx
lea rcx, [rax + 0x280]
mov rax, qword [rsp + 0x30]
call rax
cmp r15d, eax
cmovb r15d, eax
mov rax, qword [rsp + 0xa0]
sub r14d, r13d
cmp r13, 7
mov dword [rax + 0xa0], r14d
jbe 0x140124436
lea r8, [r13 - 8]
mov rax, r8
shr rax, 3
lea rcx, [rax*8 + 8]
xor eax, eax
mov rdx, qword [rdi + rax]
xor rdx, qword [rbx + rax]
mov qword [rbx + rax], rdx
mov qword [rsi + rax], rdx
add rax, 8
cmp rcx, rax
jne 0x140124402
and r8, 0xfffffffffffffff8
lea rax, [r8 + 8]
add rdi, rax
add rsi, rax
add rbx, rax
and r13d, 7
je 0x1401242b2
xor eax, eax
nop dword [rax + rax]
movzx edx, byte [rdi + rax]
xor dl, byte [rbx + rax]
mov byte [rbx + rax], dl
mov byte [rsi + rax], dl
add rax, 1
cmp r13, rax
jne 0x140124440
jmp 0x1401242b2
mov rax, qword [rsp + 0xa0]
mov r8, r14
lea rbx, [rax + 0x70]
lea rcx, [rax + 0x90]
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov rax, qword [rsp + 0xa0]
mov r8, rbx
mov rdx, rbx
lea rcx, [rax + 0x280]
mov rax, qword [rsp + 0x30]
call rax
cmp r15d, eax
cmovb r15d, eax
cmp r14, 7
jbe 0x1401246aa
lea r8, [r14 - 8]
mov rax, r8
shr rax, 3
lea rcx, [rax*8 + 8]
xor eax, eax
nop dword [rax + rax]
mov rdx, qword [rdi + rax]
xor rdx, qword [rbx + rax]
mov qword [rbx + rax], rdx
mov qword [rsi + rax], rdx
add rax, 8
cmp rax, rcx
jne 0x1401244c0
and r8, 0xfffffffffffffff8
mov rcx, r14
lea rax, [r8 + 8]
and ecx, 7
lea r8, [rdi + rax]
lea r10, [rsi + rax]
add rbx, rax
xor eax, eax
test rcx, rcx
je 0x140124518
nop dword [rax]
movzx edx, byte [r8 + rax]
xor dl, byte [rbx + rax]
mov byte [rbx + rax], dl
mov byte [r10 + rax], dl
add rax, 1
cmp rax, rcx
jne 0x140124500
add rsi, r14
add rdi, r14
sub r13, r14
jmp 0x1401242a9
sub r14, r8
cmp r13, 7
lea rcx, [rcx + r14 + 0x70]
jbe 0x1401246c6
lea r11, [r13 - 8]
mov rax, r11
shr rax, 3
lea r8, [rax*8 + 8]
xor eax, eax
nop dword [rax]
mov rdx, qword [rdi + rax]
xor rdx, qword [rcx + rax]
mov qword [rcx + rax], rdx
mov qword [rsi + rax], rdx
add rax, 8
cmp r8, rax
jne 0x140124550
and r11, 0xfffffffffffffff8
mov r8, r13
lea rax, [r11 + 8]
and r8d, 7
add rdi, rax
add rcx, rax
add rsi, rax
test r8, r8
je 0x1401245b5
xor eax, eax
nop dword [rax + rax]
movzx edx, byte [rdi + rax]
xor dl, byte [rcx + rax]
mov byte [rcx + rax], dl
mov byte [rsi + rax], dl
add rax, 1
cmp rax, r8
jne 0x140124590
mov rax, qword [rsp + 0xa0]
mov r10d, dword [rax + 0xa0]
mov rax, qword [rsp + 0xa0]
sub r10d, r13d
mov dword [rax + 0xa0], r10d
xor eax, eax
jmp 0x140124200
mov rax, qword [rsp + 0xa0]
lea r12, [r14 - 8]
sub r13, r14
lea rbx, [rax + 0x70]
add rax, 0x280
mov qword [rsp + 0x40], rax
mov rax, r12
and r12, 0xfffffffffffffff8
shr rax, 3
add r12, 8
lea rbp, [rax*8 + 8]
lea rax, [rbx + r12]
mov qword [rsp + 0x48], rax
nop dword [rax]
mov r8, rbx
mov rdx, rbx
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x30]
call rax
cmp r15d, eax
cmovb r15d, eax
cmp r14, 7
jbe 0x14012469c
xor eax, eax
mov rdx, qword [rdi + rax]
xor rdx, qword [rbx + rax]
mov qword [rbx + rax], rdx
mov qword [rsi + rax], rdx
add rax, 8
cmp rax, rbp
jne 0x140124631
mov rcx, qword [rsp + 0x48]
mov r8, r14
lea r11, [rdi + r12]
lea r10, [rsi + r12]
and r8d, 7
xor eax, eax
test r8, r8
je 0x14012467d
movzx edx, byte [r11 + rax]
xor dl, byte [rcx + rax]
mov byte [rcx + rax], dl
mov byte [r10 + rax], dl
add rax, 1
cmp rax, r8
jne 0x140124665
mov rax, r13
add rsi, r14
add rdi, r14
sub rax, r14
cmp qword [rsp + 0x38], r13
ja 0x1401242a0
mov r13, rax
jmp 0x140124610
mov r11, rdi
mov rcx, rbx
mov r10, rsi
mov r8, r14
jmp 0x14012465e
mov r8, rdi
mov r10, rsi
mov rcx, r14
jmp 0x1401244f2
mov r11, r8
mov r10, rdx
mov r8, r9
jmp 0x14012434e
mov r8, r13
jmp 0x140124581