40d2ab:	8b 7d 08             	mov    0x8(%ebp),%edi
40d2ae:	6a 00                	push   $0x0
40d2b0:	6a 00                	push   $0x0
40d2b2:	68 e0 a7 42 00       	push   $0x42a7e0
40d2b7:	56                   	push   %esi
40d2b8:	ff 75 10             	push   0x10(%ebp)
40d2bb:	ff 75 0c             	push   0xc(%ebp)
40d2be:	57                   	push   %edi
40d2bf:	e8 7a 8f ff ff       	call   0x40623e
40d2c4:	84 c0                	test   %al,%al
40d2c6:	75 5b                	jne    0x40d323
40d2c8:	8b 45 0c             	mov    0xc(%ebp),%eax
40d2cb:	2d 10 01 00 00       	sub    $0x110,%eax
40d2d0:	74 34                	je     0x40d306
40d2d2:	48                   	dec    %eax
40d2d3:	75 0a                	jne    0x40d2df
40d2d5:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40d2d9:	48                   	dec    %eax
40d2da:	74 12                	je     0x40d2ee
40d2dc:	48                   	dec    %eax
40d2dd:	74 04                	je     0x40d2e3
40d2df:	33 c0                	xor    %eax,%eax
40d2e1:	eb 43                	jmp    0x40d326
40d2e3:	6a 00                	push   $0x0
40d2e5:	57                   	push   %edi
40d2e6:	ff 15 f4 a2 42 00    	call   *0x42a2f4
40d2ec:	eb 35                	jmp    0x40d323
40d2ee:	68 00 08 00 00       	push   $0x800
40d2f3:	ff 35 f0 c3 44 00    	push   0x44c3f0
40d2f9:	6a 66                	push   $0x66
40d2fb:	57                   	push   %edi
40d2fc:	ff 15 f8 a2 42 00    	call   *0x42a2f8
40d302:	6a 01                	push   $0x1
40d304:	eb df                	jmp    0x40d2e5
40d306:	56                   	push   %esi
40d307:	6a 65                	push   $0x65
40d309:	89 35 f0 c3 44 00    	mov    %esi,0x44c3f0
40d30f:	8b 35 fc a2 42 00    	mov    0x42a2fc,%esi
40d315:	57                   	push   %edi
40d316:	ff d6                	call   *%esi
40d318:	ff 35 f0 c3 44 00    	push   0x44c3f0
40d31e:	6a 66                	push   $0x66
40d320:	57                   	push   %edi
40d321:	ff d6                	call   *%esi
40d323:	33 c0                	xor    %eax,%eax
40d325:	40                   	inc    %eax
40d326:	5f                   	pop    %edi
40d327:	5e                   	pop    %esi
40d328:	5d                   	pop    %ebp
40d329:	c2 10 00             	ret    $0x10
40d32c:	55                   	push   %ebp
40d32d:	8b ec                	mov    %esp,%ebp
40d32f:	81 ec 00 01 00 00    	sub    $0x100,%esp
40d335:	56                   	push   %esi
40d336:	57                   	push   %edi
40d337:	8b 7d 08             	mov    0x8(%ebp),%edi
40d33a:	33 f6                	xor    %esi,%esi
40d33c:	56                   	push   %esi
40d33d:	56                   	push   %esi
40d33e:	68 f4 a7 42 00       	push   $0x42a7f4
40d343:	ff 75 14             	push   0x14(%ebp)
40d346:	ff 75 10             	push   0x10(%ebp)
40d349:	ff 75 0c             	push   0xc(%ebp)
40d34c:	57                   	push   %edi
40d34d:	e8 ec 8e ff ff       	call   0x40623e
40d352:	84 c0                	test   %al,%al
40d354:	75 69                	jne    0x40d3bf
40d356:	8b 45 0c             	mov    0xc(%ebp),%eax
40d359:	2d 10 01 00 00       	sub    $0x110,%eax
40d35e:	74 53                	je     0x40d3b3
40d360:	48                   	dec    %eax
40d361:	75 0a                	jne    0x40d36d
40d363:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40d367:	48                   	dec    %eax
40d368:	74 11                	je     0x40d37b
40d36a:	48                   	dec    %eax
40d36b:	74 04                	je     0x40d371
40d36d:	33 c0                	xor    %eax,%eax
40d36f:	eb 51                	jmp    0x40d3c2
40d371:	56                   	push   %esi
40d372:	57                   	push   %edi
40d373:	ff 15 f4 a2 42 00    	call   *0x42a2f4
40d379:	eb 44                	jmp    0x40d3bf
40d37b:	be 80 00 00 00       	mov    $0x80,%esi
40d380:	56                   	push   %esi
40d381:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40d387:	50                   	push   %eax
40d388:	6a 65                	push   $0x65
40d38a:	57                   	push   %edi
40d38b:	ff 15 f8 a2 42 00    	call   *0x42a2f8
40d391:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40d397:	50                   	push   %eax
40d398:	b9 e0 c2 44 00       	mov    $0x44c2e0,%ecx
40d39d:	e8 aa fa ff ff       	call   0x40ce4c
40d3a2:	56                   	push   %esi
40d3a3:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
40d3a9:	50                   	push   %eax
40d3aa:	e8 19 fa ff ff       	call   0x40cdc8
40d3af:	6a 01                	push   $0x1
40d3b1:	eb bf                	jmp    0x40d372
40d3b3:	ff 75 14             	push   0x14(%ebp)
40d3b6:	6a 66                	push   $0x66
40d3b8:	57                   	push   %edi
40d3b9:	ff 15 fc a2 42 00    	call   *0x42a2fc
40d3bf:	33 c0                	xor    %eax,%eax
40d3c1:	40                   	inc    %eax
40d3c2:	5f                   	pop    %edi
40d3c3:	5e                   	pop    %esi
40d3c4:	c9                   	leave
40d3c5:	c2 10 00             	ret    $0x10
40d3c8:	6a 00                	push   $0x0
40d3ca:	ff 74 24 20          	push   0x20(%esp)
40d3ce:	ff 74 24 1c          	push   0x1c(%esp)
40d3d2:	e8 17 fc ff ff       	call   0x40cfee
40d3d7:	50                   	push   %eax
40d3d8:	68 02 04 00 00       	push   $0x402
40d3dd:	6a 6a                	push   $0x6a
40d3df:	ff 35 00 0d 44 00    	push   0x440d00
40d3e5:	ff 15 f0 a2 42 00    	call   *0x42a2f0
40d3eb:	e8 38 fb ff ff       	call   0x40cf28
40d3f0:	c2 20 00             	ret    $0x20
40d3f3:	55                   	push   %ebp
40d3f4:	8b ec                	mov    %esp,%ebp
40d3f6:	56                   	push   %esi
40d3f7:	8b 75 14             	mov    0x14(%ebp),%esi
40d3fa:	57                   	push   %edi
40d3fb:	8b 7d 08             	mov    0x8(%ebp),%edi
40d3fe:	6a 00                	push   $0x0
40d400:	6a 00                	push   $0x0
40d402:	68 18 a8 42 00       	push   $0x42a818
40d407:	56                   	push   %esi
40d408:	ff 75 10             	push   0x10(%ebp)
40d40b:	ff 75 0c             	push   0xc(%ebp)
40d40e:	57                   	push   %edi
40d40f:	e8 2a 8e ff ff       	call   0x40623e
40d414:	84 c0                	test   %al,%al
40d416:	0f 85 87 00 00 00    	jne    0x40d4a3
40d41c:	8b 45 0c             	mov    0xc(%ebp),%eax
40d41f:	2d 10 01 00 00       	sub    $0x110,%eax
40d424:	74 6c                	je     0x40d492
40d426:	48                   	dec    %eax
40d427:	75 0f                	jne    0x40d438
40d429:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40d42d:	48                   	dec    %eax
40d42e:	74 4b                	je     0x40d47b
40d430:	48                   	dec    %eax
40d431:	74 3d                	je     0x40d470
40d433:	83 e8 64             	sub    $0x64,%eax
40d436:	74 04                	je     0x40d43c
40d438:	33 c0                	xor    %eax,%eax
40d43a:	eb 6a                	jmp    0x40d4a6
40d43c:	a1 f4 c3 44 00       	mov    0x44c3f4,%eax
40d441:	6a 00                	push   $0x0
40d443:	ff 30                	push   (%eax)
40d445:	e8 5c ce ff ff       	call   0x40a2a6
40d44a:	50                   	push   %eax
40d44b:	a1 f4 c3 44 00       	mov    0x44c3f4,%eax
40d450:	ff 30                	push   (%eax)
40d452:	68 8e 00 00 00       	push   $0x8e
40d457:	e8 90 ed ff ff       	call   0x40c1ec
40d45c:	50                   	push   %eax
40d45d:	57                   	push   %edi
40d45e:	e8 8e 7e ff ff       	call   0x4052f1
40d463:	84 c0                	test   %al,%al
40d465:	74 3c                	je     0x40d4a3
40d467:	a1 f4 c3 44 00       	mov    0x44c3f4,%eax
40d46c:	ff 30                	push   (%eax)
40d46e:	eb 2a                	jmp    0x40d49a
40d470:	6a 00                	push   $0x0
40d472:	57                   	push   %edi
40d473:	ff 15 f4 a2 42 00    	call   *0x42a2f4
40d479:	eb 28                	jmp    0x40d4a3
40d47b:	a1 f4 c3 44 00       	mov    0x44c3f4,%eax
40d480:	ff 70 04             	push   0x4(%eax)
40d483:	ff 30                	push   (%eax)
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