5a155b:	83 c4 0c             	add    $0xc,%esp
5a155e:	01 58 08             	add    %ebx,0x8(%eax)
5a1561:	fe cb                	dec    %bl
5a1563:	8b 40 18             	mov    0x18(%eax),%eax
5a1566:	88 5c 28 ff          	mov    %bl,-0x1(%eax,%ebp,1)
5a156a:	8b 5c 24 18          	mov    0x18(%esp),%ebx
5a156e:	eb 1d                	jmp    0x5a158d
5a1570:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
5a1575:	75 16                	jne    0x5a158d
5a1577:	85 ed                	test   %ebp,%ebp
5a1579:	0f 84 0a 01 00 00    	je     0x5a1689
5a157f:	33 d2                	xor    %edx,%edx
5a1581:	8b c5                	mov    %ebp,%eax
5a1583:	f7 f1                	div    %ecx
5a1585:	85 d2                	test   %edx,%edx
5a1587:	0f 85 fc 00 00 00    	jne    0x5a1689
5a158d:	55                   	push   %ebp
5a158e:	ff 73 18             	push   0x18(%ebx)
5a1591:	ff 73 14             	push   0x14(%ebx)
5a1594:	56                   	push   %esi
5a1595:	e8 b6 f1 f4 ff       	call   0x4f0750
5a159a:	83 c4 10             	add    $0x10,%esp
5a159d:	83 f8 01             	cmp    $0x1,%eax
5a15a0:	7c 46                	jl     0x5a15e8
5a15a2:	ff b7 e0 03 00 00    	push   0x3e0(%edi)
5a15a8:	e8 c3 f1 f4 ff       	call   0x4f0770
5a15ad:	83 c4 04             	add    $0x4,%esp
5a15b0:	85 c0                	test   %eax,%eax
5a15b2:	74 3c                	je     0x5a15f0
5a15b4:	ff b7 e0 03 00 00    	push   0x3e0(%edi)
5a15ba:	e8 b1 f1 f4 ff       	call   0x4f0770
5a15bf:	50                   	push   %eax
5a15c0:	e8 fb f2 f4 ff       	call   0x4f08c0
5a15c5:	83 c4 08             	add    $0x8,%esp
5a15c8:	85 c0                	test   %eax,%eax
5a15ca:	79 26                	jns    0x5a15f2
5a15cc:	68 92 03 00 00       	push   $0x392
5a15d1:	68 5c 7c 66 00       	push   $0x667c5c
5a15d6:	6a 44                	push   $0x44
5a15d8:	68 60 02 00 00       	push   $0x260
5a15dd:	6a 50                	push   $0x50
5a15df:	57                   	push   %edi
5a15e0:	e8 2b db fe ff       	call   0x58f110
5a15e5:	83 c4 18             	add    $0x18,%esp
5a15e8:	5f                   	pop    %edi
5a15e9:	5e                   	pop    %esi
5a15ea:	5d                   	pop    %ebp
5a15eb:	83 c8 ff             	or     $0xffffffff,%eax
5a15ee:	5b                   	pop    %ebx
5a15ef:	c3                   	ret
5a15f0:	33 c0                	xor    %eax,%eax
5a15f2:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
5a15f6:	83 ff 01             	cmp    $0x1,%edi
5a15f9:	0f 84 80 00 00 00    	je     0x5a167f
5a15ff:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
5a1604:	75 79                	jne    0x5a167f
5a1606:	8b 6b 08             	mov    0x8(%ebx),%ebp
5a1609:	8d 48 01             	lea    0x1(%eax),%ecx
5a160c:	3b cd                	cmp    %ebp,%ecx
5a160e:	77 79                	ja     0x5a1689
5a1610:	8b 43 14             	mov    0x14(%ebx),%eax
5a1613:	8b f5                	mov    %ebp,%esi
5a1615:	0f b6 44 28 ff       	movzbl -0x1(%eax,%ebp,1),%eax
5a161a:	03 c8                	add    %eax,%ecx
5a161c:	2b f1                	sub    %ecx,%esi
5a161e:	33 f1                	xor    %ecx,%esi
5a1620:	8d 50 01             	lea    0x1(%eax),%edx
5a1623:	8b c5                	mov    %ebp,%eax
5a1625:	33 c1                	xor    %ecx,%eax
5a1627:	8b cf                	mov    %edi,%ecx
5a1629:	0b f0                	or     %eax,%esi
5a162b:	2b ca                	sub    %edx,%ecx
5a162d:	33 f5                	xor    %ebp,%esi
5a162f:	8b c2                	mov    %edx,%eax
5a1631:	33 c7                	xor    %edi,%eax
5a1633:	c1 ee 1f             	shr    $0x1f,%esi
5a1636:	0b c8                	or     %eax,%ecx
5a1638:	4e                   	dec    %esi
5a1639:	33 cf                	xor    %edi,%ecx
5a163b:	c1 e9 1f             	shr    $0x1f,%ecx
5a163e:	49                   	dec    %ecx
5a163f:	23 f1                	and    %ecx,%esi
5a1641:	23 d6                	and    %esi,%edx
5a1643:	2b ea                	sub    %edx,%ebp
5a1645:	89 6b 08             	mov    %ebp,0x8(%ebx)
5a1648:	89 74 24 18          	mov    %esi,0x18(%esp)
5a164c:	f7 d6                	not    %esi
5a164e:	5f                   	pop    %edi
5a164f:	89 74 24 18          	mov    %esi,0x18(%esp)
5a1653:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5a1657:	8b 44 24 18          	mov    0x18(%esp),%eax
5a165b:	83 e1 01             	and    $0x1,%ecx
5a165e:	5e                   	pop    %esi
5a165f:	5d                   	pop    %ebp
5a1660:	0b c1                	or     %ecx,%eax
5a1662:	5b                   	pop    %ebx
5a1663:	c3                   	ret
5a1664:	8b 74 24 18          	mov    0x18(%esp),%esi
5a1668:	ff 76 08             	push   0x8(%esi)
5a166b:	ff 76 18             	push   0x18(%esi)
5a166e:	ff 76 14             	push   0x14(%esi)
5a1671:	e8 5a 17 03 00       	call   0x5d2dd0
5a1676:	8b 46 14             	mov    0x14(%esi),%eax
5a1679:	83 c4 0c             	add    $0xc,%esp
5a167c:	89 46 18             	mov    %eax,0x18(%esi)
5a167f:	5f                   	pop    %edi
5a1680:	5e                   	pop    %esi
5a1681:	5d                   	pop    %ebp
5a1682:	b8 01 00 00 00       	mov    $0x1,%eax
5a1687:	5b                   	pop    %ebx
5a1688:	c3                   	ret
5a1689:	5f                   	pop    %edi
5a168a:	5e                   	pop    %esi
5a168b:	5d                   	pop    %ebp
5a168c:	33 c0                	xor    %eax,%eax
5a168e:	5b                   	pop    %ebx
5a168f:	c3                   	ret
5a1690:	b8 a4 00 00 00       	mov    $0xa4,%eax
5a1695:	e8 16 01 03 00       	call   0x5d17b0
5a169a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
5a169f:	33 c4                	xor    %esp,%eax
5a16a1:	89 84 24 a0 00 00 00 	mov    %eax,0xa0(%esp)
5a16a8:	53                   	push   %ebx
5a16a9:	55                   	push   %ebp
5a16aa:	56                   	push   %esi
5a16ab:	8b b4 24 b4 00 00 00 	mov    0xb4(%esp),%esi
5a16b2:	33 c9                	xor    %ecx,%ecx
5a16b4:	bb 01 00 00 00       	mov    $0x1,%ebx
5a16b9:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
5a16bd:	57                   	push   %edi
5a16be:	8b 86 10 05 00 00    	mov    0x510(%esi),%eax
5a16c4:	8d be 00 09 00 00    	lea    0x900(%esi),%edi
5a16ca:	85 c0                	test   %eax,%eax
5a16cc:	0f 44 c3             	cmove  %ebx,%eax
5a16cf:	89 44 24 20          	mov    %eax,0x20(%esp)
5a16d3:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
5a16d9:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5a16dd:	0f 1f 00             	nopl   (%eax)
5a16e0:	81 be 58 06 00 00 f1 	cmpl   $0xf1,0x658(%esi)
5a16e7:	00 00 00
5a16ea:	8d 9e fc 0e 00 00    	lea    0xefc(%esi),%ebx
5a16f0:	8b ef                	mov    %edi,%ebp
5a16f2:	89 6c 24 18          	mov    %ebp,0x18(%esp)
5a16f6:	75 09                	jne    0x5a1701
5a16f8:	83 3b 05             	cmpl   $0x5,(%ebx)
5a16fb:	0f 83 fc 01 00 00    	jae    0x5a18fd
5a1701:	8d 44 24 28          	lea    0x28(%esp),%eax
5a1705:	89 5c 24 14          	mov    %ebx,0x14(%esp)
5a1709:	50                   	push   %eax
5a170a:	33 c0                	xor    %eax,%eax
5a170c:	85 c9                	test   %ecx,%ecx
5a170e:	0f 94 c0             	sete   %al
5a1711:	50                   	push   %eax
5a1712:	6a 00                	push   $0x0
5a1714:	ff b6 6c 06 00 00    	push   0x66c(%esi)
5a171a:	6a 05                	push   $0x5
5a171c:	56                   	push   %esi
5a171d:	e8 5e 12 ff ff       	call   0x592980
5a1722:	83 c4 18             	add    $0x18,%esp
5a1725:	85 c0                	test   %eax,%eax
5a1727:	0f 8e 4c 0b 00 00    	jle    0x5a2279
5a172d:	8b 6c 24 14          	mov    0x14(%esp),%ebp
5a1731:	8b 9e f8 0e 00 00    	mov    0xef8(%esi),%ebx
5a1737:	c7 86 58 06 00 00 f1 	movl   $0xf1,0x658(%esi)
5a173e:	00 00 00
5a1741:	8b 6d 00             	mov    0x0(%ebp),%ebp
5a1744:	81 fd ff ff ff 7f    	cmp    $0x7fffffff,%ebp
5a174a:	0f 87 0a 0b 00 00    	ja     0x5a225a
5a1750:	83 fd 02             	cmp    $0x2,%ebp
5a1753:	0f 82 ec 0a 00 00    	jb     0x5a2245
5a1759:	0f b6 0b             	movzbl (%ebx),%ecx
5a175c:	8d 43 01             	lea    0x1(%ebx),%eax
5a175f:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5a1763:	0f b6 00             	movzbl (%eax),%eax
5a1766:	c1 e1 08             	shl    $0x8,%ecx
5a1769:	0b c8                	or     %eax,%ecx
5a176b:	8d 45 fe             	lea    -0x2(%ebp),%eax
5a176e:	85 c0                	test   %eax,%eax
5a1770:	0f 84 cf 0a 00 00    	je     0x5a2245
5a1776:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
5a177a:	8a 43 02             	mov    0x2(%ebx),%al
5a177d:	74 4e                	je     0x5a17cd
5a177f:	83 be 30 0f 00 00 00 	cmpl   $0x0,0xf30(%esi)
5a1786:	74 45                	je     0x5a17cd
5a1788:	f7 c1 00 80 00 00    	test   $0x8000,%ecx
5a178e:	74 3d                	je     0x5a17cd
5a1790:	3c 01                	cmp    $0x1,%al
5a1792:	75 39                	jne    0x5a17cd
5a1794:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
5a179a:	c7 47 fc 16 00 00 00 	movl   $0x16,-0x4(%edi)
5a17a1:	c7 47 f8 02 00 00 00 	movl   $0x2,-0x8(%edi)
5a17a8:	89 0f                	mov    %ecx,(%edi)
5a17aa:	8b 86 6c 06 00 00    	mov    0x66c(%esi),%eax
5a17b0:	83 e8 02             	sub    $0x2,%eax
5a17b3:	3b c8                	cmp    %eax,%ecx
5a17b5:	0f 87 8a 02 00 00    	ja     0x5a1a45
5a17bb:	83 f9 09             	cmp    $0x9,%ecx
5a17be:	0f 82 66 02 00 00    	jb     0x5a1a2a
5a17c4:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5a17c8:	e9 2c 01 00 00       	jmp    0x5a18f9
5a17cd:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
5a17d3:	85 c0                	test   %eax,%eax
5a17d5:	74 18                	je     0x5a17ef
5a17d7:	ff b6 88 00 00 00    	push   0x88(%esi)
5a17dd:	56                   	push   %esi
5a17de:	6a 05                	push   $0x5
5a17e0:	53                   	push   %ebx
5a17e1:	68 00 01 00 00       	push   $0x100
5a17e6:	6a 00                	push   $0x0
5a17e8:	6a 00                	push   $0x0
5a17ea:	ff d0                	call   *%eax
5a17ec:	83 c4 1c             	add    $0x1c,%esp
5a17ef:	0f b6 03             	movzbl (%ebx),%eax
5a17f2:	8d 55 ff             	lea    -0x1(%ebp),%edx
5a17f5:	89 44 24 24          	mov    %eax,0x24(%esp)
5a17f9:	83 fa 02             	cmp    $0x2,%edx
5a17fc:	0f 82 2e 0a 00 00    	jb     0x5a2230
5a1802:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
5a1806:	83 ea 02             	sub    $0x2,%edx
5a1809:	0f b6 0b             	movzbl (%ebx),%ecx
5a180c:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
5a1810:	c1 e1 08             	shl    $0x8,%ecx
5a1813:	0b c8                	or     %eax,%ecx
5a1815:	83 fa 02             	cmp    $0x2,%edx
5a1818:	0f 82 12 0a 00 00    	jb     0x5a2230
5a181e:	0f b6 6b 02          	movzbl 0x2(%ebx),%ebp
5a1822:	0f b6 43 03          	movzbl 0x3(%ebx),%eax
5a1826:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5a182a:	c1 e5 08             	shl    $0x8,%ebp
5a182d:	0b e8                	or     %eax,%ebp
5a182f:	89 5f fc             	mov    %ebx,-0x4(%edi)
5a1832:	89 2f                	mov    %ebp,(%edi)
5a1834:	89 4f f8             	mov    %ecx,-0x8(%edi)
5a1837:	83 be 00 05 00 00 00 	cmpl   $0x0,0x500(%esi)
5a183e:	75 2f                	jne    0x5a186f
5a1840:	8b 56 04             	mov    0x4(%esi),%edx
5a1843:	8b 42 64             	mov    0x64(%edx),%eax
5a1846:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a184a:	75 10                	jne    0x5a185c
5a184c:	8b 02                	mov    (%edx),%eax
5a184e:	3d 04 03 00 00       	cmp    $0x304,%eax
5a1853:	7c 07                	jl     0x5a185c
5a1855:	3d 00 00 01 00       	cmp    $0x10000,%eax
5a185a:	75 13                	jne    0x5a186f
5a185c:	83 be 4c 04 00 00 01 	cmpl   $0x1,0x44c(%esi)
5a1863:	74 0a                	je     0x5a186f
5a1865:	8b 06                	mov    (%esi),%eax
5a1867:	3b c8                	cmp    %eax,%ecx
5a1869:	0f 85 f1 01 00 00    	jne    0x5a1a60
5a186f:	8b c1                	mov    %ecx,%eax
5a1871:	25 00 ff ff ff       	and    $0xffffff00,%eax
5a1876:	3d 00 03 00 00       	cmp    $0x300,%eax
5a187b:	0f 85 f4 08 00 00    	jne    0x5a2175
5a1881:	8b 56 04             	mov    0x4(%esi),%edx
5a1884:	8b 42 64             	mov    0x64(%edx),%eax
5a1887:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a188b:	75 57                	jne    0x5a18e4
5a188d:	8b 02                	mov    (%edx),%eax
5a188f:	3d 04 03 00 00       	cmp    $0x304,%eax
5a1894:	7c 4e                	jl     0x5a18e4
5a1896:	3d 00 00 01 00       	cmp    $0x10000,%eax
5a189b:	74 47                	je     0x5a18e4
5a189d:	83 be cc 03 00 00 00 	cmpl   $0x0,0x3cc(%esi)
5a18a4:	74 3e                	je     0x5a18e4
5a18a6:	83 fb 17             	cmp    $0x17,%ebx
5a18a9:	74 2d                	je     0x5a18d8
5a18ab:	83 fb 14             	cmp    $0x14,%ebx
5a18ae:	75 15                	jne    0x5a18c5
5a18b0:	8b 46 7c             	mov    0x7c(%esi),%eax
5a18b3:	83 b8 80 01 00 00 00 	cmpl   $0x0,0x180(%eax)
5a18ba:	74 1c                	je     0x5a18d8
5a18bc:	83 b8 04 02 00 00 00 	cmpl   $0x0,0x204(%eax)
5a18c3:	eb 0d                	jmp    0x5a18d2
5a18c5:	83 fb 15             	cmp    $0x15,%ebx
5a18c8:	0f 85 ea 01 00 00    	jne    0x5a1ab8
5a18ce:	83 7e 64 01          	cmpl   $0x1,0x64(%esi)
5a18d2:	0f 85 e0 01 00 00    	jne    0x5a1ab8
5a18d8:	81 f9 03 03 00 00    	cmp    $0x303,%ecx
5a18de:	0f 85 ef 01 00 00    	jne    0x5a1ad3
5a18e4:	8b 86 6c 06 00 00    	mov    0x66c(%esi),%eax
5a18ea:	8b 5c 24 14          	mov    0x14(%esp),%ebx
5a18ee:	83 e8 05             	sub    $0x5,%eax
5a18f1:	3b e8                	cmp    %eax,%ebp
5a18f3:	0f 87 72 08 00 00    	ja     0x5a216b
5a18f9:	8b 6c 24 18          	mov    0x18(%esp),%ebp
5a18fd:	8b 4e 04             	mov    0x4(%esi),%ecx
5a1900:	8b 41 64             	mov    0x64(%ecx),%eax
5a1903:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5a1907:	75 34                	jne    0x5a193d
5a1909:	8b 01                	mov    (%ecx),%eax
5a190b:	3d 04 03 00 00       	cmp    $0x304,%eax
5a1910:	7c 2b                	jl     0x5a193d
5a1912:	3d 00 00 01 00       	cmp    $0x10000,%eax
5a1917:	74 24                	je     0x5a193d
5a1919:	8b 07                	mov    (%edi),%eax
5a191b:	3d 00 41 00 00       	cmp    $0x4100,%eax
5a1920:	76 28                	jbe    0x5a194a
5a1922:	68 76 01 00 00       	push   $0x176
5a1927:	68 5c 7c 66 00       	push   $0x667c5c
5a192c:	68 96 00 00 00       	push   $0x96
5a1931:	68 8f 00 00 00       	push   $0x8f
5a1936:	6a 16                	push   $0x16
5a1938:	e9 30 09 00 00       	jmp    0x5a226d
5a193d:	8b 07                	mov    (%edi),%eax
5a193f:	3d 40 41 00 00       	cmp    $0x4140,%eax
5a1944:	0f 87 06 08 00 00    	ja     0x5a2150
5a194a:	83 7f f8 02          	cmpl   $0x2,-0x8(%edi)
5a194e:	8d 48 fd             	lea    -0x3(%eax),%ecx
5a1951:	0f 45 c8             	cmovne %eax,%ecx
5a1954:	85 c9                	test   %ecx,%ecx
5a1956:	74 1c                	je     0x5a1974
5a1958:	8d 44 24 28          	lea    0x28(%esp),%eax
5a195c:	50                   	push   %eax
5a195d:	6a 00                	push   $0x0
5a195f:	6a 01                	push   $0x1
5a1961:	51                   	push   %ecx
5a1962:	51                   	push   %ecx
5a1963:	56                   	push   %esi
5a1964:	e8 17 10 ff ff       	call   0x592980
5a1969:	83 c4 18             	add    $0x18,%esp
5a196c:	85 c0                	test   %eax,%eax
5a196e:	0f 8e 05 09 00 00    	jle    0x5a2279
5a1974:	c7 86 58 06 00 00 f0 	movl   $0xf0,0x658(%esi)
5a197b:	00 00 00
5a197e:	b9 02 00 00 00       	mov    $0x2,%ecx
5a1983:	39 4f f8             	cmp    %ecx,-0x8(%edi)
5a1986:	b8 05 00 00 00       	mov    $0x5,%eax
5a198b:	0f 45 c8             	cmovne %eax,%ecx
5a198e:	8b 86 f8 0e 00 00    	mov    0xef8(%esi),%eax
5a1994:	03 c1                	add    %ecx,%eax
5a1996:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a199a:	89 45 10             	mov    %eax,0x10(%ebp)
5a199d:	41                   	inc    %ecx
5a199e:	89 45 0c             	mov    %eax,0xc(%ebp)
5a19a1:	8b 07                	mov    (%edi),%eax
5a19a3:	89 47 04             	mov    %eax,0x4(%edi)
5a19a6:	c7 47 18 00 00 00 00 	movl   $0x0,0x18(%edi)
5a19ad:	83 c7 30             	add    $0x30,%edi
5a19b0:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5a19b4:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
5a19ba:	c7 86 30 0f 00 00 00 	movl   $0x0,0xf30(%esi)
5a19c1:	00 00 00
5a19c4:	3b 4c 24 20          	cmp    0x20(%esp),%ecx
5a19c8:	0f 83 24 01 00 00    	jae    0x5a1af2
5a19ce:	83 7d fc 17          	cmpl   $0x17,-0x4(%ebp)
5a19d2:	0f 85 1a 01 00 00    	jne    0x5a1af2
5a19d8:	8b 46 04             	mov    0x4(%esi),%eax
5a19db:	8b 40 64             	mov    0x64(%eax),%eax
5a19de:	f6 40 30 01          	testb  $0x1,0x30(%eax)
5a19e2:	0f 84 0a 01 00 00    	je     0x5a1af2