Function at 0x14005a0a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xc8
mov rax, qword [0x140093010]
xor rax, rsp
mov qword [rbp + 0x1f], rax
xor ebx, ebx
mov rax, rdx
and rax, 0xfffffffffffff000
mov r15, r8
add rax, 0x1000
mov r14, rdx
mov r9d, ebx
mov qword [rsp + 0x20], rax
lea r8, [rbx - 1]
mov edx, ebx
mov rsi, rcx
call fcn.14004d8c0
mov rdi, rax
test rax, rax
jne 0x14005a1bf
mov dword [rbp - 0x59], 0xc5e3c596
mov ecx, 0x3a33
mov dword [rbp - 0x55], 0xc5f0c592
mov dword [rbp - 0x51], 0xc5b3c592
mov dword [rbp - 0x4d], 0xc5f3c5bd
mov dword [rbp - 0x49], 0xc5f6c5a1
mov dword [rbp - 0x45], 0xc5b4c5b6
mov dword [rbp - 0x41], 0xc5b5c5b5
mov dword [rbp - 0x3d], 0xc5bdc5b8
mov dword [rbp - 0x39], 0xc5bbc5a9
mov dword [rbp - 0x35], 0xc590c5ff
mov dword [rbp - 0x31], 0xc585c580
mov dword [rbp - 0x2d], 0xc597c586
mov dword [rbp - 0x29], 0xc580c5c5
mov dword [rbp - 0x25], 0xc59ac588
mov dword [rbp - 0x21], 0xc587c5c9
mov dword [rbp - 0x1d], 0xc580c58f
mov word [rbp - 0x19], bx
mov byte [rbp - 0x17], 1
nop dword [rax]
movzx eax, bx
sub ax, cx
xor word [rbp + rbx*2 - 0x59], ax
inc rbx
cmp rbx, 0x20
jb 0x14005a180
mov byte [rbp - 0x17], 0
lea rdx, [rbp - 0x59]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140054ba0
lea rdx, [0x140054d80]
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 0x14005a675
lea r8, [rax + 0x28]
mov dword [rbp + 0x17], ebx
mov r9d, 4
lea rdx, [rbp + 0x17]
mov rcx, rsi
call fcn.14004d3a0
test al, al
jne 0x14005a291
mov dword [rbp - 0x59], 0xc5e3c596
mov ecx, 0x3a33
mov dword [rbp - 0x55], 0xc5f0c592
mov dword [rbp - 0x51], 0xc5b3c592
mov dword [rbp - 0x4d], 0xc5f3c5bd
mov dword [rbp - 0x49], 0xc5f6c5a1
mov dword [rbp - 0x45], 0xc5bdc5a5
mov dword [rbp - 0x41], 0xc5bec5b8
mov dword [rbp - 0x3d], 0xc5a8c5fb
mov dword [rbp - 0x39], 0xc5bbc5b5
mov dword [rbp - 0x35], 0xc5bfc5ff
mov dword [rbp - 0x31], 0xc5a6c5ac
mov dword [rbp - 0x2d], 0xc5c4c5af
mov dword [rbp - 0x29], 0xc5c6c5df
mov dword [rbp - 0x25], 0xc591c585
mov dword [rbp - 0x21], 0xc58fc59d
mov dword [rbp - 0x1d], 0xc583c5a8
mov dword [rbp - 0x19], 0xc580c598
mov dword [rbp - 0x15], 0xc59b
mov byte [rbp - 0x11], 1
nop word [rax + rax]
movzx eax, bx
sub ax, cx
xor word [rbp + rbx*2 - 0x59], ax
inc rbx
cmp rbx, 0x23
jb 0x14005a270
mov byte [rbp - 0x11], 0
lea rdx, [rbp - 0x59]
jmp 0x14005a19c
mov eax, dword [rbp + 0x17]
mov qword [rsp + 0x118], r12
mov qword [rsp + 0xc0], r13
cmp rax, r14
jae 0x14005a383
mov dword [rbp - 0x59], 0xc5fdc594
mov ecx, 0x3a31
mov dword [rbp - 0x55], 0xc5f2c58c
mov dword [rbp - 0x51], 0xc5bbc590
mov dword [rbp - 0x4d], 0xc5bac5a0
mov dword [rbp - 0x49], 0xc5b6c5b3
mov dword [rbp - 0x45], 0xc5aec5fe
mov dword [rbp - 0x41], 0xc5bdc5fb
mov dword [rbp - 0x3d], 0xc5b2c5b1
mov dword [rbp - 0x39], 0xc583c5b0
mov dword [rbp - 0x35], 0xc596c580
mov dword [rbp - 0x31], 0xc5c4c586
mov dword [rbp - 0x2d], 0xc588c580
mov dword [rbp - 0x29], 0xc59dc588
mov dword [rbp - 0x25], 0xc582c58e
mov dword [rbp - 0x21], 0xc581c5cb
mov dword [rbp - 0x1d], 0xc583c588
mov dword [rbp - 0x19], 0xc582c580
mov dword [rbp - 0x15], 0xc5dec588
mov dword [rbp - 0x11], 0xc597c5d3
mov dword [rbp - 0xd], 0xc593c599
mov dword [rbp - 9], 0xc596c596
mov dword [rbp - 5], 0xc594c590
mov dword [rbp - 1], 0xc5dcc59c
mov dword [rbp + 3], 0xc58ec588
mov word [rbp + 7], bx
mov byte [rbp + 9], 1
movzx eax, bx
sub ax, cx
xor word [rbp + rbx*2 - 0x59], ax
inc rbx
cmp rbx, 0x30
jb 0x14005a362
mov byte [rbp + 9], 0
lea rdx, [rbp - 0x59]
jmp 0x14005a45c
mov rdx, rdi
mov rcx, rsi
call fcn.14004daf0
mov r14, rax
test rax, rax
jne 0x14005a47d
mov dword [rbp - 0x59], 0xc5e3c596
mov ecx, 0x3a33
mov dword [rbp - 0x55], 0xc5f0c592
mov dword [rbp - 0x51], 0xc5b3c592
mov dword [rbp - 0x4d], 0xc5f3c5bd
mov dword [rbp - 0x49], 0xc5f6c5a1
mov dword [rbp - 0x45], 0xc5bdc5a4
mov dword [rbp - 0x41], 0xc5fac5ad
mov dword [rbp - 0x3d], 0xc5b8c5b6
mov dword [rbp - 0x39], 0xc5fec5b1
mov dword [rbp - 0x35], 0xc581c5af
mov dword [rbp - 0x31], 0xc587c586
mov dword [rbp - 0x2d], 0xc5c4c590
mov dword [rbp - 0x29], 0xc587c586
mov dword [rbp - 0x25], 0xc580c584
mov dword [rbp - 0x21], 0xc5c6c58c
mov dword [rbp - 0x1d], 0xc58fc5cb
mov dword [rbp - 0x19], 0xc58bc581
mov dword [rbp - 0x15], 0xc59ec58e
mov dword [rbp - 0x11], 0xc59cc598
mov dword [rbp - 0xd], 0xc5d4c594
mov dword [rbp - 9], 0xc586c580
mov dword [rbp - 5], 0xc5d9
mov byte [rbp - 1], 1
nop dword [rax]
movzx eax, bx
sub ax, cx
xor word [rbp + rbx*2 - 0x59], ax
inc rbx
cmp rbx, 0x2b
jb 0x14005a440
mov byte [rbp - 1], 0
lea rdx, [rbp - 0x59]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
call fcn.140054ba0
lea rdx, [0x140054d80]
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]
jmp 0x14005a5a6
mov rdx, rdi
mov rcx, rsi
call fcn.14004dd40
mov dword [rbp - 0x55], 0xc5f0c592
mov ecx, 0x3a33
test al, al
jne 0x14005a5c3
mov dword [rbp - 0x59], 0xc5e3c596
mov dword [rbp - 0x51], 0xc5b3c592
mov dword [rbp - 0x4d], 0xc5f3c5bd
mov dword [rbp - 0x49], 0xc5f6c5a1
mov dword [rbp - 0x45], 0xc5b0c5b4
mov dword [rbp - 0x41], 0xc5b4c5b8
mov dword [rbp - 0x3d], 0xc5b9c5bc
mov dword [rbp - 0x39], 0xc5aec5fd
mov dword [rbp - 0x35], 0xc58fc5ad
mov dword [rbp - 0x31], 0xc587c595
mov dword [rbp - 0x2d], 0xc590c580
mov dword [rbp - 0x29], 0xc589c58c
mov dword [rbp - 0x25], 0xc5c8c589
mov dword [rbp - 0x21], 0xc585c58f
mov dword [rbp - 0x1d], 0xc5ccc599
mov dword [rbp - 0x19], 0xc58ac580
mov dword [rbp - 0x15], 0xc5d0c583
mov dword [rbp - 0x11], 0xc593c581
mov dword [rbp - 0xd], 0xc591c594
mov dword [rbp - 9], 0xc5dac586
mov dword [rbp - 5], 0xc59bc5d7
mov dword [rbp - 1], 0xc59fc595
mov dword [rbp + 3], 0xc592c59a
mov dword [rbp + 7], 0xc590c594
mov dword [rbp + 0xb], 0xc620c598
mov dword [rbp + 0xf], 0xc672c674
mov word [rbp + 0x13], bx
mov byte [rbp + 0x15], 1
nop word [rax + rax]
movzx eax, bx
sub ax, cx
xor word [rbp + rbx*2 - 0x59], ax
inc rbx
cmp rbx, 0x36
jb 0x14005a560
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rbp - 0x59]
mov byte [rbp + 0x15], 0
call fcn.140054ba0
lea rdx, [0x140054d80]
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 r8, rdi
mov rdx, r14
mov rcx, rsi
call fcn.14004df70
mov rdx, rdi
mov rcx, rsi
call fcn.14004e170
mov rdx, rdi
mov rcx, rsi
call fcn.14004e370
xor eax, eax
jmp 0x14005a665
mov dword [rbp - 0x59], 0xc5e5c596
mov dword [rbp - 0x51], 0xc5bec590
mov dword [rbp - 0x4d], 0xc5bbc5bf
mov dword [rbp - 0x49], 0xc5b7c5b6
mov dword [rbp - 0x45], 0xc5bdc5a3
mov dword [rbp - 0x41], 0xc5fac5bd
mov dword [rbp - 0x3d], 0xc5bdc5ab
mov dword [rbp - 0x39], 0xc5bbc5ba
mov dword [rbp - 0x35], 0xc5c0c5ac
mov dword [rbp - 0x31], 0xc58dc587
mov dword [rbp - 0x2d], 0xc5c4c591
mov dword [rbp - 0x29], 0xc582c588
mov dword [rbp - 0x25], 0xc58b
mov byte [rbp - 0x21], 1
movzx eax, bx
sub ax, cx
xor word [rbp + rbx*2 - 0x59], ax
inc rbx
cmp rbx, 0x1b
jb 0x14005a622
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
lea rdx, [rbp - 0x59]
mov byte [rbp - 0x21], 0
call fcn.140054ba0
lea rdx, [0x140054d80]
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]
test r15, r15
je 0x14005a662
mov qword [r15], rdi
mov rax, r14
mov r12, qword [rsp + 0x118]
mov r13, qword [rsp + 0xc0]
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.14006cad0
add rsp, 0xc8
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret