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

Disassembly:
mov ecx, dword [0x72f2ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a7fab
sub esp, 0x70
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x74]
xor eax, eax
xor ecx, ecx
jmp 0x4a7bb9
mov dword [esp + 0x68], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
lea ecx, [edi + ebp]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x48]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov ebp, dword [esp + 0x74]
mov eax, dword [ebp]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [esp + 0x38]
add eax, ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edx, ecx
mov ebx, dword [esp + 0x7c]
mov ecx, 1
cmp ebx, eax
jb 0x4a7fa3
mov byte [esp + 0x23], cl
mov dword [esp + 0x38], eax
mov esi, dword [ebp]
mov dword [esp + 0x54], esi
sub ebx, eax
mov dword [esp + 0x28], ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, dword [esi + 4]
mov dword [esp + 0x48], eax
add ebx, edx
mov edi, dword [esi]
mov dword [esp + 0x6c], edi
lea edx, [eax - 1]
mov dword [esp + 0x34], edx
jmp 0x4a7d96
mov eax, 0xffffffff
cmp eax, 0xffffffff
je 0x4a7df4
mov dword [esp + 0x24], eax
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x58]
mov dword [esp], edx
add ecx, eax
mov dword [esp + 4], ecx
call sym.strings._Builder_.Grow
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jb 0x4a7f31
cmp ecx, edx
ja 0x4a7f28
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x78]
add eax, esi
nop
test ebp, ebp
je 0x4a7c63
lea edi, [esp + 0x58]
cmp ebp, edi
je 0x4a7c6b
jmp 0x4a7f10
lea ebp, [esp + 0x58]
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
lea esi, [edx + edi]
mov ebx, dword [esp + 0x5c]
cmp ebp, esi
jae 0x4a7cbc
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], edi
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
lea eax, [0x57c180]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], esi
mov dword [esp + 0x68], ebx
lea ecx, [ebx + edi]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x44]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 8]
nop
mov ebx, dword [ecx + 4]
test eax, eax
je 0x4a7d13
lea ebp, [esp + 0x58]
cmp eax, ebp
je 0x4a7d1b
jmp 0x4a7ef8
lea eax, [esp + 0x58]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x60]
lea esi, [edx + ebp]
mov edi, dword [esp + 0x5c]
cmp eax, esi
jae 0x4a7b59
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x2c], edx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x57c180]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x48]
jmp 0x4a7b59
add edx, ebp
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x34]
mov ebx, ecx
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x54]
movzx ecx, byte [esp + 0x23]
mov esi, dword [esp + 0x28]
cmp edx, esi
jge 0x4a7bf8
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
jmp 0x4a7f4f
test ebp, ebp
jl 0x4a7f6e
cmp edx, esi
jae 0x4a7f88
movzx edi, byte [ebx + edx]
mov ecx, ebx
mov ebx, dword [esp + 0x54]
mov eax, dword [ebx + 0x40c]
mov edi, dword [ebx + edi*4 + 8]
cmp ebp, eax
jae 0x4a7f7f
mov eax, dword [ebx + 0x408]
mov ebp, dword [eax + ebp*4]
cmp ebp, edi
jg 0x4a7d79
mov ebp, edi
jmp 0x4a7d79
test cl, cl
jne 0x4a7e12
mov eax, dword [esp + 0x78]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x84], eax
add esp, 0x70
ret
mov eax, dword [esp + 0x58]
nop
nop
test eax, eax
je 0x4a7e29
lea ecx, [esp + 0x58]
cmp eax, ecx
je 0x4a7e31
jmp 0x4a7ee0
lea eax, [esp + 0x58]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
lea edx, [esi + ecx]
mov ebp, dword [esp + 0x5c]
cmp eax, edx
jae 0x4a7e82
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
lea eax, [0x57c180]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], ebp
add ecx, ebp
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call sym.runtime.memmove
mov eax, dword [esp + 0x44]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x5c], ecx
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x4a7ed2
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
add esp, 0x70
ret
test edx, edx
je 0x4a7edb
call sym.runtime.panicunsafestringlen
call sym.runtime.panicunsafestringnilptr
lea eax, [0x57c100]
mov dword [esp], eax
lea eax, [0x5e4d3c]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x57c100]
mov dword [esp], eax
lea eax, [0x5e4d3c]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x57c100]
mov dword [esp], eax
lea eax, [0x5e4d3c]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
mov ecx, edx
mov edx, ebx
call sym.runtime.panicSliceAlen
dec edx
lea ecx, [ebp - 1]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x30], ecx
movzx ecx, byte [esp + 0x23]
mov ebp, dword [esp + 0x30]
test ebp, ebp
jl 0x4a7f73
cmp edx, esi
jae 0x4a7f9a
movzx ecx, byte [ebx + edx]
cmp ebp, eax
jae 0x4a7f91
add edi, ebp
cmp byte [edi], cl
je 0x4a7f3a
jmp 0x4a7db7
movzx ecx, byte [esp + 0x23]
lea eax, [edx + 1]
mov ebp, dword [esp + 0x74]
jmp 0x4a7bfd
mov ecx, eax
mov eax, ebp
call sym.runtime.panicIndex
mov eax, edx
mov ecx, esi
call sym.runtime.panicIndex
mov ecx, eax
mov eax, ebp
call sym.runtime.panicIndex
mov eax, edx
mov ecx, esi
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.strings._singleStringReplacer_.Replace