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

Disassembly:
mov ecx, dword [0x664c04]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x4c310c
sub esp, 0x8c
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
cmp dword [ecx + 0x2c], eax
jbe 0x4c2a00
shl eax, 2
add eax, 0x2c
mov dword [esp + 0x58], eax
mov edx, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call sym.internal_coverage_slicereader._Reader_.Seek
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4c29e7
mov ebp, dword [esp + 0x90]
mov esi, dword [ebp]
mov eax, dword [esi + 0x10]
lea edx, [eax + 4]
mov ebx, dword [esi + 8]
cmp ebx, edx
jb 0x4c3106
cmp eax, edx
ja 0x4c30ff
mov ecx, dword [esi + 0x14]
mov edx, dword [esi]
mov edx, dword [edx + eax]
add eax, 4
mov dword [esi + 0x10], eax
adc ecx, 0
mov dword [esi + 0x14], ecx
mov eax, dword [esp + 0x58]
cmp edx, eax
jb 0x4c2911
cmp dword [ebp + 4], edx
jae 0x4c2995
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp], edx
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x51c060]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x53b750]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
add esp, 0x8c
ret
mov eax, dword [ebp]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call sym.internal_coverage_slicereader._Reader_.Seek
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4c29ce
mov edx, dword [esp + 0x90]
mov ebx, dword [edx]
xor eax, eax
xor ecx, ecx
jmp 0x4c2a4e
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
add esp, 0x8c
ret
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
add esp, 0x8c
ret
lea eax, [0x53ab84]
mov dword [esp], eax
mov dword [esp + 4], 0x16
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
add esp, 0x8c
ret
add ecx, 7
mov esi, dword [ebx + 0x14]
mov ebp, dword [ebx + 4]
mov edi, dword [ebx + 0x10]
test esi, esi
jne 0x4c30f6
cmp ebp, edi
jbe 0x4c30ed
mov ebp, dword [ebx]
movzx ebp, byte [ebp + edi]
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
and ebp, 0x7f
shl ebp, cl
add edi, 1
mov dword [ebx + 0x10], edi
adc esi, 0
mov dword [ebx + 0x14], esi
cmp ecx, 0x20
sbb esi, esi
and esi, ebp
or eax, esi
movzx ebp, byte [esp + 0x2b]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x4c2a4b
mov dword [esp + 0x4c], eax
mov ebx, dword [edx]
xor ecx, ecx
xor ebp, ebp
jmp 0x4c2aad
lea ebp, [ecx + 7]
mov edx, esi
mov ecx, eax
mov esi, dword [ebx + 0x14]
mov edi, dword [ebx + 4]
mov eax, dword [ebx + 0x10]
test esi, esi
jne 0x4c30e6
cmp eax, edi
jae 0x4c30df
mov dword [esp + 0x48], ecx
mov edi, dword [ebx]
movzx edi, byte [edi + eax]
xchg edi, eax
mov byte [esp + 0x2a], al
xchg edi, eax
and edi, 0x7f
mov ecx, ebp
shl edi, cl
add eax, 1
mov dword [ebx + 0x10], eax
adc esi, 0
mov dword [ebx + 0x14], esi
cmp ecx, 0x20
sbb eax, eax
and eax, edi
mov esi, edx
mov edx, dword [esp + 0x48]
or eax, edx
movzx edx, byte [esp + 0x2a]
test dl, 0x80
jne 0x4c2aa6
mov dword [esp + 0x80], eax
mov edx, dword [esi]
xor ecx, ecx
xor ebx, ebx
jmp 0x4c2b16
lea ebx, [ecx + 7]
mov ecx, eax
mov ebp, dword [edx + 0x14]
mov edi, dword [edx + 4]
mov eax, dword [edx + 0x10]
test ebp, ebp
jne 0x4c30d6
cmp edi, eax
jbe 0x4c30cf
mov dword [esp + 0x44], ecx
mov edi, dword [edx]
movzx edi, byte [edi + eax]
xchg edi, eax
mov byte [esp + 0x29], al
xchg edi, eax
and edi, 0x7f
mov ecx, ebx
shl edi, cl
add eax, 1
mov dword [edx + 0x10], eax
adc ebp, 0
mov dword [edx + 0x14], ebp
cmp ecx, 0x20
sbb eax, eax
and eax, edi
mov ebp, dword [esp + 0x44]
or eax, ebp
movzx ebp, byte [esp + 0x29]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x4c2b11
mov edx, dword [esi + 0x30]
mov ecx, dword [edx + 8]
cmp ecx, eax
jbe 0x4c30ca
mov edx, dword [edx + 4]
lea edx, [edx + eax*8]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
mov ebp, dword [esp + 0x98]
mov dword [ebp + 0xc], ebx
mov ebx, dword [0x664ca8]
test ebx, ebx
je 0x4c2ba5
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [ebp + 8]
mov dword [edi + 4], ebx
mov dword [ebp + 8], edx
mov edx, dword [esi + 0x30]
mov ecx, dword [edx + 8]
mov eax, dword [esp + 0x80]
cmp ecx, eax
jbe 0x4c30c5
mov edx, dword [edx + 4]
lea edx, [edx + eax*8]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
mov dword [ebp + 4], ebx
mov ebx, dword [0x664ca8]
test ebx, ebx
je 0x4c2be2
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [ebp]
mov dword [edi + 4], ebx
mov dword [ebp], edx
mov dword [ebp + 0x14], 0
mov edx, dword [esp + 0x4c]
cmp dword [ebp + 0x18], edx
jge 0x4c2c4b
lea eax, [0x52af20]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], edx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 0x14], 0
mov edx, dword [esp + 0x4c]
mov dword [ecx + 0x18], edx
mov ebx, dword [0x664ca8]
test ebx, ebx
je 0x4c2c3f
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x10]
mov dword [edi + 4], ebx
mov dword [ecx + 0x10], eax
mov ebp, ecx
mov esi, dword [esp + 0x90]
xor eax, eax
jmp 0x4c2c7d
mov dword [ecx + 0x14], ebx
lea ebx, [ebx + ebx*2]
lea edi, [ebp + ebx*8 - 0x18]
lea esi, [esp + 0x5c]
call fcn.0046aac4
mov ecx, dword [esp + 0x54]
inc ecx
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x98]
mov esi, ebx
mov eax, ecx
cmp eax, edx
jae 0x4c2d7c
mov dword [esp + 0x54], eax
mov ebx, dword [esi]
xor ecx, ecx
xor edi, edi
jmp 0x4c2ea2
mov dword [esp + 0x7c], edx
mov ebx, dword [esi]
xor eax, eax
xor ecx, ecx
jmp 0x4c2f01
mov dword [esp + 0x3c], eax
mov edx, dword [esi]
xor ecx, ecx
xor ebx, ebx
jmp 0x4c2f56
mov dword [esp + 0x78], ebp
mov edx, dword [esi]
xor eax, eax
xor ecx, ecx
jmp 0x4c2fb7
mov edx, dword [esi]
xor ecx, ecx
xor ebx, ebx
jmp 0x4c3013
mov dword [esp + 0x34], eax
lea edi, [esp + 0x5c]
xor eax, eax
call fcn.0046a5ea
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebp
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x14]
inc ebx
mov ebp, dword [ecx + 0x10]
cmp edx, ebx
jae 0x4c2c4f
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x52af20]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x98]
mov dword [ebx + 0x18], eax
mov eax, dword [0x664ca8]
test eax, eax
je 0x4c2d67
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x10]
mov dword [edi + 4], ebp
mov dword [ebx + 0x10], ecx
xor eax, eax
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x98]
jmp 0x4c2c4f
mov edx, dword [esi]
xor eax, eax
xor ecx, ecx
xor ebx, ebx
jmp 0x4c2d98
add ebx, 7
mov eax, dword [esp + 0x2c]
mov edx, esi
mov ebp, dword [esp + 0x98]
mov ecx, edi
mov esi, dword [edx + 0x14]
mov edi, dword [edx + 4]
mov ebp, dword [edx + 0x10]
test esi, esi
jne 0x4c2e89
cmp ebp, edi
jae 0x4c2e80
mov dword [esp + 0x2c], eax
mov dword [esp + 0x50], ecx
mov edi, dword [edx]
movzx edi, byte [edi + ebp]
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
and edi, 0x7f
mov dword [esp + 0x80], edi
mov ecx, ebx
shl edi, cl
mov dword [esp + 0x7c], edi
lea eax, [ecx - 0x20]
mov dword [esp + 0x78], eax
mov ecx, eax
mov edi, dword [esp + 0x80]
shl edi, cl
mov dword [esp + 0x74], edi
neg eax
mov ecx, eax
mov edi, dword [esp + 0x80]
shr edi, cl
add ebp, 1
mov dword [edx + 0x10], ebp
adc esi, 0
mov dword [edx + 0x14], esi
cmp ebx, 0x20
sbb ebp, ebp
mov esi, edx
mov edx, dword [esp + 0x7c]
and ebp, edx
mov edx, dword [esp + 0x2c]
or edx, ebp
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0x78]
cmp ebp, 0x20
sbb ebp, ebp
mov edx, dword [esp + 0x74]
and edx, ebp
cmp eax, 0x20
sbb ebp, ebp
and edi, ebp
or edi, edx
mov edx, dword [esp + 0x50]
or edi, edx
movzx edx, byte [esp + 0x23]
test dl, 0x80
jne 0x4c2d86
mov eax, dword [esp + 0x2c]
test eax, eax
setne al
test edi, edi
setne cl
or ecx, eax
mov eax, dword [esp + 0x98]
mov byte [eax + 0x1c], cl
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
add esp, 0x8c
ret
mov eax, ebp
mov ecx, edi
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, edi
call sym.runtime.panicExtendIndex
lea edi, [ecx + 7]
mov ebp, dword [esp + 0x98]
mov ecx, edx
mov edx, dword [esp + 0x4c]
mov edx, dword [ebx + 0x14]
mov eax, dword [ebx + 4]
mov ebp, dword [ebx + 0x10]
test edx, edx
jne 0x4c30ba
cmp eax, ebp
jbe 0x4c30b1
mov dword [esp + 0x40], ecx
mov eax, dword [ebx]
movzx eax, byte [eax + ebp]
mov byte [esp + 0x28], al
and eax, 0x7f
mov ecx, edi
shl eax, cl
add ebp, 1
mov dword [ebx + 0x10], ebp
adc edx, 0
mov dword [ebx + 0x14], edx
cmp ecx, 0x20
sbb edx, edx
and eax, edx
mov edx, dword [esp + 0x40]
or edx, eax
movzx ebp, byte [esp + 0x28]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x4c2e92
jmp 0x4c2c94
add ecx, 7
mov edx, dword [esp + 0x7c]
mov ebp, dword [ebx + 0x14]
mov edi, dword [ebx + 4]
mov edx, dword [ebx + 0x10]
test ebp, ebp
jne 0x4c30a6
cmp edx, edi
jae 0x4c309d
mov edi, dword [ebx]
movzx edi, byte [edi + edx]
xchg edi, eax
mov byte [esp + 0x27], al
xchg edi, eax
and edi, 0x7f
shl edi, cl
add edx, 1
mov dword [ebx + 0x10], edx
adc ebp, 0
mov dword [ebx + 0x14], ebp
cmp ecx, 0x20
sbb edx, edx
and edx, edi
or eax, edx
movzx edx, byte [esp + 0x27]
test dl, 0x80
jne 0x4c2efa
jmp 0x4c2ca3
lea ebx, [ecx + 7]
mov edx, eax
mov ecx, ebp
mov ebp, dword [edx + 0x14]
mov edi, dword [edx + 4]
mov eax, dword [edx + 0x10]
test ebp, ebp
jne 0x4c3094
cmp eax, edi
jae 0x4c308d
mov dword [esp + 0x38], ecx
mov edi, dword [edx]
movzx edi, byte [edi + eax]
xchg edi, eax
mov byte [esp + 0x26], al
xchg edi, eax
and edi, 0x7f
mov ecx, ebx
shl edi, cl
add eax, 1
mov dword [edx + 0x10], eax
adc ebp, 0
mov dword [edx + 0x14], ebp
cmp ecx, 0x20
sbb ebp, ebp
and edi, ebp
mov ebp, dword [esp + 0x38]
or ebp, edi
mov eax, edx
movzx edx, byte [esp + 0x26]
test dl, 0x80
jne 0x4c2f4f
jmp 0x4c2cb2
add ecx, 7
mov ebp, dword [esp + 0x78]
mov ebx, dword [edx + 0x14]
mov edi, dword [edx + 4]
mov ebp, dword [edx + 0x10]
test ebx, ebx
jne 0x4c3082
cmp ebp, edi
jae 0x4c3079
mov edi, dword [edx]
movzx edi, byte [edi + ebp]
xchg edi, eax
mov byte [esp + 0x25], al
xchg edi, eax
and edi, 0x7f
shl edi, cl
add ebp, 1
mov dword [edx + 0x10], ebp
adc ebx, 0
mov dword [edx + 0x14], ebx
cmp ecx, 0x20
sbb ebx, ebx
and edi, ebx
or eax, edi
movzx ebx, byte [esp + 0x25]
test bl, 0x80
jne 0x4c2fb0
jmp 0x4c2cc1
lea ebx, [ecx + 7]
mov edx, esi
mov esi, dword [esp + 0x90]
mov ecx, ebp
mov ebp, dword [edx + 0x14]
mov edi, dword [edx + 4]
mov esi, dword [edx + 0x10]
test ebp, ebp
jne 0x4c306e
cmp esi, edi
jae 0x4c3065
mov dword [esp + 0x30], ecx
mov edi, dword [edx]
movzx edi, byte [edi + esi]
xchg edi, eax
mov byte [esp + 0x24], al
xchg edi, eax
and edi, 0x7f
mov ecx, ebx
shl edi, cl
add esi, 1
mov dword [edx + 0x10], esi
adc ebp, 0
mov dword [edx + 0x14], ebp
cmp ecx, 0x20
sbb ebp, ebp
and edi, ebp
mov ebp, dword [esp + 0x30]
or ebp, edi
mov esi, edx
movzx edx, byte [esp + 0x24]
test dl, 0x80
jne 0x4c3005
jmp 0x4c2ccc
mov eax, esi
mov ecx, edi
call sym.runtime.panicIndex
mov eax, esi
mov ecx, edi
mov esi, ebp
call sym.runtime.panicExtendIndex
mov eax, ebp
mov ecx, edi
call sym.runtime.panicIndex
mov esi, ebx
mov eax, ebp
mov ecx, edi
call sym.runtime.panicExtendIndex
mov ecx, edi
call sym.runtime.panicIndex
mov esi, ebp
mov ecx, edi
call sym.runtime.panicExtendIndex
mov eax, edx
mov ecx, edi
call sym.runtime.panicIndex
mov esi, ebp
mov eax, edx
mov ecx, edi
call sym.runtime.panicExtendIndex
mov ecx, eax
mov eax, ebp
call sym.runtime.panicIndex
mov esi, edx
mov ecx, eax
mov eax, ebp
call sym.runtime.panicExtendIndex
call sym.runtime.panicIndexU
call sym.runtime.panicIndexU
mov ecx, edi
call sym.runtime.panicIndex
mov esi, ebp
mov ecx, edi
call sym.runtime.panicExtendIndex
mov ecx, edi
call sym.runtime.panicIndex
mov ecx, edi
call sym.runtime.panicExtendIndex
mov eax, edi
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, edi
mov ecx, ebp
call sym.runtime.panicExtendIndex
mov ecx, edx
call sym.runtime.panicSlice3C
call sym.runtime.panicSlice3Acap
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_coverage_decodemeta._CoverageMetaDataDecoder_.ReadFunc