Function at 0x18001a650
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
movaps xmmword [rsp + 0x30], xmm6
mov ebp, edx
mov rsi, rcx
mov edi, 1
cmp edx, 0x3a
je 0x18001a684
xor edi, edi
cmp ebp, 0x3d
je 0x18001a684
xor eax, eax
cmp ebp, 0x2e
mov edi, 0xe
cmove edi, eax
mov rbx, qword [rsi]
xor r14d, r14d
movabs r15, 0x4800800000000001
jmp 0x18001a6b1
mov rax, rcx
nop dword [rax]
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.180017550
inc r14
mov eax, dword [rsi + 0x7c]
lea ecx, [rax + 1]
cmp ecx, 0x3e
ja 0x18001a6c2
bt r15, rcx
jb 0x18001a709
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
cmp rax, rdx
je 0x18001a6a6
cmp byte [rax], 0x5c
jne 0x18001a6a0
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x18001a6a0
mov edx, dword [rsi + 0x80]
test dl, 8
jne 0x18001a6f5
movzx r8d, byte [rcx]
and r8b, 0xfe
cmp r8b, 0x28
je 0x18001a696
test dl, 0x10
jne 0x18001a6a0
movzx edx, byte [rcx]
cmp edx, 0x7d
je 0x18001a696
cmp edx, 0x7b
je 0x18001a696
jmp 0x18001a6a0
cmp eax, ebp
jne 0x18001a8c2
cmp ebp, 0x3a
jne 0x18001a7b0
mov r8, qword [rsi]
mov rcx, qword [rsi + 0x68]
mov r9d, dword [rsi + 0x70]
shr r9d, 8
and r9d, 1
mov rdx, rbx
call fcn.1800198a0
test ax, ax
je 0x18001a8c9
mov ebx, eax
mov r15, qword [rsi + 0x48]
xor r14d, r14d
xorps xmm6, xmm6
jmp 0x18001a768
mov edx, r14d
call fcn.180019b10
inc r14
cmp r14, 0x100
je 0x18001a7ff
mov rax, qword [rsi + 0x58]
mov ecx, ebx
cmp bx, 0xffff
jne 0x18001a77e
mov cx, 0x107
cmp r14, 0x5f
je 0x18001a78d
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
test word [rax + r14*2], cx
je 0x18001a758
mov rcx, qword [r15 + 0x28]
test rcx, rcx
jne 0x18001a750
mov ecx, 0x20
call fcn.18003c980
mov rcx, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x10], xmm6
mov qword [r15 + 0x28], rax
jmp 0x18001a750
cmp ebp, 0x2e
je 0x18001a7d7
cmp ebp, 0x3d
jne 0x18001a7ff
mov r8, qword [rsi]
cmp rbx, r8
je 0x18001a8d3
lea rcx, [rsi + 0x40]
mov rdx, rbx
mov r9, r14
call fcn.18001a8e0
jmp 0x18001a7ff
mov r8, qword [rsi]
cmp rbx, r8
je 0x18001a8d3
lea rcx, [rsi + 0x40]
mov rax, qword [rsi + 0x48]
add rax, 0x20
mov qword [rsp + 0x20], rax
mov rdx, rbx
mov r9, r14
call fcn.18001ad70
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
cmp rax, rdx
je 0x18001a84d
cmp byte [rax], 0x5c
jne 0x18001a847
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x18001a847
mov edx, dword [rsi + 0x80]
test dl, 8
jne 0x18001a832
movzx r8d, byte [rcx]
and r8b, 0xfe
cmp r8b, 0x28
je 0x18001a844
test dl, 0x10
jne 0x18001a847
movzx edx, byte [rcx]
cmp edx, 0x7d
je 0x18001a844
cmp edx, 0x7b
jne 0x18001a847
mov rax, rcx
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.180017550
cmp dword [rsi + 0x7c], 0x5d
jne 0x18001a8c2
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
cmp rax, rdx
je 0x18001a8a9
cmp byte [rax], 0x5c
jne 0x18001a8a3
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x18001a8a3
mov edx, dword [rsi + 0x80]
test dl, 8
jne 0x18001a88e
movzx r8d, byte [rcx]
and r8b, 0xfe
cmp r8b, 0x28
je 0x18001a8a0
test dl, 0x10
jne 0x18001a8a3
movzx edx, byte [rcx]
cmp edx, 0x7d
je 0x18001a8a0
cmp edx, 0x7b
jne 0x18001a8a3
mov rax, rcx
inc rax
mov qword [rsi], rax
mov rcx, rsi
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp fcn.180017550
mov ecx, edi
call sub.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_
mov ecx, 1
call sub.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_
xor ecx, ecx
call sub.MSVCP140.dll_void___cdecl_std::_Xregex_error_enum_std::regex_constants::error_type_
int3