Function at 0x140072bac
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.140072fdc
mov r14, qword [rax + 0x10]
add r14, rbx
call fcn.140072fdc
mov ecx, dword [r14]
mov rax, qword [rax + 0x10]
mov r12, qword [rcx + rax]
call fcn.140072fdc
mov ecx, dword [r14 + 4]
mov rax, qword [rax + 0x10]
mov r13, qword [rcx + rax]
call fcn.140072fdc
mov esi, dword [r14 + 0xc]
mov cl, 0x4d
movsx r9d, cl
xor ebx, ebx
movzx edx, r9w
mov word [rbp - 0x15], r9w
add rsi, qword [rax + 0x10]
xor dx, 0x2c
movzx ecx, r9w
mov word [rbp - 0x23], dx
xor cx, 0x24
mov word [rbp - 0x13], dx
movzx eax, r9w
mov word [rbp - 0x1b], cx
xor ax, 0x3f
mov word [rbp - 0xd], cx
mov word [rbp - 0x27], ax
lea rdx, [rbp - 0x29]
movzx eax, r9w
mov word [rbp - 0x2b], 0x4d
xor ax, 0x39
mov word [rbp - 5], bx
mov word [rbp - 0x21], ax
lea rcx, [rbp - 0x29]
movzx eax, r9w
movzx r10d, r9w
xor ax, 0xb
movzx r8d, r9w
mov word [rbp - 0x1d], ax
xor r8w, 0x28
movzx eax, r9w
mov word [rbp - 0x25], r8w
xor ax, 0x21
mov word [rbp - 0x1f], r8w
mov word [rbp - 0x19], ax
xor r10w, 0xe
movzx eax, r9w
mov word [rbp - 0x29], r10w
xor ax, 0x3d
mov word [rbp - 0x17], r8w
mov word [rbp - 0x11], ax
mov word [rbp - 0xf], ax
movzx eax, r9w
xor ax, 0x23
mov word [rbp - 0xb], ax
movzx eax, r9w
xor ax, 0x2a
xor r9w, 0x1a
mov word [rbp - 9], ax
mov word [rbp - 7], r9w
test r10b, r10b
je 0x140072cf1
nop dword [rax]
cmp byte [rcx + 1], bl
jne 0x140072cf1
movzx eax, byte [rcx]
add rcx, 2
mov byte [rdx], al
inc rdx
cmp byte [rcx], bl
jne 0x140072cdc
mov byte [rdx], bl
mov cl, 0x1b
movsx edx, cl
xor r8d, r8d
movzx eax, dx
mov word [rbp - 3], 0x1b
xor ax, 0x50
mov word [rbp + 0x17], bx
mov word [rbp - 1], ax
movzx ecx, dx
movzx eax, dx
xor cx, 0x5e
xor ax, 0x49
mov word [rbp + 1], cx
mov word [rbp + 3], ax
movzx eax, dx
xor ax, 0x55
mov word [rbp + 7], cx
mov word [rbp + 5], ax
lea rcx, [rbp - 1]
movzx eax, dx
xor ax, 0x57
mov word [rbp + 9], ax
movzx eax, dx
xor ax, 0x28
mov word [rbp + 0xb], ax
movzx eax, dx
xor ax, 0x29
mov word [rbp + 0xd], ax
movzx eax, dx
xor ax, 0x35
mov word [rbp + 0xf], ax
movzx eax, dx
xor dx, 0x77
xor ax, 0x7f
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, 0x61
movsx r8d, cl
movzx edx, r8w
mov word [rbp - 0x45], r8w
xor dx, 4
mov word [rbp - 0x49], 0x61
movzx eax, r8w
mov word [rbp - 0x3d], dx
xor ax, 0x16
mov word [rbp - 0x2f], dx
mov word [rbp - 0x3b], ax
lea rdx, [rbp - 0x47]
movzx eax, r8w
mov word [rbp - 0x2d], bx
xor ax, 0x2e
movzx ecx, r8w
xor cx, 0x11
mov word [rbp - 0x39], ax
mov word [rbp - 0x43], cx
movzx eax, r8w
xor ax, 7
movzx ecx, r8w
xor cx, 0x37
mov word [rbp - 0x37], ax
mov word [rbp - 0x41], cx
movzx eax, r8w
movzx r9d, r8w
movzx ecx, r8w
xor cx, 8
xor ax, 0x27
xor r9w, 0x2c
mov word [rbp - 0x3f], cx
xor r8w, 0xd
mov word [rbp - 0x47], r9w
mov word [rbp - 0x31], r8w
mov word [rbp - 0x35], ax
mov word [rbp - 0x33], cx
lea rcx, [rbp - 0x47]
test r9b, r9b
je 0x140072e46
cmp byte [rcx + 1], bl
jne 0x140072e46
movzx eax, byte [rcx]
add rcx, 2
mov byte [rdx], al
inc rdx
cmp byte [rcx], bl
jne 0x140072e31
mov byte [rdx], bl
mov cl, 0x52
movsx edx, cl
xor r8d, r8d
movzx ecx, dx
mov word [rbp + 0x1f], dx
movzx eax, dx
mov word [rbp + 0x19], 0x52
xor ax, 0x19
mov word [rbp + 0x33], bx
mov word [rbp + 0x1b], ax
xor cx, 0x17
movzx eax, dx
mov word [rbp + 0x1d], cx
xor ax, 0x1c
mov word [rbp + 0x23], cx
mov word [rbp + 0x21], ax
lea rcx, [rbp + 0x1b]
movzx eax, dx
xor ax, 0x1e
mov word [rbp + 0x25], ax
movzx eax, dx
xor ax, 0x61
mov word [rbp + 0x27], ax
movzx eax, dx
xor ax, 0x60
mov word [rbp + 0x29], ax
movzx eax, dx
xor ax, 0x7c
mov word [rbp + 0x2b], ax
movzx eax, dx
xor dx, 0x3e
xor ax, 0x36
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 0x140072fb0
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 0x140072f42
test rsi, rsi
je 0x140072f42
test edx, edx
je 0x140072f42
mov ecx, ebx
inc ebx
movzx eax, byte [rcx + rsi]
mov byte [rcx + rdi], al
cmp ebx, edx
jb 0x140072f2f
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 0x140072f7b
lea rcx, [rdx + rdi]
sub rdx, r10
inc rdx
nop word [rax + rax]
xor byte [rcx], al
lea rcx, [rcx - 1]
rol eax, 8
sub rdx, 1
jne 0x140072f6c
test r10, r10
je 0x140072f9c
mov r9, rdi
nop word [rax + rax]
xor byte [r9], al
lea r9, [r9 + 1]
rol eax, 8
sub r10, 1
jne 0x140072f8c
call fcn.140072fdc
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