40e492:	ff b4 08 00 02 00 00 	push   0x200(%eax,%ecx,1)
40e499:	8b ce                	mov    %esi,%ecx
40e49b:	ff 74 24 2c          	push   0x2c(%esp)
40e49f:	e8 22 fa ff ff       	call   0x40dec6
40e4a4:	8b cb                	mov    %ebx,%ecx
40e4a6:	e8 12 bb ff ff       	call   0x409fbd
40e4ab:	8b d7                	mov    %edi,%edx
40e4ad:	85 c0                	test   %eax,%eax
40e4af:	75 15                	jne    0x40e4c6
40e4b1:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40e4b5:	e8 ae a8 ff ff       	call   0x408d68
40e4ba:	8b 44 24 10          	mov    0x10(%esp),%eax
40e4be:	4f                   	dec    %edi
40e4bf:	48                   	dec    %eax
40e4c0:	89 44 24 10          	mov    %eax,0x10(%esp)
40e4c4:	eb 11                	jmp    0x40e4d7
40e4c6:	51                   	push   %ecx
40e4c7:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40e4cb:	53                   	push   %ebx
40e4cc:	6a 02                	push   $0x2
40e4ce:	e8 17 ae ff ff       	call   0x4092ea
40e4d3:	8b 44 24 10          	mov    0x10(%esp),%eax
40e4d7:	47                   	inc    %edi
40e4d8:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
40e4dc:	3b f8                	cmp    %eax,%edi
40e4de:	0f 82 bd fe ff ff    	jb     0x40e3a1
40e4e4:	ba 7c 14 40 00       	mov    $0x40147c,%edx
40e4e9:	8b ce                	mov    %esi,%ecx
40e4eb:	e8 fd bf ff ff       	call   0x40a4ed
40e4f0:	8b 44 24 10          	mov    0x10(%esp),%eax
40e4f4:	85 c0                	test   %eax,%eax
40e4f6:	0f 85 87 fe ff ff    	jne    0x40e383
40e4fc:	8b 7c 24 18          	mov    0x18(%esp),%edi
40e500:	47                   	inc    %edi
40e501:	89 7c 24 18          	mov    %edi,0x18(%esp)
40e505:	3b 7c 24 2c          	cmp    0x2c(%esp),%edi
40e509:	0f 82 d0 fc ff ff    	jb     0x40e1df
40e50f:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40e513:	e8 c8 a5 ff ff       	call   0x408ae0
40e518:	eb 25                	jmp    0x40e53f
40e51a:	ff 15 48 20 41 00    	call   *0x412048
40e520:	85 c0                	test   %eax,%eax
40e522:	75 16                	jne    0x40e53a
40e524:	6a 08                	push   $0x8
40e526:	eb 0c                	jmp    0x40e534
40e528:	ff 15 48 20 41 00    	call   *0x412048
40e52e:	85 c0                	test   %eax,%eax
40e530:	75 08                	jne    0x40e53a
40e532:	6a 57                	push   $0x57
40e534:	ff 15 74 20 41 00    	call   *0x412074
40e53a:	e8 b5 b2 ff ff       	call   0x4097f4
40e53f:	5f                   	pop    %edi
40e540:	5e                   	pop    %esi
40e541:	5b                   	pop    %ebx
40e542:	8b e5                	mov    %ebp,%esp
40e544:	5d                   	pop    %ebp
40e545:	c2 0c 00             	ret    $0xc
40e548:	8b ff                	mov    %edi,%edi
40e54a:	55                   	push   %ebp
40e54b:	8b ec                	mov    %esp,%ebp
40e54d:	83 e4 f8             	and    $0xfffffff8,%esp
40e550:	81 ec bc 00 00 00    	sub    $0xbc,%esp
40e556:	a1 44 10 41 00       	mov    0x411044,%eax
40e55b:	33 c4                	xor    %esp,%eax
40e55d:	89 84 24 b8 00 00 00 	mov    %eax,0xb8(%esp)
40e564:	8b 45 10             	mov    0x10(%ebp),%eax
40e567:	53                   	push   %ebx
40e568:	8b 5d 08             	mov    0x8(%ebp),%ebx
40e56b:	56                   	push   %esi
40e56c:	57                   	push   %edi
40e56d:	68 80 00 00 00       	push   $0x80
40e572:	89 44 24 30          	mov    %eax,0x30(%esp)
40e576:	8b f9                	mov    %ecx,%edi
40e578:	8d 44 24 44          	lea    0x44(%esp),%eax
40e57c:	89 7c 24 14          	mov    %edi,0x14(%esp)
40e580:	6a 00                	push   $0x0
40e582:	50                   	push   %eax
40e583:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
40e587:	e8 38 0e 00 00       	call   0x40f3c4
40e58c:	83 c4 0c             	add    $0xc,%esp
40e58f:	85 ff                	test   %edi,%edi
40e591:	0f 84 10 02 00 00    	je     0x40e7a7
40e597:	85 db                	test   %ebx,%ebx
40e599:	0f 84 08 02 00 00    	je     0x40e7a7
40e59f:	6a 01                	push   $0x1
40e5a1:	68 00 10 00 00       	push   $0x1000
40e5a6:	6a 16                	push   $0x16
40e5a8:	33 d2                	xor    %edx,%edx
40e5aa:	59                   	pop    %ecx
40e5ab:	e8 f3 af ff ff       	call   0x4095a3
40e5b0:	89 44 24 18          	mov    %eax,0x18(%esp)
40e5b4:	85 c0                	test   %eax,%eax
40e5b6:	75 15                	jne    0x40e5cd
40e5b8:	ff 15 48 20 41 00    	call   *0x412048
40e5be:	85 c0                	test   %eax,%eax
40e5c0:	0f 85 f3 01 00 00    	jne    0x40e7b9
40e5c6:	6a 08                	push   $0x8
40e5c8:	e9 e6 01 00 00       	jmp    0x40e7b3
40e5cd:	83 64 24 14 00       	andl   $0x0,0x14(%esp)
40e5d2:	8b f3                	mov    %ebx,%esi
40e5d4:	8b 7c 24 14          	mov    0x14(%esp),%edi
40e5d8:	6a 0d                	push   $0xd
40e5da:	5b                   	pop    %ebx
40e5db:	85 f6                	test   %esi,%esi
40e5dd:	74 09                	je     0x40e5e8
40e5df:	8b ce                	mov    %esi,%ecx
40e5e1:	e8 d7 b9 ff ff       	call   0x409fbd
40e5e6:	eb 02                	jmp    0x40e5ea
40e5e8:	33 c0                	xor    %eax,%eax
40e5ea:	3b f8                	cmp    %eax,%edi
40e5ec:	73 02                	jae    0x40e5f0
40e5ee:	8b f8                	mov    %eax,%edi
40e5f0:	81 c6 94 02 00 00    	add    $0x294,%esi
40e5f6:	83 eb 01             	sub    $0x1,%ebx
40e5f9:	75 e0                	jne    0x40e5db
40e5fb:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40e5ff:	89 7c 24 14          	mov    %edi,0x14(%esp)
40e603:	e8 b0 a7 ff ff       	call   0x408db8
40e608:	8b 7c 24 10          	mov    0x10(%esp),%edi
40e60c:	89 44 24 28          	mov    %eax,0x28(%esp)
40e610:	89 5c 24 24          	mov    %ebx,0x24(%esp)
40e614:	85 c0                	test   %eax,%eax
40e616:	0f 84 a2 01 00 00    	je     0x40e7be
40e61c:	8b d3                	mov    %ebx,%edx
40e61e:	e8 c8 a7 ff ff       	call   0x408deb
40e623:	89 44 24 34          	mov    %eax,0x34(%esp)
40e627:	85 c0                	test   %eax,%eax
40e629:	0f 84 63 01 00 00    	je     0x40e792
40e62f:	8b 5c 24 30          	mov    0x30(%esp),%ebx
40e633:	83 64 24 1c 00       	andl   $0x0,0x1c(%esp)
40e638:	81 c3 00 02 00 00    	add    $0x200,%ebx
40e63e:	8b 74 24 18          	mov    0x18(%esp),%esi
40e642:	89 5c 24 20          	mov    %ebx,0x20(%esp)
40e646:	8b ce                	mov    %esi,%ecx
40e648:	e8 ad c7 ff ff       	call   0x40adfa
40e64d:	d1 e8                	shr    $1,%eax
40e64f:	ba 30 12 40 00       	mov    $0x401230,%edx
40e654:	50                   	push   %eax
40e655:	8b ce                	mov    %esi,%ecx
40e657:	e8 9a bd ff ff       	call   0x40a3f6
40e65c:	f7 43 04 00 10 00 00 	testl  $0x1000,0x4(%ebx)
40e663:	0f 85 f4 00 00 00    	jne    0x40e75d
40e669:	8d bb 00 fe ff ff    	lea    -0x200(%ebx),%edi
40e66f:	8b ce                	mov    %esi,%ecx
40e671:	57                   	push   %edi
40e672:	68 3c 1a 40 00       	push   $0x401a3c
40e677:	e8 7e c7 ff ff       	call   0x40adfa
40e67c:	d1 e8                	shr    $1,%eax
40e67e:	48                   	dec    %eax
40e67f:	50                   	push   %eax
40e680:	56                   	push   %esi
40e681:	e8 9e ad ff ff       	call   0x409424
40e686:	8b 44 24 24          	mov    0x24(%esp),%eax
40e68a:	83 c4 10             	add    $0x10,%esp
40e68d:	83 c0 02             	add    $0x2,%eax
40e690:	8b ce                	mov    %esi,%ecx
40e692:	8b d0                	mov    %eax,%edx
40e694:	89 44 24 3c          	mov    %eax,0x3c(%esp)
40e698:	6a 00                	push   $0x0
40e69a:	e8 40 ba ff ff       	call   0x40a0df
40e69f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40e6a3:	8b d6                	mov    %esi,%edx
40e6a5:	e8 43 be ff ff       	call   0x40a4ed
40e6aa:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40e6ae:	8b 33                	mov    (%ebx),%esi
40e6b0:	e8 45 c7 ff ff       	call   0x40adfa
40e6b5:	8b 54 24 1c          	mov    0x1c(%esp),%edx
40e6b9:	8b cf                	mov    %edi,%ecx
40e6bb:	68 7c 14 40 00       	push   $0x40147c
40e6c0:	ff 74 24 38          	push   0x38(%esp)
40e6c4:	d1 e8                	shr    $1,%eax
40e6c6:	89 03                	mov    %eax,(%ebx)
40e6c8:	e8 3c f5 ff ff       	call   0x40dc09
40e6cd:	89 33                	mov    %esi,(%ebx)
40e6cf:	8b 74 24 18          	mov    0x18(%esp),%esi
40e6d3:	68 7c 14 40 00       	push   $0x40147c
40e6d8:	56                   	push   %esi
40e6d9:	ff 15 60 22 41 00    	call   *0x412260
40e6df:	8b 7c 24 18          	mov    0x18(%esp),%edi
40e6e3:	89 44 24 40          	mov    %eax,0x40(%esp)
40e6e7:	59                   	pop    %ecx
40e6e8:	59                   	pop    %ecx
40e6e9:	85 c0                	test   %eax,%eax
40e6eb:	74 64                	je     0x40e751
40e6ed:	8b d8                	mov    %eax,%ebx
40e6ef:	8b d3                	mov    %ebx,%edx
40e6f1:	8b cf                	mov    %edi,%ecx
40e6f3:	e8 f5 bd ff ff       	call   0x40a4ed
40e6f8:	68 7c 14 40 00       	push   $0x40147c
40e6fd:	6a 00                	push   $0x0
40e6ff:	ff 15 60 22 41 00    	call   *0x412260
40e705:	8b d8                	mov    %eax,%ebx
40e707:	59                   	pop    %ecx
40e708:	59                   	pop    %ecx
40e709:	85 db                	test   %ebx,%ebx
40e70b:	74 40                	je     0x40e74d
40e70d:	8b ce                	mov    %esi,%ecx
40e70f:	e8 e6 c6 ff ff       	call   0x40adfa
40e714:	d1 e8                	shr    $1,%eax
40e716:	8d 4c 24 40          	lea    0x40(%esp),%ecx
40e71a:	50                   	push   %eax
40e71b:	ba 68 18 40 00       	mov    $0x401868,%edx
40e720:	e8 d1 bc ff ff       	call   0x40a3f6
40e725:	8b 54 24 3c          	mov    0x3c(%esp),%edx
40e729:	8d 4c 24 40          	lea    0x40(%esp),%ecx
40e72d:	6a 00                	push   $0x0
40e72f:	e8 ab b9 ff ff       	call   0x40a0df
40e734:	ba 7c 14 40 00       	mov    $0x40147c,%edx
40e739:	8b cf                	mov    %edi,%ecx
40e73b:	e8 ad bd ff ff       	call   0x40a4ed
40e740:	8d 54 24 40          	lea    0x40(%esp),%edx
40e744:	8b cf                	mov    %edi,%ecx
40e746:	e8 a2 bd ff ff       	call   0x40a4ed
40e74b:	eb a2                	jmp    0x40e6ef
40e74d:	8b 5c 24 20          	mov    0x20(%esp),%ebx
40e751:	ba 7c 14 40 00       	mov    $0x40147c,%edx
40e756:	8b cf                	mov    %edi,%ecx
40e758:	e8 90 bd ff ff       	call   0x40a4ed
40e75d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40e761:	81 c3 94 02 00 00    	add    $0x294,%ebx
40e767:	40                   	inc    %eax
40e768:	89 5c 24 20          	mov    %ebx,0x20(%esp)
40e76c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40e770:	83 f8 0d             	cmp    $0xd,%eax
40e773:	0f 82 cd fe ff ff    	jb     0x40e646
40e779:	8b 5c 24 24          	mov    0x24(%esp),%ebx
40e77d:	8d 43 01             	lea    0x1(%ebx),%eax
40e780:	3b 44 24 28          	cmp    0x28(%esp),%eax
40e784:	73 0c                	jae    0x40e792
40e786:	ba 7c 14 40 00       	mov    $0x40147c,%edx
40e78b:	8b cf                	mov    %edi,%ecx
40e78d:	e8 5b bd ff ff       	call   0x40a4ed
40e792:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
40e796:	43                   	inc    %ebx
40e797:	89 5c 24 24          	mov    %ebx,0x24(%esp)
40e79b:	3b 5c 24 28          	cmp    0x28(%esp),%ebx
40e79f:	0f 82 77 fe ff ff    	jb     0x40e61c
40e7a5:	eb 17                	jmp    0x40e7be
40e7a7:	ff 15 48 20 41 00    	call   *0x412048
40e7ad:	85 c0                	test   %eax,%eax
40e7af:	75 08                	jne    0x40e7b9
40e7b1:	6a 57                	push   $0x57
40e7b3:	ff 15 74 20 41 00    	call   *0x412074
40e7b9:	e8 36 b0 ff ff       	call   0x4097f4
40e7be:	8b 8c 24 c4 00 00 00 	mov    0xc4(%esp),%ecx
40e7c5:	5f                   	pop    %edi
40e7c6:	5e                   	pop    %esi
40e7c7:	5b                   	pop    %ebx
40e7c8:	33 cc                	xor    %esp,%ecx
40e7ca:	e8 01 05 00 00       	call   0x40ecd0
40e7cf:	8b e5                	mov    %ebp,%esp
40e7d1:	5d                   	pop    %ebp
40e7d2:	c2 0c 00             	ret    $0xc
40e7d5:	8b ff                	mov    %edi,%edi
40e7d7:	55                   	push   %ebp
40e7d8:	8b ec                	mov    %esp,%ebp
40e7da:	83 e4 f8             	and    $0xfffffff8,%esp
40e7dd:	83 ec 1c             	sub    $0x1c,%esp
40e7e0:	53                   	push   %ebx
40e7e1:	56                   	push   %esi
40e7e2:	57                   	push   %edi
40e7e3:	8b f9                	mov    %ecx,%edi
40e7e5:	85 ff                	test   %edi,%edi
40e7e7:	0f 84 c0 01 00 00    	je     0x40e9ad
40e7ed:	8b 75 08             	mov    0x8(%ebp),%esi
40e7f0:	85 f6                	test   %esi,%esi
40e7f2:	0f 84 b5 01 00 00    	je     0x40e9ad
40e7f8:	6a 01                	push   $0x1
40e7fa:	68 00 10 00 00       	push   $0x1000
40e7ff:	6a 16                	push   $0x16
40e801:	33 d2                	xor    %edx,%edx
40e803:	59                   	pop    %ecx
40e804:	e8 9a ad ff ff       	call   0x4095a3
40e809:	8b d8                	mov    %eax,%ebx
40e80b:	85 db                	test   %ebx,%ebx
40e80d:	75 15                	jne    0x40e824
40e80f:	ff 15 48 20 41 00    	call   *0x412048
40e815:	85 c0                	test   %eax,%eax
40e817:	0f 85 a2 01 00 00    	jne    0x40e9bf
40e81d:	6a 08                	push   $0x8
40e81f:	e9 95 01 00 00       	jmp    0x40e9b9
40e824:	f7 45 0c 00 10 00 00 	testl  $0x1000,0xc(%ebp)
40e82b:	75 6e                	jne    0x40e89b
40e82d:	6a 0d                	push   $0xd
40e82f:	58                   	pop    %eax
40e830:	33 c9                	xor    %ecx,%ecx
40e832:	89 44 24 14          	mov    %eax,0x14(%esp)
40e836:	f7 86 04 02 00 00 00 	testl  $0x1000,0x204(%esi)
40e83d:	10 00 00
40e840:	75 3b                	jne    0x40e87d
40e842:	83 f9 01             	cmp    $0x1,%ecx
40e845:	75 0c                	jne    0x40e853
40e847:	ba 44 1a 40 00       	mov    $0x401a44,%edx
40e84c:	8b cf                	mov    %edi,%ecx
40e84e:	e8 9a bc ff ff       	call   0x40a4ed
40e853:	56                   	push   %esi
40e854:	68 48 1a 40 00       	push   $0x401a48
40e859:	8b cb                	mov    %ebx,%ecx
40e85b:	e8 9a c5 ff ff       	call   0x40adfa
40e860:	d1 e8                	shr    $1,%eax
40e862:	48                   	dec    %eax
40e863:	50                   	push   %eax
40e864:	53                   	push   %ebx
40e865:	e8 ba ab ff ff       	call   0x409424
40e86a:	83 c4 10             	add    $0x10,%esp
40e86d:	8b d3                	mov    %ebx,%edx
40e86f:	8b cf                	mov    %edi,%ecx
40e871:	e8 77 bc ff ff       	call   0x40a4ed
40e876:	8b 44 24 14          	mov    0x14(%esp),%eax
40e87a:	33 c9                	xor    %ecx,%ecx
40e87c:	41                   	inc    %ecx
40e87d:	81 c6 94 02 00 00    	add    $0x294,%esi
40e883:	83 e8 01             	sub    $0x1,%eax
40e886:	89 44 24 14          	mov    %eax,0x14(%esp)
40e88a:	75 aa                	jne    0x40e836
40e88c:	ba 7c 14 40 00       	mov    $0x40147c,%edx
40e891:	8b cf                	mov    %edi,%ecx
40e893:	e8 55 bc ff ff       	call   0x40a4ed
40e898:	8b 75 08             	mov    0x8(%ebp),%esi
40e89b:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e89e:	e8 15 a5 ff ff       	call   0x408db8
40e8a3:	8b c8                	mov    %eax,%ecx
40e8a5:	33 c0                	xor    %eax,%eax
40e8a7:	89 4c 24 24          	mov    %ecx,0x24(%esp)
40e8ab:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40e8af:	85 c9                	test   %ecx,%ecx
40e8b1:	0f 84 0d 01 00 00    	je     0x40e9c4
40e8b7:	8b 4d 10             	mov    0x10(%ebp),%ecx
40e8ba:	8b d0                	mov    %eax,%edx
40e8bc:	e8 2a a5 ff ff       	call   0x408deb
40e8c1:	89 44 24 20          	mov    %eax,0x20(%esp)
40e8c5:	85 c0                	test   %eax,%eax
40e8c7:	0f 84 c8 00 00 00    	je     0x40e995
40e8cd:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
40e8d2:	83 64 24 14 00       	andl   $0x0,0x14(%esp)
40e8d7:	81 c6 00 02 00 00    	add    $0x200,%esi
40e8dd:	89 74 24 10          	mov    %esi,0x10(%esp)
40e8e1:	8b cb                	mov    %ebx,%ecx
40e8e3:	e8 12 c5 ff ff       	call   0x40adfa
40e8e8:	d1 e8                	shr    $1,%eax
40e8ea:	ba 30 12 40 00       	mov    $0x401230,%edx
40e8ef:	50                   	push   %eax
40e8f0:	8b cb                	mov    %ebx,%ecx
40e8f2:	e8 ff ba ff ff       	call   0x40a3f6
40e8f7:	f7 46 04 00 10 00 00 	testl  $0x1000,0x4(%esi)
40e8fe:	75 6d                	jne    0x40e96d
40e900:	8b 36                	mov    (%esi),%esi
40e902:	8b cb                	mov    %ebx,%ecx
40e904:	e8 f1 c4 ff ff       	call   0x40adfa
40e909:	8b 4c 24 10          	mov    0x10(%esp),%ecx