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

Disassembly:
mov ecx, dword [0x92707c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4e9116
sub esp, 0x68
mov eax, 0
mov dword [esp + 0x64], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
call sym.encoding_json.newScanner
mov eax, dword [esp]
mov dword [esp + 0x4c], eax
lea ecx, [sym.encoding_json.appendCompact.deferwrap1]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x5c]
mov dword [esp + 0x64], ecx
mov byte [esp + 0x23], 1
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x7c]
movzx esi, byte [esp + 0x84]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x28], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x34]
jmp 0x4e8a84
inc ecx
mov ebp, dword [esp + 0x78]
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x48], eax
mov edi, ebx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x78]
movzx esi, byte [esp + 0x84]
mov ebx, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x28]
cmp ebp, ebx
jle 0x4e8f5d
movzx eax, byte [ecx + ebx]
mov byte [esp + 0x20], al
xchg esi, eax
test al, al
xchg esi, eax
je 0x4e8c54
cmp al, 0x3c
je 0x4e8ab9
cmp al, 0x3e
je 0x4e8ab9
cmp al, 0x26
jne 0x4e8c40
mov ebp, dword [esp + 0x24]
cmp ebp, ebx
jge 0x4e8b74
ja 0x4e9103
sub ebx, ebp
mov esi, dword [esp + 0x44]
lea eax, [ebx + esi]
sub edx, ebp
neg edx
sar edx, 0x1f
and edx, ebp
add edx, ecx
mov ebp, dword [esp + 0x48]
cmp ebp, eax
jae 0x4e8b27
mov dword [esp + 0x48], ebx
mov dword [esp + 0x58], edx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
lea eax, [0x6b2120]
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 edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov ebp, ecx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x58], edi
mov dword [esp + 0x44], eax
lea ecx, [edi + esi]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.memmove
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x28]
movzx esi, byte [esp + 0x84]
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x58]
jmp 0x4e8b89
mov ebp, dword [esp + 0x48]
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x48], eax
movzx eax, byte [esp + 0x2c]
mov dword [esp + 0x58], edi
mov esi, dword [esp + 0x48]
add esi, 6
shr al, 4
movzx eax, al
movzx ebx, byte [esp + 0x20]
and ebx, 0xf
lea edi, [0x6f7ca7]
movzx eax, byte [eax + edi]
movzx ebx, byte [ebx + edi]
cmp ebp, esi
jae 0x4e8c0d
mov byte [esp + 0x22], al
mov byte [esp + 0x21], bl
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 6
lea eax, [0x6b2120]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
movzx eax, byte [esp + 0x22]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x80]
movzx ebx, byte [esp + 0x21]
mov dword [esp + 0x58], edi
lea edi, [0x6f7ca7]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x48]
mov dword [edi + esi - 6], 0x3030755c
mov byte [edi + esi - 2], al
mov byte [edi + esi - 1], bl
mov eax, esi
mov esi, dword [esp + 0x28]
lea ebx, [esi + 1]
movzx esi, byte [esp + 0x84]
xchg esi, eax
test al, al
xchg esi, eax
jmp 0x4e8c62
xchg esi, eax
test al, al
xchg esi, eax
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x48]
mov eax, edi
mov edi, dword [esp + 0x44]
jmp 0x4e8c62
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x48]
mov eax, edi
mov edi, dword [esp + 0x44]
je 0x4e8e20
movzx esi, byte [esp + 0x20]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x4e8e25
mov dword [esp + 0x40], ebx
mov esi, dword [esp + 0x28]
lea edx, [esi + 2]
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jle 0x4e8e15
mov dword [esp + 0x54], eax
lea eax, [esi + 1]
cmp ebx, eax
jbe 0x4e90fc
lea eax, [esi + ecx + 1]
cmp byte [eax], 0x80
jne 0x4e8e06
cmp ebx, edx
jbe 0x4e90f3
movzx eax, byte [ecx + esi + 2]
and eax, 0xfffffffe
cmp al, 0xa8
jne 0x4e8df7
mov eax, dword [esp + 0x40]
cmp eax, esi
jge 0x4e8d78
ja 0x4e90ec
sub esi, eax
lea ebx, [esi + edi]
mov edx, dword [esp + 0x80]
sub edx, eax
neg edx
sar edx, 0x1f
and eax, edx
add eax, ecx
cmp ebp, ebx
jb 0x4e8cf7
mov edx, dword [esp + 0x54]
jmp 0x4e8d3f
mov dword [esp + 0x48], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
lea eax, [0x6b2120]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
mov edx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x58], edx
lea ecx, [edx + edi]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call sym.runtime.memmove
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
jmp 0x4e8d7c
mov eax, dword [esp + 0x54]
add edi, 6
movzx edx, byte [ecx + esi + 2]
and edx, 0xf
lea ecx, [0x6f7ca7]
movzx edx, byte [edx + ecx]
cmp ebp, edi
jae 0x4e8dda
mov byte [esp + 0x22], dl
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 6
lea eax, [0x6b2120]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [0x6f7ca7]
movzx edx, byte [esp + 0x22]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x28]
mov byte [edi + eax - 6], 0x5c
mov dword [edi + eax - 5], 0x32303275
mov byte [edi + eax - 1], dl
lea edx, [esi + 3]
movzx esi, byte [esp + 0x20]
mov ebx, edx
jmp 0x4e8e25
movzx esi, byte [esp + 0x20]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x54]
jmp 0x4e8e25
movzx esi, byte [esp + 0x20]
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x54]
jmp 0x4e8e25
movzx esi, byte [esp + 0x20]
mov ebx, dword [esp + 0x40]
jmp 0x4e8e25
movzx esi, byte [esp + 0x20]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
mov eax, dword [edx]
mov dword [esp], ecx
xchg esi, eax
mov byte [esp + 4], al
xchg esi, eax
call eax
mov eax, dword [esp + 8]
cmp eax, 9
jl 0x4e8f2a
cmp eax, 0xb
je 0x4e8f43
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
jl 0x4e8e7b
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x58]
jmp 0x4e8f22
ja 0x4e90e7
sub ecx, eax
mov ebx, dword [esp + 0x44]
lea ebp, [ecx + ebx]
mov esi, dword [esp + 0x80]
sub esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and eax, esi
mov esi, dword [esp + 0x78]
add eax, esi
mov edi, dword [esp + 0x48]
cmp edi, ebp
jae 0x4e8ef4
mov dword [esp + 0x48], ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x6b2120]
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 + 0x44]
mov dword [esp + 0x58], eax
mov edi, ecx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebp
mov edx, dword [esp + 0x58]
add ebx, edx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x58]
lea esi, [ecx + 1]
jmp 0x4e8a50
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x58]
jmp 0x4e8a50
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x48], ecx
jmp 0x4e8f71
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x44], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x24], ebx
mov dword [esp], eax
call sym.encoding_json._scanner_.eof
cmp dword [esp + 4], 0xb
jne 0x4e8fde
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x44]
cmp ecx, edx
ja 0x4e90e2
mov eax, dword [esp + 0x4c]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax + 0x18]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], eax
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
call eax
add esp, 0x68
ret
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x24]
cmp ecx, eax
jle 0x4e9095
jb 0x4e90dd
sub ecx, eax
mov edx, dword [esp + 0x48]
lea ebx, [ecx + edx]
mov ebp, dword [esp + 0x80]
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
mov eax, dword [esp + 0x78]
add eax, ebp
mov ebp, dword [esp + 0x44]
cmp ebp, ebx
jb 0x4e9025
mov edi, dword [esp + 0x58]
jmp 0x4e9069
mov dword [esp + 0x44], ecx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
lea eax, [0x6b2120]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ebp, esi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov dword [esp + 0x58], edi
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 + 0x48]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x58]
jmp 0x4e90a1
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x64]
mov eax, dword [edx]
call eax
add esp, 0x68
ret
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceB
mov ecx, esi
call sym.runtime.panicSliceB
mov eax, edx
mov ecx, ebx
call sym.runtime.panicIndex
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicSliceB
nop
call sym.runtime.deferreturn
add esp, 0x68
ret
call sym.runtime.morestack_noctxt
jmp sym.encoding_json.appendCompact