Function at 0x1401240c0
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 0x140124101
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 0x140124416
mov rax, qword [rax + 0x40]
test r8d, r8d
mov qword [rsp + 0x30], rax
jne 0x1401241c3
lea rax, [r14 + r14]
xor r15d, r15d
cmp r13, rax
mov qword [rsp + 0x38], rax
jb 0x140124190
mov rax, qword [rsp + 0xa0]
mov r10, qword [rax + 0x28]
test r10, r10
je 0x1401244be
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 0x14012434b
test r13, r13
jne 0x140124284
xor eax, eax
test r15d, r15d
je 0x1401240f0
lea ecx, [r15 + 0x20]
mov dword [rsp + 0x30], eax
call fcn.1400eab70
mov eax, dword [rsp + 0x30]
jmp 0x1401240f0
mov rcx, qword [rsp + 0xa0]
mov rax, r14
sub r13, r8
sub rax, r8
cmp r8, 7
lea rcx, [rcx + rax + 0x70]
jbe 0x1401245a8
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 0x140124200
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 0x140124267
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 0x140124240
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 0x14012412e
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 0x140124326
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 0x1401242f2
and r8, 0xfffffffffffffff8
lea rax, [r8 + 8]
add rdi, rax
add rsi, rax
add rbx, rax
and r13d, 7
je 0x1401241a2
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 0x140124330
jmp 0x1401241a2
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 0x14012459a
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 0x1401243b0
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 0x140124408
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 0x1401243f0
add rsi, r14
add rdi, r14
sub r13, r14
jmp 0x140124199
sub r14, r8
cmp r13, 7
lea rcx, [rcx + r14 + 0x70]
jbe 0x1401245b6
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 0x140124440
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 0x1401244a5
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 0x140124480
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 0x1401240f0
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 0x14012458c
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 0x140124521
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 0x14012456d
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 0x140124555
mov rax, r13
add rsi, r14
add rdi, r14
sub rax, r14
cmp qword [rsp + 0x38], r13
ja 0x140124190
mov r13, rax
jmp 0x140124500
mov r11, rdi
mov rcx, rbx
mov r10, rsi
mov r8, r14
jmp 0x14012454e
mov r8, rdi
mov r10, rsi
mov rcx, r14
jmp 0x1401243e2
mov r11, r8
mov r10, rdx
mov r8, r9
jmp 0x14012423e
mov r8, r13
jmp 0x140124471