5f144a:	85 c0                	test   %eax,%eax
5f144c:	75 14                	jne    0x5f1462
5f144e:	e8 a6 bb ff ff       	call   0x5ecff9
5f1453:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1459:	e8 c1 ba ff ff       	call   0x5ecf1f
5f145e:	32 c0                	xor    %al,%al
5f1460:	eb 44                	jmp    0x5f14a6
5f1462:	ff 76 2c             	push   0x2c(%esi)
5f1465:	e8 43 f8 ff ff       	call   0x5f0cad
5f146a:	59                   	pop    %ecx
5f146b:	83 e8 01             	sub    $0x1,%eax
5f146e:	74 2b                	je     0x5f149b
5f1470:	83 e8 01             	sub    $0x1,%eax
5f1473:	74 1d                	je     0x5f1492
5f1475:	48                   	dec    %eax
5f1476:	83 e8 01             	sub    $0x1,%eax
5f1479:	74 10                	je     0x5f148b
5f147b:	83 e8 04             	sub    $0x4,%eax
5f147e:	75 ce                	jne    0x5f144e
5f1480:	8b 46 18             	mov    0x18(%esi),%eax
5f1483:	99                   	cltd
5f1484:	89 07                	mov    %eax,(%edi)
5f1486:	89 57 04             	mov    %edx,0x4(%edi)
5f1489:	eb 15                	jmp    0x5f14a0
5f148b:	8b 46 18             	mov    0x18(%esi),%eax
5f148e:	89 07                	mov    %eax,(%edi)
5f1490:	eb 0e                	jmp    0x5f14a0
5f1492:	66 8b 46 18          	mov    0x18(%esi),%ax
5f1496:	66 89 07             	mov    %ax,(%edi)
5f1499:	eb 05                	jmp    0x5f14a0
5f149b:	8a 46 18             	mov    0x18(%esi),%al
5f149e:	88 07                	mov    %al,(%edi)
5f14a0:	c6 46 30 01          	movb   $0x1,0x30(%esi)
5f14a4:	b0 01                	mov    $0x1,%al
5f14a6:	5f                   	pop    %edi
5f14a7:	5e                   	pop    %esi
5f14a8:	c3                   	ret
5f14a9:	8b 51 20             	mov    0x20(%ecx),%edx
5f14ac:	8b c2                	mov    %edx,%eax
5f14ae:	c1 e8 05             	shr    $0x5,%eax
5f14b1:	a8 01                	test   $0x1,%al
5f14b3:	74 09                	je     0x5f14be
5f14b5:	81 ca 80 00 00 00    	or     $0x80,%edx
5f14bb:	89 51 20             	mov    %edx,0x20(%ecx)
5f14be:	6a 00                	push   $0x0
5f14c0:	6a 08                	push   $0x8
5f14c2:	e8 c8 fc ff ff       	call   0x5f118f
5f14c7:	c3                   	ret
5f14c8:	8b 51 20             	mov    0x20(%ecx),%edx
5f14cb:	8b c2                	mov    %edx,%eax
5f14cd:	c1 e8 05             	shr    $0x5,%eax
5f14d0:	a8 01                	test   $0x1,%al
5f14d2:	74 09                	je     0x5f14dd
5f14d4:	81 ca 80 00 00 00    	or     $0x80,%edx
5f14da:	89 51 20             	mov    %edx,0x20(%ecx)
5f14dd:	6a 00                	push   $0x0
5f14df:	6a 08                	push   $0x8
5f14e1:	e8 fa fd ff ff       	call   0x5f12e0
5f14e6:	c3                   	ret
5f14e7:	6a 01                	push   $0x1
5f14e9:	6a 10                	push   $0x10
5f14eb:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
5f14f2:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
5f14f9:	e8 91 fc ff ff       	call   0x5f118f
5f14fe:	c3                   	ret
5f14ff:	6a 01                	push   $0x1
5f1501:	6a 10                	push   $0x10
5f1503:	c7 41 28 08 00 00 00 	movl   $0x8,0x28(%ecx)
5f150a:	c7 41 2c 0a 00 00 00 	movl   $0xa,0x2c(%ecx)
5f1511:	e8 ca fd ff ff       	call   0x5f12e0
5f1516:	c3                   	ret
5f1517:	8b ff                	mov    %edi,%edi
5f1519:	53                   	push   %ebx
5f151a:	56                   	push   %esi
5f151b:	8b f1                	mov    %ecx,%esi
5f151d:	57                   	push   %edi
5f151e:	83 46 14 04          	addl   $0x4,0x14(%esi)
5f1522:	8b 46 14             	mov    0x14(%esi),%eax
5f1525:	8b 5e 28             	mov    0x28(%esi),%ebx
5f1528:	8b 78 fc             	mov    -0x4(%eax),%edi
5f152b:	89 7e 34             	mov    %edi,0x34(%esi)
5f152e:	83 fb ff             	cmp    $0xffffffff,%ebx
5f1531:	75 05                	jne    0x5f1538
5f1533:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
5f1538:	ff 76 2c             	push   0x2c(%esi)
5f153b:	0f b6 46 31          	movzbl 0x31(%esi),%eax
5f153f:	50                   	push   %eax
5f1540:	ff 76 04             	push   0x4(%esi)
5f1543:	ff 36                	push   (%esi)
5f1545:	e8 9c db ff ff       	call   0x5ef0e6
5f154a:	83 c4 10             	add    $0x10,%esp
5f154d:	84 c0                	test   %al,%al
5f154f:	74 19                	je     0x5f156a
5f1551:	85 ff                	test   %edi,%edi
5f1553:	75 08                	jne    0x5f155d
5f1555:	bf 94 28 6d 00       	mov    $0x6d2894,%edi
5f155a:	89 7e 34             	mov    %edi,0x34(%esi)
5f155d:	53                   	push   %ebx
5f155e:	57                   	push   %edi
5f155f:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
5f1563:	e8 d9 8a 00 00       	call   0x5fa041
5f1568:	eb 13                	jmp    0x5f157d
5f156a:	85 ff                	test   %edi,%edi
5f156c:	75 08                	jne    0x5f1576
5f156e:	bf a4 28 6d 00       	mov    $0x6d28a4,%edi
5f1573:	89 7e 34             	mov    %edi,0x34(%esi)
5f1576:	53                   	push   %ebx
5f1577:	57                   	push   %edi
5f1578:	e8 7a 88 00 00       	call   0x5f9df7
5f157d:	59                   	pop    %ecx
5f157e:	59                   	pop    %ecx
5f157f:	5f                   	pop    %edi
5f1580:	89 46 38             	mov    %eax,0x38(%esi)
5f1583:	b0 01                	mov    $0x1,%al
5f1585:	5e                   	pop    %esi
5f1586:	5b                   	pop    %ebx
5f1587:	c3                   	ret
5f1588:	8b ff                	mov    %edi,%edi
5f158a:	53                   	push   %ebx
5f158b:	56                   	push   %esi
5f158c:	8b f1                	mov    %ecx,%esi
5f158e:	57                   	push   %edi
5f158f:	83 46 14 04          	addl   $0x4,0x14(%esi)
5f1593:	8b 46 14             	mov    0x14(%esi),%eax
5f1596:	8b 5e 28             	mov    0x28(%esi),%ebx
5f1599:	8b 78 fc             	mov    -0x4(%eax),%edi
5f159c:	89 7e 34             	mov    %edi,0x34(%esi)
5f159f:	83 fb ff             	cmp    $0xffffffff,%ebx
5f15a2:	75 05                	jne    0x5f15a9
5f15a4:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
5f15a9:	ff 76 2c             	push   0x2c(%esi)
5f15ac:	0f b7 46 32          	movzwl 0x32(%esi),%eax
5f15b0:	50                   	push   %eax
5f15b1:	ff 76 04             	push   0x4(%esi)
5f15b4:	ff 36                	push   (%esi)
5f15b6:	e8 5c db ff ff       	call   0x5ef117
5f15bb:	83 c4 10             	add    $0x10,%esp
5f15be:	84 c0                	test   %al,%al
5f15c0:	74 1b                	je     0x5f15dd
5f15c2:	85 ff                	test   %edi,%edi
5f15c4:	75 08                	jne    0x5f15ce
5f15c6:	bf 94 28 6d 00       	mov    $0x6d2894,%edi
5f15cb:	89 7e 34             	mov    %edi,0x34(%esi)
5f15ce:	53                   	push   %ebx
5f15cf:	57                   	push   %edi
5f15d0:	c6 46 3c 01          	movb   $0x1,0x3c(%esi)
5f15d4:	e8 68 8a 00 00       	call   0x5fa041
5f15d9:	59                   	pop    %ecx
5f15da:	59                   	pop    %ecx
5f15db:	eb 15                	jmp    0x5f15f2
5f15dd:	85 ff                	test   %edi,%edi
5f15df:	75 07                	jne    0x5f15e8
5f15e1:	c7 46 34 a4 28 6d 00 	movl   $0x6d28a4,0x34(%esi)
5f15e8:	6a 00                	push   $0x0
5f15ea:	53                   	push   %ebx
5f15eb:	8b ce                	mov    %esi,%ecx
5f15ed:	e8 09 00 00 00       	call   0x5f15fb
5f15f2:	5f                   	pop    %edi
5f15f3:	89 46 38             	mov    %eax,0x38(%esi)
5f15f6:	b0 01                	mov    $0x1,%al
5f15f8:	5e                   	pop    %esi
5f15f9:	5b                   	pop    %ebx
5f15fa:	c3                   	ret
5f15fb:	8b ff                	mov    %edi,%edi
5f15fd:	55                   	push   %ebp
5f15fe:	8b ec                	mov    %esp,%ebp
5f1600:	53                   	push   %ebx
5f1601:	56                   	push   %esi
5f1602:	8b d9                	mov    %ecx,%ebx
5f1604:	57                   	push   %edi
5f1605:	33 ff                	xor    %edi,%edi
5f1607:	8b 73 34             	mov    0x34(%ebx),%esi
5f160a:	39 7d 08             	cmp    %edi,0x8(%ebp)
5f160d:	7e 2a                	jle    0x5f1639
5f160f:	8a 06                	mov    (%esi),%al
5f1611:	84 c0                	test   %al,%al
5f1613:	74 24                	je     0x5f1639
5f1615:	0f b6 c0             	movzbl %al,%eax
5f1618:	68 00 80 00 00       	push   $0x8000
5f161d:	50                   	push   %eax
5f161e:	8b 43 08             	mov    0x8(%ebx),%eax
5f1621:	8b 00                	mov    (%eax),%eax
5f1623:	ff 30                	push   (%eax)
5f1625:	e8 68 c6 ff ff       	call   0x5edc92
5f162a:	83 c4 0c             	add    $0xc,%esp
5f162d:	85 c0                	test   %eax,%eax
5f162f:	74 01                	je     0x5f1632
5f1631:	46                   	inc    %esi
5f1632:	46                   	inc    %esi
5f1633:	47                   	inc    %edi
5f1634:	3b 7d 08             	cmp    0x8(%ebp),%edi
5f1637:	7c d6                	jl     0x5f160f
5f1639:	8b c7                	mov    %edi,%eax
5f163b:	5f                   	pop    %edi
5f163c:	5e                   	pop    %esi
5f163d:	5b                   	pop    %ebx
5f163e:	5d                   	pop    %ebp
5f163f:	c2 08 00             	ret    $0x8
5f1642:	8b 01                	mov    (%ecx),%eax
5f1644:	85 c0                	test   %eax,%eax
5f1646:	75 13                	jne    0x5f165b
5f1648:	e8 ac b9 ff ff       	call   0x5ecff9
5f164d:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1653:	e8 c7 b8 ff ff       	call   0x5ecf1f
5f1658:	32 c0                	xor    %al,%al
5f165a:	c3                   	ret
5f165b:	50                   	push   %eax
5f165c:	e8 24 00 00 00       	call   0x5f1685
5f1661:	59                   	pop    %ecx
5f1662:	c3                   	ret
5f1663:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
5f1667:	74 19                	je     0x5f1682
5f1669:	83 79 1c 07          	cmpl   $0x7,0x1c(%ecx)
5f166d:	74 13                	je     0x5f1682
5f166f:	e8 85 b9 ff ff       	call   0x5ecff9
5f1674:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f167a:	e8 a0 b8 ff ff       	call   0x5ecf1f
5f167f:	32 c0                	xor    %al,%al
5f1681:	c3                   	ret
5f1682:	b0 01                	mov    $0x1,%al
5f1684:	c3                   	ret
5f1685:	8b ff                	mov    %edi,%edi
5f1687:	55                   	push   %ebp
5f1688:	8b ec                	mov    %esp,%ebp
5f168a:	8b 4d 08             	mov    0x8(%ebp),%ecx
5f168d:	56                   	push   %esi
5f168e:	8b 41 0c             	mov    0xc(%ecx),%eax
5f1691:	90                   	nop
5f1692:	c1 e8 0c             	shr    $0xc,%eax
5f1695:	a8 01                	test   $0x1,%al
5f1697:	75 6e                	jne    0x5f1707
5f1699:	57                   	push   %edi
5f169a:	51                   	push   %ecx
5f169b:	e8 08 e1 00 00       	call   0x5ff7a8
5f16a0:	59                   	pop    %ecx
5f16a1:	b9 48 8d 72 00       	mov    $0x728d48,%ecx
5f16a6:	83 f8 ff             	cmp    $0xffffffff,%eax
5f16a9:	74 1b                	je     0x5f16c6
5f16ab:	83 f8 fe             	cmp    $0xfffffffe,%eax
5f16ae:	74 16                	je     0x5f16c6
5f16b0:	8b f0                	mov    %eax,%esi
5f16b2:	8b d0                	mov    %eax,%edx
5f16b4:	83 e6 3f             	and    $0x3f,%esi
5f16b7:	c1 fa 06             	sar    $0x6,%edx
5f16ba:	6b fe 38             	imul   $0x38,%esi,%edi
5f16bd:	03 3c 95 b8 10 73 00 	add    0x7310b8(,%edx,4),%edi
5f16c4:	eb 0c                	jmp    0x5f16d2
5f16c6:	8b d0                	mov    %eax,%edx
5f16c8:	8b f0                	mov    %eax,%esi
5f16ca:	c1 fa 06             	sar    $0x6,%edx
5f16cd:	8b f9                	mov    %ecx,%edi
5f16cf:	83 e6 3f             	and    $0x3f,%esi
5f16d2:	80 7f 29 00          	cmpb   $0x0,0x29(%edi)
5f16d6:	5f                   	pop    %edi
5f16d7:	75 1a                	jne    0x5f16f3
5f16d9:	83 f8 ff             	cmp    $0xffffffff,%eax
5f16dc:	74 0f                	je     0x5f16ed
5f16de:	83 f8 fe             	cmp    $0xfffffffe,%eax
5f16e1:	74 0a                	je     0x5f16ed
5f16e3:	6b ce 38             	imul   $0x38,%esi,%ecx
5f16e6:	03 0c 95 b8 10 73 00 	add    0x7310b8(,%edx,4),%ecx
5f16ed:	f6 41 2d 01          	testb  $0x1,0x2d(%ecx)
5f16f1:	74 14                	je     0x5f1707
5f16f3:	e8 01 b9 ff ff       	call   0x5ecff9
5f16f8:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f16fe:	e8 1c b8 ff ff       	call   0x5ecf1f
5f1703:	32 c0                	xor    %al,%al
5f1705:	eb 02                	jmp    0x5f1709
5f1707:	b0 01                	mov    $0x1,%al
5f1709:	5e                   	pop    %esi
5f170a:	5d                   	pop    %ebp
5f170b:	c3                   	ret
5f170c:	8b ff                	mov    %edi,%edi
5f170e:	55                   	push   %ebp
5f170f:	8b ec                	mov    %esp,%ebp
5f1711:	8b d1                	mov    %ecx,%edx
5f1713:	8b 0a                	mov    (%edx),%ecx
5f1715:	8b 41 08             	mov    0x8(%ecx),%eax
5f1718:	3b 41 04             	cmp    0x4(%ecx),%eax
5f171b:	8b 45 0c             	mov    0xc(%ebp),%eax
5f171e:	75 14                	jne    0x5f1734
5f1720:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
5f1724:	74 04                	je     0x5f172a
5f1726:	ff 00                	incl   (%eax)
5f1728:	eb 03                	jmp    0x5f172d
5f172a:	83 08 ff             	orl    $0xffffffff,(%eax)
5f172d:	8b 02                	mov    (%edx),%eax
5f172f:	8a 40 0c             	mov    0xc(%eax),%al
5f1732:	eb 16                	jmp    0x5f174a
5f1734:	ff 00                	incl   (%eax)
5f1736:	8b 02                	mov    (%edx),%eax
5f1738:	ff 40 08             	incl   0x8(%eax)
5f173b:	8b 02                	mov    (%edx),%eax
5f173d:	8b 08                	mov    (%eax),%ecx
5f173f:	8a 45 08             	mov    0x8(%ebp),%al
5f1742:	88 01                	mov    %al,(%ecx)
5f1744:	8b 02                	mov    (%edx),%eax
5f1746:	ff 00                	incl   (%eax)
5f1748:	b0 01                	mov    $0x1,%al
5f174a:	5d                   	pop    %ebp
5f174b:	c2 08 00             	ret    $0x8
5f174e:	8b ff                	mov    %edi,%edi
5f1750:	55                   	push   %ebp
5f1751:	8b ec                	mov    %esp,%ebp
5f1753:	8b d1                	mov    %ecx,%edx
5f1755:	8b 0a                	mov    (%edx),%ecx
5f1757:	8b 41 08             	mov    0x8(%ecx),%eax
5f175a:	3b 41 04             	cmp    0x4(%ecx),%eax
5f175d:	8b 45 0c             	mov    0xc(%ebp),%eax
5f1760:	75 14                	jne    0x5f1776
5f1762:	80 79 0c 00          	cmpb   $0x0,0xc(%ecx)
5f1766:	74 04                	je     0x5f176c
5f1768:	ff 00                	incl   (%eax)
5f176a:	eb 03                	jmp    0x5f176f
5f176c:	83 08 ff             	orl    $0xffffffff,(%eax)
5f176f:	8b 02                	mov    (%edx),%eax
5f1771:	8a 40 0c             	mov    0xc(%eax),%al
5f1774:	eb 19                	jmp    0x5f178f
5f1776:	ff 00                	incl   (%eax)
5f1778:	8b 02                	mov    (%edx),%eax
5f177a:	ff 40 08             	incl   0x8(%eax)
5f177d:	8b 02                	mov    (%edx),%eax
5f177f:	8b 08                	mov    (%eax),%ecx
5f1781:	66 8b 45 08          	mov    0x8(%ebp),%ax
5f1785:	66 89 01             	mov    %ax,(%ecx)
5f1788:	8b 02                	mov    (%edx),%eax
5f178a:	83 00 02             	addl   $0x2,(%eax)
5f178d:	b0 01                	mov    $0x1,%al
5f178f:	5d                   	pop    %ebp
5f1790:	c2 08 00             	ret    $0x8
5f1793:	8b ff                	mov    %edi,%edi
5f1795:	55                   	push   %ebp
5f1796:	8b ec                	mov    %esp,%ebp
5f1798:	8b 01                	mov    (%ecx),%eax
5f179a:	8b 40 0c             	mov    0xc(%eax),%eax
5f179d:	90                   	nop
5f179e:	c1 e8 0c             	shr    $0xc,%eax
5f17a1:	a8 01                	test   $0x1,%al
5f17a3:	74 0c                	je     0x5f17b1
5f17a5:	8b 01                	mov    (%ecx),%eax
5f17a7:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
5f17ab:	75 04                	jne    0x5f17b1
5f17ad:	b0 01                	mov    $0x1,%al
5f17af:	eb 14                	jmp    0x5f17c5
5f17b1:	ff 31                	push   (%ecx)
5f17b3:	0f be 45 08          	movsbl 0x8(%ebp),%eax
5f17b7:	50                   	push   %eax
5f17b8:	e8 b6 74 00 00       	call   0x5f8c73
5f17bd:	83 f8 ff             	cmp    $0xffffffff,%eax
5f17c0:	59                   	pop    %ecx