421483:	7e db                	jle    0x421460
421485:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
42148b:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
421491:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
421497:	eb 07                	jmp    0x4214a0
421499:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4214a0:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
4214a6:	8b cb                	mov    %ebx,%ecx
4214a8:	2b d8                	sub    %eax,%ebx
4214aa:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
4214b0:	3b df                	cmp    %edi,%ebx
4214b2:	76 1f                	jbe    0x4214d3
4214b4:	57                   	push   %edi
4214b5:	53                   	push   %ebx
4214b6:	8b ce                	mov    %esi,%ecx
4214b8:	ff 15 54 41 42 00    	call   *0x424154
4214be:	ff d6                	call   *%esi
4214c0:	83 c4 08             	add    $0x8,%esp
4214c3:	85 c0                	test   %eax,%eax
4214c5:	7f d9                	jg     0x4214a0
4214c7:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
4214cd:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
4214d3:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
4214d9:	89 9d 04 ff ff ff    	mov    %ebx,-0xfc(%ebp)
4214df:	3b de                	cmp    %esi,%ebx
4214e1:	72 4a                	jb     0x42152d
4214e3:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
4214e9:	8b d3                	mov    %ebx,%edx
4214eb:	74 2b                	je     0x421518
4214ed:	2b f3                	sub    %ebx,%esi
4214ef:	8b d8                	mov    %eax,%ebx
4214f1:	8a 02                	mov    (%edx),%al
4214f3:	8d 52 01             	lea    0x1(%edx),%edx
4214f6:	8a 4c 16 ff          	mov    -0x1(%esi,%edx,1),%cl
4214fa:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
4214fe:	88 4a ff             	mov    %cl,-0x1(%edx)
421501:	83 eb 01             	sub    $0x1,%ebx
421504:	75 eb                	jne    0x4214f1
421506:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
42150c:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
421512:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
421518:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
42151e:	3b fb                	cmp    %ebx,%edi
421520:	0f 85 ed fe ff ff    	jne    0x421413
421526:	8b fe                	mov    %esi,%edi
421528:	e9 e6 fe ff ff       	jmp    0x421413
42152d:	3b f9                	cmp    %ecx,%edi
42152f:	73 3c                	jae    0x42156d
421531:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
421537:	eb 07                	jmp    0x421540
421539:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
421540:	2b c8                	sub    %eax,%ecx
421542:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
421548:	3b cf                	cmp    %edi,%ecx
42154a:	76 21                	jbe    0x42156d
42154c:	57                   	push   %edi
42154d:	51                   	push   %ecx
42154e:	8b cb                	mov    %ebx,%ecx
421550:	ff 15 54 41 42 00    	call   *0x424154
421556:	ff d3                	call   *%ebx
421558:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
42155e:	83 c4 08             	add    $0x8,%esp
421561:	85 c0                	test   %eax,%eax
421563:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
421569:	74 d5                	je     0x421540
42156b:	eb 44                	jmp    0x4215b1
42156d:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
421573:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
421579:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
421580:	2b c8                	sub    %eax,%ecx
421582:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
421588:	3b ce                	cmp    %esi,%ecx
42158a:	76 1f                	jbe    0x4215ab
42158c:	57                   	push   %edi
42158d:	51                   	push   %ecx
42158e:	8b cb                	mov    %ebx,%ecx
421590:	ff 15 54 41 42 00    	call   *0x424154
421596:	ff d3                	call   *%ebx
421598:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
42159e:	83 c4 08             	add    $0x8,%esp
4215a1:	85 c0                	test   %eax,%eax
4215a3:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
4215a9:	74 d5                	je     0x421580
4215ab:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
4215b1:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
4215b7:	8b ca                	mov    %edx,%ecx
4215b9:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
4215bf:	2b ce                	sub    %esi,%ecx
4215c1:	8b c7                	mov    %edi,%eax
4215c3:	2b 85 fc fe ff ff    	sub    -0x104(%ebp),%eax
4215c9:	3b c1                	cmp    %ecx,%eax
4215cb:	7c 3d                	jl     0x42160a
4215cd:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
4215d3:	3b c7                	cmp    %edi,%eax
4215d5:	73 18                	jae    0x4215ef
4215d7:	8b 8d e8 fe ff ff    	mov    -0x118(%ebp),%ecx
4215dd:	89 44 8d 84          	mov    %eax,-0x7c(%ebp,%ecx,4)
4215e1:	89 bc 8d 0c ff ff ff 	mov    %edi,-0xf4(%ebp,%ecx,4)
4215e8:	41                   	inc    %ecx
4215e9:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
4215ef:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
4215f5:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
4215fb:	3b f1                	cmp    %ecx,%esi
4215fd:	73 44                	jae    0x421643
4215ff:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
421605:	e9 f8 fb ff ff       	jmp    0x421202
42160a:	3b f2                	cmp    %edx,%esi
42160c:	73 18                	jae    0x421626
42160e:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
421614:	89 74 85 84          	mov    %esi,-0x7c(%ebp,%eax,4)
421618:	89 94 85 0c ff ff ff 	mov    %edx,-0xf4(%ebp,%eax,4)
42161f:	40                   	inc    %eax
421620:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
421626:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
42162c:	3b f7                	cmp    %edi,%esi
42162e:	73 0d                	jae    0x42163d
421630:	8b cf                	mov    %edi,%ecx
421632:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
421638:	e9 bf fb ff ff       	jmp    0x4211fc
42163d:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
421643:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
421649:	83 e8 01             	sub    $0x1,%eax
42164c:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
421652:	0f 88 76 fb ff ff    	js     0x4211ce
421658:	8b 74 85 84          	mov    -0x7c(%ebp,%eax,4),%esi
42165c:	8b 8c 85 0c ff ff ff 	mov    -0xf4(%ebp,%eax,4),%ecx
421663:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
421669:	e9 8e fb ff ff       	jmp    0x4211fc
42166e:	cc                   	int3
42166f:	cc                   	int3
421670:	55                   	push   %ebp
421671:	8b ec                	mov    %esp,%ebp
421673:	56                   	push   %esi
421674:	33 c0                	xor    %eax,%eax
421676:	50                   	push   %eax
421677:	50                   	push   %eax
421678:	50                   	push   %eax
421679:	50                   	push   %eax
42167a:	50                   	push   %eax
42167b:	50                   	push   %eax
42167c:	50                   	push   %eax
42167d:	50                   	push   %eax
42167e:	8b 55 0c             	mov    0xc(%ebp),%edx
421681:	8d 49 00             	lea    0x0(%ecx),%ecx
421684:	8a 02                	mov    (%edx),%al
421686:	0a c0                	or     %al,%al
421688:	74 09                	je     0x421693
42168a:	83 c2 01             	add    $0x1,%edx
42168d:	0f ab 04 24          	bts    %eax,(%esp)
421691:	eb f1                	jmp    0x421684
421693:	8b 75 08             	mov    0x8(%ebp),%esi
421696:	8b ff                	mov    %edi,%edi
421698:	8a 06                	mov    (%esi),%al
42169a:	0a c0                	or     %al,%al
42169c:	74 0c                	je     0x4216aa
42169e:	83 c6 01             	add    $0x1,%esi
4216a1:	0f a3 04 24          	bt     %eax,(%esp)
4216a5:	73 f1                	jae    0x421698
4216a7:	8d 46 ff             	lea    -0x1(%esi),%eax
4216aa:	83 c4 20             	add    $0x20,%esp
4216ad:	5e                   	pop    %esi
4216ae:	c9                   	leave
4216af:	c3                   	ret
4216b0:	e8 58 9a ff ff       	call   0x41b10d
4216b5:	33 c9                	xor    %ecx,%ecx
4216b7:	84 c0                	test   %al,%al
4216b9:	0f 94 c1             	sete   %cl
4216bc:	8b c1                	mov    %ecx,%eax
4216be:	c3                   	ret
4216bf:	8b ff                	mov    %edi,%edi
4216c1:	55                   	push   %ebp
4216c2:	8b ec                	mov    %esp,%ebp
4216c4:	51                   	push   %ecx
4216c5:	51                   	push   %ecx
4216c6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4216c9:	33 c0                	xor    %eax,%eax
4216cb:	53                   	push   %ebx
4216cc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4216cf:	56                   	push   %esi
4216d0:	57                   	push   %edi
4216d1:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4216d4:	89 45 f8             	mov    %eax,-0x8(%ebp)
4216d7:	38 45 18             	cmp    %al,0x18(%ebp)
4216da:	74 14                	je     0x4216f0
4216dc:	6a 2d                	push   $0x2d
4216de:	58                   	pop    %eax
4216df:	66 89 03             	mov    %ax,(%ebx)
4216e2:	8d 43 02             	lea    0x2(%ebx),%eax
4216e5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4216e8:	33 c0                	xor    %eax,%eax
4216ea:	40                   	inc    %eax
4216eb:	f7 d9                	neg    %ecx
4216ed:	89 45 f8             	mov    %eax,-0x8(%ebp)
4216f0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4216f3:	8b 75 f8             	mov    -0x8(%ebp),%esi
4216f6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4216f9:	33 d2                	xor    %edx,%edx
4216fb:	8b c1                	mov    %ecx,%eax
4216fd:	f7 75 14             	divl   0x14(%ebp)
421700:	6a 09                	push   $0x9
421702:	8b c8                	mov    %eax,%ecx
421704:	8b fb                	mov    %ebx,%edi
421706:	8d 43 02             	lea    0x2(%ebx),%eax
421709:	89 45 f8             	mov    %eax,-0x8(%ebp)
42170c:	58                   	pop    %eax
42170d:	3b c2                	cmp    %edx,%eax
42170f:	1b c0                	sbb    %eax,%eax
421711:	83 e0 27             	and    $0x27,%eax
421714:	83 c0 30             	add    $0x30,%eax
421717:	66 03 c2             	add    %dx,%ax
42171a:	8b 55 f8             	mov    -0x8(%ebp),%edx
42171d:	46                   	inc    %esi
42171e:	66 89 03             	mov    %ax,(%ebx)
421721:	8b 45 10             	mov    0x10(%ebp),%eax
421724:	85 c9                	test   %ecx,%ecx
421726:	74 06                	je     0x42172e
421728:	8b da                	mov    %edx,%ebx
42172a:	3b f0                	cmp    %eax,%esi
42172c:	72 cb                	jb     0x4216f9
42172e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
421731:	3b f0                	cmp    %eax,%esi
421733:	8b 75 fc             	mov    -0x4(%ebp),%esi
421736:	72 18                	jb     0x421750
421738:	33 c0                	xor    %eax,%eax
42173a:	66 89 03             	mov    %ax,(%ebx)
42173d:	e8 b9 d6 fe ff       	call   0x40edfb
421742:	6a 22                	push   $0x22
421744:	5e                   	pop    %esi
421745:	89 30                	mov    %esi,(%eax)
421747:	e8 35 b9 fe ff       	call   0x40d081
42174c:	8b c6                	mov    %esi,%eax
42174e:	eb 1d                	jmp    0x42176d
421750:	33 c0                	xor    %eax,%eax
421752:	66 89 02             	mov    %ax,(%edx)
421755:	66 8b 06             	mov    (%esi),%ax
421758:	0f b7 0f             	movzwl (%edi),%ecx
42175b:	66 89 07             	mov    %ax,(%edi)
42175e:	83 ef 02             	sub    $0x2,%edi
421761:	66 89 0e             	mov    %cx,(%esi)
421764:	83 c6 02             	add    $0x2,%esi
421767:	3b f7                	cmp    %edi,%esi
421769:	72 ea                	jb     0x421755
42176b:	33 c0                	xor    %eax,%eax
42176d:	5f                   	pop    %edi
42176e:	5e                   	pop    %esi
42176f:	5b                   	pop    %ebx
421770:	c9                   	leave
421771:	c3                   	ret
421772:	8b ff                	mov    %edi,%edi
421774:	55                   	push   %ebp
421775:	8b ec                	mov    %esp,%ebp
421777:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42177a:	56                   	push   %esi
42177b:	85 c9                	test   %ecx,%ecx
42177d:	75 13                	jne    0x421792
42177f:	e8 77 d6 fe ff       	call   0x40edfb
421784:	6a 16                	push   $0x16
421786:	5e                   	pop    %esi
421787:	89 30                	mov    %esi,(%eax)
421789:	e8 f3 b8 fe ff       	call   0x40d081
42178e:	8b c6                	mov    %esi,%eax
421790:	eb 4f                	jmp    0x4217e1
421792:	8b 55 10             	mov    0x10(%ebp),%edx
421795:	53                   	push   %ebx
421796:	85 d2                	test   %edx,%edx
421798:	74 24                	je     0x4217be
42179a:	8b 5d 18             	mov    0x18(%ebp),%ebx
42179d:	33 c0                	xor    %eax,%eax
42179f:	66 89 01             	mov    %ax,(%ecx)
4217a2:	0f b6 c3             	movzbl %bl,%eax
4217a5:	40                   	inc    %eax
4217a6:	3b d0                	cmp    %eax,%edx
4217a8:	77 09                	ja     0x4217b3
4217aa:	e8 4c d6 fe ff       	call   0x40edfb
4217af:	6a 22                	push   $0x22
4217b1:	eb 12                	jmp    0x4217c5
4217b3:	8b 75 14             	mov    0x14(%ebp),%esi
4217b6:	8d 46 fe             	lea    -0x2(%esi),%eax
4217b9:	83 f8 22             	cmp    $0x22,%eax
4217bc:	76 13                	jbe    0x4217d1
4217be:	e8 38 d6 fe ff       	call   0x40edfb
4217c3:	6a 16                	push   $0x16
4217c5:	5e                   	pop    %esi
4217c6:	89 30                	mov    %esi,(%eax)
4217c8:	e8 b4 b8 fe ff       	call   0x40d081
4217cd:	8b c6                	mov    %esi,%eax
4217cf:	eb 0f                	jmp    0x4217e0
4217d1:	53                   	push   %ebx
4217d2:	56                   	push   %esi
4217d3:	52                   	push   %edx
4217d4:	51                   	push   %ecx
4217d5:	ff 75 08             	push   0x8(%ebp)
4217d8:	e8 e2 fe ff ff       	call   0x4216bf
4217dd:	83 c4 14             	add    $0x14,%esp
4217e0:	5b                   	pop    %ebx
4217e1:	5e                   	pop    %esi
4217e2:	5d                   	pop    %ebp
4217e3:	c3                   	ret
4217e4:	8b ff                	mov    %edi,%edi
4217e6:	55                   	push   %ebp
4217e7:	8b ec                	mov    %esp,%ebp
4217e9:	51                   	push   %ecx
4217ea:	83 7d 14 0a          	cmpl   $0xa,0x14(%ebp)
4217ee:	75 0a                	jne    0x4217fa
4217f0:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4217f4:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4217f8:	7c 04                	jl     0x4217fe
4217fa:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4217fe:	ff 75 fc             	push   -0x4(%ebp)
421801:	ff 75 14             	push   0x14(%ebp)
421804:	ff 75 10             	push   0x10(%ebp)
421807:	ff 75 0c             	push   0xc(%ebp)
42180a:	ff 75 08             	push   0x8(%ebp)
42180d:	e8 60 ff ff ff       	call   0x421772
421812:	83 c4 14             	add    $0x14,%esp
421815:	c9                   	leave
421816:	c3                   	ret
421817:	8b ff                	mov    %edi,%edi
421819:	55                   	push   %ebp
42181a:	8b ec                	mov    %esp,%ebp
42181c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
421820:	75 15                	jne    0x421837
421822:	e8 d4 d5 fe ff       	call   0x40edfb
421827:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42182d:	e8 4f b8 fe ff       	call   0x40d081
421832:	83 c8 ff             	or     $0xffffffff,%eax
421835:	5d                   	pop    %ebp
421836:	c3                   	ret
421837:	ff 75 08             	push   0x8(%ebp)
42183a:	6a 00                	push   $0x0
42183c:	ff 35 ec 4d 43 00    	push   0x434dec
421842:	ff 15 10 40 42 00    	call   *0x424010
421848:	5d                   	pop    %ebp
421849:	c3                   	ret
42184a:	cc                   	int3
42184b:	cc                   	int3
42184c:	cc                   	int3
42184d:	cc                   	int3
42184e:	cc                   	int3
42184f:	cc                   	int3
421850:	55                   	push   %ebp
421851:	8b ec                	mov    %esp,%ebp
421853:	57                   	push   %edi
421854:	56                   	push   %esi
421855:	53                   	push   %ebx
421856:	8b 4d 10             	mov    0x10(%ebp),%ecx
421859:	0b c9                	or     %ecx,%ecx
42185b:	74 4d                	je     0x4218aa
42185d:	8b 75 08             	mov    0x8(%ebp),%esi
421860:	8b 7d 0c             	mov    0xc(%ebp),%edi