Function at 0x140050570
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 0x140050670
mov dword [rbp - 0x60], 0xc654c623
xor eax, eax
mov dword [rbp - 0x5c], 0xc65bc627
mov r8d, 0x3988
mov dword [rbp - 0x58], 0xc612c632
mov dword [rbp - 0x54], 0xc612c65e
mov dword [rbp - 0x50], 0xc6e5c6ef
mov dword [rbp - 0x4c], 0xc6efc6f7
mov dword [rbp - 0x48], 0xc6a5c6e1
mov dword [rbp - 0x44], 0xc6e3c6e7
mov dword [rbp - 0x40], 0xc6fbc6ec
mov dword [rbp - 0x3c], 0xc6f8c6ef
mov dword [rbp - 0x38], 0xc6adc6ff
mov dword [rbp - 0x34], 0xc6e0c6fa
mov dword [rbp - 0x30], 0xc6f7c6b0
mov dword [rbp - 0x2c], 0xc6fdc6fb
mov dword [rbp - 0x28], 0xc6b5c6f0
mov dword [rbp - 0x24], 0xc6f6c6e6
mov dword [rbp - 0x20], 0xc6edc6ec
mov dword [rbp - 0x1c], 0xc6e9c6ff
mov dword [rbp - 0x18], 0xc6f2
mov byte [rbp - 0x14], 1
nop
movzx edx, ax
sub dx, r8w
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x25
jb 0x140050630
mov byte [rbp - 0x14], 0
lea rdx, [rbp - 0x60]
mov rcx, qword [0x140070250]
call fcn.140054b30
lea rdx, [0x140054d10]
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 0x140050983
cmp rdi, 0x40000000
jbe 0x140050742
mov dword [rbp - 0x60], 0xc654c623
xor eax, eax
mov dword [rbp - 0x5c], 0xc65bc627
mov r8d, 0x3988
mov dword [rbp - 0x58], 0xc61cc63f
mov dword [rbp - 0x54], 0xc658c610
mov dword [rbp - 0x50], 0xc6a1c6f4
mov dword [rbp - 0x4c], 0xc6eac6e4
mov dword [rbp - 0x48], 0xc6e1c6ea
mov dword [rbp - 0x44], 0xc6f7c6a6
mov dword [rbp - 0x40], 0xc6fdc6e9
mov dword [rbp - 0x3c], 0xc6eec6fe
mov dword [rbp - 0x38], 0xc6e3c6fe
mov dword [rbp - 0x34], 0xc6afc6a2
mov dword [rbp - 0x30], 0xc6fec6c4
mov dword [rbp - 0x2c], 0xc6b3c6fd
mov dword [rbp - 0x28], 0xc6fcc6f6
mov dword [rbp - 0x24], 0xc6b7c6f1
mov dword [rbp - 0x20], 0xc6fcc6eb
mov dword [rbp - 0x1c], 0xc6efc6f9
mov dword [rbp - 0x18], 0xc6f2c6f5
mov dword [rbp - 0x14], 0xc6f0
mov byte [rbp - 0x10], 1
nop word [rax + rax]
movzx edx, ax
sub dx, r8w
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x27
jb 0x140050720
mov byte [rbp - 0x10], 0
lea rdx, [rbp - 0x60]
jmp 0x14005064d
mov rcx, rdi
mov qword [rsp + 0xa8], r15
call fcn.14006d8f4
mov r9, rdi
mov r8, r12
mov rdx, rax
mov rcx, rbx
mov r15, rax
call fcn.14004d3a0
test al, al
jne 0x140050850
xor eax, eax
mov dword [rbp - 0x60], 0xc654c623
mov word [rbp - 0x14], ax
mov r8d, 0x3988
mov dword [rbp - 0x5c], 0xc65bc627
mov dword [rbp - 0x58], 0xc618c62e
mov dword [rbp - 0x54], 0xc61bc61f
mov dword [rbp - 0x50], 0xc6e7c6a0
mov dword [rbp - 0x4c], 0xc6eac6e3
mov dword [rbp - 0x48], 0xc6e0c6e8
mov dword [rbp - 0x44], 0xc6a7c6e2
mov dword [rbp - 0x40], 0xc6e7c6e1
mov dword [rbp - 0x3c], 0xc6cdc6aa
mov dword [rbp - 0x38], 0xc6e3c6e5
mov dword [rbp - 0x34], 0xc6dfc6ea
mov dword [rbp - 0x30], 0xc6e5c6f1
mov dword [rbp - 0x2c], 0xc6f6c6e6
mov dword [rbp - 0x28], 0xc6fbc6e6
mov dword [rbp - 0x24], 0xc6e3c6d7
mov dword [rbp - 0x20], 0xc6fcc6d3
mov dword [rbp - 0x1c], 0xc6f5c6e8
mov dword [rbp - 0x18], 0xc6f1c6f9
mov byte [rbp - 0x12], 1
nop dword [rax]
nop word [rax + rax]
movzx edx, ax
sub dx, r8w
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x26
jb 0x140050810
mov rcx, qword [0x140070250]
lea rdx, [rbp - 0x60]
mov byte [rbp - 0x12], 0
call fcn.140054b30
lea rdx, [0x140054d10]
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 0x14005097b
mov r10, qword [rbp + 0x40]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [r10 + rax], 0
jne 0x140050860
sub rdi, rax
mov qword [rsp + 0xa0], rsi
mov eax, 0
mov ebx, eax
je 0x1400508d1
movzx r11d, byte [r10]
mov rsi, r15
sub rsi, r14
nop dword [rax + rax]
mov r8, r10
mov rdx, r14
test r11b, r11b
je 0x1400508c0
movzx ecx, r11b
lea r9, [rsi + rbx]
cmp cl, 0x78
jne 0x1400508b1
movzx ecx, byte [rdx]
cmp byte [r9 + rdx], cl
jne 0x1400508c9
movzx ecx, byte [r8 + 1]
inc r8
inc rdx
test cl, cl
jne 0x1400508a3
cmp byte [r8], al
je 0x14005099c
inc rbx
cmp rbx, rdi
jb 0x140050890
mov dword [rbp - 0x60], 0xc654c623
mov r8d, 0x3988
mov dword [rbp - 0x5c], 0xc65bc627
mov dword [rbp - 0x58], 0xc61cc63f
mov dword [rbp - 0x54], 0xc658c610
mov dword [rbp - 0x50], 0xc6a1c6f4
mov dword [rbp - 0x4c], 0xc6eac6e4
mov dword [rbp - 0x48], 0xc6e1c6ea
mov dword [rbp - 0x44], 0xc6f7c6a6
mov dword [rbp - 0x40], 0xc6fdc6e9
mov dword [rbp - 0x3c], 0xc6eec6fe
mov dword [rbp - 0x38], 0xc6e3c6fe
mov word [rbp - 0x34], ax
mov byte [rbp - 0x32], 1
nop dword [rax]
movzx edx, ax
sub dx, r8w
xor word [rbp + rax*2 - 0x60], dx
inc rax
cmp rax, 0x16
jb 0x140050930
mov rcx, qword [0x140070250]
lea rdx, [rbp - 0x60]
mov byte [rbp - 0x32], 0
call fcn.140054b30
lea rdx, [0x140054d10]
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.14006d350
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 0x1400508d1
mov rcx, r15
call fcn.14006d350
lea rax, [rbx + r12]
jmp 0x140050973