Function at 0x1400774ac
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
mov eax, 0x148
call fcn.14024eae0
sub rsp, rax
mov rax, qword [0x14035d028]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0xd8]
xor r12d, r12d
and dword [rsp + 0x40], r12d
mov rbx, r8
shr rbx, 3
mov rsi, r9
mov qword [rsp + 0x48], rax
mov r13, rcx
mov dword [rsp + 0x30], r12d
lea eax, [rbx - 0x14]
test eax, 0xfffffff3
jne 0x140077af3
cmp ebx, 0x18
je 0x140077af3
test r9, r9
jne 0x140077540
cmp ebx, 0x14
jne 0x140077529
lea rsi, [0x1402786d0]
jmp 0x140077544
cmp ebx, 0x1c
lea rsi, [0x1402787b0]
lea rax, [0x140278740]
cmovne rsi, rax
jmp 0x140077544
mov ebx, dword [r9 + 8]
mov r15d, 0x200
movsxd r14, ebx
cmp rdx, r15
mov qword [rbp - 0x68], r14
cmovae r15, rdx
add r15, 0x3f
and r15, 0xffffffffffffffc0
call fcn.1400687fc
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140077aee
call fcn.14005e028
mov rdi, rax
test rax, rax
je 0x140077ae1
mov rcx, rax
call fcn.14005e124
mov rcx, rdi
call fcn.14005e1f8
mov rcx, rdi
mov qword [rsp + 0x60], rax
call fcn.14005e1f8
mov rcx, rdi
mov qword [rbp - 0x58], rax
call fcn.14005e1f8
mov rcx, rdi
mov qword [rsp + 0x78], rax
call fcn.14005e1f8
mov rcx, rdi
mov qword [rsp + 0x58], rax
call fcn.14005e1f8
mov rcx, rdi
mov qword [rbp - 0x80], rax
call fcn.14005e1f8
mov rcx, rdi
mov qword [rbp - 0x70], rax
call fcn.14005e1f8
mov rcx, rdi
mov qword [rsp + 0x68], rax
call fcn.14005e1f8
mov r12, rax
test rax, rax
je 0x140077720
lea eax, [r15 - 1]
mov rcx, r12
mov r8d, eax
mov dword [rsp + 0x70], eax
lea rdx, [0x140293978]
call fcn.140060aa4
test eax, eax
je 0x140077720
mov r8d, dword [rsp + 0x40]
xor edx, edx
mov rcx, qword [rsp + 0x48]
call fcn.1400628a8
inc dword [rsp + 0x40]
test eax, eax
je 0x140077720
mov edx, ebx
lea rcx, [rbp - 0x10]
call fcn.14009d0cc
test eax, eax
jle 0x140077720
mov r8, r14
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call sub.VCRUNTIME140.dll_memcpy
mov r8, r14
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x10]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [r14 - 1]
mov qword [rbp - 0x60], rcx
mov rax, rcx
test rcx, rcx
js 0x140077687
add byte [rbp + rax - 0x30], 1
jne 0x140077687
sub rax, 1
jns 0x14007767a
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea r8, [rbp - 0x50]
mov rdx, r14
lea rcx, [rbp - 0x10]
call fcn.14008ca4c
test eax, eax
je 0x140077720
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea r8, [rbp + 0x10]
mov rdx, r14
lea rcx, [rbp - 0x30]
call fcn.14008ca4c
test eax, eax
je 0x140077720
xor ecx, ecx
test r14, r14
jle 0x1400776d6
mov al, byte [rbp + rcx + 0x10]
xor byte [rbp + rcx - 0x50], al
inc rcx
cmp rcx, r14
jl 0x1400776c6
or byte [rbp - 0x50], 0x80
lea rcx, [rbp - 0x50]
mov r8, qword [rsp + 0x58]
mov edx, ebx
or byte [rbp + r14 - 0x51], 1
call fcn.14005d8b0
test rax, rax
je 0x140077720
mov rax, qword [rsp + 0x48]
mov r9d, 1
mov rcx, qword [rsp + 0x58]
mov r8, rdi
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x3f]
call fcn.140062bf8
test eax, eax
jg 0x14007773f
je 0x14007761a
mov r15, qword [rsp + 0x38]
mov r12d, dword [rsp + 0x30]
mov rcx, rdi
call fcn.14005e184
mov rcx, rdi
call fcn.14005e098
jmp 0x140077ae6
mov r14, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 2]
call fcn.1400628a8
test eax, eax
je 0x140077720
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 3]
call fcn.1400628a8
test eax, eax
je 0x140077720
xor r8d, r8d
lea rcx, [r15 - 1]
movabs rax, 0xcccccccccccccccd
mov dword [rsp + 0x50], r8d
mul rcx
shr rdx, 7
mov qword [rbp - 0x78], rdx
jmp 0x140077792
mov r14, qword [rsp + 0x48]
test r8d, r8d
je 0x1400777a9
xor edx, edx
mov rcx, r14
call fcn.1400628a8
test eax, eax
je 0x140077720
mov rcx, qword [rsp + 0x78]
xor edx, edx
call fcn.14005d85c
xor r14d, r14d
cmp dword [rbp - 0x78], r14d
jl 0x14007785d
mov rcx, qword [rbp - 0x60]
mov rax, rcx
test rcx, rcx
js 0x1400777db
add byte [rbp + rax - 0x30], 1
jne 0x1400777db
sub rax, 1
jns 0x1400777ce
mov rdx, qword [rbp - 0x68]
lea r8, [rbp - 0x50]
xor r9d, r9d
mov qword [rsp + 0x20], rsi
lea rcx, [rbp - 0x30]
call fcn.14008ca4c
test eax, eax
je 0x140077720
mov r8, qword [rsp + 0x60]
lea rcx, [rbp - 0x50]
mov edx, ebx
call fcn.14005d8b0
test rax, rax
je 0x140077720
mov rdx, qword [rsp + 0x60]
lea r8d, [rbx*8]
imul r8d, r14d
mov rcx, rdx
call fcn.140060aa4
test eax, eax
je 0x140077720
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x60]
mov rcx, rdx
call fcn.14005b3e0
test eax, eax
je 0x140077720
inc r14d
cmp r14d, dword [rbp - 0x78]
jle 0x1400777c2
mov r11, qword [rsp + 0x78]
mov edx, dword [rsp + 0x70]
mov rcx, r11
call fcn.14005dcb8
test eax, eax
je 0x140077720
mov r14, qword [rbp - 0x80]
mov rdx, r11
mov rcx, r14
call fcn.14005d7a0
test rax, rax
je 0x140077720
mov r8, r12
mov rdx, r14
mov rcx, r14
call fcn.14005b3e0
test eax, eax
je 0x140077720
mov r14, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
mov rcx, r14
call fcn.140060900
test eax, eax
je 0x140077720
mov r8, qword [rbp - 0x80]
mov r9, r14
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
mov qword [rsp + 0x20], rdi
call fcn.14005b810
test eax, eax
je 0x140077720
mov rdx, qword [rbp - 0x70]
lea r8, [0x140293978]
mov rcx, r14
call fcn.14005b710
test eax, eax
je 0x140077720
mov rdx, qword [rbp - 0x80]
mov r8, r14
mov rcx, qword [rsp + 0x68]
call fcn.14005b710
test eax, eax
je 0x140077720
mov rcx, qword [rsp + 0x68]
mov rdx, r12
call fcn.14005db68
test eax, eax
js 0x14007794d
mov rax, qword [rsp + 0x48]
mov r9d, 1
mov rcx, qword [rsp + 0x68]
mov r8, rdi
mov qword [rsp + 0x20], rax
lea edx, [r9 + 0x3f]
call fcn.140062bf8
test eax, eax
jg 0x140077970
jne 0x140077720
mov r8d, dword [rsp + 0x50]
inc r8d
mov dword [rsp + 0x50], r8d
cmp r8d, 0x1000
jl 0x14007778d
mov r14, qword [rbp - 0x68]
jmp 0x14007761a
mov rcx, qword [rsp + 0x48]
mov ebx, 2
mov edx, ebx
lea r8d, [rbx - 1]
call fcn.1400628a8
test eax, eax
je 0x140077720
mov rsi, qword [rsp + 0x68]
lea r8, [0x140293978]
mov rdx, rsi
mov rcx, r12
call fcn.14005b710
test eax, eax
je 0x140077720
mov r9, qword [rsp + 0x58]
mov r8, r12
xor edx, edx
mov qword [rsp + 0x20], rdi
mov rcx, r14
call fcn.14005b810
test eax, eax
je 0x140077720
mov edx, ebx
mov rcx, r12
call fcn.14005d85c
mov r15, qword [rsp + 0x38]
test eax, eax
je 0x140077725
mov r8, rdi
mov rdx, rsi
mov rcx, r15
call fcn.14006889c
test eax, eax
je 0x140077725
mov rbx, qword [rbp - 0x58]
jmp 0x140077a2d
cmp dword [rbx + 8], 1
jne 0x140077a51
mov rax, qword [rbx]
cmp qword [rax], 1
jne 0x140077a51
cmp dword [rbx + 0x10], 0
jne 0x140077a51
lea r8, [0x140293978]
mov rdx, r12
mov rcx, r12
call fcn.14005b3e0
test eax, eax
je 0x140077725
mov qword [rsp + 0x28], r15
mov r9, rsi
mov r8, r14
mov qword [rsp + 0x20], rdi
mov rdx, r12
mov rcx, rbx
call fcn.14005c240
test eax, eax
jne 0x1400779fe
jmp 0x140077725
mov rcx, qword [rsp + 0x48]
mov edx, 3
lea r8d, [rdx - 2]
call fcn.1400628a8
test eax, eax
je 0x140077725
mov r12d, 1
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x140077a80
call fcn.14005d53c
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x140077a8e
call fcn.14005d53c
mov rcx, qword [r13 + 0x20]
test rcx, rcx
je 0x140077a9c
call fcn.14005d53c
mov rcx, rsi
call fcn.14005d74c
mov rcx, qword [rsp + 0x58]
mov qword [r13 + 0x10], rax
call fcn.14005d74c
mov rcx, rbx
mov qword [r13 + 0x18], rax
call fcn.14005d74c
cmp qword [r13 + 0x10], 0
mov qword [r13 + 0x20], rax
je 0x140077ad9
cmp qword [r13 + 0x18], 0
je 0x140077ad9
test rax, rax
jne 0x14007772a
xor r12d, r12d
jmp 0x14007772a
mov r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.140068854
mov eax, r12d
jmp 0x140077af5
xor eax, eax
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.14024c6d0
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret