Function at 0x180081090
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x1800c3040]
xor rax, rsp
mov qword [rbp + 0xd0], rax
mov rsi, rdx
mov qword [rsp + 0x70], rdx
mov rdi, rcx
mov qword [rsp + 0x68], rcx
xor r12d, r12d
mov dword [rsp + 0x60], r12d
cmp byte [0x1800c4a0a], r12b
jne 0x1800816b1
mov r14, qword [rcx]
add r14, 0xd0
mov r13, qword [0x1800c53a8]
mov rbx, qword [r13 + 8]
mov r15, r13
cmp byte [rbx + 0x19], r12b
jne 0x18008117b
mov rsi, qword [r14 + 0x10]
mov r12, qword [r14 + 0x18]
nop dword [rax + rax]
lea rcx, [rbx + 0x20]
mov rdx, r14
cmp r12, 0xf
jbe 0x180081120
mov rdx, qword [r14]
mov rdi, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 0xf
jbe 0x18008112e
mov rcx, qword [rcx]
mov r8, rdi
cmp rsi, rdi
cmovb r8, rsi
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180081155
cmp rdi, rsi
jae 0x18008114d
mov eax, 0xffffffff
jmp 0x180081155
xor eax, eax
cmp rdi, rsi
seta al
shr eax, 0x1f
test al, al
je 0x180081162
mov rbx, qword [rbx + 0x10]
jmp 0x180081168
mov r15, rbx
mov rbx, qword [rbx]
cmp byte [rbx + 0x19], 0
je 0x180081110
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
xor r12d, r12d
cmp byte [r15 + 0x19], 0
jne 0x180081691
lea r8, [r15 + 0x20]
mov rdx, r14
call fcn.180010420
test al, al
jne 0x180081691
cmp r15, r13
je 0x180081691
mov r8, r14
lea rdx, [rsp + 0x30]
call fcn.180082410
mov rcx, qword [rax]
cmp dword [rcx + 0x40], 5
jl 0x180081691
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov r8, qword [rsi + 8]
mov rdx, qword [rsi]
movups xmmword [rsp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x50], xmm1
cmp rdx, r8
jne 0x180081203
movdqa xmm0, xmmword [0x1800afb90]
movdqu xmmword [rsp + 0x50], xmm0
mov byte [rsp + 0x40], 0
jmp 0x180081211
sub r8, rdx
lea rcx, [rsp + 0x40]
call fcn.18000fe70
nop
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 0xf
cmova rdx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x50]
lea rcx, [rbp - 0x48]
call fcn.180014ee0
nop
lea rcx, [rsp + 0x40]
call fcn.18000fac0
mov r8, qword [rdi]
add r8, 0xd0
lea rdx, [rsp + 0x30]
lea rcx, [0x180a4f368]
call fcn.1800825a0
mov rbx, qword [rax]
mov rax, qword [rbx + 0x48]
cmp rax, qword [rbx + 0x50]
je 0x180081276
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.18000f980
add qword [rbx + 0x48], 0x20
jmp 0x180081286
lea r8, [rbp - 0x48]
mov rdx, rax
lea rcx, [rbx + 0x40]
call fcn.180036aa0
xor edx, edx
mov r8d, 0xf0
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memset
lea rax, [0x1800ad4f8]
mov qword [rbp - 0x20], rax
lea rcx, [rbp + 0x70]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
mov dword [rsp + 0x60], 1
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x20]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64__bool____ptr64]
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea r13, vtable.std::basic_istringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx - 0x20], r13
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx - 0x24], edx
lea rax, [rbp - 0x10]
mov qword [rsp + 0x30], rax
lea rcx, [rbp - 0x10]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp - 0x10], rax
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0xf
cmova rdx, qword [rbp - 0x48]
mov r9d, 2
mov r8, qword [rbp - 0x38]
lea rcx, [rbp - 0x10]
call fcn.180081f00
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], r12
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x20]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x20]
call fcn.18002d100
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
je 0x180081641
nop dword [rax + rax]
lea r15, [rbp - 0x68]
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
seta al
mov r8, qword [rbp - 0x68]
cmova r15, r8
mov r14, qword [rbp - 0x58]
add r15, r14
lea rcx, [rbp - 0x68]
test al, al
je 0x1800813bf
mov rbx, r8
lea rsi, [r8 + r14]
jmp 0x1800813c7
lea rsi, [rcx + r14]
lea rbx, [rbp - 0x68]
cmp rbx, rsi
je 0x18008142e
nop dword [rax]
movsx ecx, byte [rbx]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x1800813e5
inc rbx
cmp rbx, rsi
jne 0x1800813d0
mov rdx, qword [rbp - 0x50]
mov r14, qword [rbp - 0x58]
mov r8, qword [rbp - 0x68]
cmp rbx, rsi
je 0x18008142e
lea rdi, [rbx + 1]
cmp rdi, rsi
je 0x180081429
nop
movsx ecx, byte [rdi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
test eax, eax
jne 0x180081415
movzx eax, byte [rdi]
mov byte [rbx], al
inc rbx
inc rdi
cmp rdi, rsi
jne 0x180081400
mov rdx, qword [rbp - 0x50]
mov r14, qword [rbp - 0x58]
mov r8, qword [rbp - 0x68]
mov rdi, qword [rsp + 0x68]
lea rax, [rbp - 0x68]
cmp rdx, 0xf
seta cl
cmova rax, r8
mov rdx, rbx
sub rdx, rax
sub r15, rbx
mov rax, r14
sub rax, rdx
cmp rax, r15
cmovb r15, rax
lea rax, [rbp - 0x68]
test cl, cl
cmovne rax, r8
lea rcx, [rax + rdx]
sub r14, r15
mov r8, r14
sub r8, rdx
inc r8
lea rdx, [rcx + r15]
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp - 0x58], r14
movdqa xmm0, xmmword [0x1800b1230]
movdqu xmmword [rsp + 0x40], xmm0
mov dword [rsp + 0x50], 0x100e8f5
mov rcx, r12
nop dword [rax]
nop word [rax + rax]
lea eax, [rcx - 0x75]
xor byte [rsp + rcx + 0x40], al
inc rcx
cmp rcx, 0x12
jb 0x1800814a0
mov byte [rsp + 0x53], 0
lea rcx, [rsp + 0x40]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1800814c1
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0xf
cmova rcx, qword [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov rdx, r14
call fcn.180018180
cmp rax, 0xffffffffffffffff
je 0x18008153a
mov r8, qword [rdi]
add r8, 0xd0
lea rdx, [rbp - 0x78]
lea rcx, [0x180a4f378]
call fcn.1800825a0
mov rbx, qword [rax]
mov rax, qword [rbx + 0x48]
cmp rax, qword [rbx + 0x50]
je 0x18008152a
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.18000f980
add qword [rbx + 0x48], 0x20
jmp 0x18008153a
lea r8, [rbp - 0x68]
mov rdx, rax
lea rcx, [rbx + 0x40]
call fcn.180036aa0
mov dword [rsp + 0x30], 0xe9e4fedf
mov dword [rsp + 0x34], 0xd7e3f5e8
mov dword [rsp + 0x38], 0xe2fbf1e5
mov word [rsp + 0x3c], 0x100
mov rcx, r12
nop dword [rax]
lea eax, [rcx - 0x75]
xor byte [rsp + rcx + 0x30], al
inc rcx
cmp rcx, 0xc
jb 0x180081560
mov byte [rsp + 0x3d], 0
lea rcx, [rsp + 0x30]
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x180081581
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 0xf
cmova rcx, qword [rbp - 0x68]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
mov rdx, qword [rbp - 0x58]
call fcn.180018180
cmp rax, 0xffffffffffffffff
je 0x1800815fc
mov r8, qword [rdi]
add r8, 0xd0
lea rdx, [rsp + 0x78]
lea rcx, [0x180a4f378]
call fcn.1800825a0
mov rbx, qword [rax]
mov rax, qword [rbx + 0x48]
cmp rax, qword [rbx + 0x50]
je 0x1800815ec
lea rdx, [rbp - 0x68]
mov rcx, rax
call fcn.18000f980
add qword [rbx + 0x48], 0x20
jmp 0x1800815fc
lea r8, [rbp - 0x68]
mov rdx, rax
lea rcx, [rbx + 0x40]
call fcn.180036aa0
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, [rbp - 0x20]
add rcx, rax
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
movzx r8d, al
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x20]
call fcn.18002d100
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::operator_bool_void_const___ptr64]
test al, al
jne 0x180081390
mov rsi, qword [rsp + 0x70]
lea rcx, [rbp - 0x68]
call fcn.18000fac0
nop
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx - 0x20], r13
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x90]
mov dword [rbp + rcx - 0x24], edx
lea rcx, [rbp - 0x10]
call fcn.180081d60
lea rcx, [rbp - 8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_istream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x70]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
lea rcx, [rbp - 0x48]
call fcn.18000fac0
mov r8, qword [rdi]
add r8, 0xd0
lea rdx, [rsp + 0x78]
call fcn.180082410
mov rcx, qword [rax]
inc dword [rcx + 0x40]
lea rdx, [rsi + 8]
jmp 0x1800816c0
add rdx, 8
mov rax, qword [rsi]
cmp rax, qword [rdx]
je 0x1800816c0
mov qword [rdx], rax
mov eax, dword [0x1800c4c18]
add eax, 5
mov ecx, dword [0x1800c4c00]
cmp ecx, eax
jne 0x180081726
cmp byte [0x1800c4a0b], 0
je 0x180081726
mov rcx, qword [rsi]
cmp rcx, qword [rdx]
je 0x1800816e7
mov qword [rdx], rcx
lea r8, [0x1800c3190]
mov r9, qword [0x1800c31a0]
cmp qword [0x1800c31a8], 0xf
jbe 0x180081706
mov r8, qword [0x1800c3190]
add r9, r8
sub r9, r8
mov rdx, rcx
mov rcx, rsi
call fcn.180082780
mov byte [0x1800c4a0b], 0
inc dword [0x1800c4c00]
jmp 0x18008172e
inc ecx
mov dword [0x1800c4c00], ecx
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.18009ab20
mov rbx, qword [rsp + 0x230]
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret