41c474:	33 db                	xor    %ebx,%ebx
41c476:	43                   	inc    %ebx
41c477:	8d 78 ff             	lea    -0x1(%eax),%edi
41c47a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c47d:	39 4d 08             	cmp    %ecx,0x8(%ebp)
41c480:	7e 46                	jle    0x41c4c8
41c482:	6a 30                	push   $0x30
41c484:	5a                   	pop    %edx
41c485:	85 ff                	test   %edi,%edi
41c487:	78 3f                	js     0x41c4c8
41c489:	8b 45 f4             	mov    -0xc(%ebp),%eax
41c48c:	0f b7 04 78          	movzwl (%eax,%edi,2),%eax
41c490:	83 f8 39             	cmp    $0x39,%eax
41c493:	77 3f                	ja     0x41c4d4
41c495:	66 3b c2             	cmp    %dx,%ax
41c498:	72 3a                	jb     0x41c4d4
41c49a:	2b c2                	sub    %edx,%eax
41c49c:	51                   	push   %ecx
41c49d:	99                   	cltd
41c49e:	53                   	push   %ebx
41c49f:	52                   	push   %edx
41c4a0:	50                   	push   %eax
41c4a1:	e8 4a 79 01 00       	call   0x433df0
41c4a6:	01 06                	add    %eax,(%esi)
41c4a8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c4ab:	8b 45 f8             	mov    -0x8(%ebp),%eax
41c4ae:	11 56 04             	adc    %edx,0x4(%esi)
41c4b1:	0f a4 d9 04          	shld   $0x4,%ebx,%ecx
41c4b5:	4f                   	dec    %edi
41c4b6:	c1 e3 04             	shl    $0x4,%ebx
41c4b9:	40                   	inc    %eax
41c4ba:	6a 30                	push   $0x30
41c4bc:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c4bf:	89 45 f8             	mov    %eax,-0x8(%ebp)
41c4c2:	5a                   	pop    %edx
41c4c3:	3b 45 08             	cmp    0x8(%ebp),%eax
41c4c6:	7c bd                	jl     0x41c485
41c4c8:	83 ff ff             	cmp    $0xffffffff,%edi
41c4cb:	75 1e                	jne    0x41c4eb
41c4cd:	b0 01                	mov    $0x1,%al
41c4cf:	5f                   	pop    %edi
41c4d0:	5e                   	pop    %esi
41c4d1:	5b                   	pop    %ebx
41c4d2:	c9                   	leave
41c4d3:	c3                   	ret
41c4d4:	83 f8 41             	cmp    $0x41,%eax
41c4d7:	0f 82 ba 7d 05 00    	jb     0x474297
41c4dd:	83 f8 46             	cmp    $0x46,%eax
41c4e0:	0f 87 b1 7d 05 00    	ja     0x474297
41c4e6:	83 e8 37             	sub    $0x37,%eax
41c4e9:	eb b1                	jmp    0x41c49c
41c4eb:	83 26 00             	andl   $0x0,(%esi)
41c4ee:	83 66 04 00          	andl   $0x0,0x4(%esi)
41c4f2:	32 c0                	xor    %al,%al
41c4f4:	eb d9                	jmp    0x41c4cf
41c4f6:	55                   	push   %ebp
41c4f7:	8b ec                	mov    %esp,%ebp
41c4f9:	83 ec 1c             	sub    $0x1c,%esp
41c4fc:	53                   	push   %ebx
41c4fd:	56                   	push   %esi
41c4fe:	8b 75 08             	mov    0x8(%ebp),%esi
41c501:	57                   	push   %edi
41c502:	8b 46 04             	mov    0x4(%esi),%eax
41c505:	8b d9                	mov    %ecx,%ebx
41c507:	8b 40 04             	mov    0x4(%eax),%eax
41c50a:	33 c9                	xor    %ecx,%ecx
41c50c:	6a 7f                	push   $0x7f
41c50e:	41                   	inc    %ecx
41c50f:	5f                   	pop    %edi
41c510:	89 5d f8             	mov    %ebx,-0x8(%ebp)
41c513:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c516:	66 39 78 08          	cmp    %di,0x8(%eax)
41c51a:	0f 85 c2 a9 05 00    	jne    0x476ee2
41c520:	8b f1                	mov    %ecx,%esi
41c522:	83 65 08 00          	andl   $0x0,0x8(%ebp)
41c526:	85 f6                	test   %esi,%esi
41c528:	7e 7e                	jle    0x41c5a8
41c52a:	8d bb 60 01 00 00    	lea    0x160(%ebx),%edi
41c530:	83 3f 00             	cmpl   $0x0,(%edi)
41c533:	0f 84 28 aa 05 00    	je     0x476f61
41c539:	8a 4f 09             	mov    0x9(%edi),%cl
41c53c:	8b 47 04             	mov    0x4(%edi),%eax
41c53f:	84 c9                	test   %cl,%cl
41c541:	75 6c                	jne    0x41c5af
41c543:	8b d0                	mov    %eax,%edx
41c545:	83 3a 01             	cmpl   $0x1,(%edx)
41c548:	74 1a                	je     0x41c564
41c54a:	84 c9                	test   %cl,%cl
41c54c:	75 66                	jne    0x41c5b4
41c54e:	8b d0                	mov    %eax,%edx
41c550:	83 3a 02             	cmpl   $0x2,(%edx)
41c553:	74 0f                	je     0x41c564
41c555:	84 c9                	test   %cl,%cl
41c557:	75 60                	jne    0x41c5b9
41c559:	8b d0                	mov    %eax,%edx
41c55b:	83 3a 03             	cmpl   $0x3,(%edx)
41c55e:	0f 85 e6 a9 05 00    	jne    0x476f4a
41c564:	84 c9                	test   %cl,%cl
41c566:	75 56                	jne    0x41c5be
41c568:	8b d0                	mov    %eax,%edx
41c56a:	8b 7d 0c             	mov    0xc(%ebp),%edi
41c56d:	8b 3f                	mov    (%edi),%edi
41c56f:	3b 7a 04             	cmp    0x4(%edx),%edi
41c572:	7e 59                	jle    0x41c5cd
41c574:	84 c9                	test   %cl,%cl
41c576:	75 4b                	jne    0x41c5c3
41c578:	8b d0                	mov    %eax,%edx
41c57a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41c57d:	8b 3b                	mov    (%ebx),%edi
41c57f:	8b 5d f8             	mov    -0x8(%ebp),%ebx
41c582:	3b 7a 08             	cmp    0x8(%edx),%edi
41c585:	8d bb 60 01 00 00    	lea    0x160(%ebx),%edi
41c58b:	7f 40                	jg     0x41c5cd
41c58d:	8b 55 08             	mov    0x8(%ebp),%edx
41c590:	42                   	inc    %edx
41c591:	89 55 08             	mov    %edx,0x8(%ebp)
41c594:	84 c9                	test   %cl,%cl
41c596:	75 30                	jne    0x41c5c8
41c598:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41c59b:	8b 40 08             	mov    0x8(%eax),%eax
41c59e:	89 01                	mov    %eax,(%ecx)
41c5a0:	3b d6                	cmp    %esi,%edx
41c5a2:	0f 85 a2 a9 05 00    	jne    0x476f4a
41c5a8:	5f                   	pop    %edi
41c5a9:	5e                   	pop    %esi
41c5aa:	5b                   	pop    %ebx
41c5ab:	c9                   	leave
41c5ac:	c2 08 00             	ret    $0x8
41c5af:	8b 50 30             	mov    0x30(%eax),%edx
41c5b2:	eb 91                	jmp    0x41c545
41c5b4:	8b 50 30             	mov    0x30(%eax),%edx
41c5b7:	eb 97                	jmp    0x41c550
41c5b9:	8b 50 30             	mov    0x30(%eax),%edx
41c5bc:	eb 9d                	jmp    0x41c55b
41c5be:	8b 50 30             	mov    0x30(%eax),%edx
41c5c1:	eb a7                	jmp    0x41c56a
41c5c3:	8b 50 30             	mov    0x30(%eax),%edx
41c5c6:	eb b2                	jmp    0x41c57a
41c5c8:	8b 40 30             	mov    0x30(%eax),%eax
41c5cb:	eb cb                	jmp    0x41c598
41c5cd:	6a ff                	push   $0xffffffff
41c5cf:	68 8f 00 00 00       	push   $0x8f
41c5d4:	e9 8f a9 05 00       	jmp    0x476f68
41c5d9:	56                   	push   %esi
41c5da:	8b f1                	mov    %ecx,%esi
41c5dc:	83 7e 04 01          	cmpl   $0x1,0x4(%esi)
41c5e0:	74 16                	je     0x41c5f8
41c5e2:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
41c5e6:	57                   	push   %edi
41c5e7:	75 14                	jne    0x41c5fd
41c5e9:	80 7e 0c 00          	cmpb   $0x0,0xc(%esi)
41c5ed:	0f 84 f9 7d 05 00    	je     0x4743ec
41c5f3:	c6 46 0d 01          	movb   $0x1,0xd(%esi)
41c5f7:	5f                   	pop    %edi
41c5f8:	ff 4e 04             	decl   0x4(%esi)
41c5fb:	5e                   	pop    %esi
41c5fc:	c3                   	ret
41c5fd:	8b 4e 08             	mov    0x8(%esi),%ecx
41c600:	8b 79 10             	mov    0x10(%ecx),%edi
41c603:	85 c9                	test   %ecx,%ecx
41c605:	74 06                	je     0x41c60d
41c607:	51                   	push   %ecx
41c608:	e8 09 00 00 00       	call   0x41c616
41c60d:	89 7e 08             	mov    %edi,0x8(%esi)
41c610:	c6 46 0d 00          	movb   $0x0,0xd(%esi)
41c614:	eb d3                	jmp    0x41c5e9
41c616:	56                   	push   %esi
41c617:	8b f1                	mov    %ecx,%esi
41c619:	e8 02 66 ff ff       	call   0x412c20
41c61e:	56                   	push   %esi
41c61f:	e8 3a 2f 00 00       	call   0x41f55e
41c624:	59                   	pop    %ecx
41c625:	8b c6                	mov    %esi,%eax
41c627:	5e                   	pop    %esi
41c628:	c2 04 00             	ret    $0x4
41c62b:	55                   	push   %ebp
41c62c:	8b ec                	mov    %esp,%ebp
41c62e:	51                   	push   %ecx
41c62f:	53                   	push   %ebx
41c630:	83 c1 e8             	add    $0xffffffe8,%ecx
41c633:	56                   	push   %esi
41c634:	8b 31                	mov    (%ecx),%esi
41c636:	57                   	push   %edi
41c637:	33 ff                	xor    %edi,%edi
41c639:	4e                   	dec    %esi
41c63a:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41c63d:	78 3e                	js     0x41c67d
41c63f:	8d 04 3e             	lea    (%esi,%edi,1),%eax
41c642:	99                   	cltd
41c643:	2b c2                	sub    %edx,%eax
41c645:	8b d8                	mov    %eax,%ebx
41c647:	d1 fb                	sar    $1,%ebx
41c649:	53                   	push   %ebx
41c64a:	e8 b1 81 ff ff       	call   0x414800
41c64f:	ff 30                	push   (%eax)
41c651:	ff 75 08             	push   0x8(%ebp)
41c654:	e8 8a 4f 00 00       	call   0x4215e3
41c659:	59                   	pop    %ecx
41c65a:	59                   	pop    %ecx
41c65b:	85 c0                	test   %eax,%eax
41c65d:	78 19                	js     0x41c678
41c65f:	7e 0a                	jle    0x41c66b
41c661:	8d 7b 01             	lea    0x1(%ebx),%edi
41c664:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41c667:	3b fe                	cmp    %esi,%edi
41c669:	7e d4                	jle    0x41c63f
41c66b:	3b fe                	cmp    %esi,%edi
41c66d:	7f 0e                	jg     0x41c67d
41c66f:	8b c3                	mov    %ebx,%eax
41c671:	5f                   	pop    %edi
41c672:	5e                   	pop    %esi
41c673:	5b                   	pop    %ebx
41c674:	c9                   	leave
41c675:	c2 04 00             	ret    $0x4
41c678:	8d 73 ff             	lea    -0x1(%ebx),%esi
41c67b:	eb e7                	jmp    0x41c664
41c67d:	83 c8 ff             	or     $0xffffffff,%eax
41c680:	eb ef                	jmp    0x41c671
41c682:	55                   	push   %ebp
41c683:	8b ec                	mov    %esp,%ebp
41c685:	56                   	push   %esi
41c686:	57                   	push   %edi
41c687:	8b f1                	mov    %ecx,%esi
41c689:	33 ff                	xor    %edi,%edi
41c68b:	39 7e 08             	cmp    %edi,0x8(%esi)
41c68e:	74 55                	je     0x41c6e5
41c690:	8b 46 0c             	mov    0xc(%esi),%eax
41c693:	8b 00                	mov    (%eax),%eax
41c695:	66 39 38             	cmp    %di,(%eax)
41c698:	74 3f                	je     0x41c6d9
41c69a:	6a 10                	push   $0x10
41c69c:	e8 49 2e 00 00       	call   0x41f4ea
41c6a1:	59                   	pop    %ecx
41c6a2:	8b 4e 0c             	mov    0xc(%esi),%ecx
41c6a5:	89 41 0c             	mov    %eax,0xc(%ecx)
41c6a8:	89 46 0c             	mov    %eax,0xc(%esi)
41c6ab:	8b 46 0c             	mov    0xc(%esi),%eax
41c6ae:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41c6b1:	89 78 0c             	mov    %edi,0xc(%eax)
41c6b4:	e8 3b 00 00 00       	call   0x41c6f4
41c6b9:	8b 4e 0c             	mov    0xc(%esi),%ecx
41c6bc:	5f                   	pop    %edi
41c6bd:	89 01                	mov    %eax,(%ecx)
41c6bf:	8b 4e 0c             	mov    0xc(%esi),%ecx
41c6c2:	8b 45 08             	mov    0x8(%ebp),%eax
41c6c5:	89 41 04             	mov    %eax,0x4(%ecx)
41c6c8:	8b 4e 0c             	mov    0xc(%esi),%ecx
41c6cb:	8b 45 10             	mov    0x10(%ebp),%eax
41c6ce:	89 41 08             	mov    %eax,0x8(%ecx)
41c6d1:	ff 46 10             	incl   0x10(%esi)
41c6d4:	5e                   	pop    %esi
41c6d5:	5d                   	pop    %ebp
41c6d6:	c2 0c 00             	ret    $0xc
41c6d9:	50                   	push   %eax
41c6da:	e8 7f 2e 00 00       	call   0x41f55e
41c6df:	ff 4e 10             	decl   0x10(%esi)
41c6e2:	59                   	pop    %ecx
41c6e3:	eb c6                	jmp    0x41c6ab
41c6e5:	6a 10                	push   $0x10
41c6e7:	e8 fe 2d 00 00       	call   0x41f4ea
41c6ec:	89 46 08             	mov    %eax,0x8(%esi)
41c6ef:	89 46 0c             	mov    %eax,0xc(%esi)
41c6f2:	eb ee                	jmp    0x41c6e2
41c6f4:	56                   	push   %esi
41c6f5:	57                   	push   %edi
41c6f6:	8b f9                	mov    %ecx,%edi
41c6f8:	57                   	push   %edi
41c6f9:	e8 dd 45 00 00       	call   0x420cdb
41c6fe:	33 c9                	xor    %ecx,%ecx
41c700:	6a 02                	push   $0x2
41c702:	40                   	inc    %eax
41c703:	5a                   	pop    %edx
41c704:	f7 e2                	mul    %edx
41c706:	0f 90 c1             	seto   %cl
41c709:	f7 d9                	neg    %ecx
41c70b:	0b c8                	or     %eax,%ecx
41c70d:	51                   	push   %ecx
41c70e:	e8 d7 2d 00 00       	call   0x41f4ea
41c713:	8b f0                	mov    %eax,%esi
41c715:	57                   	push   %edi
41c716:	56                   	push   %esi
41c717:	e8 07 46 00 00       	call   0x420d23
41c71c:	83 c4 10             	add    $0x10,%esp
41c71f:	8b c6                	mov    %esi,%eax
41c721:	5f                   	pop    %edi
41c722:	5e                   	pop    %esi
41c723:	c3                   	ret
41c724:	83 79 0c 04          	cmpl   $0x4,0xc(%ecx)
41c728:	56                   	push   %esi
41c729:	75 27                	jne    0x41c752
41c72b:	8b 41 08             	mov    0x8(%ecx),%eax
41c72e:	68 b0 da 49 00       	push   $0x49dab0
41c733:	8b 30                	mov    (%eax),%esi
41c735:	56                   	push   %esi
41c736:	e8 cb 52 00 00       	call   0x421a06
41c73b:	59                   	pop    %ecx
41c73c:	59                   	pop    %ecx
41c73d:	85 c0                	test   %eax,%eax
41c73f:	75 15                	jne    0x41c756
41c741:	68 f0 ee 4a 00       	push   $0x4aeef0
41c746:	56                   	push   %esi
41c747:	e8 ba 52 00 00       	call   0x421a06
41c74c:	59                   	pop    %ecx
41c74d:	59                   	pop    %ecx
41c74e:	85 c0                	test   %eax,%eax
41c750:	75 04                	jne    0x41c756
41c752:	32 c0                	xor    %al,%al
41c754:	5e                   	pop    %esi
41c755:	c3                   	ret
41c756:	b0 01                	mov    $0x1,%al
41c758:	5e                   	pop    %esi
41c759:	c3                   	ret
41c75a:	55                   	push   %ebp
41c75b:	8b ec                	mov    %esp,%ebp
41c75d:	51                   	push   %ecx
41c75e:	53                   	push   %ebx
41c75f:	33 db                	xor    %ebx,%ebx
41c761:	56                   	push   %esi
41c762:	33 c0                	xor    %eax,%eax
41c764:	40                   	inc    %eax
41c765:	57                   	push   %edi
41c766:	83 cf ff             	or     $0xffffffff,%edi
41c769:	b9 68 16 4c 00       	mov    $0x4c1668,%ecx
41c76e:	a2 28 16 4c 00       	mov    %al,0x4c1628
41c773:	a3 2c 16 4c 00       	mov    %eax,0x4c162c
41c778:	89 1d 30 16 4c 00    	mov    %ebx,0x4c1630
41c77e:	88 1d 34 16 4c 00    	mov    %bl,0x4c1634
41c784:	89 1d 38 16 4c 00    	mov    %ebx,0x4c1638
41c78a:	a3 40 16 4c 00       	mov    %eax,0x4c1640
41c78f:	c7 05 44 16 4c 00 02 	movl   $0x2,0x4c1644
41c796:	00 00 00
41c799:	89 1d 48 16 4c 00    	mov    %ebx,0x4c1648
41c79f:	89 1d 4c 16 4c 00    	mov    %ebx,0x4c164c
41c7a5:	89 3d 50 16 4c 00    	mov    %edi,0x4c1650
41c7ab:	89 1d 54 16 4c 00    	mov    %ebx,0x4c1654
41c7b1:	89 1d 58 16 4c 00    	mov    %ebx,0x4c1658
41c7b7:	89 1d 5c 16 4c 00    	mov    %ebx,0x4c165c
41c7bd:	88 1d 60 16 4c 00    	mov    %bl,0x4c1660
41c7c3:	e8 2f 10 ff ff       	call   0x40d7f7
41c7c8:	6a 03                	push   $0x3
41c7ca:	5e                   	pop    %esi
41c7cb:	6a 7c                	push   $0x7c
41c7cd:	58                   	pop    %eax
41c7ce:	66 a3 3c 16 4c 00    	mov    %ax,0x4c163c
41c7d4:	33 c0                	xor    %eax,%eax
41c7d6:	c7 05 84 16 4c 00 c4 	movl   $0x4b26c4,0x4c1684
41c7dd:	26 4b 00
41c7e0:	89 1d 88 16 4c 00    	mov    %ebx,0x4c1688
41c7e6:	89 1d 8c 16 4c 00    	mov    %ebx,0x4c168c
41c7ec:	89 1d 90 16 4c 00    	mov    %ebx,0x4c1690