408393:	8b 51 0c             	mov    0xc(%ecx),%edx
408396:	8b 52 0c             	mov    0xc(%edx),%edx
408399:	39 51 08             	cmp    %edx,0x8(%ecx)
40839c:	75 05                	jne    0x4083a3
40839e:	b8 01 00 00 00       	mov    $0x1,%eax
4083a3:	c3                   	ret
4083a4:	53                   	push   %ebx
4083a5:	51                   	push   %ecx
4083a6:	bb 60 fc 41 00       	mov    $0x41fc60,%ebx
4083ab:	eb 0b                	jmp    0x4083b8
4083ad:	53                   	push   %ebx
4083ae:	51                   	push   %ecx
4083af:	bb 60 fc 41 00       	mov    $0x41fc60,%ebx
4083b4:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4083b8:	89 4b 08             	mov    %ecx,0x8(%ebx)
4083bb:	89 43 04             	mov    %eax,0x4(%ebx)
4083be:	89 6b 0c             	mov    %ebp,0xc(%ebx)
4083c1:	55                   	push   %ebp
4083c2:	51                   	push   %ecx
4083c3:	50                   	push   %eax
4083c4:	58                   	pop    %eax
4083c5:	59                   	pop    %ecx
4083c6:	5d                   	pop    %ebp
4083c7:	59                   	pop    %ecx
4083c8:	5b                   	pop    %ebx
4083c9:	c2 04 00             	ret    $0x4
4083cc:	ff d0                	call   *%eax
4083ce:	c3                   	ret
4083cf:	cc                   	int3
4083d0:	55                   	push   %ebp
4083d1:	8b ec                	mov    %esp,%ebp
4083d3:	57                   	push   %edi
4083d4:	8b 7d 08             	mov    0x8(%ebp),%edi
4083d7:	33 c0                	xor    %eax,%eax
4083d9:	83 c9 ff             	or     $0xffffffff,%ecx
4083dc:	f2 ae                	repnz scas %es:(%edi),%al
4083de:	83 c1 01             	add    $0x1,%ecx
4083e1:	f7 d9                	neg    %ecx
4083e3:	83 ef 01             	sub    $0x1,%edi
4083e6:	8a 45 0c             	mov    0xc(%ebp),%al
4083e9:	fd                   	std
4083ea:	f2 ae                	repnz scas %es:(%edi),%al
4083ec:	83 c7 01             	add    $0x1,%edi
4083ef:	38 07                	cmp    %al,(%edi)
4083f1:	74 04                	je     0x4083f7
4083f3:	33 c0                	xor    %eax,%eax
4083f5:	eb 02                	jmp    0x4083f9
4083f7:	8b c7                	mov    %edi,%eax
4083f9:	fc                   	cld
4083fa:	5f                   	pop    %edi
4083fb:	c9                   	leave
4083fc:	c3                   	ret
4083fd:	8b ff                	mov    %edi,%edi
4083ff:	55                   	push   %ebp
408400:	8b ec                	mov    %esp,%ebp
408402:	83 ec 18             	sub    $0x18,%esp
408405:	53                   	push   %ebx
408406:	56                   	push   %esi
408407:	ff 75 0c             	push   0xc(%ebp)
40840a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40840d:	e8 bc c1 ff ff       	call   0x4045ce
408412:	8b 5d 08             	mov    0x8(%ebp),%ebx
408415:	be 00 01 00 00       	mov    $0x100,%esi
40841a:	3b de                	cmp    %esi,%ebx
40841c:	73 54                	jae    0x408472
40841e:	8b 4d e8             	mov    -0x18(%ebp),%ecx
408421:	83 b9 ac 00 00 00 01 	cmpl   $0x1,0xac(%ecx)
408428:	7e 14                	jle    0x40843e
40842a:	8d 45 e8             	lea    -0x18(%ebp),%eax
40842d:	50                   	push   %eax
40842e:	6a 01                	push   $0x1
408430:	53                   	push   %ebx
408431:	e8 bb 06 00 00       	call   0x408af1
408436:	8b 4d e8             	mov    -0x18(%ebp),%ecx
408439:	83 c4 0c             	add    $0xc,%esp
40843c:	eb 0d                	jmp    0x40844b
40843e:	8b 81 c8 00 00 00    	mov    0xc8(%ecx),%eax
408444:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
408448:	83 e0 01             	and    $0x1,%eax
40844b:	85 c0                	test   %eax,%eax
40844d:	74 0f                	je     0x40845e
40844f:	8b 81 cc 00 00 00    	mov    0xcc(%ecx),%eax
408455:	0f b6 04 18          	movzbl (%eax,%ebx,1),%eax
408459:	e9 a3 00 00 00       	jmp    0x408501
40845e:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
408462:	74 07                	je     0x40846b
408464:	8b 45 f0             	mov    -0x10(%ebp),%eax
408467:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
40846b:	8b c3                	mov    %ebx,%eax
40846d:	e9 9c 00 00 00       	jmp    0x40850e
408472:	8b 45 e8             	mov    -0x18(%ebp),%eax
408475:	83 b8 ac 00 00 00 01 	cmpl   $0x1,0xac(%eax)
40847c:	7e 31                	jle    0x4084af
40847e:	89 5d 08             	mov    %ebx,0x8(%ebp)
408481:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
408485:	8d 45 e8             	lea    -0x18(%ebp),%eax
408488:	50                   	push   %eax
408489:	8b 45 08             	mov    0x8(%ebp),%eax
40848c:	25 ff 00 00 00       	and    $0xff,%eax
408491:	50                   	push   %eax
408492:	e8 42 09 00 00       	call   0x408dd9
408497:	59                   	pop    %ecx
408498:	59                   	pop    %ecx
408499:	85 c0                	test   %eax,%eax
40849b:	74 12                	je     0x4084af
40849d:	8a 45 08             	mov    0x8(%ebp),%al
4084a0:	6a 02                	push   $0x2
4084a2:	88 45 fc             	mov    %al,-0x4(%ebp)
4084a5:	88 5d fd             	mov    %bl,-0x3(%ebp)
4084a8:	c6 45 fe 00          	movb   $0x0,-0x2(%ebp)
4084ac:	59                   	pop    %ecx
4084ad:	eb 15                	jmp    0x4084c4
4084af:	e8 98 a9 ff ff       	call   0x402e4c
4084b4:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4084ba:	33 c9                	xor    %ecx,%ecx
4084bc:	88 5d fc             	mov    %bl,-0x4(%ebp)
4084bf:	c6 45 fd 00          	movb   $0x0,-0x3(%ebp)
4084c3:	41                   	inc    %ecx
4084c4:	8b 45 e8             	mov    -0x18(%ebp),%eax
4084c7:	6a 01                	push   $0x1
4084c9:	ff 70 04             	push   0x4(%eax)
4084cc:	8d 55 f8             	lea    -0x8(%ebp),%edx
4084cf:	6a 03                	push   $0x3
4084d1:	52                   	push   %edx
4084d2:	51                   	push   %ecx
4084d3:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4084d6:	51                   	push   %ecx
4084d7:	56                   	push   %esi
4084d8:	ff 70 14             	push   0x14(%eax)
4084db:	8d 45 e8             	lea    -0x18(%ebp),%eax
4084de:	50                   	push   %eax
4084df:	e8 c6 ee ff ff       	call   0x4073aa
4084e4:	83 c4 24             	add    $0x24,%esp
4084e7:	85 c0                	test   %eax,%eax
4084e9:	0f 84 6f ff ff ff    	je     0x40845e
4084ef:	83 f8 01             	cmp    $0x1,%eax
4084f2:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
4084f6:	74 09                	je     0x408501
4084f8:	0f b6 4d f9          	movzbl -0x7(%ebp),%ecx
4084fc:	c1 e0 08             	shl    $0x8,%eax
4084ff:	0b c1                	or     %ecx,%eax
408501:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
408505:	74 07                	je     0x40850e
408507:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40850a:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
40850e:	5e                   	pop    %esi
40850f:	5b                   	pop    %ebx
408510:	c9                   	leave
408511:	c3                   	ret
408512:	8b ff                	mov    %edi,%edi
408514:	55                   	push   %ebp
408515:	8b ec                	mov    %esp,%ebp
408517:	83 3d ec 0f 43 00 00 	cmpl   $0x0,0x430fec
40851e:	75 10                	jne    0x408530
408520:	8b 45 08             	mov    0x8(%ebp),%eax
408523:	8d 48 bf             	lea    -0x41(%eax),%ecx
408526:	83 f9 19             	cmp    $0x19,%ecx
408529:	77 11                	ja     0x40853c
40852b:	83 c0 20             	add    $0x20,%eax
40852e:	5d                   	pop    %ebp
40852f:	c3                   	ret
408530:	6a 00                	push   $0x0
408532:	ff 75 08             	push   0x8(%ebp)
408535:	e8 c3 fe ff ff       	call   0x4083fd
40853a:	59                   	pop    %ecx
40853b:	59                   	pop    %ecx
40853c:	5d                   	pop    %ebp
40853d:	c3                   	ret
40853e:	8b ff                	mov    %edi,%edi
408540:	55                   	push   %ebp
408541:	8b ec                	mov    %esp,%ebp
408543:	83 ec 28             	sub    $0x28,%esp
408546:	a1 04 f0 41 00       	mov    0x41f004,%eax
40854b:	33 c5                	xor    %ebp,%eax
40854d:	89 45 fc             	mov    %eax,-0x4(%ebp)
408550:	53                   	push   %ebx
408551:	56                   	push   %esi
408552:	8b 75 08             	mov    0x8(%ebp),%esi
408555:	57                   	push   %edi
408556:	ff 75 10             	push   0x10(%ebp)
408559:	8b 7d 0c             	mov    0xc(%ebp),%edi
40855c:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40855f:	e8 6a c0 ff ff       	call   0x4045ce
408564:	8d 45 dc             	lea    -0x24(%ebp),%eax
408567:	50                   	push   %eax
408568:	33 db                	xor    %ebx,%ebx
40856a:	53                   	push   %ebx
40856b:	53                   	push   %ebx
40856c:	53                   	push   %ebx
40856d:	53                   	push   %ebx
40856e:	57                   	push   %edi
40856f:	8d 45 d8             	lea    -0x28(%ebp),%eax
408572:	50                   	push   %eax
408573:	8d 45 f0             	lea    -0x10(%ebp),%eax
408576:	50                   	push   %eax
408577:	e8 33 13 00 00       	call   0x4098af
40857c:	89 45 ec             	mov    %eax,-0x14(%ebp)
40857f:	8d 45 f0             	lea    -0x10(%ebp),%eax
408582:	56                   	push   %esi
408583:	50                   	push   %eax
408584:	e8 9e 08 00 00       	call   0x408e27
408589:	83 c4 28             	add    $0x28,%esp
40858c:	f6 45 ec 03          	testb  $0x3,-0x14(%ebp)
408590:	75 2b                	jne    0x4085bd
408592:	83 f8 01             	cmp    $0x1,%eax
408595:	75 11                	jne    0x4085a8
408597:	38 5d e8             	cmp    %bl,-0x18(%ebp)
40859a:	74 07                	je     0x4085a3
40859c:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40859f:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4085a3:	6a 03                	push   $0x3
4085a5:	58                   	pop    %eax
4085a6:	eb 2f                	jmp    0x4085d7
4085a8:	83 f8 02             	cmp    $0x2,%eax
4085ab:	75 1c                	jne    0x4085c9
4085ad:	38 5d e8             	cmp    %bl,-0x18(%ebp)
4085b0:	74 07                	je     0x4085b9
4085b2:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4085b5:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4085b9:	6a 04                	push   $0x4
4085bb:	eb e8                	jmp    0x4085a5
4085bd:	f6 45 ec 01          	testb  $0x1,-0x14(%ebp)
4085c1:	75 ea                	jne    0x4085ad
4085c3:	f6 45 ec 02          	testb  $0x2,-0x14(%ebp)
4085c7:	75 ce                	jne    0x408597
4085c9:	38 5d e8             	cmp    %bl,-0x18(%ebp)
4085cc:	74 07                	je     0x4085d5
4085ce:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4085d1:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4085d5:	33 c0                	xor    %eax,%eax
4085d7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4085da:	5f                   	pop    %edi
4085db:	5e                   	pop    %esi
4085dc:	33 cd                	xor    %ebp,%ecx
4085de:	5b                   	pop    %ebx
4085df:	e8 1c 8a ff ff       	call   0x401000
4085e4:	c9                   	leave
4085e5:	c3                   	ret
4085e6:	8b ff                	mov    %edi,%edi
4085e8:	55                   	push   %ebp
4085e9:	8b ec                	mov    %esp,%ebp
4085eb:	83 ec 28             	sub    $0x28,%esp
4085ee:	a1 04 f0 41 00       	mov    0x41f004,%eax
4085f3:	33 c5                	xor    %ebp,%eax
4085f5:	89 45 fc             	mov    %eax,-0x4(%ebp)
4085f8:	53                   	push   %ebx
4085f9:	56                   	push   %esi
4085fa:	8b 75 08             	mov    0x8(%ebp),%esi
4085fd:	57                   	push   %edi
4085fe:	ff 75 10             	push   0x10(%ebp)
408601:	8b 7d 0c             	mov    0xc(%ebp),%edi
408604:	8d 4d dc             	lea    -0x24(%ebp),%ecx
408607:	e8 c2 bf ff ff       	call   0x4045ce
40860c:	8d 45 dc             	lea    -0x24(%ebp),%eax
40860f:	50                   	push   %eax
408610:	33 db                	xor    %ebx,%ebx
408612:	53                   	push   %ebx
408613:	53                   	push   %ebx
408614:	53                   	push   %ebx
408615:	53                   	push   %ebx
408616:	57                   	push   %edi
408617:	8d 45 d8             	lea    -0x28(%ebp),%eax
40861a:	50                   	push   %eax
40861b:	8d 45 f0             	lea    -0x10(%ebp),%eax
40861e:	50                   	push   %eax
40861f:	e8 8b 12 00 00       	call   0x4098af
408624:	89 45 ec             	mov    %eax,-0x14(%ebp)
408627:	8d 45 f0             	lea    -0x10(%ebp),%eax
40862a:	56                   	push   %esi
40862b:	50                   	push   %eax
40862c:	e8 3a 0d 00 00       	call   0x40936b
408631:	83 c4 28             	add    $0x28,%esp
408634:	f6 45 ec 03          	testb  $0x3,-0x14(%ebp)
408638:	75 2b                	jne    0x408665
40863a:	83 f8 01             	cmp    $0x1,%eax
40863d:	75 11                	jne    0x408650
40863f:	38 5d e8             	cmp    %bl,-0x18(%ebp)
408642:	74 07                	je     0x40864b
408644:	8b 45 e4             	mov    -0x1c(%ebp),%eax
408647:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
40864b:	6a 03                	push   $0x3
40864d:	58                   	pop    %eax
40864e:	eb 2f                	jmp    0x40867f
408650:	83 f8 02             	cmp    $0x2,%eax
408653:	75 1c                	jne    0x408671
408655:	38 5d e8             	cmp    %bl,-0x18(%ebp)
408658:	74 07                	je     0x408661
40865a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40865d:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
408661:	6a 04                	push   $0x4
408663:	eb e8                	jmp    0x40864d
408665:	f6 45 ec 01          	testb  $0x1,-0x14(%ebp)
408669:	75 ea                	jne    0x408655
40866b:	f6 45 ec 02          	testb  $0x2,-0x14(%ebp)
40866f:	75 ce                	jne    0x40863f
408671:	38 5d e8             	cmp    %bl,-0x18(%ebp)
408674:	74 07                	je     0x40867d
408676:	8b 45 e4             	mov    -0x1c(%ebp),%eax
408679:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
40867d:	33 c0                	xor    %eax,%eax
40867f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408682:	5f                   	pop    %edi
408683:	5e                   	pop    %esi
408684:	33 cd                	xor    %ebp,%ecx
408686:	5b                   	pop    %ebx
408687:	e8 74 89 ff ff       	call   0x401000
40868c:	c9                   	leave
40868d:	c3                   	ret
40868e:	8b ff                	mov    %edi,%edi
408690:	55                   	push   %ebp
408691:	8b ec                	mov    %esp,%ebp
408693:	8b 4d 14             	mov    0x14(%ebp),%ecx
408696:	53                   	push   %ebx
408697:	56                   	push   %esi
408698:	8b 75 08             	mov    0x8(%ebp),%esi
40869b:	33 db                	xor    %ebx,%ebx
40869d:	57                   	push   %edi
40869e:	8b 79 0c             	mov    0xc(%ecx),%edi
4086a1:	3b f3                	cmp    %ebx,%esi
4086a3:	75 1e                	jne    0x4086c3
4086a5:	e8 a2 a7 ff ff       	call   0x402e4c
4086aa:	6a 16                	push   $0x16
4086ac:	5e                   	pop    %esi
4086ad:	89 30                	mov    %esi,(%eax)
4086af:	53                   	push   %ebx
4086b0:	53                   	push   %ebx
4086b1:	53                   	push   %ebx
4086b2:	53                   	push   %ebx
4086b3:	53                   	push   %ebx
4086b4:	e8 88 b5 ff ff       	call   0x403c41
4086b9:	83 c4 14             	add    $0x14,%esp
4086bc:	8b c6                	mov    %esi,%eax
4086be:	e9 85 00 00 00       	jmp    0x408748
4086c3:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
4086c6:	76 dd                	jbe    0x4086a5
4086c8:	8b 55 10             	mov    0x10(%ebp),%edx
4086cb:	3b d3                	cmp    %ebx,%edx
4086cd:	88 1e                	mov    %bl,(%esi)
4086cf:	7e 04                	jle    0x4086d5
4086d1:	8b c2                	mov    %edx,%eax
4086d3:	eb 02                	jmp    0x4086d7
4086d5:	33 c0                	xor    %eax,%eax
4086d7:	40                   	inc    %eax
4086d8:	39 45 0c             	cmp    %eax,0xc(%ebp)
4086db:	77 0e                	ja     0x4086eb
4086dd:	e8 6a a7 ff ff       	call   0x402e4c
4086e2:	6a 22                	push   $0x22
4086e4:	59                   	pop    %ecx
4086e5:	89 08                	mov    %ecx,(%eax)
4086e7:	8b f1                	mov    %ecx,%esi