Function at 0x140077980
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x80
mov rcx, rdx
mov rax, qword [0x140183d00]
xor rax, rsp
mov qword [rsp + 0x78], rax
mov dl, 1
call fcn.1400c2df0
mov ebx, eax
test al, al
jne 0x140077deb
cmp byte [0x140186988], 0
jne 0x140077a14
xor ecx, ecx
movabs r8, 0x4924924924924925
lea r9, [0x140107c00]
lea r10, [0x140186950]
mov rax, rcx
shr rax, 2
mul r8
shr rdx, 1
imul rax, rdx, 0xffffffffffffffe4
lea rdx, [r9 + rcx]
movzx r11d, byte [rax + rdx + 0x14]
movzx eax, byte [rax + rdx + 0x15]
xor r11b, byte [rcx + r9 + 0x30]
xor al, byte [rcx + r9 + 0x31]
mov byte [rcx + r10], r11b
mov byte [rcx + r10 + 1], al
add rcx, 2
cmp rcx, 0x38
jne 0x1400779d0
mov byte [0x140186988], 1
movdqa xmm0, xmmword [0x140107c70]
movdqa xmm1, xmmword [0x140186950]
paddb xmm1, xmm0
pxor xmm1, xmmword [str._ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvw]
movdqa xmm2, xmmword [0x140186960]
paddb xmm2, xmm0
pxor xmm2, xmmword [0x140107c90]
movdqa xmmword [rsp + 0x20], xmm1
movdqa xmmword [rsp + 0x30], xmm2
paddb xmm0, xmmword [0x140186970]
pxor xmm0, xmmword [0x140107ca0]
movdqa xmmword [rsp + 0x40], xmm0
movq xmm0, qword [0x140186980]
paddb xmm0, xmmword [0x140100fe0]
pxor xmm0, xmmword [0x140107cb0]
movq qword [rsp + 0x50], xmm0
mov qword [rsp + 0x58], 0
mov byte [rsp + 0x60], 0
lea rsi, [rsp + 0x20]
call fcn.140085530
mov rdi, qword [rax]
call fcn.140085540
mov rcx, qword [rax]
xor eax, eax
jmp 0x140077ae5
mov r9, rcx
lea ecx, [rax + rdx]
and edx, eax
add edx, edx
sub ecx, edx
mov byte [rsp + rax + 0x20], cl
sub rax, rdi
inc rdi
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, 0x41
jae 0x140077db3
cmp rdi, rax
ja 0x140077da1
movzx r8d, byte [rsp + rax + 0x20]
movzx edx, r8b
lea r9, [rcx + 1]
cmp rdi, r9
jae 0x140077b60
cmp rcx, rax
ja 0x140077dab
lea r10, [rcx + 3]
cmp rdi, r10
jae 0x140077ba0
lea r11, [rdi + rcx]
cmp r11, rax
jbe 0x140077bda
cmp rdi, r9
je 0x140077cb0
lea r8, [rcx + 0x10]
cmp rdi, r8
je 0x140077c2b
lea r8, [rcx + 2]
cmp rdi, r8
jne 0x140077cdc
lea r8d, [rax + rdx]
mov r9d, eax
and r9d, edx
add r9d, r9d
sub r8d, r9d
jmp 0x140077c5b
je 0x140077ace
lea r10, [rcx + 2]
cmp rdi, r10
je 0x140077aab
lea r10, [rcx + 3]
cmp rdi, r10
jne 0x140077c33
lea r9d, [rax - 0x22ae2a40]
lea r8d, [rax + rdx]
add r8d, 0xdd51d5c0
jmp 0x140077bc8
cmp rdi, r9
je 0x140077cb0
lea r11, [rcx + 5]
cmp rdi, r11
jne 0x140077c91
lea r9d, [rax + 0x12a0cec0]
lea r8d, [rax + rdx]
add r8d, 0x12a0cec0
and r9d, edx
add r9d, r9d
sub r8d, r9d
add r8b, 0xc0
jmp 0x140077c82
cmp r11, 0x28
jne 0x140077c19
lea r8d, [rax - 0x22ccb240]
lea r10d, [rdx + rax]
add r10d, 0xdd334dc0
and r8d, edx
add r8d, r8d
sub r10d, r8d
add r10b, 0xc0
mov byte [rsp + rax + 0x20], r10b
movzx r8d, r10b
not rcx
add rcx, rax
sub rcx, r8
mov rax, rcx
jmp 0x140077aae
cmp rdi, r9
je 0x140077cb0
cmp rdi, r10
jne 0x140077cf2
mov r9, rcx
jmp 0x140077cd1
lea r10, [rcx + 5]
cmp rdi, r10
jne 0x140077ca3
lea r9d, [rax + 0x62a68840]
lea r8d, [rax + rdx]
add r8d, 0x62a68840
and r9d, edx
add r9d, r9d
sub r8d, r9d
add r8b, 0x40
lea r9d, [rax + 0x57de9b40]
lea r10d, [rdx + rax]
add r10d, 0x57de9b40
and r9d, edx
add r9d, r9d
sub r10d, r9d
add r10b, r8b
add r10b, 0x40
mov byte [rsp + rax + 0x20], r10b
add rdi, rcx
movzx edx, r8b
not rdx
jmp 0x140077ad5
lea r11, [rcx + 6]
cmp rdi, r11
je 0x140077aab
jmp 0x140077b17
lea r10, [rcx + 6]
cmp rdi, r10
jne 0x140077b01
lea ecx, [rax - 0x2d761740]
lea r8d, [rax + rdx]
add r8d, 0xd289e8c0
and ecx, edx
add ecx, ecx
sub r8d, ecx
add r8b, 0xc0
mov byte [rsp + rax + 0x20], r8b
dec rax
mov rcx, r9
jmp 0x140077ad8
lea r8, [rcx + 0x20]
cmp rdi, r8
jne 0x140077d12
lea r8d, [rax + rdx]
and edx, eax
add edx, edx
sub r8d, edx
jmp 0x140077c85
lea r9, [rcx + 2]
cmp rdi, r9
jne 0x140077d20
lea r9d, [rax + 0x7d3ec0c0]
lea r8d, [rax + rdx]
add r8d, 0x7d3ec0c0
jmp 0x140077bc8
cmp rdi, r10
je 0x140077be0
jmp 0x140077a97
lea r9, [rcx + 5]
cmp rdi, r9
jne 0x140077d4d
lea r9d, [rax + 0x2937340]
lea r8d, [rax + rdx]
add r8d, 0x2937340
and r9d, edx
add r9d, r9d
sub r8d, r9d
add r8b, 0x40
jmp 0x140077c85
lea r9, [rcx + 8]
cmp rdi, r9
je 0x140077ace
cmp rdi, 1
ja 0x140077d89
lea r8d, [rax + 0x42aa5940]
lea r9d, [rax + rdx]
add r9d, 0x42aa5940
and r8d, edx
add r8d, r8d
sub r9d, r8d
add r9b, 0x40
mov byte [rsp + rax + 0x20], r9b
jmp 0x140077ad8
lea r9d, [rax + rdx]
mov r10d, eax
and r10d, edx
add r10d, r10d
sub r9d, r10d
add r8b, r9b
jmp 0x140077c5b
lea rsi, [rsp + 0x9e5060]
jmp 0x140077db3
lea rsi, [rsp + 0x173f720]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
mov rdx, rsi
call fcn.14005c480
mov rsi, rax
mov rax, qword [rax]
movsxd rcx, dword [rax + 4]
add rcx, rsi
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, rsi
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, rsi
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 + 0x78]
xor rcx, rsp
call fcn.1400f0d70
mov eax, ebx
add rsp, 0x80
pop rbx
pop rdi
pop rsi
ret