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

Disassembly:
mov ecx, dword [0x5d5324]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c616b
sub esp, 0x64
mov eax, 0
mov dword [esp + 0x60], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
call sym.encoding_json.newScanner
mov eax, dword [esp]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
lea ecx, [sym.encoding_json.appendCompact.func1]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
lea ecx, [esp + 0x58]
mov dword [esp + 0x60], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x74]
movzx esi, byte [esp + 0x80]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
jmp 0x4c5b56
inc eax
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x4c]
movzx esi, byte [esp + 0x80]
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebx
mov ebx, ecx
mov edi, ebp
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x28]
cmp edx, ebx
jle 0x4c5fbe
movzx eax, byte [ebp + ebx]
mov byte [esp + 0x20], al
xchg esi, eax
test al, al
xchg esi, eax
je 0x4c5ced
cmp al, 0x3c
je 0x4c5b8c
cmp al, 0x3e
je 0x4c5b8c
cmp al, 0x26
jne 0x4c5cd9
mov edx, dword [esp + 0x24]
cmp edx, ebx
ja 0x4c6158
sub ebx, edx
mov esi, dword [esp + 0x34]
lea eax, [ebx + esi]
sub ecx, edx
neg ecx
sar ecx, 0x1f
and ecx, edx
add ecx, ebp
mov edx, dword [esp + 0x38]
cmp edx, eax
jae 0x4c5bf4
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], ecx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea eax, [0x4db060]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov edx, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], edi
mov dword [esp + 0x34], edx
lea ebp, [edi + esi]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov ecx, dword [0x5ac67c]
movzx eax, byte [esp + 0x20]
mov edx, eax
shr dl, 4
movzx edx, dl
cmp ecx, edx
jbe 0x4c6151
mov ebx, dword [0x5ac678]
mov ebp, eax
and ebp, 0xf
movzx esi, byte [edx + ebx]
cmp ecx, ebp
jbe 0x4c614a
mov edi, dword [esp + 0x38]
add edi, 6
movzx ebx, byte [ebp + ebx]
mov ebp, dword [esp + 0x34]
cmp ebp, edi
jb 0x4c5c5f
mov ecx, dword [esp + 0x54]
jmp 0x4c5cb0
xchg esi, eax
mov byte [esp + 0x22], al
xchg esi, eax
mov byte [esp + 0x21], bl
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 6
lea eax, [0x4db060]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x21]
movzx esi, byte [esp + 0x22]
mov ecx, edi
mov ebp, edx
mov edi, eax
movzx eax, byte [esp + 0x20]
mov dword [edi + ecx - 6], 0x3030755c
xchg esi, eax
mov byte [edi + ecx - 2], al
xchg esi, eax
mov byte [edi + ecx - 1], bl
mov esi, dword [esp + 0x28]
lea edx, [esi + 1]
mov ebx, esi
movzx esi, byte [esp + 0x80]
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x4c5cfb
xchg esi, eax
test al, al
xchg esi, eax
mov ebp, dword [esp + 0x38]
mov ecx, edi
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
jmp 0x4c5cfb
mov ebp, dword [esp + 0x38]
mov ecx, edi
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
je 0x4c5ea8
cmp al, 0xe2
jne 0x4c5ea8
mov dword [esp + 0x30], ebp
lea esi, [ebx + 2]
mov ebp, dword [esp + 0x78]
cmp ebp, esi
jle 0x4c5ea4
lea eax, [ebx + 1]
cmp ebp, eax
jbe 0x4c6143
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x74]
lea eax, [ebx + edi + 1]
cmp byte [eax], 0x80
jne 0x4c5e95
cmp ebp, esi
jbe 0x4c613a
movzx esi, byte [edi + ebx + 2]
and esi, 0xfffffffe
xchg esi, eax
cmp al, 0xa8
xchg esi, eax
jne 0x4c5e86
cmp edx, ebx
ja 0x4c6131
sub ebx, edx
mov esi, dword [esp + 0x2c]
lea ebp, [ebx + esi]
mov eax, dword [esp + 0x7c]
sub eax, edx
neg eax
sar eax, 0x1f
and edx, eax
lea eax, [edi + edx]
mov edx, dword [esp + 0x30]
cmp edx, ebp
jae 0x4c5dc1
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], eax
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
lea eax, [0x4db060]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebp
add esi, ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.memmove
mov ecx, dword [0x5ac67c]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x74]
movzx ebx, byte [edx + eax + 2]
and ebx, 0xf
cmp ecx, ebx
jbe 0x4c612a
mov ecx, dword [esp + 0x34]
add ecx, 6
mov ebp, dword [0x5ac678]
movzx ebx, byte [ebx + ebp]
mov ebp, dword [esp + 0x38]
cmp ebp, ecx
jb 0x4c5e1c
mov esi, dword [esp + 0x54]
jmp 0x4c5e65
mov byte [esp + 0x22], bl
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 6
lea eax, [0x4db060]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x22]
mov esi, ecx
mov ebp, edx
mov edx, dword [esp + 0x74]
mov ecx, eax
mov eax, dword [esp + 0x28]
mov byte [ecx + esi - 6], 0x5c
mov dword [ecx + esi - 5], 0x32303275
mov byte [ecx + esi - 1], bl
lea ebx, [eax + 3]
movzx eax, byte [esp + 0x20]
mov edi, ecx
mov ecx, esi
mov edx, ebx
jmp 0x4c5ea8
movzx eax, byte [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
jmp 0x4c5ea8
movzx eax, byte [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
jmp 0x4c5ea8
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x4c]
mov esi, dword [ebx]
mov ecx, dword [esi]
mov dword [esp], ebx
mov byte [esp + 4], al
mov edx, esi
call ecx
mov eax, dword [esp + 8]
cmp eax, 9
jge 0x4c5eed
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0x24]
jmp 0x4c5b25
cmp eax, 0xb
je 0x4c5fac
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
ja 0x4c6125
sub ecx, eax
mov ebx, dword [esp + 0x34]
lea ebp, [ecx + ebx]
mov esi, dword [esp + 0x7c]
sub esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
mov esi, dword [esp + 0x74]
add eax, esi
mov edi, dword [esp + 0x38]
cmp edi, ebp
jae 0x4c5f76
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x4db060]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x54], ecx
mov edi, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], edi
mov edx, dword [esp + 0x54]
add ebx, edx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x28]
lea edx, [eax + 1]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x54]
jmp 0x4c5b25
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x34]
jmp 0x4c5fc6
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x34], esi
mov dword [esp], eax
call sym.encoding_json._scanner_.eof
cmp dword [esp + 4], 0xb
jne 0x4c6033
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x38]
cmp ecx, edx
ja 0x4c6120
mov eax, dword [esp + 0x4c]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], eax
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x60]
mov eax, dword [edx]
call eax
add esp, 0x64
ret
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jb 0x4c611b
sub ecx, eax
mov edx, dword [esp + 0x34]
lea ebx, [ecx + edx]
mov ebp, dword [esp + 0x7c]
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
mov ebp, dword [esp + 0x74]
add eax, ebp
mov ebp, dword [esp + 0x38]
cmp ebp, ebx
jb 0x4c6071
mov edi, dword [esp + 0x54]
jmp 0x4c60b5
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
lea eax, [0x4db060]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebp, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], edi
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebp
add edx, edi
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov eax, dword [esp + 0x54]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x60]
mov eax, dword [edx]
call eax
add esp, 0x64
ret
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceB
mov eax, ebx
call sym.runtime.panicIndex
mov eax, edx
mov ecx, ebx
call sym.runtime.panicSliceB
mov eax, esi
mov ecx, ebp
call sym.runtime.panicIndex
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
mov eax, edx
call sym.runtime.panicIndex
mov eax, edx
mov ecx, ebx
call sym.runtime.panicSliceB
nop
call sym.runtime.deferreturn
add esp, 0x64
ret
call sym.runtime.morestack_noctxt
jmp sym.encoding_json.appendCompact