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], 0xc241c230
xor eax, eax
mov dword [rbp - 0x5c], 0xc24ec230
mov r8d, 0x3d95
mov dword [rbp - 0x58], 0xc21fc221
mov dword [rbp - 0x54], 0xc21fc251
mov dword [rbp - 0x50], 0xc210c21c
mov dword [rbp - 0x4c], 0xc21ac200
mov dword [rbp - 0x48], 0xc258c212
mov dword [rbp - 0x44], 0xc21ec218
mov dword [rbp - 0x40], 0xc20ec21f
mov dword [rbp - 0x3c], 0xc20dc218
mov dword [rbp - 0x38], 0xc2a0c20c
mov dword [rbp - 0x34], 0xc2edc2f5
mov dword [rbp - 0x30], 0xc2e2c2a3
mov dword [rbp - 0x2c], 0xc2e8c2ec
mov dword [rbp - 0x28], 0xc2a8c2e3
mov dword [rbp - 0x24], 0xc2ebc2f9
mov dword [rbp - 0x20], 0xc2f8c2ff
mov dword [rbp - 0x1c], 0xc2fcc2e8
mov dword [rbp - 0x18], 0xc2e1
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], 0xc241c230
xor eax, eax
mov dword [rbp - 0x5c], 0xc24ec230
mov r8d, 0x3d95
mov dword [rbp - 0x58], 0xc211c22c
mov dword [rbp - 0x54], 0xc255c21f
mov dword [rbp - 0x50], 0xc254c207
mov dword [rbp - 0x4c], 0xc21fc213
mov dword [rbp - 0x48], 0xc21cc219
mov dword [rbp - 0x44], 0xc20ac259
mov dword [rbp - 0x40], 0xc208c21a
mov dword [rbp - 0x3c], 0xc21bc209
mov dword [rbp - 0x38], 0xc2eec20d
mov dword [rbp - 0x34], 0xc2a2c2ad
mov dword [rbp - 0x30], 0xc2ebc2d7
mov dword [rbp - 0x2c], 0xc2a6c2ea
mov dword [rbp - 0x28], 0xc2e1c2e5
mov dword [rbp - 0x24], 0xc2aac2ee
mov dword [rbp - 0x20], 0xc2e9c2f8
mov dword [rbp - 0x1c], 0xc2fac2ee
mov dword [rbp - 0x18], 0xc2ffc2e6
mov dword [rbp - 0x14], 0xc2ff
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.14006cfa4
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], 0xc241c230
mov word [rbp - 0x14], ax
mov r8d, 0x3d95
mov dword [rbp - 0x5c], 0xc24ec230
mov dword [rbp - 0x58], 0xc215c23d
mov dword [rbp - 0x54], 0xc216c210
mov dword [rbp - 0x50], 0xc212c253
mov dword [rbp - 0x4c], 0xc21fc214
mov dword [rbp - 0x48], 0xc21dc21b
mov dword [rbp - 0x44], 0xc25ac21d
mov dword [rbp - 0x40], 0xc212c212
mov dword [rbp - 0x3c], 0xc238c25d
mov dword [rbp - 0x38], 0xc2eec216
mov dword [rbp - 0x34], 0xc2d2c2e5
mov dword [rbp - 0x30], 0xc2f0c2e2
mov dword [rbp - 0x2c], 0xc2e3c2f1
mov dword [rbp - 0x28], 0xc2e6c2f5
mov dword [rbp - 0x24], 0xc2fec2c8
mov dword [rbp - 0x20], 0xc2e9c2c0
mov dword [rbp - 0x1c], 0xc2e0c2ff
mov dword [rbp - 0x18], 0xc2fcc2ea
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], 0xc241c230
mov r8d, 0x3d95
mov dword [rbp - 0x5c], 0xc24ec230
mov dword [rbp - 0x58], 0xc211c22c
mov dword [rbp - 0x54], 0xc255c21f
mov dword [rbp - 0x50], 0xc254c207
mov dword [rbp - 0x4c], 0xc21fc213
mov dword [rbp - 0x48], 0xc21cc219
mov dword [rbp - 0x44], 0xc20ac259
mov dword [rbp - 0x40], 0xc208c21a
mov dword [rbp - 0x3c], 0xc21bc209
mov dword [rbp - 0x38], 0xc2eec20d
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.14006ca00
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.14006ca00
lea rax, [rbx + r12]
jmp 0x140050973