Function at 0x47c010
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x84d0e8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x47c445
sub esp, 0x4c
mov eax, dword [esp + 0x74]
test eax, eax
jne 0x47c033
xor ecx, ecx
jmp 0x47c071
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0x64]
mov dword [esp + 0x14], esi
call sym.bytes.Count
mov eax, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esp + 0x74]
test ecx, ecx
je 0x47c0e1
test eax, eax
jl 0x47c07f
cmp eax, ecx
jg 0x47c07f
mov ecx, eax
mov dword [esp + 0x40], ecx
lea eax, [0x619aa0]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x60]
sub eax, edx
imul eax, ecx
mov ebp, dword [esp + 0x54]
add eax, ebp
mov dword [esp + 0x24], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
xor edi, edi
xor edi, edi
mov dword [esp + 0x20], edi
xor edi, edi
mov dword [esp + 0x28], edi
xor edi, edi
jmp 0x47c191
mov eax, dword [esp + 0x54]
test eax, eax
ja 0x47c0f1
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x47c12b
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
lea ecx, [0x619aa0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], ecx
mov dword [esp], ecx
mov ebp, dword [esp + 0x50]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call sym.runtime.memmove
mov eax, dword [esp + 0x44]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x80], eax
add esp, 0x4c
ret
mov ebp, dword [esp + 0x30]
inc ebp
add ebx, esi
mov esi, dword [esp + 0x2c]
add esi, edx
mov ecx, dword [esp + 0x58]
mov edi, ebp
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], esi
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
cmp edi, ebp
jge 0x47c372
mov dword [esp + 0x30], edi
test edx, edx
jne 0x47c215
test edi, edi
jg 0x47c1ba
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
jmp 0x47c288
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0x28]
cmp ebp, edx
jb 0x47c43b
sub ecx, edx
sub ebp, edx
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call sym.unicode_utf8.DecodeRune
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
jmp 0x47c288
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x28]
cmp ebp, edi
jb 0x47c432
sub ecx, edi
mov dword [esp + 0x3c], ecx
sub ebp, edi
neg ecx
sar ecx, 0x1f
and ecx, edi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x14], ebp
call sym.bytes.Index
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
add eax, ecx
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x20]
cmp ebp, ebx
ja 0x47c429
sub ebx, ebp
mov dword [esp + 0x3c], ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
add ebx, eax
mov edi, dword [esp + 0x2c]
cmp ecx, edi
jb 0x47c420
mov ebp, dword [esp + 0x28]
cmp ebp, edi
ja 0x47c417
sub edi, ebp
sub ecx, ebp
neg ecx
sar ecx, 0x1f
and ebp, ecx
add ebp, esi
mov ecx, esi
mov esi, dword [esp + 0x3c]
cmp edi, esi
jl 0x47c2d4
mov edi, esi
cmp ebp, ebx
je 0x47c2fc
mov dword [esp + 0x3c], edi
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
call sym.runtime.memmove
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x20]
add ebx, edi
mov ebp, dword [esp + 0x24]
cmp ebx, ebp
ja 0x47c40e
sub ebp, ebx
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
add ebp, eax
mov esi, dword [esp + 0x6c]
cmp esi, edi
jge 0x47c32b
mov edi, esi
jmp 0x47c331
mov esi, edi
mov edi, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
cmp edi, ebp
je 0x47c16a
mov dword [esp + 0x20], ebx
mov dword [esp + 0x3c], esi
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call sym.runtime.memmove
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x68]
jmp 0x47c16a
mov ebp, dword [esp + 0x20]
cmp ebp, ebx
ja 0x47c405
mov edx, ebx
sub ebx, ebp
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
add ebx, eax
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x54]
mov ebx, dword [esp + 0x28]
cmp ebp, ebx
jb 0x47c3fc
sub ebp, ebx
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ebx, ecx
add ebx, esi
cmp ebp, edi
jl 0x47c3b0
mov ebp, edi
mov esi, dword [esp + 0x44]
cmp ebx, esi
je 0x47c3d8
mov dword [esp + 0x40], ebp
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call sym.runtime.memmove
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x20]
lea ecx, [ebp + ebx]
cmp ecx, edx
ja 0x47c3f7
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], edx
add esp, 0x4c
ret
call sym.runtime.panicSliceAcap
mov eax, ebx
mov ecx, ebp
call sym.runtime.panicSliceB
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicSliceB
mov eax, ebx
mov ecx, ebp
call sym.runtime.panicSliceB
mov eax, ebp
mov ecx, edi
call sym.runtime.panicSliceB
mov edx, ecx
mov ecx, edi
call sym.runtime.panicSliceAcap
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicSliceB
mov eax, edi
mov ecx, ebp
call sym.runtime.panicSliceB
mov eax, edx
mov ecx, ebp
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.bytes.Replace