Function at 0x180019070
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 0x1800190a4
xor edi, edi
cmp ebp, 0x3d
je 0x1800190a4
xor eax, eax
cmp ebp, 0x2e
mov edi, 0xe
cmove edi, eax
mov rbx, qword [rsi]
xor r14d, r14d
movabs r15, 0x4800800000000001
jmp 0x1800190d1
mov rax, rcx
nop dword [rax]
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.180015eb0
inc r14
mov eax, dword [rsi + 0x7c]
lea ecx, [rax + 1]
cmp ecx, 0x3e
ja 0x1800190e2
bt r15, rcx
jb 0x180019129
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
cmp rax, rdx
je 0x1800190c6
cmp byte [rax], 0x5c
jne 0x1800190c0
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x1800190c0
mov edx, dword [rsi + 0x80]
test dl, 8
jne 0x180019115
movzx r8d, byte [rcx]
and r8b, 0xfe
cmp r8b, 0x28
je 0x1800190b6
test dl, 0x10
jne 0x1800190c0
movzx edx, byte [rcx]
cmp edx, 0x7d
je 0x1800190b6
cmp edx, 0x7b
je 0x1800190b6
jmp 0x1800190c0
cmp eax, ebp
jne 0x180019312
cmp ebp, 0x3a
jne 0x180019200
mov r8, qword [rsi]
mov rcx, qword [rsi + 0x68]
mov eax, dword [rsi + 0x70]
mov edx, eax
and edx, 0xb2a49833
mov r9d, eax
and r9d, 0x4d5b67cc
or r9d, 0x12a08031
xor r9d, edx
or eax, 0x100
xor r9d, 0xed5f7ece
test r9d, eax
setne r9b
mov rdx, rbx
call fcn.1800181a0
test ax, ax
je 0x180019319
mov ebx, eax
mov r15, qword [rsi + 0x48]
xor r14d, r14d
xorps xmm6, xmm6
jmp 0x1800191b8
mov edx, r14d
call fcn.180018410
inc r14
cmp r14, 0x100
je 0x18001924f
mov rax, qword [rsi + 0x58]
mov ecx, ebx
cmp bx, 0xffff
jne 0x1800191ce
mov cx, 0x107
cmp r14, 0x5f
je 0x1800191dd
mov rax, qword [rax + 8]
mov rax, qword [rax + 0x18]
test word [rax + r14*2], cx
je 0x1800191a8
mov rcx, qword [r15 + 0x28]
test rcx, rcx
jne 0x1800191a0
mov ecx, 0x20
call fcn.180039c00
mov rcx, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x10], xmm6
mov qword [r15 + 0x28], rax
jmp 0x1800191a0
cmp ebp, 0x2e
je 0x180019227
cmp ebp, 0x3d
jne 0x18001924f
mov r8, qword [rsi]
cmp rbx, r8
je 0x180019323
lea rcx, [rsi + 0x40]
mov rdx, rbx
mov r9, r14
call fcn.180019330
jmp 0x18001924f
mov r8, qword [rsi]
cmp rbx, r8
je 0x180019323
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.180019790
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
cmp rax, rdx
je 0x18001929d
cmp byte [rax], 0x5c
jne 0x180019297
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x180019297
mov edx, dword [rsi + 0x80]
test dl, 8
jne 0x180019282
movzx r8d, byte [rcx]
and r8b, 0xfe
cmp r8b, 0x28
je 0x180019294
test dl, 0x10
jne 0x180019297
movzx edx, byte [rcx]
cmp edx, 0x7d
je 0x180019294
cmp edx, 0x7b
jne 0x180019297
mov rax, rcx
inc rax
mov qword [rsi], rax
mov rcx, rsi
call fcn.180015eb0
cmp dword [rsi + 0x7c], 0x5d
jne 0x180019312
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x10]
cmp rax, rdx
je 0x1800192f9
cmp byte [rax], 0x5c
jne 0x1800192f3
lea rcx, [rax + 1]
cmp rcx, rdx
je 0x1800192f3
mov edx, dword [rsi + 0x80]
test dl, 8
jne 0x1800192de
movzx r8d, byte [rcx]
and r8b, 0xfe
cmp r8b, 0x28
je 0x1800192f0
test dl, 0x10
jne 0x1800192f3
movzx edx, byte [rcx]
cmp edx, 0x7d
je 0x1800192f0
cmp edx, 0x7b
jne 0x1800192f3
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.180015eb0
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