Function at 0x140264610
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x148
movdqa xmmword [rsp + 0x130], xmm6
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov rax, qword [rdx]
movzx eax, byte [rax + 0x24]
cmp al, 2
je 0x140264640
and al, 1
je 0x140264adb
movzx eax, byte [rdi + 0x30]
test rax, rax
je 0x1402646ed
cmp eax, 1
jne 0x140264796
movzx eax, byte [0x1403ce430]
mov rcx, qword [0x1403cdf08]
test rcx, rcx
jne 0x140264682
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140264af5
mov rcx, rax
mov qword [0x1403cdf08], rax
mov r8d, 0x50
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140264af5
movaps xmm0, xmmword [0x1402fa320]
movups xmmword [rax], xmm0
movaps xmm0, xmmword [0x1402fa330]
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [0x1402fa340]
movups xmmword [rax + 0x20], xmm0
movaps xmm0, xmmword [0x1402fa350]
movups xmmword [rax + 0x30], xmm0
movdqa xmm0, xmmword [0x1402fa360]
movdqu xmmword [rax + 0x40], xmm0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0xa
mov qword [rsp + 0x40], 0xa
jmp 0x140264978
movzx eax, byte [0x1403ce430]
mov rcx, qword [0x1403cdf08]
test rcx, rcx
jne 0x140264719
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140264b06
mov rcx, rax
mov qword [0x1403cdf08], rax
mov r8d, 0x200
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140264b06
lea rdx, str.AnyAssignedASCII
lea rcx, [0x14034dd1c]
cmp rax, rdx
jae 0x14026480f
mov r8, rax
add r8, 0x200
cmp r8, rcx
jbe 0x14026480f
xor r8d, r8d
nop dword [rax]
mov r9d, dword [r8 + rcx]
mov r10d, dword [r8 + rcx + 4]
cmp r9d, r10d
mov r11d, r10d
cmovb r11d, r9d
cmova r10d, r9d
mov dword [rax + r8], r11d
mov dword [rax + r8 + 4], r10d
lea r9, [r8 + rcx]
add r9, 8
add r8, 8
cmp r9, rdx
jne 0x140264760
jmp 0x14026487d
movzx eax, byte [0x1403ce430]
mov rcx, qword [0x1403cdf08]
test rcx, rcx
jne 0x1402647c2
call qword [sym.imp.kernel32.dll_GetProcessHeap]
test rax, rax
je 0x140264b17
mov rcx, rax
mov qword [0x1403cdf08], rax
mov r8d, 0x1818
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapAlloc]
test rax, rax
je 0x140264b17
lea rcx, [0x14034dccc]
cmp rax, rcx
jae 0x140264899
lea rdx, [rax + 0x1818]
lea r8, [0x14034c4b4]
cmp rdx, r8
jbe 0x140264899
lea rdx, [0x14034c4b4]
xor r8d, r8d
jmp 0x140264925
xor edx, edx
movdqa xmm0, xmmword [0x1402f9750]
nop dword [rax]
movdqu xmm1, xmmword [rdx + rcx]
pshufd xmm2, xmm1, 0xe8
pshufd xmm1, xmm1, 0xed
movdqa xmm3, xmm2
pxor xmm3, xmm0
movdqa xmm4, xmm1
pxor xmm4, xmm0
movdqa xmm5, xmm4
pcmpgtd xmm5, xmm3
movdqa xmm6, xmm2
pand xmm6, xmm5
pandn xmm5, xmm1
por xmm5, xmm6
pcmpgtd xmm3, xmm4
pand xmm2, xmm3
pandn xmm3, xmm1
por xmm3, xmm2
punpckldq xmm5, xmm3
movdqu xmmword [rax + rdx], xmm5
add rdx, 0x10
cmp rdx, 0x200
jne 0x140264820
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x40
mov qword [rsp + 0x40], 0x40
jmp 0x140264978
xor r8d, r8d
lea r9, [0x14034c4b4]
movdqa xmm0, xmmword [0x1402f9750]
lea rdx, [0x14034dcc4]
nop word cs:[rax + rax]
movdqu xmm1, xmmword [r8 + r9]
pshufd xmm2, xmm1, 0xe8
pshufd xmm1, xmm1, 0xed
movdqa xmm3, xmm2
pxor xmm3, xmm0
movdqa xmm4, xmm1
pxor xmm4, xmm0
movdqa xmm5, xmm4
pcmpgtd xmm5, xmm3
movdqa xmm6, xmm2
pand xmm6, xmm5
pandn xmm5, xmm1
por xmm5, xmm6
pcmpgtd xmm3, xmm4
pand xmm2, xmm3
pandn xmm3, xmm1
por xmm3, xmm2
punpckldq xmm5, xmm3
movdqu xmmword [rax + r8], xmm5
add r8, 0x10
cmp r8, 0x1810
jne 0x1402648c0
mov r8d, 0x302
lea r8, [rax + r8*8]
add r8, 4
xor r9d, r9d
mov r10d, dword [rdx + r9]
mov r11d, dword [rdx + r9 + 4]
cmp r10d, r11d
mov ebp, r11d
cmovb ebp, r10d
cmova r11d, r10d
mov dword [r8 + r9 - 4], ebp
mov dword [r8 + r9], r11d
lea r10, [rdx + r9]
add r10, 8
add r9, 8
cmp r10, rcx
jne 0x140264930
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], 0x303
mov qword [rsp + 0x40], 0x303
lea rcx, [rsp + 0x30]
call fcn.140260ef0
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x90], rax
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x80], xmm0
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x120], rax
movaps xmm0, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x110], xmm0
mov rdx, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x30]
mov r9, rdi
call fcn.140264b30
movzx eax, byte [rsp + 0x78]
cmp al, 8
jne 0x140264a34
mov rax, qword [rsp + 0x40]
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0xb0], rax
cmp byte [rdi + 0x31], 0
je 0x140264a14
lea rcx, [rsp + 0xa0]
call fcn.140264c40
mov rax, qword [rsp + 0xb0]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rsi], xmm0
mov byte [rsi + 0x48], 8
jmp 0x140264ac7
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x100], rcx
movups xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movups xmm2, xmmword [rsp + 0x50]
movups xmm3, xmmword [rsp + 0x60]
movaps xmmword [rsp + 0xf0], xmm3
movaps xmmword [rsp + 0xe0], xmm2
movaps xmmword [rsp + 0xd0], xmm1
movaps xmmword [rsp + 0xc0], xmm0
mov ecx, dword [rsp + 0x7c]
mov dword [rsi + 0x4c], ecx
mov ecx, dword [rsp + 0x79]
mov dword [rsi + 0x49], ecx
mov rcx, qword [rsp + 0x100]
mov qword [rsi + 0x40], rcx
movaps xmm0, xmmword [rsp + 0xc0]
movdqa xmm1, xmmword [rsp + 0xd0]
movdqa xmm2, xmmword [rsp + 0xe0]
movdqa xmm3, xmmword [rsp + 0xf0]
movdqu xmmword [rsi + 0x30], xmm3
movdqu xmmword [rsi + 0x20], xmm2
movdqu xmmword [rsi + 0x10], xmm1
movups xmmword [rsi], xmm0
mov byte [rsi + 0x48], al
movaps xmm6, xmmword [rsp + 0x130]
add rsp, 0x148
pop rbx
pop rbp
pop rdi
pop rsi
ret
lea rcx, str.assertion_failed:_self.flags__.unicode__
lea r8, str.C:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.6.29_srchir_translate.rs
mov edx, 0x28
call fcn.1402ea480
ud2
mov ecx, 4
mov edx, 0x50
call fcn.1402e6e10
ud2
mov ecx, 4
mov edx, 0x200
call fcn.1402e6e10
ud2
mov ecx, 4
mov edx, 0x1818
call fcn.1402e6e10
ud2