Function at 0x4aa640
Capabilities:
Run powershell expression

Disassembly:
lea r12, [rsp - 0x18]
cmp r12, qword [r14 + 0x10]
jbe 0x4aabd5
push rbp
mov rbp, rsp
sub rsp, 0x90
mov qword [rsp + 0xd0], r9
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xb8], rdi
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xa0], rax
cmp rdi, r8
je 0x4aa69b
xor edx, edx
jmp 0x4aa6e3
mov rax, rcx
mov rbx, rsi
mov rcx, rdi
call sym.runtime.memequal
mov rcx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0xd0]
mov edx, eax
mov rax, qword [rsp + 0xa0]
test dl, dl
jne 0x4aa6ec
test r9, r9
jne 0x4aa6f5
add rsp, 0x90
pop rbp
ret
call sym.strings.Count
nop word [rax + rax]
test rax, rax
je 0x4aa78a
mov rcx, qword [rsp + 0xd0]
test rcx, rcx
jl 0x4aa71e
cmp rax, rcx
jl 0x4aa71e
mov rax, rcx
mov qword [rsp + 0x50], rax
movups xmmword [rsp + 0x68], xmm15
movups xmmword [rsp + 0x78], xmm15
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0xb8]
sub rcx, rdx
imul rcx, rax
mov rdi, qword [rsp + 0xa8]
lea rbx, [rdi + rcx]
lea rax, [rsp + 0x68]
call sym.strings._Builder_.Grow
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
xor eax, eax
xor ebx, ebx
jmp 0x4aa825
mov rax, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
add rsp, 0x90
pop rbp
ret
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x88], rax
add rdx, rax
mov rax, rdx
mov rbx, qword [rsp + 0xc0]
mov rcx, rdi
call sym.runtime.memmove
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x70], rdx
mov rax, qword [rsp + 0x30]
inc rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xb8]
lea rbx, [rcx + rdx]
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
cmp rax, rdi
jge 0x4aaa6c
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
test rcx, rcx
jne 0x4aa8a7
nop dword [rax]
test rax, rax
jle 0x4aa8a2
cmp rdx, rbx
jb 0x4aabc9
sub rdx, rbx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and rdx, rbx
lea rax, [r8 + rdx]
mov rbx, rsi
call sym.unicode_utf8.DecodeRuneInString
mov rax, qword [rsp + 0x28]
add rbx, rax
mov rcx, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
mov r9, rax
mov rax, qword [rsp + 0x30]
nop
jmp 0x4aa908
mov r9, rbx
jmp 0x4aa908
cmp rdx, rbx
jb 0x4aabbe
sub rdx, rbx
mov r10, rdx
neg rdx
sar rdx, 0x3f
and rdx, rbx
lea rax, [r8 + rdx]
mov rdi, rcx
mov rcx, rsi
mov rbx, r10
call sym.strings.Index
mov rdx, qword [rsp + 0x28]
lea rbx, [rdx + rax]
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0x50]
mov r8, qword [rsp + 0xa0]
mov r9, rdx
mov rdx, qword [rsp + 0xa8]
cmp rdx, rbx
jb 0x4aabb6
cmp r9, rbx
ja 0x4aabab
mov r10, rbx
sub rbx, r9
mov r11, rbx
neg rbx
sar rbx, 0x3f
and r9, rbx
mov r12, qword [rsp + 0x68]
lea rbx, [r8 + r9]
nop
test r12, r12
je 0x4aa94b
lea r9, [rsp + 0x68]
cmp r12, r9
je 0x4aa955
jmp 0x4aab98
lea r9, [rsp + 0x68]
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x48], r10
mov r9, qword [rsp + 0x80]
mov r12, qword [rsp + 0x78]
lea r13, [r12 + r11]
mov r15, qword [rsp + 0x70]
cmp r9, r13
jae 0x4aa9b4
mov qword [rsp + 0x40], r11
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x38], r12
mov rax, r15
mov rbx, r13
mov rcx, r9
mov rdi, r11
lea rsi, [0x004bcf40]
call sym.runtime.growslice
mov r11, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r15, rax
mov r9, rcx
mov r13, rbx
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x88], r15
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r13
lea rax, [r15 + r12]
mov rcx, r11
call sym.runtime.memmove
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x78], rdx
mov rdx, qword [rsp + 0x40]
mov qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x70], rdx
mov rdx, qword [rsp + 0x68]
nop
nop
nop dword [rax]
test rdx, rdx
je 0x4aaa14
lea r8, [rsp + 0x68]
cmp rdx, r8
je 0x4aaa1e
jmp 0x4aab85
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x68], rdx
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0xc8]
lea rbx, [rdi + rdx]
mov rax, qword [rsp + 0x70]
nop dword [rax]
cmp rcx, rbx
jae 0x4aa7a3
mov qword [rsp + 0x40], rdx
lea rsi, [0x004bcf40]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0xc8]
jmp 0x4aa7a3
cmp rdx, rbx
jb 0x4aab78
sub rdx, rbx
mov rdi, rdx
neg rdx
sar rdx, 0x3f
and rbx, rdx
mov rdx, qword [rsp + 0x68]
add rbx, r8
nop
test rdx, rdx
je 0x4aaaa5
lea r8, [rsp + 0x68]
cmp rdx, r8
je 0x4aaaaf
nop dword [rax]
jmp 0x4aab65
lea rdx, [rsp + 0x68]
mov qword [rsp + 0x68], rdx
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
lea r8, [rdx + rdi]
mov rax, qword [rsp + 0x70]
cmp rcx, r8
jae 0x4aaafa
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x48], rdx
mov rbx, r8
lea rsi, [0x004bcf40]
call sym.runtime.growslice
mov rdx, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov r8, rbx
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x50], r8
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x48], rcx
add rdx, rax
mov rax, rdx
mov rcx, rdi
call sym.runtime.memmove
mov rbx, qword [rsp + 0x50]
mov qword [rsp + 0x78], rbx
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x80], rdx
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x70], rax
mov rdx, rax
neg rdx
cmp rbx, rdx
ja 0x4aab52
add rsp, 0x90
pop rbp
ret
test rax, rax
je 0x4aab60
call sym.runtime.panicunsafestringlen
nop dword [rax]
call sym.runtime.panicunsafestringnilptr
lea rax, [0x004bcec0]
lea rbx, [0x005016f0]
call sym.runtime.gopanic
mov rax, rbx
mov rcx, rdx
nop
call sym.runtime.panicSliceB
lea rax, [0x004bcec0]
lea rbx, [0x005016f0]
call sym.runtime.gopanic
lea rax, [0x004bcec0]
lea rbx, [0x005016f0]
call sym.runtime.gopanic
mov rax, r9
mov rcx, rbx
call sym.runtime.panicSliceB
mov rcx, rbx
call sym.runtime.panicSliceAlen
mov rax, rbx
mov rcx, rdx
call sym.runtime.panicSliceB
mov rax, rbx
mov rcx, rdx
call sym.runtime.panicSliceB
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
jmp sym.strings.Replace