Function at 0x140013530
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push r13
push r15
sub rsp, 0x98
xor eax, eax
lea r8, [0x140383e10]
mov dword [rsp + 0x32], eax
xor ebp, ebp
mov word [rsp + 0x36], ax
xor r13b, r13b
mov dword [rsp + 0x4a], eax
mov r15, rdx
mov word [rsp + 0x4e], ax
xor dl, dl
mov dword [rsp + 0x32], eax
mov rsi, rcx
mov word [rsp + 0x36], ax
mov r10b, 1
mov dword [rsp + 0x4a], eax
movzx r11d, r10b
mov word [rsp + 0x4e], ax
mov rax, qword [rcx + 0x58]
mov rcx, qword [rcx + 8]
test rax, rax
mov byte [rsp + 0xd0], dl
cmovne r8, rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x60], r8
mov eax, dword [r8]
test eax, eax
je 0x140013981
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x88], rdi
mov qword [rsp + 0x80], r12
mov qword [rsp + 0x78], r14
mov r12d, eax
add r12, rcx
mov rbx, qword [r12]
test rbx, rbx
je 0x14001394f
mov r14d, dword [r8 + 0x10]
add r14, rcx
nop word [rax + rax]
mov qword [r14], 0
test rbx, rbx
js 0x140013920
test dl, dl
jne 0x14001378f
lea rsi, [rcx + 2]
mov rdi, 0xffffffffffffffff
add rsi, rbx
mov qword [rsp + 0x38], rsi
nop dword [rax + rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x140013620
mov qword [rsp + 0x40], rdi
cmp rdi, 0x11
jne 0x140013787
test rdi, rdi
je 0x14001364b
movzx r8d, byte [rsi]
mov byte [rsp + 0xd8], r8b
jmp 0x140013654
movzx r8d, byte [rsp + 0xd8]
test rdi, rdi
mov r9b, 1
setne al
test rdi, rdi
je 0x140013669
mov al, 0x52
cmp al, r8b
jmp 0x14001366c
cmp r9b, al
setne al
test al, al
jne 0x140013787
lea rax, [rdi - 1]
cmp rdi, rax
jbe 0x14001368c
movzx r8d, byte [rax + rsi]
mov byte [rsp + 0x20], r8b
jmp 0x140013692
movzx r8d, byte [rsp + 0x20]
seta cl
jbe 0x14001369e
mov al, 0x72
cmp al, r8b
jmp 0x1400136a1
cmp r9b, cl
setne al
test al, al
jne 0x140013782
movups xmm0, xmmword [rsp + 0x38]
lea rcx, [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
call fcn.14000ca60
movabs rcx, 0x6978d48496f275e0
cmp rcx, rax
jne 0x140013773
mov r8, rdi
lea r9, [rdi + rsi]
movabs r11, 0x20d89f5e34ba4a00
movabs r10, 0x7b2947fa29658000
imul r8, r11
xor r8, r10
cmp rsi, r9
je 0x14001374d
movabs r15, 0x63fe18a7a1e03600
nop dword [rax]
nop dword [rax + rax]
movsx rcx, byte [rsi]
inc rsi
mov rax, rcx
imul rax, rcx
imul rcx, rax
mov rdx, rcx
imul rdx, rcx
add rdx, r8
xor rdx, r10
imul rdx, r11
xor rdx, rcx
sub rdx, r15
imul r8, rdx
xor r8, rdx
cmp rsi, r9
jne 0x140013710
mov r15, qword [rsp + 0xc8]
movabs rax, 0xfdd93e6562eee660
cmp r8, rax
jne 0x140013773
mov rax, qword [r15]
mov dl, 1
mov qword [r14], rax
or ebp, 1
mov byte [rsp + 0xd0], dl
jmp 0x140013920
movzx edx, byte [rsp + 0xd0]
mov r10b, 1
movzx r11d, r10b
mov rcx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0xc0]
test r13b, r13b
jne 0x140013920
add rbx, 2
mov rdi, 0xffffffffffffffff
add rbx, rcx
mov qword [rsp + 0x38], rbx
nop dword [rax + rax]
inc rdi
cmp byte [rbx + rdi], 0
jne 0x1400137b0
mov qword [rsp + 0x40], rdi
cmp rdi, 0x12
jne 0x140013920
test rdi, rdi
je 0x1400137d6
movzx ecx, byte [rbx]
mov byte [rsp + 0x21], cl
jmp 0x1400137db
movzx ecx, byte [rsp + 0x21]
test rdi, rdi
setne al
test r10b, r10b
je 0x1400137f1
test rdi, rdi
je 0x1400137f1
mov al, 0x47
cmp al, cl
jmp 0x1400137f4
cmp r10b, al
setne al
test al, al
jne 0x140013920
lea rax, [rdi - 1]
cmp rdi, rax
jbe 0x140013814
movzx r8d, byte [rax + rbx]
mov byte [rsp + 0x22], r8b
jmp 0x14001381a
movzx r8d, byte [rsp + 0x22]
seta cl
test r11b, r11b
je 0x14001382e
cmp rdi, rax
jbe 0x14001382e
mov al, 0x57
cmp al, r8b
jmp 0x140013831
cmp r11b, cl
setne al
test al, al
jne 0x140013920
movups xmm0, xmmword [rsp + 0x38]
lea rcx, [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
call fcn.14000ca60
movabs rcx, 0xe2b8c0fd77429ba7
cmp rcx, rax
jne 0x140013918
mov r8, rdi
lea r9, [rdi + rbx]
movabs r11, 0x20d89f5e34ba4a00
movabs r10, 0x7b2947fa29658000
imul r8, r11
xor r8, r10
cmp rbx, r9
je 0x1400138dd
movabs rsi, 0x63fe18a7a1e03600
nop dword [rax]
nop dword [rax + rax]
movsx rcx, byte [rbx]
inc rbx
mov rax, rcx
imul rax, rcx
imul rcx, rax
mov rdx, rcx
imul rdx, rcx
add rdx, r8
xor rdx, r10
imul rdx, r11
xor rdx, rcx
sub rdx, rsi
imul r8, rdx
xor r8, rdx
cmp rbx, r9
jne 0x1400138a0
mov rsi, qword [rsp + 0xc0]
movabs r9, 0xdc72246e60a4d047
cmp r8, r9
jne 0x140013918
mov eax, dword [rsi + 0x18]
shr eax, 1
test al, 1
je 0x1400138fb
mov rax, qword [r15 + 8]
jmp 0x1400138ff
mov rax, qword [r15 + 0x10]
mov qword [r14], rax
mov r13b, 1
mov eax, dword [rsi + 0x18]
shr eax, 1
not eax
and eax, 1
lea eax, [rax*2 + 2]
or ebp, eax
movzx edx, byte [rsp + 0xd0]
mov rbx, qword [r12 + 8]
add r12, 8
mov rcx, qword [rsp + 0x28]
add r14, 8
mov rsi, qword [rsp + 0xc0]
mov r10b, 1
movzx r11d, r10b
test rbx, rbx
jne 0x1400135f0
mov r8, qword [rsp + 0x60]
mov eax, dword [r8 + 0x14]
add r8, 0x14
mov qword [rsp + 0x60], r8
test eax, eax
jne 0x1400135d0
mov r14, qword [rsp + 0x78]
mov r12, qword [rsp + 0x80]
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
mov eax, ebp
add rsp, 0x98
pop r15
pop r13
pop rsi
pop rbp
ret