40d485:	6a 65                	push   $0x65
40d487:	57                   	push   %edi
40d488:	ff 15 f8 a2 42 00    	call   *0x42a2f8
40d48e:	6a 01                	push   $0x1
40d490:	eb e0                	jmp    0x40d472
40d492:	ff 36                	push   (%esi)
40d494:	89 35 f4 c3 44 00    	mov    %esi,0x44c3f4
40d49a:	6a 65                	push   $0x65
40d49c:	57                   	push   %edi
40d49d:	ff 15 fc a2 42 00    	call   *0x42a2fc
40d4a3:	33 c0                	xor    %eax,%eax
40d4a5:	40                   	inc    %eax
40d4a6:	5f                   	pop    %edi
40d4a7:	5e                   	pop    %esi
40d4a8:	5d                   	pop    %ebp
40d4a9:	c2 10 00             	ret    $0x10
40d4ac:	55                   	push   %ebp
40d4ad:	8b ec                	mov    %esp,%ebp
40d4af:	81 ec 04 08 00 00    	sub    $0x804,%esp
40d4b5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40d4b9:	56                   	push   %esi
40d4ba:	57                   	push   %edi
40d4bb:	be 00 04 00 00       	mov    $0x400,%esi
40d4c0:	56                   	push   %esi
40d4c1:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
40d4c7:	50                   	push   %eax
40d4c8:	ff 75 08             	push   0x8(%ebp)
40d4cb:	e8 01 35 00 00       	call   0x4109d1
40d4d0:	8b f8                	mov    %eax,%edi
40d4d2:	85 ff                	test   %edi,%edi
40d4d4:	0f 84 02 01 00 00    	je     0x40d5dc
40d4da:	53                   	push   %ebx
40d4db:	bb 00 08 00 00       	mov    $0x800,%ebx
40d4e0:	ff 45 fc             	incl   -0x4(%ebp)
40d4e3:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
40d4e7:	0f 84 d6 00 00 00    	je     0x40d5c3
40d4ed:	66 83 bd fc f7 ff ff 	cmpw   $0x2f,-0x804(%ebp)
40d4f4:	2f
40d4f5:	74 0e                	je     0x40d505
40d4f7:	66 83 bd fc f7 ff ff 	cmpw   $0x2d,-0x804(%ebp)
40d4fe:	2d
40d4ff:	0f 85 be 00 00 00    	jne    0x40d5c3
40d505:	0f b7 85 fe f7 ff ff 	movzwl -0x802(%ebp),%eax
40d50c:	50                   	push   %eax
40d50d:	e8 09 46 00 00       	call   0x411b1b
40d512:	83 e8 44             	sub    $0x44,%eax
40d515:	0f 84 96 00 00 00    	je     0x40d5b1
40d51b:	48                   	dec    %eax
40d51c:	74 6e                	je     0x40d58c
40d51e:	83 e8 0b             	sub    $0xb,%eax
40d521:	74 56                	je     0x40d579
40d523:	83 e8 03             	sub    $0x3,%eax
40d526:	0f 85 97 00 00 00    	jne    0x40d5c3
40d52c:	0f b7 85 00 f8 ff ff 	movzwl -0x800(%ebp),%eax
40d533:	50                   	push   %eax
40d534:	e8 e2 45 00 00       	call   0x411b1b
40d539:	83 e8 00             	sub    $0x0,%eax
40d53c:	74 28                	je     0x40d566
40d53e:	83 e8 31             	sub    $0x31,%eax
40d541:	74 23                	je     0x40d566
40d543:	48                   	dec    %eax
40d544:	74 14                	je     0x40d55a
40d546:	83 e8 1e             	sub    $0x1e,%eax
40d549:	75 78                	jne    0x40d5c3
40d54b:	53                   	push   %ebx
40d54c:	8d 85 02 f8 ff ff    	lea    -0x7fe(%ebp),%eax
40d552:	50                   	push   %eax
40d553:	68 3a 1d 44 00       	push   $0x441d3a
40d558:	eb 64                	jmp    0x40d5be
40d55a:	c7 05 34 0d 44 00 02 	movl   $0x2,0x440d34
40d561:	00 00 00
40d564:	eb 0a                	jmp    0x40d570
40d566:	c7 05 34 0d 44 00 01 	movl   $0x1,0x440d34
40d56d:	00 00 00
40d570:	c6 05 06 0d 44 00 01 	movb   $0x1,0x440d06
40d577:	eb 4a                	jmp    0x40d5c3
40d579:	8d 85 00 f8 ff ff    	lea    -0x800(%ebp),%eax
40d57f:	50                   	push   %eax
40d580:	b9 3a 2d 44 00       	mov    $0x442d3a,%ecx
40d585:	e8 c2 f8 ff ff       	call   0x40ce4c
40d58a:	eb 37                	jmp    0x40d5c3
40d58c:	0f b7 85 00 f8 ff ff 	movzwl -0x800(%ebp),%eax
40d593:	50                   	push   %eax
40d594:	e8 82 45 00 00       	call   0x411b1b
40d599:	83 f8 4c             	cmp    $0x4c,%eax
40d59c:	75 25                	jne    0x40d5c3
40d59e:	66 83 bd 02 f8 ff ff 	cmpw   $0x0,-0x7fe(%ebp)
40d5a5:	00
40d5a6:	75 1b                	jne    0x40d5c3
40d5a8:	c6 05 39 0d 44 00 01 	movb   $0x1,0x440d39
40d5af:	eb 12                	jmp    0x40d5c3
40d5b1:	53                   	push   %ebx
40d5b2:	8d 85 00 f8 ff ff    	lea    -0x800(%ebp),%eax
40d5b8:	50                   	push   %eax
40d5b9:	68 3a 0d 44 00       	push   $0x440d3a
40d5be:	e8 5c 33 00 00       	call   0x41091f
40d5c3:	56                   	push   %esi
40d5c4:	8d 85 fc f7 ff ff    	lea    -0x804(%ebp),%eax
40d5ca:	50                   	push   %eax
40d5cb:	57                   	push   %edi
40d5cc:	e8 00 34 00 00       	call   0x4109d1
40d5d1:	8b f8                	mov    %eax,%edi
40d5d3:	85 ff                	test   %edi,%edi
40d5d5:	0f 85 05 ff ff ff    	jne    0x40d4e0
40d5db:	5b                   	pop    %ebx
40d5dc:	5f                   	pop    %edi
40d5dd:	5e                   	pop    %esi
40d5de:	c9                   	leave
40d5df:	c2 04 00             	ret    $0x4
40d5e2:	8d 44 24 10          	lea    0x10(%esp),%eax
40d5e6:	50                   	push   %eax
40d5e7:	6a 00                	push   $0x0
40d5e9:	ff 74 24 14          	push   0x14(%esp)
40d5ed:	ff 74 24 14          	push   0x14(%esp)
40d5f1:	ff 74 24 14          	push   0x14(%esp)
40d5f5:	e8 dd cd 00 00       	call   0x41a3d7
40d5fa:	83 c4 14             	add    $0x14,%esp
40d5fd:	c3                   	ret
40d5fe:	55                   	push   %ebp
40d5ff:	8b ec                	mov    %esp,%ebp
40d601:	b8 00 20 00 00       	mov    $0x2000,%eax
40d606:	e8 c5 ce 00 00       	call   0x41a4d0
40d60b:	53                   	push   %ebx
40d60c:	8b d9                	mov    %ecx,%ebx
40d60e:	57                   	push   %edi
40d60f:	8b 7d 08             	mov    0x8(%ebp),%edi
40d612:	85 db                	test   %ebx,%ebx
40d614:	74 03                	je     0x40d619
40d616:	c6 03 00             	movb   $0x0,(%ebx)
40d619:	8b 45 10             	mov    0x10(%ebp),%eax
40d61c:	85 c0                	test   %eax,%eax
40d61e:	74 03                	je     0x40d623
40d620:	c6 00 00             	movb   $0x0,(%eax)
40d623:	85 ff                	test   %edi,%edi
40d625:	0f 84 a1 00 00 00    	je     0x40d6cc
40d62b:	0f b7 07             	movzwl (%edi),%eax
40d62e:	66 85 c0             	test   %ax,%ax
40d631:	0f 84 95 00 00 00    	je     0x40d6cc
40d637:	56                   	push   %esi
40d638:	33 f6                	xor    %esi,%esi
40d63a:	33 c9                	xor    %ecx,%ecx
40d63c:	0f b7 c0             	movzwl %ax,%eax
40d63f:	47                   	inc    %edi
40d640:	47                   	inc    %edi
40d641:	66 83 f8 3d          	cmp    $0x3d,%ax
40d645:	75 15                	jne    0x40d65c
40d647:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40d64b:	74 1b                	je     0x40d668
40d64d:	85 f6                	test   %esi,%esi
40d64f:	75 17                	jne    0x40d668
40d651:	85 db                	test   %ebx,%ebx
40d653:	74 03                	je     0x40d658
40d655:	c6 03 01             	movb   $0x1,(%ebx)
40d658:	8b f2                	mov    %edx,%esi
40d65a:	eb 1b                	jmp    0x40d677
40d65c:	66 83 f8 0d          	cmp    $0xd,%ax
40d660:	74 28                	je     0x40d68a
40d662:	66 83 f8 0a          	cmp    $0xa,%ax
40d666:	74 24                	je     0x40d68c
40d668:	66 89 02             	mov    %ax,(%edx)
40d66b:	8b 45 14             	mov    0x14(%ebp),%eax
40d66e:	42                   	inc    %edx
40d66f:	83 c0 fe             	add    $0xfffffffe,%eax
40d672:	42                   	inc    %edx
40d673:	3b c8                	cmp    %eax,%ecx
40d675:	7d 0b                	jge    0x40d682
40d677:	0f b7 07             	movzwl (%edi),%eax
40d67a:	41                   	inc    %ecx
40d67b:	66 85 c0             	test   %ax,%ax
40d67e:	75 bc                	jne    0x40d63c
40d680:	eb 0a                	jmp    0x40d68c
40d682:	8b 45 10             	mov    0x10(%ebp),%eax
40d685:	c6 00 01             	movb   $0x1,(%eax)
40d688:	eb 02                	jmp    0x40d68c
40d68a:	47                   	inc    %edi
40d68b:	47                   	inc    %edi
40d68c:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40d68f:	33 c0                	xor    %eax,%eax
40d691:	66 89 02             	mov    %ax,(%edx)
40d694:	85 db                	test   %ebx,%ebx
40d696:	74 2f                	je     0x40d6c7
40d698:	66 89 03             	mov    %ax,(%ebx)
40d69b:	85 f6                	test   %esi,%esi
40d69d:	74 28                	je     0x40d6c7
40d69f:	68 00 10 00 00       	push   $0x1000
40d6a4:	8d 85 00 e0 ff ff    	lea    -0x2000(%ebp),%eax
40d6aa:	50                   	push   %eax
40d6ab:	56                   	push   %esi
40d6ac:	ff 15 9c a0 42 00    	call   *0x42a09c
40d6b2:	ff 75 14             	push   0x14(%ebp)
40d6b5:	8d 85 00 e0 ff ff    	lea    -0x2000(%ebp),%eax
40d6bb:	50                   	push   %eax
40d6bc:	53                   	push   %ebx
40d6bd:	e8 5d 32 00 00       	call   0x41091f
40d6c2:	33 c0                	xor    %eax,%eax
40d6c4:	66 89 06             	mov    %ax,(%esi)
40d6c7:	8b c7                	mov    %edi,%eax
40d6c9:	5e                   	pop    %esi
40d6ca:	eb 02                	jmp    0x40d6ce
40d6cc:	33 c0                	xor    %eax,%eax
40d6ce:	5f                   	pop    %edi
40d6cf:	5b                   	pop    %ebx
40d6d0:	c9                   	leave
40d6d1:	c2 10 00             	ret    $0x10
40d6d4:	55                   	push   %ebp
40d6d5:	8b ec                	mov    %esp,%ebp
40d6d7:	83 ec 1c             	sub    $0x1c,%esp
40d6da:	56                   	push   %esi
40d6db:	8b 35 a0 a0 42 00    	mov    0x42a0a0,%esi
40d6e1:	57                   	push   %edi
40d6e2:	6a 0a                	push   $0xa
40d6e4:	ff 75 08             	push   0x8(%ebp)
40d6e7:	ff d6                	call   *%esi
40d6e9:	bf 02 01 00 00       	mov    $0x102,%edi
40d6ee:	eb 19                	jmp    0x40d709
40d6f0:	6a 01                	push   $0x1
40d6f2:	6a 00                	push   $0x0
40d6f4:	6a 00                	push   $0x0
40d6f6:	6a 00                	push   $0x0
40d6f8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40d6fb:	50                   	push   %eax
40d6fc:	ff 15 10 a3 42 00    	call   *0x42a310
40d702:	6a 0a                	push   $0xa
40d704:	ff 75 08             	push   0x8(%ebp)
40d707:	ff d6                	call   *%esi
40d709:	3b c7                	cmp    %edi,%eax
40d70b:	74 e3                	je     0x40d6f0
40d70d:	5f                   	pop    %edi
40d70e:	5e                   	pop    %esi
40d70f:	c9                   	leave
40d710:	c2 04 00             	ret    $0x4
40d713:	55                   	push   %ebp
40d714:	8b ec                	mov    %esp,%ebp
40d716:	b8 20 10 00 00       	mov    $0x1020,%eax
40d71b:	e8 b0 cd 00 00       	call   0x41a4d0
40d720:	68 00 08 00 00       	push   $0x800
40d725:	8d 85 e0 ef ff ff    	lea    -0x1020(%ebp),%eax
40d72b:	50                   	push   %eax
40d72c:	e8 f2 c0 00 00       	call   0x419823
40d731:	80 3d 05 0d 44 00 00 	cmpb   $0x0,0x440d05
40d738:	75 6e                	jne    0x40d7a8
40d73a:	6a 06                	push   $0x6
40d73c:	ff 35 c0 f0 42 00    	push   0x42f0c0
40d742:	8d 85 e0 ef ff ff    	lea    -0x1020(%ebp),%eax
40d748:	50                   	push   %eax
40d749:	e8 58 cb ff ff       	call   0x40a2a6
40d74e:	50                   	push   %eax
40d74f:	e8 65 43 00 00       	call   0x411ab9
40d754:	85 c0                	test   %eax,%eax
40d756:	75 50                	jne    0x40d7a8
40d758:	68 28 a6 42 00       	push   $0x42a628
40d75d:	e8 ae c0 00 00       	call   0x419810
40d762:	8d 85 e0 ef ff ff    	lea    -0x1020(%ebp),%eax
40d768:	50                   	push   %eax
40d769:	e8 1d ca 00 00       	call   0x41a18b
40d76e:	33 c9                	xor    %ecx,%ecx
40d770:	6a 1e                	push   $0x1e
40d772:	66 89 8c 45 e2 ef ff 	mov    %cx,-0x101e(%ebp,%eax,2)
40d779:	ff
40d77a:	51                   	push   %ecx
40d77b:	8d 45 e0             	lea    -0x20(%ebp),%eax
40d77e:	50                   	push   %eax
40d77f:	e8 7c ca 00 00       	call   0x41a200
40d784:	83 c4 10             	add    $0x10,%esp
40d787:	6a 14                	push   $0x14
40d789:	58                   	pop    %eax
40d78a:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
40d78e:	8d 85 e0 ef ff ff    	lea    -0x1020(%ebp),%eax
40d794:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d797:	8d 45 e0             	lea    -0x20(%ebp),%eax
40d79a:	50                   	push   %eax
40d79b:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
40d7a2:	ff 15 6c a2 42 00    	call   *0x42a26c
40d7a8:	c9                   	leave
40d7a9:	c3                   	ret
40d7aa:	55                   	push   %ebp
40d7ab:	8b ec                	mov    %esp,%ebp
40d7ad:	b8 04 20 00 00       	mov    $0x2004,%eax
40d7b2:	e8 19 cd 00 00       	call   0x41a4d0
40d7b7:	53                   	push   %ebx
40d7b8:	56                   	push   %esi
40d7b9:	68 00 00 02 00       	push   $0x20000
40d7be:	e8 9b f1 00 00       	call   0x41c95e
40d7c3:	8b f0                	mov    %eax,%esi
40d7c5:	59                   	pop    %ecx
40d7c6:	85 f6                	test   %esi,%esi
40d7c8:	75 0a                	jne    0x40d7d4
40d7ca:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
40d7cf:	e8 34 8d ff ff       	call   0x406508
40d7d4:	33 c0                	xor    %eax,%eax
40d7d6:	66 89 06             	mov    %ax,(%esi)
40d7d9:	33 db                	xor    %ebx,%ebx
40d7db:	eb 73                	jmp    0x40d850
40d7dd:	66 83 3e 00          	cmpw   $0x0,(%esi)
40d7e1:	75 0a                	jne    0x40d7ed
40d7e3:	66 83 bd fc df ff ff 	cmpw   $0x7b,-0x2004(%ebp)
40d7ea:	7b
40d7eb:	74 63                	je     0x40d850
40d7ed:	66 83 bd fc df ff ff 	cmpw   $0x7d,-0x2004(%ebp)
40d7f4:	7d
40d7f5:	74 7d                	je     0x40d874
40d7f7:	8d 85 fc df ff ff    	lea    -0x2004(%ebp),%eax
40d7fd:	50                   	push   %eax
40d7fe:	e8 88 c9 00 00       	call   0x41a18b
40d803:	03 c3                	add    %ebx,%eax
40d805:	59                   	pop    %ecx
40d806:	3d fb ff 00 00       	cmp    $0xfffb,%eax
40d80b:	77 67                	ja     0x40d874
40d80d:	8d 85 fc df ff ff    	lea    -0x2004(%ebp),%eax
40d813:	50                   	push   %eax
40d814:	56                   	push   %esi
40d815:	e8 8b c9 00 00       	call   0x41a1a5
40d81a:	56                   	push   %esi
40d81b:	e8 6b c9 00 00       	call   0x41a18b
40d820:	8b d8                	mov    %eax,%ebx
40d822:	83 c4 0c             	add    $0xc,%esp
40d825:	85 db                	test   %ebx,%ebx
40d827:	76 11                	jbe    0x40d83a
40d829:	8d 44 5e fe          	lea    -0x2(%esi,%ebx,2),%eax
40d82d:	66 83 38 20          	cmpw   $0x20,(%eax)
40d831:	75 07                	jne    0x40d83a
40d833:	4b                   	dec    %ebx
40d834:	48                   	dec    %eax
40d835:	48                   	dec    %eax
40d836:	85 db                	test   %ebx,%ebx
40d838:	77 f3                	ja     0x40d82d
40d83a:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
40d83e:	75 10                	jne    0x40d850
40d840:	8d 04 5e             	lea    (%esi,%ebx,2),%eax
40d843:	68 d8 a7 42 00       	push   $0x42a7d8
40d848:	50                   	push   %eax
40d849:	e8 85 c9 00 00       	call   0x41a1d3
40d84e:	59                   	pop    %ecx
40d84f:	59                   	pop    %ecx
40d850:	68 00 10 00 00       	push   $0x1000
40d855:	8d 45 ff             	lea    -0x1(%ebp),%eax
40d858:	50                   	push   %eax
40d859:	6a 00                	push   $0x0
40d85b:	ff 37                	push   (%edi)
40d85d:	33 c9                	xor    %ecx,%ecx
40d85f:	8d 95 fc df ff ff    	lea    -0x2004(%ebp),%edx
40d865:	e8 94 fd ff ff       	call   0x40d5fe
40d86a:	89 07                	mov    %eax,(%edi)
40d86c:	85 c0                	test   %eax,%eax
40d86e:	0f 85 69 ff ff ff    	jne    0x40d7dd
40d874:	8b c6                	mov    %esi,%eax
40d876:	5e                   	pop    %esi
40d877:	5b                   	pop    %ebx
40d878:	c9                   	leave
40d879:	c3                   	ret