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

Disassembly:
mov ecx, dword [0x64f96c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x4f1b30
sub esp, 0xf8
mov eax, dword [esp + 0xfc]
mov dword [eax + 0x34], 0
mov dword [eax + 0x3c], 0
mov byte [eax + 0x40], 0
xor ecx, ecx
xor edx, edx
jmp 0x4f0c68
mov eax, dword [esp + 0xfc]
mov ecx, ebp
mov edx, ebx
mov byte [esp + 0x22], dl
mov byte [esp + 0x23], cl
mov dword [esp], eax
call sym.encoding_xml._Decoder_.getc
movzx eax, byte [esp + 5]
test al, al
je 0x4f133d
movzx ebx, byte [esp + 4]
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
cmp al, 0x5d
xchg ebp, eax
jne 0x4f0cac
movzx ebp, byte [esp + 0x22]
xchg ebp, eax
cmp al, 0x5d
xchg ebp, eax
jne 0x4f0cb1
cmp bl, 0x3e
jne 0x4f0cb1
jmp 0x4f1119
movzx ebp, byte [esp + 0x22]
cmp bl, 0x3c
jne 0x4f0cc9
movzx esi, byte [esp + 0x104]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4f0cd1
jmp 0x4f11af
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
test edi, edi
jl 0x4f0ce6
xchg edi, eax
cmp al, bl
xchg edi, eax
je 0x4f1267
cmp bl, 0x26
jne 0x4f109b
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4f109b
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp + 0xec], ecx
mov edx, dword [eax + 0x34]
nop
sub edx, dword [eax + 0x3c]
mov dword [esp + 0xac], edx
mov dword [esp], ecx
mov byte [esp + 4], 0x26
call sym.bytes._Buffer_.WriteByte
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call sym.encoding_xml._Decoder_.mustgetc
movzx eax, byte [esp + 5]
test al, al
je 0x4f1315
movzx eax, byte [esp + 4]
cmp al, 0x23
je 0x4f0ff8
nop
cmp al, 0xa
jne 0x4f0d61
mov ecx, dword [esp + 0xfc]
dec dword [ecx + 0x7c]
jmp 0x4f0d68
mov ecx, dword [esp + 0xfc]
movzx eax, al
mov dword [ecx + 0x6c], eax
mov eax, dword [ecx + 0x88]
mov edx, dword [ecx + 0x8c]
add eax, 0xffffffff
mov dword [ecx + 0x88], eax
adc edx, 0xffffffff
mov dword [ecx + 0x8c], edx
mov dword [esp], ecx
call sym.encoding_xml._Decoder_.readName
movzx eax, byte [esp + 4]
test al, al
je 0x4f0da6
mov eax, dword [esp + 0xfc]
jmp 0x4f0db8
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x74]
test ecx, ecx
jne 0x4f129d
mov dword [esp], eax
call sym.encoding_xml._Decoder_.mustgetc
movzx eax, byte [esp + 5]
test al, al
je 0x4f1275
movzx ebx, byte [esp + 4]
cmp bl, 0x3b
je 0x4f0e1e
cmp bl, 0xa
jne 0x4f0de8
mov ebp, dword [esp + 0xfc]
dec dword [ebp + 0x7c]
jmp 0x4f0def
mov ebp, dword [esp + 0xfc]
movzx ebx, bl
mov dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x88]
mov esi, dword [ebp + 0x8c]
add ebx, 0xffffffff
mov dword [ebp + 0x88], ebx
adc esi, 0xffffffff
mov dword [ebp + 0x8c], esi
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f0fe4
mov edx, dword [esp + 0xfc]
mov ecx, dword [edx + 0x34]
mov eax, dword [edx + 0x3c]
cmp ecx, eax
jb 0x4f1b2a
mov ebx, dword [esp + 0xac]
lea ebp, [ebx + 1]
mov esi, dword [edx + 0x30]
mov edi, dword [edx + 0x38]
sub ecx, eax
sub edi, eax
mov dword [esp + 0x94], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
add esi, eax
cmp ecx, ebp
jb 0x4f1b23
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0xc8], ebp
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x3b
call sym.bytes._Buffer_.WriteByte
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xac]
sub eax, ecx
mov edx, dword [esp + 0x8c]
sub edx, ecx
dec edx
mov dword [esp + 0xa8], edx
dec eax
mov ebx, eax
neg eax
sar eax, 0x1f
mov ebp, dword [esp + 0xc8]
and ebp, eax
mov eax, dword [esp + 0xd0]
add eax, ebp
mov dword [esp + 0xdc], eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.encoding_xml.isName
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f0ef9
mov ebx, dword [esp + 0xfc]
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f0fe2
lea eax, [esp + 0x48]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [0x630250]
lea ebx, [0x521340]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.runtime.mapaccess2_faststr
movzx eax, byte [esp + 0x14]
test al, al
jne 0x4f0faf
mov ebx, dword [esp + 0xfc]
mov ebp, dword [ebx + 0x10]
test ebp, ebp
jne 0x4f0f70
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f0fe2
lea eax, [0x520c00]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xd4]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xc], ecx
call sym.runtime.mapaccess2_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
movzx edx, byte [esp + 0x14]
mov ebx, dword [esp + 0xfc]
jmp 0x4f0fe2
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
lea edx, [esp + 0x44]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.intstring
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0xfc]
mov edx, 1
mov ebp, ebx
mov edi, dword [esp + 0xec]
mov ebx, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
jmp 0x4f18ba
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x23
call sym.bytes._Buffer_.WriteByte
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call sym.encoding_xml._Decoder_.mustgetc
movzx eax, byte [esp + 5]
test al, al
je 0x4f12ed
movzx ebx, byte [esp + 4]
cmp bl, 0x78
je 0x4f1039
mov eax, 0xa
jmp 0x4f1073
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov byte [esp + 4], 0x78
call sym.bytes._Buffer_.WriteByte
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call sym.encoding_xml._Decoder_.mustgetc
movzx eax, byte [esp + 5]
test al, al
je 0x4f12c5
movzx ebx, byte [esp + 4]
mov eax, 0x10
mov dword [esp + 0xc4], eax
mov ebp, dword [esp + 0xfc]
mov esi, dword [ebp + 0x34]
nop
sub esi, dword [ebp + 0x3c]
mov dword [esp + 0x9c], esi
mov edi, dword [esp + 0xec]
jmp 0x4f170c
mov byte [esp + 0x21], bl
cmp bl, 0xd
je 0x4f10e4
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
jne 0x4f10b4
cmp bl, 0xa
je 0x4f0c5d
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp], ecx
call sym.bytes._Buffer_.WriteByte
movzx ebx, byte [esp + 0x21]
movzx ebp, byte [esp + 0x22]
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
jmp 0x4f0c5d
mov eax, dword [esp + 0xfc]
lea ecx, [eax + 0x30]
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call sym.bytes._Buffer_.WriteByte
movzx ebx, byte [esp + 0x21]
movzx ebp, byte [esp + 0x22]
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
jmp 0x4f0c5d
movzx ebx, byte [esp + 0x104]
test bl, bl
je 0x4f1136
mov ebx, dword [esp + 0xfc]
mov eax, 2
jmp 0x4f1352
lea eax, [0x528800]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x22
lea ecx, [0x544e75]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x573e30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x64faa8]
test edx, edx
je 0x4f1184
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0x100]
test ebx, ebx
jge 0x4f11ee
nop
mov ebx, dword [esp + 0xfc]
mov dword [ebx + 0x6c], 0x3c
mov ebp, dword [ebx + 0x88]
mov esi, dword [ebx + 0x8c]
add ebp, 0xffffffff
mov dword [ebx + 0x88], ebp
adc esi, 0xffffffff
mov dword [ebx + 0x8c], esi
xor eax, eax
jmp 0x4f1352
lea eax, [0x528800]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x54459a]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x573e30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x64faa8]
test edx, edx
je 0x4f123c
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0xfc]
xor eax, eax
jmp 0x4f1352
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x104]
test bl, bl
jne 0x4f13a1
mov ebx, dword [esp + 0xfc]
xor eax, eax
mov ecx, dword [ebx + 0x34]
mov ebp, dword [ebx + 0x3c]
nop
cmp ebp, ecx
ja 0x4f16e4
mov esi, dword [ebx + 0x30]
mov edx, dword [ebx + 0x38]
sub edx, ebp
sub ecx, ebp
sub ecx, eax
mov eax, edx
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [esi + ebp]
cmp edx, ecx
jb 0x4f16df
mov dword [esp + 0x90], edx
mov dword [esp + 0xcc], eax
mov dword [esp + 0xb8], ecx
mov ebp, ecx
mov esi, edx
mov edi, eax
jmp 0x4f1470
mov eax, dword [esp + 0xfc]
mov ecx, dword [eax + 0x74]
cmp dword [0x62b9c0], ecx
jne 0x4f1426
mov edx, dword [eax + 0x78]
mov ebx, dword [0x62b9c4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.runtime.ifaceeq
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f1426
lea eax, [0x528800]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1f
lea ecx, [0x54409c]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x573e30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x64faa8]
test edx, edx
je 0x4f1423
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ebx, dword [esp + 0xfc]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0xcc]
mov eax, ecx
mov ecx, edx
mov edx, ebp
mov ebp, dword [esp + 0xb8]
test ecx, ecx
je 0x4f16ba
mov dword [esp + 0xc0], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xe8], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.unicode_utf8.DecodeRune
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, 0xfffd
jne 0x4f14b1
cmp ecx, 1
je 0x4f152d
mov edx, dword [esp + 0xbc]
cmp edx, ecx
jb 0x4f16d6
mov ebx, dword [esp + 0xc0]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
sub edx, ecx
mov ecx, dword [esp + 0xe8]
add ecx, ebx
cmp eax, 9
je 0x4f144e
cmp eax, 0xa
je 0x4f144e
cmp eax, 0xd
je 0x4f144e
lea ebx, [eax - 0x20]
cmp ebx, 0xd7df
jbe 0x4f144e
lea ebx, [eax - 0xe000]
cmp ebx, 0x1ffd
jbe 0x4f144e
lea ebx, [eax - 0x10000]
cmp ebx, 0xfffff
jbe 0x4f144e
jmp 0x4f15a6
lea eax, [0x528800]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xd
lea ecx, [0x53e3c2]
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x573e30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x64faa8]
test edx, edx
je 0x4f157b
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x51f780]
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
lea eax, [0x542344]
mov dword [esp], eax
mov dword [esp + 4], 0x19
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Sprintf
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe0], ecx
lea edx, [0x528800]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
mov ecx, dword [0x64faa8]
test ecx, ecx
jne 0x4f1652
mov ecx, dword [esp + 0xe0]
jmp 0x4f1660
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xe0]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x573e30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x64faa8]
test edx, edx
je 0x4f168f
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov dword [esp + 0x108], edi
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x110], esi
add esp, 0xf8
ret
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicSliceB
movzx ebx, byte [esp + 4]
mov edi, dword [esp + 0xec]
mov eax, dword [esp + 0xc4]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x9c]
lea ecx, [ebx - 0x30]
cmp cl, 9
jbe 0x4f172e
cmp eax, 0x10
jne 0x4f1757
lea ecx, [ebx - 0x61]
cmp cl, 5
jbe 0x4f172e
cmp eax, 0x10
jne 0x4f1757
lea ecx, [ebx - 0x41]
cmp cl, 5
ja 0x4f1757
mov dword [esp], edi
mov byte [esp + 4], bl
call sym.bytes._Buffer_.WriteByte
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call sym.encoding_xml._Decoder_.mustgetc
movzx eax, byte [esp + 5]
test al, al
jne 0x4f16eb
jmp 0x4f1abd
cmp bl, 0x3b
je 0x4f1793
cmp bl, 0xa
jne 0x4f1764
dec dword [ebp + 0x7c]
movzx ebx, bl
mov dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x88]
mov esi, dword [ebp + 0x8c]
add ebx, 0xffffffff
mov dword [ebp + 0x88], ebx
adc esi, 0xffffffff
mov dword [ebp + 0x8c], esi
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4f18ba
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x3c]
cmp ecx, edx
jb 0x4f1b1c
mov ebx, dword [ebp + 0x30]
mov ebp, dword [ebp + 0x38]
sub ecx, edx
sub ebp, edx
mov dword [esp + 0x98], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
cmp esi, ecx
ja 0x4f1b15
sub ecx, esi
mov eax, dword [esp + 0x98]
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
add eax, edx
lea edx, [esp + 0x6c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa4], ecx
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov byte [esp + 4], 0x3b
call sym.bytes._Buffer_.WriteByte
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x40
call sym.strconv.ParseUint
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4f1856
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4f18ac
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ebx, 0x10ffff
xchg esi, ebx
setbe bl
xchg esi, ebx
and ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4f1884
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4f18ac
mov eax, ebx
sar ebx, 0x1f
lea ecx, [esp + 0x68]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.intstring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov eax, 1
mov ebp, dword [esp + 0xfc]
mov edi, dword [esp + 0xec]
test al, al
jne 0x4f1a57
movzx edx, byte [ebp]
test dl, dl
jne 0x4f18e2
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
xor ebp, ebp
xor ebx, ebx
jmp 0x4f0c5d
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0x3c]
cmp ecx, eax
jb 0x4f1b10
mov edx, dword [ebp + 0x30]
mov ebx, dword [ebp + 0x38]
sub ecx, eax
sub ebx, eax
mov esi, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
add edx, eax
mov eax, dword [esp + 0xac]
cmp eax, ecx
ja 0x4f1b0b
sub ecx, eax
sub esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
lea eax, [edx + esi]
lea edx, [esp + 0x24]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov ecx, dword [esp + 0x10]
lea eax, [ecx - 1]
cmp ecx, eax
jbe 0x4f1b06
mov eax, dword [esp + 0xc]
lea edx, [ecx + eax - 1]
cmp byte [edx], 0x3b
je 0x4f1984
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
lea eax, [0x53ec0e]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0xf
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], 0
lea edx, [0x54232b]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x19
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe4], ecx
lea edx, [0x528800]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
mov ecx, dword [0x64faa8]
test ecx, ecx
jne 0x4f19ef
mov ecx, dword [esp + 0xe4]
jmp 0x4f19fd
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xe4]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0xfc]
mov edx, dword [ecx + 0x7c]
mov dword [eax + 8], edx
lea edx, [0x573e30]
mov dword [ecx + 0x74], edx
mov edx, dword [0x64faa8]
test edx, edx
je 0x4f1a2c
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ecx + 0x78]
mov dword [edi + 4], edx
mov dword [ecx + 0x78], eax
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x4f1a77
nop
mov dword [ebp + 0x34], 0
mov dword [ebp + 0x3c], 0
mov byte [ebp + 0x40], 0
jmp 0x4f1a95
mov byte [ebp + 0x40], 0
jl 0x4f1aee
mov ebx, dword [ebp + 0x34]
mov esi, dword [ebp + 0x3c]
sub ebx, esi
cmp eax, ebx
jg 0x4f1aee
add eax, esi
mov ebx, dword [ebp + 0x38]
cmp ebx, eax
jb 0x4f1ae5
mov dword [ebp + 0x34], eax
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.bytes._Buffer_.WriteString
movzx esi, byte [esp + 0x104]
mov edi, dword [esp + 0x100]
xor ebp, ebp
xor ebx, ebx
jmp 0x4f0c5d
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
add esp, 0xf8
ret
mov ecx, eax
mov edx, ebx
call sym.runtime.panicSliceAcap
lea eax, [0x51f640]
mov dword [esp], eax
lea eax, [0x573770]
mov dword [esp + 4], eax
call sym.runtime.gopanic
call sym.runtime.panicIndex
call sym.runtime.panicSliceB
call sym.runtime.panicSliceB
mov eax, esi
call sym.runtime.panicSliceB
mov eax, edx
call sym.runtime.panicSliceB
mov eax, ebp
call sym.runtime.panicSliceB
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.encoding_xml._Decoder_.text