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

Disassembly:
mov ecx, dword [0x6de134]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4fbc7e
sub esp, 0x60
mov ebx, dword [esp + 0x6c]
inc ebx
mov ebp, dword [esp + 0x70]
cmp ebp, ebx
jb 0x4fb40c
mov eax, dword [esp + 0x68]
mov ecx, ebp
jmp 0x4fb43e
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov byte [ebx + eax - 1], 0x22
movzx ebp, byte [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
xor edi, edi
xor edi, edi
mov dword [esp + 0x24], edi
jmp 0x4fb466
mov dword [esp + 0x24], ebx
mov ebx, edi
mov edi, esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x50], ebx
cmp edx, edi
jle 0x4fbb5b
jbe 0x4fbc74
mov dword [esp + 0x2c], edi
movzx esi, byte [esi + edi]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jae 0x4fb851
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
xchg esi, eax
movzx eax, al
xchg esi, eax
lea ebx, [0x689e00]
movzx ebx, byte [esi + ebx]
test bl, bl
jne 0x4fb4ba
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4fb4c7
lea ebx, [0x689d80]
movzx esi, byte [ebx + esi]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4fb4cd
lea esi, [edi + 1]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x50]
jmp 0x4fb45a
lea ebx, [0x689d80]
mov esi, dword [esp + 0x24]
cmp esi, edi
ja 0x4fbc6b
sub edi, esi
mov dword [esp + 0x4c], edi
mov ebx, dword [esp + 0x50]
lea ebp, [ebx + edi]
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
mov edi, dword [esp + 0x74]
add esi, edi
cmp ecx, ebp
jae 0x4fb535
mov dword [esp + 0x5c], esi
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
lea ecx, [0x55b9a0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x48], ecx
lea edx, [eax + ebx]
mov dword [esp], edx
mov dword [esp + 4], esi
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], edx
call sym.runtime.memmove
movzx eax, byte [esp + 0x21]
cmp al, 0xa
ja 0x4fb678
cmp al, 8
jne 0x4fb5c0
mov ebx, dword [esp + 0x50]
add ebx, 2
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jb 0x4fb582
mov eax, dword [esp + 0x58]
mov ecx, ebp
jmp 0x4fb5b4
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov word [ebx + eax - 2], 0x625c
jmp 0x4fb838
cmp al, 9
jne 0x4fb61a
mov ebx, dword [esp + 0x50]
add ebx, 2
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jb 0x4fb5dc
mov eax, dword [esp + 0x58]
mov ecx, ebp
jmp 0x4fb60e
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov word [ebx + eax - 2], 0x745c
jmp 0x4fb838
cmp al, 0xa
jne 0x4fb7a5
mov ebx, dword [esp + 0x50]
add ebx, 2
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jb 0x4fb63a
mov eax, dword [esp + 0x58]
mov ecx, ebp
jmp 0x4fb66c
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov word [ebx + eax - 2], 0x6e5c
jmp 0x4fb838
cmp al, 0xd
ja 0x4fb739
cmp al, 0xc
jne 0x4fb6db
mov ebx, dword [esp + 0x50]
add ebx, 2
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jb 0x4fb69d
mov eax, dword [esp + 0x58]
mov ecx, ebp
jmp 0x4fb6cf
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov word [ebx + eax - 2], 0x665c
jmp 0x4fb838
cmp al, 0xd
jne 0x4fb7a5
mov ebx, dword [esp + 0x50]
add ebx, 2
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jb 0x4fb6fb
mov eax, dword [esp + 0x58]
mov ecx, ebp
jmp 0x4fb72d
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov word [ebx + eax - 2], 0x725c
jmp 0x4fb838
cmp al, 0x22
je 0x4fb743
cmp al, 0x5c
jne 0x4fb7a5
mov ebx, dword [esp + 0x50]
add ebx, 2
mov ebp, dword [esp + 0x48]
cmp ebp, ebx
jb 0x4fb758
mov ecx, dword [esp + 0x58]
jmp 0x4fb793
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 2
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebp, ecx
mov ecx, eax
movzx eax, byte [esp + 0x21]
mov byte [ebx + ecx - 2], 0x5c
mov byte [ebx + ecx - 1], al
mov eax, ecx
mov ecx, ebp
jmp 0x4fb838
mov ebx, dword [esp + 0x50]
add ebx, 6
mov ebp, eax
shr al, 4
movzx esi, al
and ebp, 0xf
lea edi, [0x5820b0]
movzx esi, byte [esi + edi]
movzx ebp, byte [ebp + edi]
mov edi, dword [esp + 0x48]
cmp edi, ebx
jb 0x4fb7d4
mov eax, dword [esp + 0x58]
jmp 0x4fb81e
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 6
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx ebp, byte [esp + 0x22]
movzx esi, byte [esp + 0x23]
mov edi, ecx
mov dword [ebx + eax - 6], 0x3030755c
xchg esi, ecx
mov byte [ebx + eax - 2], cl
xchg esi, ecx
xchg ebp, ecx
mov byte [ebx + eax - 1], cl
xchg ebp, ecx
mov ecx, edi
mov ebp, dword [esp + 0x2c]
lea esi, [ebp + 1]
mov edx, dword [esp + 0x78]
movzx ebp, byte [esp + 0x7c]
mov edi, ebx
mov ebx, esi
jmp 0x4fb45a
mov esi, edx
sub esi, edi
cmp esi, 4
jle 0x4fb85f
mov esi, 4
lea ebp, [esi + edi]
cmp edx, ebp
jb 0x4fbc64
cmp edi, ebp
ja 0x4fbc5b
mov dword [esp + 0x54], eax
mov dword [esp + 0x44], ecx
mov eax, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
mov ecx, dword [esp + 0x74]
lea edx, [ecx + esi]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.unicode_utf8.DecodeRuneInString
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp eax, 0xfffd
jne 0x4fb9d9
cmp ecx, 1
jne 0x4fb9d9
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
ja 0x4fbc56
sub ecx, eax
mov ebx, dword [esp + 0x50]
lea ebp, [ebx + ecx]
mov esi, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
mov ecx, dword [esp + 0x74]
add eax, ecx
mov edi, dword [esp + 0x44]
cmp edi, ebp
jb 0x4fb8f8
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x3c]
jmp 0x4fb940
mov dword [esp + 0x4c], esi
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov edi, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebp
mov ecx, dword [esp + 0x58]
lea edx, [ecx + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call sym.runtime.memmove
mov eax, dword [esp + 0x4c]
lea ecx, [eax + 6]
mov edx, dword [esp + 0x50]
cmp edx, ecx
jb 0x4fb974
mov ebx, dword [esp + 0x58]
jmp 0x4fb9ae
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 6
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, eax
mov edx, edi
mov eax, dword [esp + 0x4c]
mov dword [ebx + eax], 0x6666755c
mov word [ebx + eax + 4], 0x6466
mov ebp, dword [esp + 0x2c]
lea esi, [ebp + 1]
movzx ebp, byte [esp + 0x7c]
mov edi, ecx
mov ecx, edx
mov eax, ebx
mov edx, dword [esp + 0x78]
mov ebx, esi
jmp 0x4fb45a
cmp eax, 0x2028
je 0x4fba0c
cmp eax, 0x2029
je 0x4fba0c
mov ebp, dword [esp + 0x2c]
lea esi, [ecx + ebp]
mov edx, dword [esp + 0x78]
movzx ebp, byte [esp + 0x7c]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x54]
jmp 0x4fb45a
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
cmp edx, ebx
ja 0x4fbc4d
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
sub ebx, edx
mov dword [esp + 0x4c], ebx
mov esi, dword [esp + 0x50]
lea edi, [esi + ebx]
neg ebx
sar ebx, 0x1f
and edx, ebx
mov ebx, dword [esp + 0x74]
add edx, ebx
mov ebx, dword [esp + 0x44]
cmp ebx, edi
jb 0x4fba54
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
jmp 0x4fba98
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
lea ecx, [0x55b9a0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x50]
mov ebx, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], edi
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x58]
lea ecx, [eax + esi]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x50]
add eax, 6
mov ecx, dword [esp + 0x30]
and ecx, 0xf
lea edx, [0x5820b0]
movzx ecx, byte [ecx + edx]
mov ebx, dword [esp + 0x48]
cmp ebx, eax
jb 0x4fbae1
mov ebp, dword [esp + 0x58]
jmp 0x4fbb26
mov byte [esp + 0x23], cl
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 6
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea edx, [0x5820b0]
mov ebp, eax
mov eax, ecx
movzx ecx, byte [esp + 0x23]
mov byte [eax + ebp - 6], 0x5c
mov dword [eax + ebp - 5], 0x32303275
mov byte [eax + ebp - 1], cl
mov edi, dword [esp + 0x2c]
mov ecx, ebp
mov ebp, dword [esp + 0x28]
lea esi, [ebp + edi]
mov edx, dword [esp + 0x78]
movzx ebp, byte [esp + 0x7c]
mov edi, eax
mov eax, ecx
mov ecx, ebx
mov ebx, esi
jmp 0x4fb45a
mov ebp, dword [esp + 0x24]
cmp edx, ebp
jb 0x4fbc44
sub edx, ebp
mov dword [esp + 0x4c], edx
lea edi, [edx + ebx]
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ebp + esi]
cmp ecx, edi
jae 0x4fbbb9
mov dword [esp + 0x5c], edx
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
lea ecx, [0x55b9a0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], edi
add ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x48]
inc eax
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jb 0x4fbbf4
mov ecx, eax
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
jmp 0x4fbc26
mov edx, dword [esp + 0x58]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x55b9a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov byte [ecx + eax - 1], 0x22
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
add esp, 0x60
ret
mov eax, ebp
mov ecx, edx
call sym.runtime.panicSliceB
mov eax, edx
mov ecx, ebx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceB
mov eax, edi
mov ecx, ebp
call sym.runtime.panicSliceB
mov ecx, ebp
call sym.runtime.panicSliceAlen
mov eax, esi
mov ecx, edi
call sym.runtime.panicSliceB
mov eax, edi
mov ecx, edx
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.encoding_json.appendString_go.shape.string_