Function at 0x140058b00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r15
mov rbp, rsp
sub rsp, 0x80
mov r15, r9
mov rbx, r8
mov r12, rdx
mov rdi, rcx
test rdx, rdx
jne 0x140058c00
mov dword [rbp - 0x60], 0xd729d758
xor eax, eax
mov dword [rbp - 0x5c], 0xd726d758
mov r8d, 0x28fd
mov dword [rbp - 0x58], 0xd767d749
mov dword [rbp - 0x54], 0xd767d729
mov dword [rbp - 0x50], 0xd768d764
mov dword [rbp - 0x4c], 0xd762d778
mov dword [rbp - 0x48], 0xd730d76a
mov dword [rbp - 0x44], 0xd776d770
mov dword [rbp - 0x40], 0xd766d777
mov dword [rbp - 0x3c], 0xd765d770
mov dword [rbp - 0x38], 0xd738d764
mov dword [rbp - 0x34], 0xd775d76d
mov dword [rbp - 0x30], 0xd77ad73b
mov dword [rbp - 0x2c], 0xd770d774
mov dword [rbp - 0x28], 0xd700d77b
mov dword [rbp - 0x24], 0xd743d751
mov dword [rbp - 0x20], 0xd750d757
mov dword [rbp - 0x1c], 0xd754d740
mov dword [rbp - 0x18], 0xd749
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 0x140058bc0
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.14005d060
lea rdx, [0x14005d240]
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 0x140058f13
cmp rbx, 0x40000000
jbe 0x140058cd2
mov dword [rbp - 0x60], 0xd729d758
xor eax, eax
mov dword [rbp - 0x5c], 0xd726d758
mov r8d, 0x28fd
mov dword [rbp - 0x58], 0xd769d744
mov dword [rbp - 0x54], 0xd72dd767
mov dword [rbp - 0x50], 0xd72cd77f
mov dword [rbp - 0x4c], 0xd767d76b
mov dword [rbp - 0x48], 0xd774d761
mov dword [rbp - 0x44], 0xd762d731
mov dword [rbp - 0x40], 0xd760d772
mov dword [rbp - 0x3c], 0xd773d761
mov dword [rbp - 0x38], 0xd776d765
mov dword [rbp - 0x34], 0xd73ad735
mov dword [rbp - 0x30], 0xd773d74f
mov dword [rbp - 0x2c], 0xd73ed772
mov dword [rbp - 0x28], 0xd749d77d
mov dword [rbp - 0x24], 0xd702d746
mov dword [rbp - 0x20], 0xd741d750
mov dword [rbp - 0x1c], 0xd752d746
mov dword [rbp - 0x18], 0xd747d74e
mov dword [rbp - 0x14], 0xd747
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 0x140058cb0
mov byte [rbp - 0x10], 0
lea rdx, [rbp - 0x60]
jmp 0x140058bdd
mov rcx, rbx
mov qword [rsp + 0xa8], r14
call fcn.140080634
mov r9, rbx
mov r8, r12
mov rdx, rax
mov rcx, rdi
mov r14, rax
call fcn.1400557a0
test al, al
jne 0x140058de0
xor eax, eax
mov dword [rbp - 0x60], 0xd729d758
mov word [rbp - 0x14], ax
mov r8d, 0x28fd
mov dword [rbp - 0x5c], 0xd726d758
mov dword [rbp - 0x58], 0xd76dd755
mov dword [rbp - 0x54], 0xd76ed768
mov dword [rbp - 0x50], 0xd76ad72b
mov dword [rbp - 0x4c], 0xd767d76c
mov dword [rbp - 0x48], 0xd775d763
mov dword [rbp - 0x44], 0xd732d775
mov dword [rbp - 0x40], 0xd77ad77a
mov dword [rbp - 0x3c], 0xd750d735
mov dword [rbp - 0x38], 0xd776d77e
mov dword [rbp - 0x34], 0xd74ad77d
mov dword [rbp - 0x30], 0xd768d77a
mov dword [rbp - 0x2c], 0xd77bd769
mov dword [rbp - 0x28], 0xd74ed76d
mov dword [rbp - 0x24], 0xd756d760
mov dword [rbp - 0x20], 0xd741d768
mov dword [rbp - 0x1c], 0xd748d757
mov dword [rbp - 0x18], 0xd744d742
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 0x140058da0
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.14005d060
lea rdx, [0x14005d240]
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 0x140058f0b
mov r11, qword [rbp + 0x40]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [r11 + rax], 0
jne 0x140058df0
sub rbx, rax
mov qword [rsp + 0xa0], rsi
mov eax, 0
mov r10d, eax
je 0x140058e61
movzx edi, byte [r11]
mov rsi, r14
sub rsi, r15
nop dword [rax]
mov r8, r11
mov rdx, r15
test dil, dil
je 0x140058e50
movzx ecx, dil
lea r9, [rsi + r10]
cmp cl, 0x78
jne 0x140058e41
movzx ecx, byte [rdx]
cmp byte [r9 + rdx], cl
jne 0x140058e59
movzx ecx, byte [r8 + 1]
inc r8
inc rdx
test cl, cl
jne 0x140058e33
cmp byte [r8], al
je 0x140058f2c
inc r10
cmp r10, rbx
jb 0x140058e20
mov dword [rbp - 0x60], 0xd729d758
mov r8d, 0x28fd
mov dword [rbp - 0x5c], 0xd726d758
mov dword [rbp - 0x58], 0xd769d744
mov dword [rbp - 0x54], 0xd72dd767
mov dword [rbp - 0x50], 0xd72cd77f
mov dword [rbp - 0x4c], 0xd767d76b
mov dword [rbp - 0x48], 0xd774d761
mov dword [rbp - 0x44], 0xd762d731
mov dword [rbp - 0x40], 0xd760d772
mov dword [rbp - 0x3c], 0xd773d761
mov dword [rbp - 0x38], 0xd776d765
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 0x140058ec0
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.14005d060
lea rdx, [0x14005d240]
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, r14
call fcn.140080070
xor eax, eax
mov rsi, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xa8]
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r12
pop rbp
ret
lea rbx, [r10 + r14]
test rbx, rbx
je 0x140058e61
mov rcx, r14
call fcn.140080070
sub rbx, r14
lea rax, [r12 + rbx]
jmp 0x140058f03