Function at 0x140066cd0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov ebx, ecx
call fcn.140067120
mov r14, qword [rax + 0x10]
add r14, rbx
call fcn.140067120
mov ecx, dword [r14]
mov rax, qword [rax + 0x10]
mov r12, qword [rcx + rax]
call fcn.140067120
mov ecx, dword [r14 + 4]
mov rax, qword [rax + 0x10]
mov r13, qword [rcx + rax]
call fcn.140067120
mov esi, dword [r14 + 0xc]
mov cl, 0x59
movsx r9d, cl
xor ebx, ebx
movzx edx, r9w
mov word [rbp - 0x2b], 0x59
add rsi, qword [rax + 0x10]
xor dx, 0x3c
movzx eax, r9w
mov word [rbp - 0x25], dx
xor ax, 0x2b
mov word [rbp - 0x1f], dx
mov word [rbp - 0x27], ax
movzx ecx, r9w
xor cx, 0x30
mov word [rbp - 0x17], dx
movzx eax, r9w
mov word [rbp - 0x1b], cx
xor ax, 0x2d
mov word [rbp - 0xd], cx
mov word [rbp - 0x21], ax
lea rdx, [rbp - 0x29]
movzx eax, r9w
mov word [rbp - 5], bx
xor ax, 0x1f
lea rcx, [rbp - 0x29]
mov word [rbp - 0x1d], ax
movzx r10d, r9w
movzx eax, r9w
movzx r8d, r9w
xor ax, 0x35
xor r8w, 0x38
mov word [rbp - 0x19], ax
xor r10w, 0x1a
movzx eax, r9w
mov word [rbp - 0x29], r10w
xor ax, 0x14
mov word [rbp - 0x23], r8w
mov word [rbp - 0x15], ax
movzx eax, r9w
xor ax, 0x29
mov word [rbp - 0x13], r8w
mov word [rbp - 0x11], ax
mov word [rbp - 0xf], ax
movzx eax, r9w
xor ax, 0x37
mov word [rbp - 0xb], ax
movzx eax, r9w
xor ax, 0x3e
xor r9w, 0xe
mov word [rbp - 9], ax
mov word [rbp - 7], r9w
test r10b, r10b
je 0x140066e17
cmp byte [rcx + 1], bl
jne 0x140066e17
movzx eax, byte [rcx]
add rcx, 2
mov byte [rdx], al
inc rdx
cmp byte [rcx], bl
jne 0x140066e02
mov byte [rdx], bl
mov cl, 0x53
movsx edx, cl
xor r8d, r8d
movzx eax, dx
mov word [rbp - 3], 0x53
xor ax, 0x18
mov word [rbp + 0x17], bx
mov word [rbp - 1], ax
movzx ecx, dx
movzx eax, dx
xor cx, 0x16
xor ax, 1
mov word [rbp + 1], cx
mov word [rbp + 3], ax
movzx eax, dx
xor ax, 0x1d
mov word [rbp + 7], cx
mov word [rbp + 5], ax
lea rcx, [rbp - 1]
movzx eax, dx
xor ax, 0x1f
mov word [rbp + 9], ax
movzx eax, dx
xor ax, 0x60
mov word [rbp + 0xb], ax
movzx eax, dx
xor ax, 0x61
mov word [rbp + 0xd], ax
movzx eax, dx
xor ax, 0x7d
mov word [rbp + 0xf], ax
movzx eax, dx
xor dx, 0x3f
xor ax, 0x37
mov word [rbp + 0x13], dx
mov word [rbp + 0x15], dx
xor edx, edx
mov word [rbp + 0x11], ax
call r12
mov rcx, rax
lea rdx, [rbp - 0x29]
call r13
mov qword [rbp + 0x6f], rax
mov cl, 0x75
movsx r8d, cl
movzx eax, r8w
mov word [rbp - 0x49], 0x75
xor ax, 0x23
movzx ecx, r8w
mov word [rbp - 0x41], ax
xor cx, 0x14
mov word [rbp - 0x45], cx
movzx eax, r8w
xor ax, 2
movzx ecx, r8w
mov word [rbp - 0x3b], ax
xor cx, 5
movzx eax, r8w
mov word [rbp - 0x43], cx
xor ax, 0x3a
movzx r9d, r8w
mov word [rbp - 0x39], ax
movzx ecx, r8w
xor cx, 0x1c
movzx eax, r8w
xor ax, 0x13
mov word [rbp - 0x3f], cx
mov word [rbp - 0x37], ax
movzx edx, r8w
xor dx, 0x10
mov word [rbp - 0x33], cx
movzx eax, r8w
mov word [rbp - 0x3d], dx
xor ax, 0x33
mov word [rbp - 0x2f], dx
xor r9w, 0x38
mov word [rbp - 0x35], ax
xor r8w, 0x19
mov word [rbp - 0x47], r9w
mov word [rbp - 0x31], r8w
mov word [rbp - 0x2d], bx
lea rdx, [rbp - 0x47]
lea rcx, [rbp - 0x47]
test r9b, r9b
je 0x140066f75
nop
cmp byte [rcx + 1], bl
jne 0x140066f75
movzx eax, byte [rcx]
add rcx, 2
mov byte [rdx], al
inc rdx
cmp byte [rcx], bl
jne 0x140066f60
mov byte [rdx], bl
mov cl, 0x44
movsx edx, cl
xor r8d, r8d
movzx eax, dx
mov word [rbp + 0x19], 0x44
xor ax, 0xf
mov word [rbp + 0x33], bx
mov word [rbp + 0x1b], ax
movzx ecx, dx
movzx eax, dx
xor cx, 1
xor ax, 0x16
mov word [rbp + 0x1d], cx
mov word [rbp + 0x1f], ax
movzx eax, dx
xor ax, 0xa
mov word [rbp + 0x23], cx
mov word [rbp + 0x21], ax
lea rcx, [rbp + 0x1b]
movzx eax, dx
xor ax, 8
mov word [rbp + 0x25], ax
movzx eax, dx
xor ax, 0x77
mov word [rbp + 0x27], ax
movzx eax, dx
xor ax, 0x76
mov word [rbp + 0x29], ax
movzx eax, dx
xor ax, 0x6a
mov word [rbp + 0x2b], ax
movzx eax, dx
xor dx, 0x28
xor ax, 0x20
mov word [rbp + 0x2f], dx
mov word [rbp + 0x31], dx
xor edx, edx
mov word [rbp + 0x2d], ax
call r12
mov rcx, rax
lea rdx, [rbp - 0x47]
call r13
mov edi, dword [r14 + 0x10]
xor r9d, r9d
xor edx, edx
mov qword [rsp + 0x28], rbx
mov r15, rax
mov dword [rsp + 0x20], edi
lea r8d, [r9 + 0x40]
lea rcx, [rdx - 1]
call qword [rbp + 0x6f]
test rax, rax
je 0x1400670f4
xor r9d, r9d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
mov rcx, rax
lea edx, [r9 + 0x26]
call r15
mov edx, dword [r14 + 0x10]
mov r8d, edx
mov rdi, rax
test rax, rax
je 0x140067083
test rsi, rsi
je 0x140067083
test edx, edx
je 0x140067083
nop word [rax + rax]
mov ecx, ebx
inc ebx
movzx eax, byte [rcx + rsi]
mov byte [rcx + rdi], al
cmp ebx, edx
jb 0x140067070
mov r8d, dword [r14 + 0x10]
mov eax, dword [r14 + 8]
lea ecx, [r8 - 1]
mov r10d, r8d
movsxd rdx, ecx
shr r10, 1
cmp rdx, r10
jl 0x1400670bf
lea rcx, [rdx + rdi]
sub rdx, r10
inc rdx
nop dword [rax]
nop word [rax + rax]
xor byte [rcx], al
lea rcx, [rcx - 1]
rol eax, 8
sub rdx, 1
jne 0x1400670b0
test r10, r10
je 0x1400670e0
mov r9, rdi
nop word [rax + rax]
xor byte [r9], al
lea r9, [r9 + 1]
rol eax, 8
sub r10, 1
jne 0x1400670d0
call fcn.140067120
mov r8, r13
mov rdx, r12
mov rcx, r14
mov r9, qword [rax + 0x10]
call rdi
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret