Function at 0x140005c70
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r15
lea rbp, [rsp - 0x2a0]
sub rsp, 0x3a0
mov rax, qword [0x140096fc0]
xor rax, rsp
mov qword [rbp + 0x290], rax
lea rcx, [0x140097560]
call fcn.14000cd10
mov rcx, rax
call fcn.1400058a0
mov rcx, rax
call fcn.1400059e0
mov rdi, rax
test rax, rax
je 0x1400060b8
lea rcx, [0x1400971e0]
call fcn.14000cd10
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
lea rcx, [0x140097550]
mov rbx, rax
call fcn.14000cb70
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
lea rcx, [0x140097048]
mov qword [rbp - 0x38], rax
mov rsi, rax
call fcn.14000cb70
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
mov ecx, 9
mov qword [rsp + 0x60], rax
mov r15, rax
call fcn.140063ecc
movzx ecx, byte [0x140097298]
mov rdx, rax
xor cl, 0x44
mov byte [rax], cl
movzx ecx, byte [0x140097299]
xor cl, 0xaf
mov byte [rax + 1], cl
movzx ecx, byte [0x14009729a]
xor cl, 0x5e
mov byte [rax + 2], cl
movzx ecx, byte [0x14009729b]
xor cl, 0xb2
mov byte [rax + 3], cl
movzx ecx, byte [0x14009729c]
xor cl, 0xda
mov byte [rax + 4], cl
mov rcx, rdi
movzx eax, byte [0x14009729d]
xor al, 0xae
mov byte [rdx + 5], al
movzx eax, byte [0x14009729e]
xor al, 0x37
mov byte [rdx + 6], al
movzx eax, byte [0x14009729f]
xor al, 0xcb
mov byte [rdx + 7], al
movzx eax, byte [0x1400972a0]
xor al, 0x14
mov byte [rdx + 8], al
call fcn.140005ae0
mov ecx, 0xa
mov qword [rbp - 0x78], rax
call fcn.140063ecc
movzx ecx, byte [0x140097588]
mov rdx, rax
xor cl, 0x44
mov byte [rax], cl
movzx ecx, byte [0x140097589]
xor cl, 0xaf
mov byte [rax + 1], cl
movzx ecx, byte [0x14009758a]
xor cl, 0x5e
mov byte [rax + 2], cl
movzx ecx, byte [0x14009758b]
xor cl, 0xb2
mov byte [rax + 3], cl
movzx ecx, byte [0x14009758c]
xor cl, 0xda
mov byte [rax + 4], cl
movzx eax, byte [0x14009758d]
xor al, 0xae
mov byte [rdx + 5], al
movzx eax, byte [0x14009758e]
xor al, 0x37
mov byte [rdx + 6], al
movzx eax, byte [0x14009758f]
xor al, 0xcb
mov byte [rdx + 7], al
movzx eax, byte [0x140097590]
xor al, 0x14
mov rcx, rdi
mov byte [rdx + 8], al
movzx eax, byte [0x140097591]
xor al, 0x17
mov byte [rdx + 9], al
call fcn.140005ae0
lea rcx, [0x1400971f0]
mov qword [rbp - 0x70], rax
call fcn.14000cb70
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
lea rcx, [0x1400975b0]
mov r12, rax
call fcn.14000cb70
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
lea rcx, [0x1400971b0]
mov qword [rsp + 0x78], rax
call fcn.14000cd10
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
lea rcx, [0x140097450]
mov qword [rbp - 0x80], rax
call fcn.14000cb70
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
lea rcx, [0x140097058]
mov qword [rsp + 0x68], rax
call fcn.14000ca00
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
mov qword [rbp - 0x50], rax
call fcn.14000c860
mov rdx, rax
mov rcx, rdi
call fcn.140005ae0
lea rcx, [0x140097280]
mov qword [rbp - 0x48], rax
call fcn.14000cb70
mov ecx, 9
call fcn.140063ecc
movzx ecx, byte [0x140097070]
mov rdx, rax
xor cl, 0x44
mov byte [rax], cl
movzx ecx, byte [0x140097071]
xor cl, 0xaf
mov byte [rax + 1], cl
movzx ecx, byte [0x140097072]
xor cl, 0x5e
mov byte [rax + 2], cl
movzx ecx, byte [0x140097073]
xor cl, 0xb2
mov byte [rax + 3], cl
movzx ecx, byte [0x140097074]
xor cl, 0xda
mov byte [rax + 4], cl
mov rcx, rdi
movzx eax, byte [0x140097075]
xor al, 0xae
mov byte [rdx + 5], al
movzx eax, byte [0x140097076]
xor al, 0x37
mov byte [rdx + 6], al
movzx eax, byte [0x140097077]
xor al, 0xcb
mov byte [rdx + 7], al
movzx eax, byte [0x140097078]
xor al, 0x14
mov byte [rdx + 8], al
call fcn.140005ae0
mov ecx, 9
mov qword [rbp - 0x60], rax
call fcn.140063ecc
mov rdx, rax
movzx ecx, byte [0x1400973e0]
xor cl, 0x44
mov byte [rax], cl
movzx ecx, byte [0x1400973e1]
xor cl, 0xaf
mov byte [rax + 1], cl
movzx ecx, byte [0x1400973e2]
xor cl, 0x5e
mov byte [rax + 2], cl
movzx ecx, byte [0x1400973e3]
xor cl, 0xb2
mov byte [rax + 3], cl
movzx ecx, byte [0x1400973e4]
xor cl, 0xda
mov byte [rax + 4], cl
mov rcx, rdi
movzx eax, byte [0x1400973e5]
xor al, 0xae
mov byte [rdx + 5], al
movzx eax, byte [0x1400973e6]
xor al, 0x37
mov byte [rdx + 6], al
movzx eax, byte [0x1400973e7]
xor al, 0xcb
mov byte [rdx + 7], al
movzx eax, byte [0x1400973e8]
xor al, 0x14
mov byte [rdx + 8], al
call fcn.140005ae0
mov ecx, 0xb
mov qword [rbp - 0x68], rax
call fcn.140063ecc
movzx ecx, byte [0x1400971a0]
mov rdx, rax
xor cl, 0x44
mov byte [rax], cl
movzx ecx, byte [0x1400971a1]
xor cl, 0xaf
mov byte [rax + 1], cl
movzx ecx, byte [0x1400971a2]
xor cl, 0x5e
mov byte [rax + 2], cl
movzx ecx, byte [0x1400971a3]
xor cl, 0xb2
mov byte [rax + 3], cl
movzx ecx, byte [0x1400971a4]
xor cl, 0xda
mov byte [rax + 4], cl
mov rcx, rdx
movzx eax, byte [0x1400971a5]
xor al, 0xae
mov byte [rdx + 5], al
movzx eax, byte [0x1400971a6]
xor al, 0x37
mov byte [rdx + 6], al
movzx eax, byte [0x1400971a7]
xor al, 0xcb
mov byte [rdx + 7], al
movzx eax, byte [0x1400971a8]
xor al, 0x14
mov byte [rdx + 8], al
movzx eax, byte [0x1400971a9]
xor al, 0x17
mov byte [rdx + 9], al
movzx eax, byte [0x1400971aa]
xor al, 0x92
mov byte [rdx + 0xa], al
call rbx
mov qword [rbp - 0x40], rax
mov rbx, rax
test rax, rax
je 0x1400060b8
call fcn.14000c6e0
mov rdx, rax
mov rcx, rbx
call fcn.140005ae0
mov qword [rsp + 0x70], rax
test rax, rax
jne 0x1400060e3
mov rcx, rbx
call rsi
mov eax, 1
mov rcx, qword [rbp + 0x290]
xor rcx, rsp
call fcn.140063a30
mov rbx, qword [rsp + 0x3e0]
add rsp, 0x3a0
pop r15
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 0x3d0], r13
lea rcx, [0x140097098]
mov qword [rsp + 0x3d8], r14
call fcn.14000c570
lea rcx, [0x1400971c0]
mov qword [rbp - 0x30], rax
call fcn.14000c400
lea rcx, [0x140097158]
mov qword [rbp - 0x28], rax
call fcn.14000c570
lea rcx, [0x1400973f0]
mov qword [rbp - 0x20], rax
call fcn.14000c400
mov qword [rbp - 0x18], rax
call fcn.14000c260
mov rdi, rax
mov qword [rsp + 0x58], rax
call fcn.14000c0e0
mov ecx, 4
mov rsi, rax
call fcn.140063ecc
movzx ecx, byte [0x140097114]
xor r14b, r14b
xor cl, 0x44
mov qword [rbp - 0x58], rax
mov byte [rsp + 0x50], r14b
mov byte [rax], cl
movzx ecx, byte [0x140097115]
xor cl, 0xaf
mov byte [rax + 1], cl
movzx ecx, byte [0x140097116]
xor cl, 0x5e
mov byte [rax + 2], cl
movzx ecx, byte [0x140097117]
xor cl, 0xb2
xor ebx, ebx
mov byte [rax + 3], cl
mov r13d, ebx
test r14b, r14b
jne 0x140006270
mov rdx, qword [rbp + r13*8 - 0x30]
xor r9d, r9d
mov r8, rdi
mov qword [rsp + 0x20], rbx
xor ecx, ecx
call qword [rsp + 0x70]
test eax, eax
jne 0x140006263
mov qword [rsp + 0x30], rbx
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov rcx, rdi
call r15
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x14000625d
xor edx, edx
mov rcx, rax
call qword [rsp + 0x78]
mov edi, eax
cmp eax, 0xffffffff
jne 0x140006209
mov rcx, r14
call r12
mov rdi, qword [rsp + 0x58]
jmp 0x14000625d
mov rdx, rdi
xor ecx, ecx
mov r9d, 4
mov r8d, 0x3000
call qword [rbp - 0x80]
mov r15, rax
mov rcx, r14
test rax, rax
je 0x140006250
lea r9, [rbp + 8]
mov qword [rsp + 0x20], rbx
mov r8d, edi
mov rdx, rax
call qword [rbp - 0x78]
test eax, eax
jne 0x140006294
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [rsp + 0x68]
mov rcx, r14
call r12
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
movzx r14d, byte [rsp + 0x50]
inc r13
cmp r13, 4
jl 0x140006196
mov rcx, qword [rbp - 0x40]
call qword [rbp - 0x38]
mov r13, qword [rsp + 0x3d0]
test r14b, r14b
mov r14, qword [rsp + 0x3d8]
sete bl
mov eax, ebx
jmp 0x1400060bd
mov rcx, r14
call r12
mov ecx, ebx
cmp byte [rsi], cl
je 0x1400062a7
inc ecx
cmp byte [rcx + rsi], bl
jne 0x1400062a0
mov r10d, ebx
test edi, edi
je 0x1400062cc
mov r9, r15
xor edx, edx
lea r9, [r9 + 1]
mov eax, r10d
inc r10d
div ecx
movzx eax, byte [rdx + rsi]
xor byte [r9 - 1], al
cmp r10d, edi
jb 0x1400062b1
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov dword [rsp + 0x28], 0x80
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
call qword [rsp + 0x60]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x140006312
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [rsp + 0x68]
jmp 0x140006253
lea r9, [rbp + 0xc]
mov qword [rsp + 0x20], rbx
mov r8d, edi
mov rdx, r15
mov rcx, r14
call qword [rbp - 0x70]
mov rcx, r14
call r12
xor edx, edx
mov r8d, 0x8000
mov rcx, r15
call qword [rsp + 0x68]
xor edx, edx
lea rcx, [rbp + 0x80]
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
mov rdi, qword [rsp + 0x58]
lea rcx, [rbp + 0x80]
mov rdx, rdi
call qword [rbp - 0x68]
mov r14, qword [rbp - 0x60]
lea rdx, [0x140083824]
lea rcx, [rbp + 0x80]
call r14
mov rdx, qword [rbp - 0x58]
lea rcx, [rbp + 0x80]
call r14
xorps xmm0, xmm0
lea rdx, [rbp + 0x80]
xor eax, eax
xor r9d, r9d
mov qword [rbp + 0x70], rax
xor r8d, r8d
mov qword [rbp], rax
xor ecx, ecx
lea rax, [rbp - 0x10]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rbx
movups xmmword [rbp + 0x10], xmm0
mov dword [rsp + 0x28], 0x8000000
movups xmmword [rbp + 0x40], xmm0
mov dword [rsp + 0x20], ebx
movups xmmword [rbp + 0x50], xmm0
mov dword [rbp + 0x10], 0x68
movups xmmword [rbp + 0x20], xmm0
mov dword [rbp + 0x4c], 1
movups xmmword [rbp + 0x30], xmm0
mov word [rbp + 0x50], bx
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp - 0x10], xmm0
call qword [rbp - 0x50]
test eax, eax
je 0x140006258
mov rcx, qword [rbp - 0x10]
mov edx, 0x64
call qword [rbp - 0x48]
mov rcx, qword [rbp - 0x10]
call r12
mov rcx, qword [rbp - 8]
call r12
mov r15, qword [rsp + 0x60]
mov r14b, 1
mov byte [rsp + 0x50], r14b
jmp 0x140006263