1596 {
1597 int num;
1598 int num2;
1599 int num4;
1600 int num3;
1602 {
1603 num = 1;
1604 num2 = 0;
1606 if (num3 == 45)
1607 {
1608 num = -1;
1609 num2++;
1610 if ((uint)num2 >= (uint)
source.Length)
1611 {
1612 goto IL_0281;
1613 }
1615 }
1616 else if (num3 == 43)
1617 {
1618 num2++;
1619 if ((uint)num2 >= (uint)
source.Length)
1620 {
1621 goto IL_0281;
1622 }
1624 }
1625 num4 = 0;
1626 if (ParserHelpers.IsDigit(num3))
1627 {
1628 if (num3 != 48)
1629 {
1630 goto IL_009c;
1631 }
1632 while (true)
1633 {
1634 num2++;
1635 if ((uint)num2 >= (uint)
source.Length)
1636 {
1637 break;
1638 }
1640 if (num3 == 48)
1641 {
1642 continue;
1643 }
1644 goto IL_0091;
1645 }
1646 goto IL_0289;
1647 }
1648 }
1649 goto IL_0281;
1650 IL_0289:
1651 bytesConsumed = num2;
1653 return true;
1654 IL_009c:
1655 num4 = num3 - 48;
1656 num2++;
1657 if ((uint)num2 < (uint)
source.Length)
1658 {
1660 if (ParserHelpers.IsDigit(num3))
1661 {
1662 num2++;
1663 num4 = 10 * num4 + num3 - 48;
1664 if ((uint)num2 < (uint)
source.Length)
1665 {
1667 if (ParserHelpers.IsDigit(num3))
1668 {
1669 num2++;
1670 num4 = 10 * num4 + num3 - 48;
1671 if ((uint)num2 < (uint)
source.Length)
1672 {
1674 if (ParserHelpers.IsDigit(num3))
1675 {
1676 num2++;
1677 num4 = 10 * num4 + num3 - 48;
1678 if ((uint)num2 < (uint)
source.Length)
1679 {
1681 if (ParserHelpers.IsDigit(num3))
1682 {
1683 num2++;
1684 num4 = 10 * num4 + num3 - 48;
1685 if ((uint)num2 < (uint)
source.Length)
1686 {
1688 if (ParserHelpers.IsDigit(num3))
1689 {
1690 num2++;
1691 num4 = 10 * num4 + num3 - 48;
1692 if ((uint)num2 < (uint)
source.Length)
1693 {
1695 if (ParserHelpers.IsDigit(num3))
1696 {
1697 num2++;
1698 num4 = 10 * num4 + num3 - 48;
1699 if ((uint)num2 < (uint)
source.Length)
1700 {
1702 if (ParserHelpers.IsDigit(num3))
1703 {
1704 num2++;
1705 num4 = 10 * num4 + num3 - 48;
1706 if ((uint)num2 < (uint)
source.Length)
1707 {
1709 if (ParserHelpers.IsDigit(num3))
1710 {
1711 num2++;
1712 num4 = 10 * num4 + num3 - 48;
1713 if ((uint)num2 < (uint)
source.Length)
1714 {
1716 if (ParserHelpers.IsDigit(num3))
1717 {
1718 num2++;
1719 if (num4 <= 214748364)
1720 {
1721 num4 = num4 * 10 + num3 - 48;
1722 if ((uint)num4 <= 2147483647
L + (
long)((-1 * num + 1) / 2) && ((uint)num2 >= (uint)
source.Length || !ParserHelpers.IsDigit(
source[num2])))
1723 {
1724 goto IL_0289;
1725 }
1726 }
1727 goto IL_0281;
1728 }
1729 }
1730 }
1731 }
1732 }
1733 }
1734 }
1735 }
1736 }
1737 }
1738 }
1739 }
1740 }
1741 }
1742 }
1743 }
1744 }
1745 }
1746 goto IL_0289;
1747 IL_0281:
1748 bytesConsumed = 0;
1750 return false;
1751 IL_0091:
1752 if (ParserHelpers.IsDigit(num3))
1753 {
1754 goto IL_009c;
1755 }
1756 goto IL_0289;
1757 }