Function at 0x180018a00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x47]
sub rsp, 0xf0
mov rax, qword [0x180037020]
xor rax, rsp
mov qword [rbp + 0x37], rax
mov rbx, rdx
mov rdi, rcx
mov qword [rbp + 0x1f], rcx
mov qword [rbp + 0x27], rdx
mov qword [0x180037ed8], rdx
lea rcx, [0x1800187e0]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.1800157f0
mov rcx, rax
call fcn.18000e4f0
mov rcx, rax
mov qword [0x180037ed0], rax
cmp rax, 0xffffffffffffffff
jne 0x180018a83
mov rcx, rdi
call fcn.180015790
nop
mov rcx, rbx
call fcn.180015790
mov eax, 0xffffffff
jmp 0x180018e79
mov rdx, qword [rdi]
cmp qword [rdi + 8], rdx
jne 0x180018b9a
mov dword [rbp - 0x59], 0xf37bf30e
mov dword [rbp - 0x55], 0xf378f30a
mov dword [rbp - 0x51], 0xf33bf31f
mov dword [rbp - 0x4d], 0xf330f332
mov dword [rbp - 0x49], 0xf33af338
mov dword [rbp - 0x45], 0xf314f37f
mov dword [rbp - 0x41], 0xf342f30e
mov dword [rbp - 0x3d], 0xf301f311
mov dword [rbp - 0x39], 0xf302f304
mov dword [rbp - 0x35], 0xf301f347
mov dword [rbp - 0x31], 0xf30bf304
mov dword [rbp - 0x2d], 0xf309f30c
mov dword [rbp - 0x29], 0xf31af34d
mov dword [rbp - 0x25], 0xf350f300
mov dword [rbp - 0x21], 0xf317f31c
mov dword [rbp - 0x1d], 0xf31bf31e
mov dword [rbp - 0x19], 0xf30ff307
xor eax, eax
mov word [rbp - 0x15], ax
xor esi, esi
mov r8d, esi
mov r9d, 0xcab
nop dword [rax + rax]
movsxd rax, r8d
lea rdx, [rbp - 0x59]
lea rdx, [rdx + rax*2]
movzx eax, r8w
sub ax, r9w
xor word [rdx], ax
inc r8d
cmp r8d, 0x22
jb 0x180018b20
mov word [rbp - 0x15], si
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.180015960
lea rdx, [0x180015b40]
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 rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.1800157f0
mov rdx, rax
mov rcx, qword [0x180037ed0]
call fcn.18000f490
nop
mov rcx, rdi
call fcn.180015790
nop
mov rcx, rbx
call fcn.180015790
mov eax, 0xfffffffe
jmp 0x180018e79
xor esi, esi
mov dword [rbp + 0x2f], esi
lea rax, [rbp + 0x2f]
mov qword [rsp + 0x48], rax
lea rax, [fcn.1800189a0]
mov qword [rsp + 0x40], rax
mov byte [rsp + 0x38], sil
mov byte [rsp + 0x30], sil
mov byte [rsp + 0x28], 1
mov byte [rsp + 0x20], sil
xor r9d, r9d
xor r8d, r8d
call fcn.180017170
test rax, rax
jne 0x180018caa
mov dword [rbp - 0x59], 0xf37bf30e
mov dword [rbp - 0x55], 0xf378f30a
mov dword [rbp - 0x51], 0xf33bf31f
mov dword [rbp - 0x4d], 0xf330f332
mov dword [rbp - 0x49], 0xf33af338
mov dword [rbp - 0x45], 0xf314f37f
mov dword [rbp - 0x41], 0xf342f30e
mov dword [rbp - 0x3d], 0xf305f30e
mov dword [rbp - 0x39], 0xf346f315
mov word [rbp - 0x35], ax
mov r8d, esi
mov r9d, 0xcab
nop dword [rax + rax]
movsxd rax, r8d
lea rdx, [rbp - 0x59]
lea rdx, [rdx + rax*2]
movzx eax, r8w
sub ax, r9w
xor word [rdx], ax
inc r8d
cmp r8d, 0x12
jb 0x180018c30
mov word [rbp - 0x35], si
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.180015960
lea rdx, [0x180015b40]
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 rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.1800157f0
mov rdx, rax
mov rcx, qword [0x180037ed0]
call fcn.18000f490
nop
mov rcx, rdi
call fcn.180015790
nop
mov rcx, rbx
call fcn.180015790
mov eax, 0xfffffffd
jmp 0x180018e79
mov rdx, rbx
lea rcx, [rbp - 0x59]
call fcn.1800157f0
mov rdx, rax
mov rcx, qword [0x180037ed0]
call fcn.18000f490
mov dword [rbp - 0x55], 0xf378f30a
mov r9d, 0xcab
test al, al
jne 0x180018dfc
mov dword [rbp - 0x59], 0xf37bf30e
mov dword [rbp - 0x51], 0xf33bf30e
mov dword [rbp - 0x4d], 0xf332f329
mov dword [rbp - 0x49], 0xf330f334
mov dword [rbp - 0x45], 0xf340f338
mov dword [rbp - 0x41], 0xf303f307
mov dword [rbp - 0x3d], 0xf308f30a
mov dword [rbp - 0x39], 0xf302f300
mov dword [rbp - 0x35], 0xf31cf347
mov dword [rbp - 0x31], 0xf34af306
mov dword [rbp - 0x2d], 0xf319f30d
mov dword [rbp - 0x29], 0xf302f301
mov dword [rbp - 0x25], 0xf350f316
mov dword [rbp - 0x21], 0xf31cf304
mov dword [rbp - 0x1d], 0xf31bf31f
mov dword [rbp - 0x19], 0xf312f314
mov dword [rbp - 0x15], 0xf30ef357
mov dword [rbp - 0x11], 0xf316f30c
mov dword [rbp - 0xd], 0xf319f315
mov dword [rbp - 9], 0xf31ff30f
mov dword [rbp - 5], 0xf3ecf31d
mov dword [rbp - 1], 0xf3a2f3e4
mov dword [rbp + 3], 0xf3f6f3e7
mov dword [rbp + 7], 0xf3f0f3ec
mov dword [rbp + 0xb], 0xf3faf3e2
mov dword [rbp + 0xf], 0xf3a9
mov r8d, esi
nop dword [rax]
nop word [rax + rax]
movsxd rax, r8d
lea rdx, [rbp - 0x59]
lea rdx, [rdx + rax*2]
movzx eax, r8w
sub ax, r9w
xor word [rdx], ax
inc r8d
cmp r8d, 0x35
jb 0x180018da0
mov word [rbp + 0x11], si
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.180015960
lea rdx, [0x180015b40]
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]
nop
mov rcx, rdi
call fcn.180015790
nop
mov rcx, rbx
call fcn.180015790
mov eax, 0xfffffffc
jmp 0x180018e79
mov dword [rbp - 0x59], 0xf37df30e
mov dword [rbp - 0x51], 0xf32ff32a
mov dword [rbp - 0x4d], 0xf33ff338
mov dword [rbp - 0x49], 0xf32df338
mov dword [rbp - 0x45], 0xf32c
mov eax, esi
movsxd rdx, eax
lea r8, [rbp - 0x59]
lea r8, [r8 + rdx*2]
movzx edx, ax
sub dx, r9w
xor word [r8], dx
inc eax
cmp eax, 0xb
jb 0x180018e21
mov word [rbp - 0x43], si
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.180015960
lea rdx, [0x180015b40]
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]
nop
mov rcx, rdi
call fcn.180015790
nop
mov rcx, rbx
call fcn.180015790
mov eax, 1
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.180029c20
mov rbx, qword [rsp + 0x120]
add rsp, 0xf0
pop rdi
pop rsi
pop rbp
ret