Function at 0x140050500
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r14
mov rbp, rsp
sub rsp, 0x80
mov r14, r9
mov rdi, r8
mov r12, rdx
mov rbx, rcx
test rdx, rdx
jne 0x1400505fd
mov dword [rbp - 0x60], 0x17d217a5
xor eax, eax
mov dword [rbp - 0x5c], 0x1821185d
mov r8d, 0x17fe
mov dword [rbp - 0x58], 0x186c184c
mov dword [rbp - 0x54], 0x18681824
mov dword [rbp - 0x50], 0x18631869
mov dword [rbp - 0x4c], 0x1865187d
mov dword [rbp - 0x48], 0x182b186f
mov dword [rbp - 0x44], 0x1869186d
mov dword [rbp - 0x40], 0x187d186a
mov dword [rbp - 0x3c], 0x18621875
mov dword [rbp - 0x38], 0x18331861
mov dword [rbp - 0x34], 0x187a1860
mov dword [rbp - 0x30], 0x18711836
mov dword [rbp - 0x2c], 0x18771871
mov dword [rbp - 0x28], 0x183b187e
mov dword [rbp - 0x24], 0x187c186c
mov dword [rbp - 0x20], 0x186b186a
mov dword [rbp - 0x1c], 0x18531845
mov dword [rbp - 0x18], 0x184c
mov byte [rbp - 0x14], 1
nop
lea edx, [r8 + rax]
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x25
jb 0x1400505c0
mov byte [rbp - 0x14], 0
lea rdx, [rbp - 0x60]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140054ad0
lea rdx, [0x140054cb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
xor eax, eax
jmp 0x140050900
cmp rdi, 0x40000000
jbe 0x1400506cf
mov dword [rbp - 0x60], 0x17d217a5
xor eax, eax
mov dword [rbp - 0x5c], 0x1821185d
mov r8d, 0x17fe
mov dword [rbp - 0x58], 0x18621841
mov dword [rbp - 0x54], 0x1822186a
mov dword [rbp - 0x50], 0x18271872
mov dword [rbp - 0x4c], 0x1860186e
mov dword [rbp - 0x48], 0x186f1864
mov dword [rbp - 0x44], 0x187d182c
mov dword [rbp - 0x40], 0x187b186f
mov dword [rbp - 0x3c], 0x18741864
mov dword [rbp - 0x38], 0x187d1860
mov dword [rbp - 0x34], 0x18351838
mov dword [rbp - 0x30], 0x18781842
mov dword [rbp - 0x2c], 0x18391877
mov dword [rbp - 0x28], 0x18721878
mov dword [rbp - 0x24], 0x183d187b
mov dword [rbp - 0x20], 0x187a186d
mov dword [rbp - 0x1c], 0x18551843
mov dword [rbp - 0x18], 0x184c184b
mov dword [rbp - 0x14], 0x184a
mov byte [rbp - 0x10], 1
nop dword [rax]
nop word [rax + rax]
lea edx, [r8 + rax]
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x27
jb 0x1400506b0
mov byte [rbp - 0x10], 0
lea rdx, [rbp - 0x60]
jmp 0x1400505da
mov rcx, rdi
mov qword [rsp + 0xa8], r15
call fcn.14006cec4
mov r9, rdi
mov r8, r12
mov rdx, rax
mov rcx, rbx
mov r15, rax
call fcn.14004d360
test al, al
jne 0x1400507cd
xor eax, eax
mov dword [rbp - 0x60], 0x17d217a5
mov word [rbp - 0x14], ax
mov r8d, 0x17fe
mov dword [rbp - 0x5c], 0x1821185d
mov dword [rbp - 0x58], 0x18661850
mov dword [rbp - 0x54], 0x18611865
mov dword [rbp - 0x50], 0x18611826
mov dword [rbp - 0x4c], 0x18601869
mov dword [rbp - 0x48], 0x186e1866
mov dword [rbp - 0x44], 0x182d1868
mov dword [rbp - 0x40], 0x18611867
mov dword [rbp - 0x3c], 0x18571830
mov dword [rbp - 0x38], 0x187d187b
mov dword [rbp - 0x34], 0x18451870
mov dword [rbp - 0x30], 0x18631877
mov dword [rbp - 0x2c], 0x187c186c
mov dword [rbp - 0x28], 0x18751868
mov dword [rbp - 0x24], 0x1869185d
mov dword [rbp - 0x20], 0x187a1855
mov dword [rbp - 0x1c], 0x184f1852
mov dword [rbp - 0x18], 0x184f1847
mov byte [rbp - 0x12], 1
lea edx, [r8 + rax]
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x26
jb 0x140050790
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rbp - 0x60]
mov byte [rbp - 0x12], 0
call fcn.140054ad0
lea rdx, [0x140054cb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
xor eax, eax
jmp 0x1400508f8
mov r10, qword [rbp + 0x40]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [r10 + rax], 0
jne 0x1400507e0
sub rdi, rax
mov qword [rsp + 0xa0], rsi
mov eax, 0
mov ebx, eax
je 0x140050851
movzx r11d, byte [r10]
mov rsi, r15
sub rsi, r14
nop dword [rax + rax]
mov r8, r10
mov rdx, r14
test r11b, r11b
je 0x140050840
movzx ecx, r11b
lea r9, [rsi + rbx]
cmp cl, 0x78
jne 0x140050831
movzx ecx, byte [rdx]
cmp byte [r9 + rdx], cl
jne 0x140050849
movzx ecx, byte [r8 + 1]
inc r8
inc rdx
test cl, cl
jne 0x140050823
cmp byte [r8], al
je 0x140050919
inc rbx
cmp rbx, rdi
jb 0x140050810
mov dword [rbp - 0x60], 0x17d217a5
mov r8d, 0x17fe
mov dword [rbp - 0x5c], 0x1821185d
mov dword [rbp - 0x58], 0x18621841
mov dword [rbp - 0x54], 0x1822186a
mov dword [rbp - 0x50], 0x18271872
mov dword [rbp - 0x4c], 0x1860186e
mov dword [rbp - 0x48], 0x186f1864
mov dword [rbp - 0x44], 0x187d182c
mov dword [rbp - 0x40], 0x187b186f
mov dword [rbp - 0x3c], 0x18741864
mov dword [rbp - 0x38], 0x187d1860
mov word [rbp - 0x34], ax
mov byte [rbp - 0x32], 1
nop dword [rax]
lea edx, [r8 + rax]
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x16
jb 0x1400508b0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rbp - 0x60]
mov byte [rbp - 0x32], 0
call fcn.140054ad0
lea rdx, [0x140054cb0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64___cdecl_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64____cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______ptr64_____ptr64]
mov rcx, r15
call fcn.14006c920
xor eax, eax
mov rsi, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r12
pop rbp
ret
lea rcx, [rbx + r15]
test rcx, rcx
je 0x140050851
mov rcx, r15
call fcn.14006c920
lea rax, [rbx + r12]
jmp 0x1400508f0