4c1558:	8d 42 01             	lea    0x1(%edx),%eax
4c155b:	89 43 14             	mov    %eax,0x14(%ebx)
4c155e:	eb 37                	jmp    0x4c1597
4c1560:	3b 43 18             	cmp    0x18(%ebx),%eax
4c1563:	75 12                	jne    0x4c1577
4c1565:	8b 43 18             	mov    0x18(%ebx),%eax
4c1568:	8d 4b 10             	lea    0x10(%ebx),%ecx
4c156b:	40                   	inc    %eax
4c156c:	50                   	push   %eax
4c156d:	e8 1e c3 f9 ff       	call   0x45d890
4c1572:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
4c1575:	8b 01                	mov    (%ecx),%eax
4c1577:	40                   	inc    %eax
4c1578:	89 01                	mov    %eax,(%ecx)
4c157a:	ff 73 10             	push   0x10(%ebx)
4c157d:	e8 1e 6a 00 00       	call   0x4c7fa0
4c1582:	8b 4b 14             	mov    0x14(%ebx),%ecx
4c1585:	8b d0                	mov    %eax,%edx
4c1587:	8b 43 1c             	mov    0x1c(%ebx),%eax
4c158a:	83 c4 04             	add    $0x4,%esp
4c158d:	89 55 f0             	mov    %edx,-0x10(%ebp)
4c1590:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
4c1594:	ff 43 14             	incl   0x14(%ebx)
4c1597:	0f b6 07             	movzbl (%edi),%eax
4c159a:	3d 80 00 00 00       	cmp    $0x80,%eax
4c159f:	73 03                	jae    0x4c15a4
4c15a1:	47                   	inc    %edi
4c15a2:	eb 14                	jmp    0x4c15b8
4c15a4:	50                   	push   %eax
4c15a5:	8d 45 c8             	lea    -0x38(%ebp),%eax
4c15a8:	57                   	push   %edi
4c15a9:	50                   	push   %eax
4c15aa:	e8 c1 e2 f9 ff       	call   0x45f870
4c15af:	8b 7d c8             	mov    -0x38(%ebp),%edi
4c15b2:	83 c4 0c             	add    $0xc,%esp
4c15b5:	8b 45 cc             	mov    -0x34(%ebp),%eax
4c15b8:	85 ff                	test   %edi,%edi
4c15ba:	0f 84 80 02 00 00    	je     0x4c1840
4c15c0:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c15c3:	2b 42 04             	sub    0x4(%edx),%eax
4c15c6:	03 c7                	add    %edi,%eax
4c15c8:	89 45 f4             	mov    %eax,-0xc(%ebp)
4c15cb:	33 c0                	xor    %eax,%eax
4c15cd:	39 45 f4             	cmp    %eax,-0xc(%ebp)
4c15d0:	0f 4c 45 f4          	cmovl  -0xc(%ebp),%eax
4c15d4:	03 42 04             	add    0x4(%edx),%eax
4c15d7:	83 42 44 ff          	addl   $0xffffffff,0x44(%edx)
4c15db:	89 02                	mov    %eax,(%edx)
4c15dd:	8b 42 10             	mov    0x10(%edx),%eax
4c15e0:	89 45 ec             	mov    %eax,-0x14(%ebp)
4c15e3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4c15e6:	89 42 10             	mov    %eax,0x10(%edx)
4c15e9:	0f 88 51 02 00 00    	js     0x4c1840
4c15ef:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4c15f2:	52                   	push   %edx
4c15f3:	57                   	push   %edi
4c15f4:	e8 37 f7 ff ff       	call   0x4c0d30
4c15f9:	8b f8                	mov    %eax,%edi
4c15fb:	85 ff                	test   %edi,%edi
4c15fd:	0f 84 3d 02 00 00    	je     0x4c1840
4c1603:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c1606:	ff 42 44             	incl   0x44(%edx)
4c1609:	83 7a 3c 00          	cmpl   $0x0,0x3c(%edx)
4c160d:	0f 85 2d 02 00 00    	jne    0x4c1840
4c1613:	8b 45 ec             	mov    -0x14(%ebp),%eax
4c1616:	b9 00 00 00 00       	mov    $0x0,%ecx
4c161b:	2b 45 f4             	sub    -0xc(%ebp),%eax
4c161e:	01 42 10             	add    %eax,0x10(%edx)
4c1621:	8b 42 04             	mov    0x4(%edx),%eax
4c1624:	0f 48 4a 10          	cmovs  0x10(%edx),%ecx
4c1628:	03 c1                	add    %ecx,%eax
4c162a:	89 02                	mov    %eax,(%edx)
4c162c:	3b f8                	cmp    %eax,%edi
4c162e:	0f 83 73 fe ff ff    	jae    0x4c14a7
4c1634:	80 3f 12             	cmpb   $0x12,(%edi)
4c1637:	0f 84 03 ff ff ff    	je     0x4c1540
4c163d:	e9 65 fe ff ff       	jmp    0x4c14a7
4c1642:	80 fb 1a             	cmp    $0x1a,%bl
4c1645:	0f 85 79 01 00 00    	jne    0x4c17c4
4c164b:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c164e:	c6 45 e8 00          	movb   $0x0,-0x18(%ebp)
4c1652:	83 4b 08 01          	orl    $0x1,0x8(%ebx)
4c1656:	8b 4b 04             	mov    0x4(%ebx),%ecx
4c1659:	f6 c1 03             	test   $0x3,%cl
4c165c:	75 0f                	jne    0x4c166d
4c165e:	83 e1 fc             	and    $0xfffffffc,%ecx
4c1661:	51                   	push   %ecx
4c1662:	ff 75 e8             	push   -0x18(%ebp)
4c1665:	8d 4b 20             	lea    0x20(%ebx),%ecx
4c1668:	e9 32 01 00 00       	jmp    0x4c179f
4c166d:	8b c1                	mov    %ecx,%eax
4c166f:	d1 e8                	shr    $1,%eax
4c1671:	a8 01                	test   $0x1,%al
4c1673:	74 0e                	je     0x4c1683
4c1675:	33 c9                	xor    %ecx,%ecx
4c1677:	51                   	push   %ecx
4c1678:	ff 75 e8             	push   -0x18(%ebp)
4c167b:	8d 4b 20             	lea    0x20(%ebx),%ecx
4c167e:	e9 1c 01 00 00       	jmp    0x4c179f
4c1683:	83 e1 fc             	and    $0xfffffffc,%ecx
4c1686:	8b 09                	mov    (%ecx),%ecx
4c1688:	51                   	push   %ecx
4c1689:	ff 75 e8             	push   -0x18(%ebp)
4c168c:	8d 4b 20             	lea    0x20(%ebx),%ecx
4c168f:	e9 0b 01 00 00       	jmp    0x4c179f
4c1694:	80 fb 20             	cmp    $0x20,%bl
4c1697:	0f 85 27 01 00 00    	jne    0x4c17c4
4c169d:	8d 45 c0             	lea    -0x40(%ebp),%eax
4c16a0:	83 ce 08             	or     $0x8,%esi
4c16a3:	50                   	push   %eax
4c16a4:	57                   	push   %edi
4c16a5:	e8 d6 f4 f8 ff       	call   0x450b80
4c16aa:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c16ad:	8b f8                	mov    %eax,%edi
4c16af:	8b 45 c0             	mov    -0x40(%ebp),%eax
4c16b2:	83 c4 08             	add    $0x8,%esp
4c16b5:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
4c16b8:	89 43 30             	mov    %eax,0x30(%ebx)
4c16bb:	89 4b 34             	mov    %ecx,0x34(%ebx)
4c16be:	e9 f1 00 00 00       	jmp    0x4c17b4
4c16c3:	80 fb 28             	cmp    $0x28,%bl
4c16c6:	0f 85 f8 00 00 00    	jne    0x4c17c4
4c16cc:	8d 45 b8             	lea    -0x48(%ebp),%eax
4c16cf:	83 ce 10             	or     $0x10,%esi
4c16d2:	50                   	push   %eax
4c16d3:	57                   	push   %edi
4c16d4:	e8 a7 f4 f8 ff       	call   0x450b80
4c16d9:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c16dc:	8b f8                	mov    %eax,%edi
4c16de:	8b 45 b8             	mov    -0x48(%ebp),%eax
4c16e1:	83 c4 08             	add    $0x8,%esp
4c16e4:	8b 4d bc             	mov    -0x44(%ebp),%ecx
4c16e7:	89 43 38             	mov    %eax,0x38(%ebx)
4c16ea:	89 4b 3c             	mov    %ecx,0x3c(%ebx)
4c16ed:	e9 c2 00 00 00       	jmp    0x4c17b4
4c16f2:	80 fb 31             	cmp    $0x31,%bl
4c16f5:	0f 85 c9 00 00 00    	jne    0x4c17c4
4c16fb:	8b 07                	mov    (%edi),%eax
4c16fd:	83 ce 20             	or     $0x20,%esi
4c1700:	8b 4f 04             	mov    0x4(%edi),%ecx
4c1703:	83 c7 08             	add    $0x8,%edi
4c1706:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c1709:	89 45 b0             	mov    %eax,-0x50(%ebp)
4c170c:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c170f:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
4c1712:	f2 0f 10 45 b0       	movsd  -0x50(%ebp),%xmm0
4c1717:	f2 0f 11 40 40       	movsd  %xmm0,0x40(%eax)
4c171c:	e9 86 fd ff ff       	jmp    0x4c14a7
4c1721:	80 fb 3a             	cmp    $0x3a,%bl
4c1724:	0f 85 9a 00 00 00    	jne    0x4c17c4
4c172a:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c172d:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
4c1731:	83 4b 08 02          	orl    $0x2,0x8(%ebx)
4c1735:	8b 4b 04             	mov    0x4(%ebx),%ecx
4c1738:	f6 c1 03             	test   $0x3,%cl
4c173b:	75 0c                	jne    0x4c1749
4c173d:	83 e1 fc             	and    $0xfffffffc,%ecx
4c1740:	51                   	push   %ecx
4c1741:	ff 75 e4             	push   -0x1c(%ebp)
4c1744:	8d 4b 24             	lea    0x24(%ebx),%ecx
4c1747:	eb 56                	jmp    0x4c179f
4c1749:	8b c1                	mov    %ecx,%eax
4c174b:	d1 e8                	shr    $1,%eax
4c174d:	a8 01                	test   $0x1,%al
4c174f:	74 0b                	je     0x4c175c
4c1751:	33 c9                	xor    %ecx,%ecx
4c1753:	51                   	push   %ecx
4c1754:	ff 75 e4             	push   -0x1c(%ebp)
4c1757:	8d 4b 24             	lea    0x24(%ebx),%ecx
4c175a:	eb 43                	jmp    0x4c179f
4c175c:	83 e1 fc             	and    $0xfffffffc,%ecx
4c175f:	8b 09                	mov    (%ecx),%ecx
4c1761:	51                   	push   %ecx
4c1762:	ff 75 e4             	push   -0x1c(%ebp)
4c1765:	8d 4b 24             	lea    0x24(%ebx),%ecx
4c1768:	eb 35                	jmp    0x4c179f
4c176a:	80 fb 42             	cmp    $0x42,%bl
4c176d:	75 55                	jne    0x4c17c4
4c176f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4c1772:	c6 45 e0 00          	movb   $0x0,-0x20(%ebp)
4c1776:	83 4b 08 04          	orl    $0x4,0x8(%ebx)
4c177a:	8b 4b 04             	mov    0x4(%ebx),%ecx
4c177d:	f6 c1 03             	test   $0x3,%cl
4c1780:	75 05                	jne    0x4c1787
4c1782:	83 e1 fc             	and    $0xfffffffc,%ecx
4c1785:	eb 11                	jmp    0x4c1798
4c1787:	8b c1                	mov    %ecx,%eax
4c1789:	d1 e8                	shr    $1,%eax
4c178b:	a8 01                	test   $0x1,%al
4c178d:	74 04                	je     0x4c1793
4c178f:	33 c9                	xor    %ecx,%ecx
4c1791:	eb 05                	jmp    0x4c1798
4c1793:	83 e1 fc             	and    $0xfffffffc,%ecx
4c1796:	8b 09                	mov    (%ecx),%ecx
4c1798:	51                   	push   %ecx
4c1799:	ff 75 e0             	push   -0x20(%ebp)
4c179c:	8d 4b 28             	lea    0x28(%ebx),%ecx
4c179f:	e8 8c a1 f9 ff       	call   0x45b930
4c17a4:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c17a7:	52                   	push   %edx
4c17a8:	57                   	push   %edi
4c17a9:	50                   	push   %eax
4c17aa:	e8 41 d9 f9 ff       	call   0x45f0f0
4c17af:	83 c4 0c             	add    $0xc,%esp
4c17b2:	8b f8                	mov    %eax,%edi
4c17b4:	85 ff                	test   %edi,%edi
4c17b6:	0f 84 84 00 00 00    	je     0x4c1840
4c17bc:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c17bf:	e9 e3 fc ff ff       	jmp    0x4c14a7
4c17c4:	8b c3                	mov    %ebx,%eax
4c17c6:	24 07                	and    $0x7,%al
4c17c8:	3c 04                	cmp    $0x4,%al
4c17ca:	74 5a                	je     0x4c1826
4c17cc:	85 db                	test   %ebx,%ebx
4c17ce:	74 56                	je     0x4c1826
4c17d0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4c17d3:	83 c1 04             	add    $0x4,%ecx
4c17d6:	f6 01 01             	testb  $0x1,(%ecx)
4c17d9:	74 0a                	je     0x4c17e5
4c17db:	8b 01                	mov    (%ecx),%eax
4c17dd:	83 e0 fc             	and    $0xfffffffc,%eax
4c17e0:	83 c0 04             	add    $0x4,%eax
4c17e3:	eb 05                	jmp    0x4c17ea
4c17e5:	e8 46 f4 f8 ff       	call   0x450c30
4c17ea:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c17ed:	52                   	push   %edx
4c17ee:	57                   	push   %edi
4c17ef:	50                   	push   %eax
4c17f0:	6a 00                	push   $0x0
4c17f2:	53                   	push   %ebx
4c17f3:	e8 b8 f7 f9 ff       	call   0x460fb0
4c17f8:	8b f8                	mov    %eax,%edi
4c17fa:	83 c4 14             	add    $0x14,%esp
4c17fd:	85 ff                	test   %edi,%edi
4c17ff:	74 3f                	je     0x4c1840
4c1801:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c1804:	e9 9e fc ff ff       	jmp    0x4c14a7
4c1809:	85 c0                	test   %eax,%eax
4c180b:	7e 35                	jle    0x4c1842
4c180d:	33 c0                	xor    %eax,%eax
4c180f:	39 42 08             	cmp    %eax,0x8(%edx)
4c1812:	0f 44 f8             	cmove  %eax,%edi
4c1815:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c1818:	09 70 08             	or     %esi,0x8(%eax)
4c181b:	8b c7                	mov    %edi,%eax
4c181d:	5f                   	pop    %edi
4c181e:	5e                   	pop    %esi
4c181f:	5b                   	pop    %ebx
4c1820:	8b e5                	mov    %ebp,%esp
4c1822:	5d                   	pop    %ebp
4c1823:	c2 08 00             	ret    $0x8
4c1826:	8b 55 fc             	mov    -0x4(%ebp),%edx
4c1829:	8d 43 ff             	lea    -0x1(%ebx),%eax
4c182c:	89 42 3c             	mov    %eax,0x3c(%edx)
4c182f:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c1832:	09 70 08             	or     %esi,0x8(%eax)
4c1835:	8b c7                	mov    %edi,%eax
4c1837:	5f                   	pop    %edi
4c1838:	5e                   	pop    %esi
4c1839:	5b                   	pop    %ebx
4c183a:	8b e5                	mov    %ebp,%esp
4c183c:	5d                   	pop    %ebp
4c183d:	c2 08 00             	ret    $0x8
4c1840:	33 ff                	xor    %edi,%edi
4c1842:	8b 45 f8             	mov    -0x8(%ebp),%eax
4c1845:	09 70 08             	or     %esi,0x8(%eax)
4c1848:	8b c7                	mov    %edi,%eax
4c184a:	5f                   	pop    %edi
4c184b:	5e                   	pop    %esi
4c184c:	5b                   	pop    %ebx
4c184d:	8b e5                	mov    %ebp,%esp
4c184f:	5d                   	pop    %ebp
4c1850:	c2 08 00             	ret    $0x8
4c1853:	90                   	nop
4c1854:	32 15 4c 00 42 16    	xor    0x1642004c,%dl
4c185a:	4c                   	dec    %esp
4c185b:	00 94 16 4c 00 c3 16 	add    %dl,0x16c3004c(%esi,%edx,1)
4c1862:	4c                   	dec    %esp
4c1863:	00 f2                	add    %dh,%dl
4c1865:	16                   	push   %ss
4c1866:	4c                   	dec    %esp
4c1867:	00 21                	add    %ah,(%ecx)
4c1869:	17                   	pop    %ss
4c186a:	4c                   	dec    %esp
4c186b:	00 6a 17             	add    %ch,0x17(%edx)
4c186e:	4c                   	dec    %esp
4c186f:	00 55 8b             	add    %dl,-0x75(%ebp)
4c1872:	ec                   	in     (%dx),%al
4c1873:	83 ec 14             	sub    $0x14,%esp
4c1876:	8b 55 08             	mov    0x8(%ebp),%edx
4c1879:	53                   	push   %ebx
4c187a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4c187d:	56                   	push   %esi
4c187e:	8b f1                	mov    %ecx,%esi
4c1880:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4c1883:	57                   	push   %edi
4c1884:	33 ff                	xor    %edi,%edi
4c1886:	89 75 f8             	mov    %esi,-0x8(%ebp)
4c1889:	8b 46 14             	mov    0x14(%esi),%eax
4c188c:	89 45 f0             	mov    %eax,-0x10(%ebp)
4c188f:	85 c0                	test   %eax,%eax
4c1891:	0f 84 a8 00 00 00    	je     0x4c193f
4c1897:	3b 13                	cmp    (%ebx),%edx
4c1899:	72 0a                	jb     0x4c18a5
4c189b:	52                   	push   %edx
4c189c:	8b cb                	mov    %ebx,%ecx
4c189e:	e8 cd 7c f9 ff       	call   0x459570
4c18a3:	8b d0                	mov    %eax,%edx
4c18a5:	8b 4e 1c             	mov    0x1c(%esi),%ecx
4c18a8:	52                   	push   %edx
4c18a9:	6a 12                	push   $0x12
4c18ab:	8b 74 b9 04          	mov    0x4(%ecx,%edi,4),%esi
4c18af:	e8 0c f2 f8 ff       	call   0x450ac0
4c18b4:	8b 4e 0c             	mov    0xc(%esi),%ecx
4c18b7:	50                   	push   %eax
4c18b8:	51                   	push   %ecx
4c18b9:	e8 02 f2 f8 ff       	call   0x450ac0
4c18be:	8b d0                	mov    %eax,%edx
4c18c0:	83 c4 10             	add    $0x10,%esp
4c18c3:	8b 46 08             	mov    0x8(%esi),%eax
4c18c6:	89 45 fc             	mov    %eax,-0x4(%ebp)
4c18c9:	a8 01                	test   $0x1,%al
4c18cb:	74 16                	je     0x4c18e3
4c18cd:	8b 46 10             	mov    0x10(%esi),%eax
4c18d0:	8b cb                	mov    %ebx,%ecx
4c18d2:	52                   	push   %edx
4c18d3:	83 e0 fe             	and    $0xfffffffe,%eax
4c18d6:	50                   	push   %eax
4c18d7:	6a 01                	push   $0x1
4c18d9:	e8 12 02 f9 ff       	call   0x451af0
4c18de:	8b d0                	mov    %eax,%edx
4c18e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4c18e3:	a8 02                	test   $0x2,%al
4c18e5:	74 2f                	je     0x4c1916
4c18e7:	3b 13                	cmp    (%ebx),%edx
4c18e9:	72 0a                	jb     0x4c18f5
4c18eb:	52                   	push   %edx
4c18ec:	8b cb                	mov    %ebx,%ecx
4c18ee:	e8 7d 7c f9 ff       	call   0x459570
4c18f3:	8b d0                	mov    %eax,%edx
4c18f5:	8a 5e 14             	mov    0x14(%esi),%bl
4c18f8:	52                   	push   %edx
4c18f9:	6a 10                	push   $0x10
4c18fb:	e8 c0 f1 f8 ff       	call   0x450ac0
4c1900:	50                   	push   %eax
4c1901:	33 c0                	xor    %eax,%eax
4c1903:	84 db                	test   %bl,%bl
4c1905:	0f 95 c0             	setne  %al
4c1908:	50                   	push   %eax
4c1909:	e8 b2 f1 f8 ff       	call   0x450ac0