Function at 0x518210
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
mov r15, rdx
mov rsi, rcx
mov r13, qword [rdx]
mov r14, qword [rdx + 8]
lea r12, [r13 + 0xa0]
mov r8, qword [r13 + 0xa0]
mov rbx, qword [rdx + 0x10]
mov rcx, r14
mov rdx, rbx
call fcn.0050d6c0
cmp eax, 0x70
je 0x51826a
mov r8, qword [r12]
mov rcx, r14
mov rdx, rbx
call fcn.0050d6c0
cmp eax, 0x50
jne 0x519101
cmp qword [r13 + 0x80], 0
jne 0x5190ec
mov qword [r13 + 0x80], 0xffffffffffffffff
mov qword [r13 + 0x98], 0
mov r8, qword [r13 + 0xa0]
mov rcx, r14
mov rdx, rbx
call fcn.0050d6c0
mov dword [rsp + 0x34], eax
mov rcx, r15
call fcn.0050e0a0
test al, al
je 0x5182c5
mov rcx, r15
call fcn.0050d300
mov r8, qword [r12]
cmp r8, rbx
jne 0x51839f
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x68], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x58], xmm0
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x40], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x50], rax
test rbx, rbx
je 0x518342
js 0x5190fa
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x518321
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x518333
mov rcx, rax
mov qword [0x009bf100], rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapAlloc
mov rdi, rax
test rax, rax
jne 0x518347
mov ecx, 1
mov rdx, rbx
call fcn.0044dfd0
ud2
mov edi, 1
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
movaps xmm0, xmmword [rsp + 0x40]
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movdqu xmmword [rsi + 0x70], xmm2
mov dword [rsi], 0xa
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x40], rbx
mov qword [rsi + 0x48], rbx
inc qword [r13 + 0x80]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r14
mov rdx, rbx
call fcn.0050d6c0
cmp eax, 0x7b
jne 0x518621
lea rax, [r13 + 0x88]
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x40]
mov rdx, r15
call fcn.0050dfa0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xf0], rax
movdqu xmm0, xmmword [rsp + 0x58]
movdqa xmmword [rsp + 0xe0], xmm0
mov rcx, r15
call fcn.0050e0a0
test al, al
jne 0x5185ee
mov r8, qword [r12]
cmp r8, rbx
jne 0x5186dc
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x138], rax
movups xmm0, xmmword [r12]
movups xmmword [rsp + 0x128], xmm0
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x110], xmm0
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x120], rax
test rbx, rbx
je 0x518995
js 0x5190fa
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x518475
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x518333
mov rcx, rax
mov qword [0x009bf100], rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapAlloc
mov rdi, rax
test rax, rax
jne 0x51899a
jmp 0x518333
mov rax, qword [r13 + 0x88]
mov byte [rax + rdx], bpl
inc qword [r13 + 0x98]
mov rcx, r15
call fcn.0050e0a0
test al, al
jne 0x5185ee
jmp 0x5183f8
mov rcx, r14
mov rdx, rbx
call fcn.0050d6c0
mov r8, qword [r12]
cmp eax, 0x7d
je 0x5183fc
mov rcx, r14
mov rdx, rbx
call fcn.0050d6c0
mov ebp, eax
cmp eax, 0x80
jae 0x518510
mov rdx, qword [r13 + 0x98]
cmp rdx, qword [r13 + 0x90]
jne 0x518490
mov rcx, qword [rsp + 0x28]
call fcn.005553c0
mov rdx, qword [r13 + 0x98]
jmp 0x518490
mov dword [rsp + 0x40], 0
mov eax, ebp
cmp ebp, 0x800
jae 0x518540
shr eax, 6
or al, 0xc0
mov byte [rsp + 0x40], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x41], bpl
mov ebp, 2
jmp 0x5185a7
cmp ebp, 0x10000
jae 0x518572
shr eax, 0xc
or al, 0xe0
mov byte [rsp + 0x40], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x42], bpl
mov ebp, 3
jmp 0x5185a7
shr eax, 0x12
or al, 0xf0
mov byte [rsp + 0x40], al
mov eax, ebp
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x41], al
mov eax, ebp
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rsp + 0x42], al
and bpl, 0x3f
or bpl, 0x80
mov byte [rsp + 0x43], bpl
mov ebp, 4
mov rax, qword [r13 + 0x90]
mov rdi, qword [r13 + 0x98]
sub rax, rdi
cmp rax, rbp
jb 0x518608
mov rcx, qword [r13 + 0x88]
add rcx, rdi
lea rdx, [rsp + 0x40]
mov r8, rbp
call sub.msvcrt.dll_memcpy
add rdi, rbp
mov qword [r13 + 0x98], rdi
mov rcx, r15
call fcn.0050e0a0
test al, al
je 0x5183f8
mov rcx, r15
call fcn.0050d300
mov r8, qword [r12]
cmp r8, rbx
jne 0x5184c0
jmp 0x518405
mov rcx, qword [rsp + 0x28]
mov rdx, rdi
mov r8, rbp
call fcn.004097c0
mov rdi, qword [r13 + 0x98]
jmp 0x5185bd
mov rax, qword [r12 + 0x10]
mov qword [rsp + 0x150], rax
movdqu xmm0, xmmword [r12]
movdqa xmmword [rsp + 0x140], xmm0
mov r8, qword [r12]
mov rcx, r14
mov rdx, rbx
call fcn.0050d6c0
cmp eax, 0x5c
jne 0x5186b3
lea rcx, [rsp + 0x40]
mov rdx, r15
call fcn.0050dfa0
test rbx, rbx
je 0x5189f5
js 0x5190fa
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x518698
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x518333
mov rcx, rax
mov qword [0x009bf100], rax
xor edx, edx
mov r8, rbx
call sub.KERNEL32.dll_HeapAlloc
mov rdi, rax
test rax, rax
jne 0x5189fa
jmp 0x518333
mov ebp, eax
mov rcx, r15
call fcn.0050e0a0
lea rbx, [rsp + 0x140]
test al, al
je 0x5186d1
mov rcx, r15
call fcn.0050d300
xor eax, eax
mov edx, dword [rsp + 0x34]
jmp 0x518fb7
mov rcx, r14
mov rdx, rbx
call fcn.0050d6c0
mov dword [rsp + 0x110], eax
cmp eax, 0x7d
jne 0x51911b
mov rcx, r15
call fcn.0050e0a0
mov rdx, qword [r13 + 0x88]
mov r15, qword [r13 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x008c7888]
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x28], rdx
mov r8, r15
call fcn.004559e0
cmp qword [rsp + 0x40], 0
je 0x518a3c
mov r10, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x90]
mov rax, qword [rsp + 0xa0]
lea rcx, [rax + r10]
dec rcx
cmp rcx, rdx
jae 0x518a47
mov rbx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x88]
mov r8, qword [rsp + 0x98]
lea r14, [rax - 1]
mov rbp, qword [rsp + 0x60]
mov r9, qword [rsp + 0x48]
mov qword [rsp + 0xd8], r9
mov r9, qword [rsp + 0x58]
mov rdi, rax
mov qword [rsp + 0x108], r9
sub rdi, r9
mov qword [rsp + 0x100], rdi
mov r9, rbx
mov qword [rsp + 0xc0], rbx
mov qword [rsp + 0x38], rbx
mov rdi, r10
mov qword [rsp + 0xc8], r15
mov qword [rsp + 0xd0], rbx
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0xb0], rbp
cmp rbx, 0xffffffffffffffff
je 0x51880b
movzx ecx, byte [r11 + rcx]
bt rbp, rcx
jae 0x51881f
mov r14, qword [rsp + 0x38]
mov rbp, r14
jmp 0x518859
add rdi, rax
lea rcx, [r14 + rdi]
lea r9, [r14 + rdi]
mov r10, rdi
cmp r9, rdx
jae 0x518a47
movzx ecx, byte [r11 + rcx]
bt rbp, rcx
jae 0x5187f4
xor ebp, ebp
mov r14, qword [rsp + 0x38]
jmp 0x518859
add rdi, rax
lea rcx, [r14 + rdi]
cmp rcx, rdx
jae 0x518a47
movzx r9d, byte [r11 + rcx]
bt rbp, r9
jb 0x51884a
add rdi, rax
add rcx, rax
cmp rcx, rdx
jb 0x51882f
jmp 0x518a47
xor ecx, ecx
mov qword [rsp + 0xc0], rcx
xor ebp, ebp
xor r14d, r14d
mov rcx, qword [rsp + 0xd8]
cmp rcx, r14
mov qword [rsp + 0x38], r14
cmova r14, rcx
cmp qword [rsp + 0xd0], 0xffffffffffffffff
cmove r14, rcx
cmp r14, rax
jae 0x5188a6
lea r9, [r11 + rdi]
mov rcx, r14
lea r15, [rdi + rcx]
cmp r15, rdx
jae 0x5190d1
movzx ebx, byte [r8 + rcx]
cmp bl, byte [r9 + rcx]
jne 0x518916
inc rcx
cmp rax, rcx
jne 0x518886
mov rcx, qword [rsp + 0xd8]
mov r15, qword [rsp + 0xc8]
cmp rbp, rcx
jae 0x518ccc
dec rcx
cmp rcx, rax
jae 0x5190af
lea r9, [rcx + rdi]
cmp r9, rdx
jae 0x5190c0
movzx r14d, byte [r8 + rcx]
cmp r14b, byte [r11 + r9]
je 0x5188b6
add rdi, qword [rsp + 0x108]
mov r10, rdi
mov rcx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0xd0]
cmp rbx, 0xffffffffffffffff
mov r14, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xb0]
jne 0x51894c
jmp 0x518959
sub r15, qword [rsp + 0xd8]
mov rdi, r15
inc rdi
mov rbx, qword [rsp + 0xd0]
cmp rbx, 0xffffffffffffffff
je 0x51896b
xor ecx, ecx
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xb0]
mov qword [rsp + 0xc0], rcx
mov qword [rsp + 0x38], rcx
lea rcx, [r14 + rdi]
cmp rcx, rdx
jb 0x5187d9
jmp 0x518a47
mov r15, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xb8]
mov rbp, qword [rsp + 0xb0]
lea rcx, [r14 + rdi]
cmp rcx, rdx
jb 0x5187d9
jmp 0x518a47
mov edi, 1
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movups xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 4], xmm0
movups xmmword [rsi + 0x14], xmm1
movups xmmword [rsi + 0x24], xmm2
mov eax, dword [rsp + 0x70]
mov dword [rsi + 0x34], eax
movaps xmm0, xmmword [rsp + 0x110]
movaps xmm1, xmmword [rsp + 0x120]
movdqa xmm2, xmmword [rsp + 0x130]
movdqu xmmword [rsi + 0x70], xmm2
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x50], xmm0
jmp 0x518372
mov edi, 1
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov dword [rsi], 0x1f
mov qword [rsi + 0x38], rdi
mov qword [rsi + 0x40], rbx
mov qword [rsi + 0x48], rbx
movups xmm0, xmmword [rsp + 0x40]
movups xmm1, xmmword [rsp + 0x50]
movdqu xmm2, xmmword [rsp + 0x60]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movdqu xmmword [rsi + 0x70], xmm2
jmp 0x518384
cmp byte [rsp + 0x5a], 0
je 0x518c97
movabs rax, 0x8080808080808080
xor ecx, ecx
movdqa xmm1, xmmword [str.::::::::::::::::]
movdqa xmm0, xmmword [0x0086e4f0]
mov rdi, qword [rsp + 0x28]
mov rdx, rdi
mov r8, r15
cmp r8, 0x10
jae 0x518a98
test r8, r8
je 0x518b5d
xor r10d, r10d
cmp byte [rdx + r10], 0x3a
je 0x518b34
inc r10
cmp r8, r10
jne 0x518a80
jmp 0x518b5d
lea r9, [rdx + 7]
and r9, 0xfffffffffffffff8
sub r9, rdx
je 0x518ac9
cmp r9, r8
cmovae r9, r8
test r9, r9
je 0x518ac9
xor r10d, r10d
cmp byte [rdx + r10], 0x3a
je 0x518b34
inc r10
cmp r9, r10
jne 0x518ab4
lea r10, [r8 - 0x10]
jmp 0x518ae0
lea r10, [r8 - 0x10]
xor r9d, r9d
jmp 0x518ae5
cmp r9, r10
ja 0x518b14
movdqu xmm2, xmmword [rdx + r9]
movdqa xmm3, xmm2
pxor xmm3, xmm1
paddq xmm3, xmm0
pandn xmm2, xmm3
pshufd xmm3, xmm2, 0xee
por xmm3, xmm2
movq r11, xmm3
test r11, rax
jne 0x518b14
add r9, 0x10
jmp 0x518ae0
sub r8, r9
je 0x518b5d
add rdx, r9
xor r10d, r10d
nop
cmp byte [rdx + r10], 0x3a
je 0x518b31
inc r10
cmp r8, r10
jne 0x518b20
jmp 0x518b5d
add r10, r9
lea rbp, [r10 + rcx]
cmp rbp, r15
jae 0x518b47
cmp byte [rdi + rbp], 0x3a
je 0x518d6b
add rcx, r10
inc rcx
lea rdx, [rdi + rcx]
mov r8, r15
sub r8, rcx
jae 0x518a6e
xor ecx, ecx
movdqa xmm1, xmmword [0x0086e500]
mov rdx, rdi
mov r8, r15
cmp r8, 0x10
jae 0x518b98
test r8, r8
je 0x518c5d
xor r10d, r10d
nop
cmp byte [rdx + r10], 0x3d
je 0x518c34
inc r10
cmp r8, r10
jne 0x518b80
jmp 0x518c5d
lea r9, [rdx + 7]
and r9, 0xfffffffffffffff8
sub r9, rdx
je 0x518bc9
cmp r9, r8
cmovae r9, r8
test r9, r9
je 0x518bc9
xor r10d, r10d
cmp byte [rdx + r10], 0x3d
je 0x518c34
inc r10
cmp r9, r10
jne 0x518bb4
lea r10, [r8 - 0x10]
jmp 0x518be0
lea r10, [r8 - 0x10]
xor r9d, r9d
jmp 0x518be5
cmp r9, r10
ja 0x518c14
movdqu xmm2, xmmword [rdx + r9]
movdqa xmm3, xmm2
pxor xmm3, xmm1
paddq xmm3, xmm0
pandn xmm2, xmm3
pshufd xmm3, xmm2, 0xee
por xmm3, xmm2
movq r11, xmm3
test r11, rax
jne 0x518c14
add r9, 0x10
jmp 0x518be0
sub r8, r9
je 0x518c5d
add rdx, r9
xor r10d, r10d
nop
cmp byte [rdx + r10], 0x3d
je 0x518c31
inc r10
cmp r8, r10
jne 0x518c20
jmp 0x518c5d
add r10, r9
lea rbp, [r10 + rcx]
cmp rbp, r15
jae 0x518c47
cmp byte [rdi + rbp], 0x3d
je 0x518dd9
add rcx, r10
inc rcx
lea rdx, [rdi + rcx]
mov r8, r15
sub r8, rcx
jae 0x518b6d
mov rcx, r15
call fcn.005283a0
mov rbx, rax
mov rax, rdi
mov rdi, rdx
mov rcx, rbx
mov rdx, rax
mov r8, r15
call sub.msvcrt.dll_memcpy
mov r9, rbx
mov al, 1
lea rbx, [rsp + 0xe0]
xor ecx, ecx
mov r8, r15
mov edx, dword [rsp + 0x34]
jmp 0x518fb7
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x90]
movzx eax, byte [rsp + 0x58]
mov r8, rdx
test rdi, rdi
je 0x518ce9
mov r8, rdx
sub r8, rdi
jbe 0x518ce3
cmp byte [rcx + rdi], 0xc0
jge 0x518ce9
jmp 0x519155
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], r10
jmp 0x518e5f
jne 0x519155
test r8, r8
je 0x518d4f
movzx r8d, byte [rcx + rdi]
test r8b, r8b
jns 0x518e57
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + rdi + 1]
and r11d, 0x3f
cmp r8b, 0xe0
jb 0x518d5c
movzx r10d, byte [rcx + rdi + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x518e4d
movzx r8d, byte [rcx + rdi + 3]
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
jmp 0x518e57
test al, al
jne 0x518e5f
jmp 0x518a47
shl r9d, 6
or r9d, r11d
mov r8d, r9d
jmp 0x518e57
mov rcx, rbp
call fcn.005283a0
mov rbx, rdi
mov rdi, rdx
mov qword [rsp + 0x38], rax
mov rcx, rax
mov rdx, rbx
mov r8, rbp
call sub.msvcrt.dll_memcpy
lea r8, [rbp + 1]
mov rcx, r15
sub rcx, r8
jbe 0x518da3
cmp byte [rbx + r8], 0xbf
jle 0x51916e
add rbx, r8
mov qword [rsp + 0x28], rcx
call fcn.005283a0
mov r14, rax
mov r15, rdx
mov rcx, rax
mov rdx, rbx
mov r8, qword [rsp + 0x28]
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x28]
mov cl, 1
mov al, 2
lea rbx, [rsp + 0xe0]
jmp 0x518e45
mov rcx, rbp
call fcn.005283a0
mov rbx, rdi
mov rdi, rdx
mov qword [rsp + 0x38], rax
mov rcx, rax
mov rdx, rbx
mov r8, rbp
call sub.msvcrt.dll_memcpy
lea r8, [rbp + 1]
mov rcx, r15
sub rcx, r8
jbe 0x518e11
cmp byte [rbx + r8], 0xbf
jle 0x519177
add rbx, r8
mov qword [rsp + 0x28], rcx
call fcn.005283a0
mov r14, rax
mov r15, rdx
mov rcx, rax
mov rdx, rbx
mov r8, qword [rsp + 0x28]
call sub.msvcrt.dll_memcpy
mov r10, qword [rsp + 0x28]
mov al, 2
lea rbx, [rsp + 0xe0]
xor ecx, ecx
mov r8, rbp
jmp 0x518fae
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
test al, al
je 0x519037
test rdi, rdi
je 0x518e95
cmp rdi, r15
jae 0x518e9c
mov rax, qword [rsp + 0x28]
cmp byte [rax + rdi], 0xbf
jg 0x518e9e
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_ast_parse.rs
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x28]
mov rdx, r15
xor r8d, r8d
mov r9, rdi
call fcn.00454cc0
ud2
mov ecx, 1
jmp 0x518ee8
jne 0x518e74
test rdi, rdi
js 0x5190fa
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x518ed2
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x519146
mov rcx, rax
mov qword [0x009bf100], rax
xor edx, edx
mov r8, rdi
call sub.KERNEL32.dll_HeapAlloc
mov rcx, rax
test rax, rax
je 0x519146
mov qword [rsp + 0x38], rcx
mov r14, qword [rsp + 0x28]
mov rdx, r14
mov r8, rdi
call sub.msvcrt.dll_memcpy
lea rbx, [rdi + 2]
cmp r15, rbx
jbe 0x518f2e
cmp byte [r14 + rbx], 0xbf
jg 0x518f30
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_ast_parse.rs
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x28]
mov rdx, r15
mov r8, rbx
mov r9, r15
call fcn.00454cc0
ud2
jne 0x518f0d
sub r15, rbx
je 0x518f83
js 0x5190fa
movzx eax, byte [0x009bf181]
mov rcx, qword [0x009bf100]
test rcx, rcx
jne 0x518f62
call sub.KERNEL32.dll_GetProcessHeap
test rax, rax
je 0x518f74
mov rcx, rax
mov qword [0x009bf100], rax
xor edx, edx
mov r8, r15
call sub.KERNEL32.dll_HeapAlloc
mov r14, rax
test rax, rax
jne 0x518f89
mov ecx, 1
mov rdx, r15
call fcn.0044dfd0
ud2
mov r14d, 1
mov rdx, qword [rsp + 0x28]
add rdx, rbx
mov rcx, r14
mov r8, r15
call sub.msvcrt.dll_memcpy
mov al, 2
lea rbx, [rsp + 0xe0]
mov r8, rdi
mov r10, r15
mov cl, 2
mov edx, dword [rsp + 0x34]
mov r9, qword [rsp + 0x38]
cmp edx, 0x50
mov rdx, qword [rbx + 0x10]
mov qword [rsp + 0x50], rdx
movups xmm0, xmmword [rbx]
movaps xmmword [rsp + 0x40], xmm0
movups xmm1, xmmword [r12]
movups xmmword [rsp + 0x58], xmm1
mov rdx, qword [r12 + 0x10]
mov qword [rsp + 0x68], rdx
movups xmmword [rsi + 0x40], xmm0
mov rdx, qword [rsp + 0x60]
mov qword [rsi + 0x60], rdx
mov rdx, qword [rsp + 0x68]
mov qword [rsi + 0x68], rdx
mov rdx, qword [rsp + 0x50]
mov qword [rsi + 0x50], rdx
mov rdx, qword [rsp + 0x58]
mov qword [rsi + 0x58], rdx
mov byte [rsi + 8], al
mov byte [rsi + 9], cl
mov dword [rsi + 0xc], ebp
mov qword [rsi + 0x10], r9
mov qword [rsi + 0x18], rdi
mov qword [rsi + 0x20], r8
mov qword [rsi + 0x28], r14
mov qword [rsi + 0x30], r15
mov qword [rsi + 0x38], r10
sete byte [rsi + 0x70]
mov dword [rsi], 0x22
jmp 0x518384
cmp r8d, 0x110000
je 0x518a47
mov eax, 1
cmp r8d, 0x80
jb 0x519070
mov eax, 2
cmp r8d, 0x800
jb 0x519070
cmp r8d, 0x10000
mov eax, 4
sbb rax, 0
add rdi, rax
je 0x519088
mov rax, rdx
sub rax, rdi
jbe 0x51908d
cmp byte [rcx + rdi], 0xbf
jg 0x519093
jmp 0x519155
mov rax, rdx
jmp 0x519093
jne 0x519155
test rax, rax
je 0x518e5f
movzx eax, byte [rcx + rdi]
test al, al
jns 0x518e5f
cmp al, 0xe0
jmp 0x518e5f
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rs
mov rdx, rax
call fcn.0044f190
ud2
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rs
mov rcx, r9
call fcn.0044f190
ud2
add r14, rdi
cmp rdx, r14
cmova r14, rdx
lea r8, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rs
mov rcx, r14
call fcn.0044f190
ud2
lea rcx, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_ast_parse.rs
call fcn.00450580
ud2
call fcn.0044df90
ud2
lea rcx, str.assertion_failed:_self.char____p__self.char____P
lea r8, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_ast_parse.rs
mov edx, 0x3a
call fcn.0044fe30
ud2
mov qword [rsp + 0x40], 0
lea rdx, [0x008c76e0]
lea r9, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_ast_parse.rs
lea rcx, [rsp + 0x110]
lea r8, [rsp + 0x40]
call fcn.00504f70
ud2
mov ecx, 1
mov rdx, rdi
call fcn.0044dfd0
ud2
lea rax, str._rustc_82e1608dfa6e0b5569232559e3d385fea5a93112librarycore_src_strpattern.rs
mov qword [rsp + 0x20], rax
mov r8, rdi
mov r9, rdx
call fcn.00454cc0
ud2
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_ast_parse.rs
jmp 0x51917e
lea rax, str._root_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_ast_parse.rs
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov rdx, r15
mov r9, r15
call fcn.00454cc0
ud2