Function at 0x140078810
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x68
mov rsi, rcx
mov rax, qword [0x140183d00]
xor rax, rsp
mov qword [rsp + 0x60], rax
mov qword [rcx], rdx
call fcn.140078ce0
test al, al
jne 0x140078cbf
cmp byte [0x140186a04], 0
jne 0x1400788a4
xor ecx, ecx
movabs r8, 0x4924924924924925
lea r9, [0x140107da0]
lea r10, [0x1401869e0]
nop
mov rax, rcx
shr rax, 2
mul r8
shr rdx, 1
imul rax, rdx, 0xffffffffffffffe4
lea rdx, [r9 + rcx]
movzx r11d, byte [rax + rdx + 0x12]
movzx eax, byte [rax + rdx + 0x13]
xor r11b, byte [rcx + r9 + 0x2e]
xor al, byte [rcx + r9 + 0x2f]
mov byte [rcx + r10], r11b
mov byte [rcx + r10 + 1], al
add rcx, 2
cmp rcx, 0x24
jne 0x140078860
mov byte [0x140186a04], 1
movdqa xmm0, xmmword [0x1401869e0]
paddb xmm0, xmmword [0x140107f90]
pxor xmm0, xmmword [str.defghijklmnopqrs]
movdqa xmmword [rsp + 0x20], xmm0
movq xmm0, qword [0x1401869f0]
paddb xmm0, xmmword [0x140107fb0]
pxor xmm0, xmmword [str.tuvwxyz]
movq qword [rsp + 0x30], xmm0
movq xmm0, qword [0x1401869f8]
movdqa xmm1, xmmword [0x140107fd0]
paddb xmm0, xmm1
pxor xmm0, xmmword [0x140107fe0]
movd dword [rsp + 0x38], xmm0
movzx eax, byte [0x1401869fc]
add al, 0x3c
mov byte [rsp + 0x3c], al
movd xmm0, dword [0x1401869fd]
paddb xmm0, xmm1
pxor xmm0, xmmword [0x140107ff0]
movd dword [rsp + 0x3d], xmm0
movzx eax, byte [0x140186a01]
add al, 0xbc
xor al, 0x85
mov byte [rsp + 0x41], al
movzx eax, byte [0x140186a02]
add al, 0xbc
xor al, 0x86
mov byte [rsp + 0x42], al
movzx eax, byte [0x140186a03]
add al, 0xbc
xor al, 0x87
mov byte [rsp + 0x43], al
mov qword [rsp + 0x44], 0
mov qword [rsp + 0x49], 0
lea rdi, [rsp + 0x20]
call fcn.140085530
mov rbx, qword [rax]
call fcn.140085540
mov rcx, qword [rax]
xor eax, eax
jmp 0x1400789cf
mov r9, rcx
lea ecx, [rax - 0x653379d0]
lea r8d, [rax + rdx]
add r8d, 0x9acc8630
and ecx, edx
add ecx, ecx
sub r8d, ecx
add r8b, 0xb0
mov byte [rsp + rax + 0x20], r8b
sub rax, rbx
inc rbx
movzx r8d, byte [rsp + rax + 0x1e]
add rax, 0xfffffffffffffffe
mov rcx, r9
movzx edx, r8b
add rax, rcx
add rax, rdx
inc rax
cmp rax, 0x31
jae 0x140078c87
cmp rbx, rax
ja 0x140078c75
movzx r8d, byte [rsp + rax + 0x20]
movzx edx, r8b
lea r9, [rcx + 1]
cmp rbx, r9
jae 0x140078a50
cmp rcx, rax
ja 0x140078c7f
lea r11, [rcx + 4]
cmp rbx, r11
jae 0x140078ac0
lea r10, [rbx + rcx]
cmp r10, rax
jbe 0x140078af6
lea r11, [rcx + 0x10]
cmp rbx, r11
jne 0x140078b2d
lea r9d, [rax + 0x45939c18]
lea r8d, [rax + rdx]
add r8d, 0x45939c18
and r9d, edx
add r9d, r9d
sub r8d, r9d
add r8b, 0x58
mov rbx, r10
jmp 0x140078be0
je 0x1400789b8
lea r10, [rcx + 3]
cmp rbx, r10
jne 0x140078b1e
lea r9d, [rax - 0x3b96c9ec]
lea r8d, [rax + rdx]
add r8d, 0xc4693614
and r9d, edx
add r9d, r9d
sub r8d, r9d
add r8b, 0x74
add rbx, rcx
lea r9d, [rax - 0x7ed599fc]
lea r10d, [rdx + rax]
add r10d, 0x812a6604
and r9d, edx
add r9d, r9d
sub r10d, r9d
add r10b, r8b
add r10b, 0xe4
mov byte [rsp + rax + 0x20], r10b
jmp 0x140078be0
cmp rbx, r9
je 0x140078afb
lea r10, [rcx + 6]
cmp rbx, r10
jne 0x140078b86
lea r9d, [rax + 0x19f761e4]
lea r8d, [rax + rdx]
add r8d, 0x19f761e4
and r9d, edx
add r9d, r9d
sub r8d, r9d
add r8b, 0xc4
jmp 0x140078be0
cmp rbx, r9
jne 0x140078b6f
lea ecx, [rax - 0x3a9704c4]
lea r8d, [rdx + rax]
add r8d, 0xc568fb3c
and ecx, edx
add ecx, ecx
sub r8d, ecx
add r8b, 0x5c
mov byte [rsp + rax + 0x20], r8b
jmp 0x140078b7b
lea r10, [rcx + 2]
cmp rbx, r10
jne 0x1400789eb
jmp 0x140078b78
lea r10, [rcx + 0x20]
cmp rbx, r10
jne 0x140078b98
lea r8d, [rax + 0x3cebd0cc]
lea r10d, [rdx + rax]
add r10d, 0x3cebd0cc
and r8d, edx
add r8d, r8d
sub r10d, r8d
add r10b, 0x6c
mov byte [rsp + rax + 0x20], r10b
movzx r8d, r10b
not rcx
add rcx, rax
sub rcx, r8
mov rax, rcx
jmp 0x140078984
lea r14, [rcx + 3]
cmp rbx, r14
jne 0x140078bb7
mov r9, rcx
dec rax
mov rcx, r9
jmp 0x1400789c2
lea r10, [rcx + 5]
cmp rbx, r10
jne 0x140078a01
jmp 0x140078981
lea r9, [rcx + 8]
cmp rbx, r9
je 0x140078981
lea rdx, [rcx + 3]
cmp rbx, rdx
je 0x1400789b8
jmp 0x14007896d
lea r14, [rcx + 5]
cmp rbx, r14
jne 0x140078bec
lea r9d, [rax - 0x3aec467c]
lea r8d, [rax + rdx]
add r8d, 0xc513b984
and r9d, edx
add r9d, r9d
sub r8d, r9d
add r8b, 0x64
nop
movzx edx, r8b
not rdx
jmp 0x1400789bf
cmp rbx, r11
je 0x140078b36
lea r11, [rcx + 6]
cmp rbx, r11
je 0x140078981
lea r11, [rcx + 8]
cmp rbx, r11
je 0x1400789b8
cmp rbx, 5
ja 0x140078c4b
lea r8, [rcx + 2]
cmp rbx, r8
je 0x140078b36
lea r8d, [rax + 0x5de0b564]
lea r9d, [rax + rdx]
add r9d, 0x5de0b564
and r8d, edx
add r8d, r8d
sub r9d, r8d
add r9b, 0x44
mov byte [rsp + rax + 0x20], r9b
jmp 0x1400789c2
lea r9d, [rax + 0x2349b0a0]
lea r11d, [rax + rdx]
add r11d, 0x2349b0a0
and r9d, edx
add r9d, r9d
sub r11d, r9d
add r8b, r11b
add r8b, 0xa0
mov rbx, r10
jmp 0x140078a85
lea rdi, [rsp + 0x11a94b4]
jmp 0x140078c87
lea rdi, [rsp + 0x179df50]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov rdx, rdi
call fcn.14005c480
mov rdi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rdi
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
mov rcx, rdi
mov edx, eax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::put_char____ptr64]
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::flush_void____ptr64]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400f0d70
mov rax, rsi
add rsp, 0x68
pop rbx
pop rdi
pop rsi
pop r14
ret