40e3c7:	ff 15 2c a4 44 00    	call   *0x44a42c
40e3cd:	83 c4 04             	add    $0x4,%esp
40e3d0:	50                   	push   %eax
40e3d1:	ff 15 14 a0 44 00    	call   *0x44a014
40e3d7:	85 c0                	test   %eax,%eax
40e3d9:	0f 85 78 ff ff ff    	jne    0x40e357
40e3df:	e9 2c f8 00 00       	jmp    0x41dc10
40e3e4:	cc                   	int3
40e3e5:	cc                   	int3
40e3e6:	cc                   	int3
40e3e7:	cc                   	int3
40e3e8:	cc                   	int3
40e3e9:	cc                   	int3
40e3ea:	cc                   	int3
40e3eb:	cc                   	int3
40e3ec:	cc                   	int3
40e3ed:	cc                   	int3
40e3ee:	cc                   	int3
40e3ef:	cc                   	int3
40e3f0:	8b ff                	mov    %edi,%edi
40e3f2:	55                   	push   %ebp
40e3f3:	8b ec                	mov    %esp,%ebp
40e3f5:	51                   	push   %ecx
40e3f6:	56                   	push   %esi
40e3f7:	8b f1                	mov    %ecx,%esi
40e3f9:	57                   	push   %edi
40e3fa:	8b 7d 08             	mov    0x8(%ebp),%edi
40e3fd:	3b be 10 02 00 00    	cmp    0x210(%esi),%edi
40e403:	76 58                	jbe    0x40e45d
40e405:	33 c9                	xor    %ecx,%ecx
40e407:	8b c7                	mov    %edi,%eax
40e409:	ba 02 00 00 00       	mov    $0x2,%edx
40e40e:	f7 e2                	mul    %edx
40e410:	68 34 27 40 00       	push   $0x402734
40e415:	0f 90 c1             	seto   %cl
40e418:	f7 d9                	neg    %ecx
40e41a:	0b c8                	or     %eax,%ecx
40e41c:	51                   	push   %ecx
40e41d:	e8 03 8a 00 00       	call   0x416e25
40e422:	83 c4 08             	add    $0x8,%esp
40e425:	85 c0                	test   %eax,%eax
40e427:	0f 84 1d f8 00 00    	je     0x41dc4a
40e42d:	8b 8e 08 02 00 00    	mov    0x208(%esi),%ecx
40e433:	89 86 08 02 00 00    	mov    %eax,0x208(%esi)
40e439:	85 c9                	test   %ecx,%ecx
40e43b:	0f 85 2a f8 00 00    	jne    0x41dc6b
40e441:	8b 86 08 02 00 00    	mov    0x208(%esi),%eax
40e447:	89 be 10 02 00 00    	mov    %edi,0x210(%esi)
40e44d:	85 c0                	test   %eax,%eax
40e44f:	74 15                	je     0x40e466
40e451:	57                   	push   %edi
40e452:	6a 00                	push   $0x0
40e454:	50                   	push   %eax
40e455:	e8 63 9b 00 00       	call   0x417fbd
40e45a:	83 c4 0c             	add    $0xc,%esp
40e45d:	33 c0                	xor    %eax,%eax
40e45f:	5f                   	pop    %edi
40e460:	5e                   	pop    %esi
40e461:	59                   	pop    %ecx
40e462:	5d                   	pop    %ebp
40e463:	c2 04 00             	ret    $0x4
40e466:	8b c6                	mov    %esi,%eax
40e468:	eb e7                	jmp    0x40e451
40e46a:	cc                   	int3
40e46b:	cc                   	int3
40e46c:	cc                   	int3
40e46d:	cc                   	int3
40e46e:	cc                   	int3
40e46f:	cc                   	int3
40e470:	8b ff                	mov    %edi,%edi
40e472:	55                   	push   %ebp
40e473:	8b ec                	mov    %esp,%ebp
40e475:	83 e4 f8             	and    $0xfffffff8,%esp
40e478:	83 ec 34             	sub    $0x34,%esp
40e47b:	53                   	push   %ebx
40e47c:	56                   	push   %esi
40e47d:	8b f2                	mov    %edx,%esi
40e47f:	57                   	push   %edi
40e480:	8b f9                	mov    %ecx,%edi
40e482:	85 f6                	test   %esi,%esi
40e484:	0f 84 d1 00 00 00    	je     0x40e55b
40e48a:	80 3d 44 67 43 00 00 	cmpb   $0x0,0x436744
40e491:	0f 85 c4 00 00 00    	jne    0x40e55b
40e497:	83 3e 2d             	cmpl   $0x2d,(%esi)
40e49a:	0f 84 bb 00 00 00    	je     0x40e55b
40e4a0:	80 3d 54 67 43 00 00 	cmpb   $0x0,0x436754
40e4a7:	bb 01 00 00 00       	mov    $0x1,%ebx
40e4ac:	74 22                	je     0x40e4d0
40e4ae:	6a 30                	push   $0x30
40e4b0:	8d 44 24 14          	lea    0x14(%esp),%eax
40e4b4:	6a 00                	push   $0x0
40e4b6:	50                   	push   %eax
40e4b7:	e8 01 9b 00 00       	call   0x417fbd
40e4bc:	83 c4 0c             	add    $0xc,%esp
40e4bf:	8d 54 24 10          	lea    0x10(%esp),%edx
40e4c3:	8b ce                	mov    %esi,%ecx
40e4c5:	6a 00                	push   $0x0
40e4c7:	e8 a4 01 00 00       	call   0x40e670
40e4cc:	85 c0                	test   %eax,%eax
40e4ce:	75 31                	jne    0x40e501
40e4d0:	83 ff 01             	cmp    $0x1,%edi
40e4d3:	0f 84 cb 00 00 00    	je     0x40e5a4
40e4d9:	8b 06                	mov    (%esi),%eax
40e4db:	85 c0                	test   %eax,%eax
40e4dd:	75 41                	jne    0x40e520
40e4df:	83 7e 34 00          	cmpl   $0x0,0x34(%esi)
40e4e3:	0f 85 89 00 00 00    	jne    0x40e572
40e4e9:	8b 06                	mov    (%esi),%eax
40e4eb:	85 c0                	test   %eax,%eax
40e4ed:	75 42                	jne    0x40e531
40e4ef:	8b ce                	mov    %esi,%ecx
40e4f1:	e8 6a c8 ff ff       	call   0x40ad60
40e4f6:	8b d8                	mov    %eax,%ebx
40e4f8:	a1 74 67 43 00       	mov    0x436774,%eax
40e4fd:	85 c0                	test   %eax,%eax
40e4ff:	75 65                	jne    0x40e566
40e501:	80 3d 54 67 43 00 00 	cmpb   $0x0,0x436754
40e508:	74 0d                	je     0x40e517
40e50a:	6a 01                	push   $0x1
40e50c:	8d 54 24 14          	lea    0x14(%esp),%edx
40e510:	8b ce                	mov    %esi,%ecx
40e512:	e8 59 01 00 00       	call   0x40e670
40e517:	8b c3                	mov    %ebx,%eax
40e519:	5f                   	pop    %edi
40e51a:	5e                   	pop    %esi
40e51b:	5b                   	pop    %ebx
40e51c:	8b e5                	mov    %ebp,%esp
40e51e:	5d                   	pop    %ebp
40e51f:	c3                   	ret
40e520:	83 f8 33             	cmp    $0x33,%eax
40e523:	74 ba                	je     0x40e4df
40e525:	83 f8 3b             	cmp    $0x3b,%eax
40e528:	74 b5                	je     0x40e4df
40e52a:	83 f8 3c             	cmp    $0x3c,%eax
40e52d:	75 ba                	jne    0x40e4e9
40e52f:	eb ae                	jmp    0x40e4df
40e531:	8d 04 40             	lea    (%eax,%eax,2),%eax
40e534:	8b 3c c5 84 16 40 00 	mov    0x401684(,%eax,8),%edi
40e53b:	56                   	push   %esi
40e53c:	81 ff 50 ab 40 00    	cmp    $0x40ab50,%edi
40e542:	74 1b                	je     0x40e55f
40e544:	81 ff 90 03 41 00    	cmp    $0x410390,%edi
40e54a:	74 3c                	je     0x40e588
40e54c:	81 ff b0 03 41 00    	cmp    $0x4103b0,%edi
40e552:	75 3e                	jne    0x40e592
40e554:	e8 57 1e 00 00       	call   0x4103b0
40e559:	eb 9b                	jmp    0x40e4f6
40e55b:	33 c0                	xor    %eax,%eax
40e55d:	eb ba                	jmp    0x40e519
40e55f:	e8 ec c5 ff ff       	call   0x40ab50
40e564:	eb 90                	jmp    0x40e4f6
40e566:	39 70 08             	cmp    %esi,0x8(%eax)
40e569:	75 96                	jne    0x40e501
40e56b:	e8 b5 bb ff ff       	call   0x40a125
40e570:	eb 8f                	jmp    0x40e501
40e572:	8b d7                	mov    %edi,%edx
40e574:	8b ce                	mov    %esi,%ecx
40e576:	e8 77 b9 ff ff       	call   0x409ef2
40e57b:	85 c0                	test   %eax,%eax
40e57d:	0f 84 66 ff ff ff    	je     0x40e4e9
40e583:	e9 79 ff ff ff       	jmp    0x40e501
40e588:	e8 03 1e 00 00       	call   0x410390
40e58d:	e9 64 ff ff ff       	jmp    0x40e4f6
40e592:	81 ff 40 07 41 00    	cmp    $0x410740,%edi
40e598:	75 7e                	jne    0x40e618
40e59a:	e8 a1 21 00 00       	call   0x410740
40e59f:	e9 52 ff ff ff       	jmp    0x40e4f6
40e5a4:	83 3e 32             	cmpl   $0x32,(%esi)
40e5a7:	0f 84 2c ff ff ff    	je     0x40e4d9
40e5ad:	b9 00 40 00 00       	mov    $0x4000,%ecx
40e5b2:	e8 19 f7 ff ff       	call   0x40dcd0
40e5b7:	8b f8                	mov    %eax,%edi
40e5b9:	85 ff                	test   %edi,%edi
40e5bb:	0f 84 40 ff ff ff    	je     0x40e501
40e5c1:	83 3e 00             	cmpl   $0x0,(%esi)
40e5c4:	75 61                	jne    0x40e627
40e5c6:	8b 56 38             	mov    0x38(%esi),%edx
40e5c9:	8d 44 24 0c          	lea    0xc(%esp),%eax
40e5cd:	50                   	push   %eax
40e5ce:	b9 2a 00 00 00       	mov    $0x2a,%ecx
40e5d3:	e8 b8 07 00 00       	call   0x40ed90
40e5d8:	83 f8 ff             	cmp    $0xffffffff,%eax
40e5db:	75 4a                	jne    0x40e627
40e5dd:	68 00 20 00 00       	push   $0x2000
40e5e2:	8b d7                	mov    %edi,%edx
40e5e4:	8b ce                	mov    %esi,%ecx
40e5e6:	e8 25 0e 00 00       	call   0x40f410
40e5eb:	83 f8 02             	cmp    $0x2,%eax
40e5ee:	74 37                	je     0x40e627
40e5f0:	8b d3                	mov    %ebx,%edx
40e5f2:	8b ce                	mov    %esi,%ecx
40e5f4:	e8 f9 b8 ff ff       	call   0x409ef2
40e5f9:	85 c0                	test   %eax,%eax
40e5fb:	0f 85 00 ff ff ff    	jne    0x40e501
40e601:	51                   	push   %ecx
40e602:	8d 50 02             	lea    0x2(%eax),%edx
40e605:	c7 47 02 2f 00 53 00 	movl   $0x53002f,0x2(%edi)
40e60c:	8b ce                	mov    %esi,%ecx
40e60e:	e8 6e 3a 00 00       	call   0x412081
40e613:	e9 de fe ff ff       	jmp    0x40e4f6
40e618:	8b cf                	mov    %edi,%ecx
40e61a:	ff 15 c4 a4 44 00    	call   *0x44a4c4
40e620:	ff d7                	call   *%edi
40e622:	e9 cf fe ff ff       	jmp    0x40e4f6
40e627:	51                   	push   %ecx
40e628:	8b d7                	mov    %edi,%edx
40e62a:	8b ce                	mov    %esi,%ecx
40e62c:	e8 b9 71 00 00       	call   0x4157ea
40e631:	85 c0                	test   %eax,%eax
40e633:	0f 85 c8 fe ff ff    	jne    0x40e501
40e639:	8d 48 50             	lea    0x50(%eax),%ecx
40e63c:	e8 8f f6 ff ff       	call   0x40dcd0
40e641:	8b f0                	mov    %eax,%esi
40e643:	85 f6                	test   %esi,%esi
40e645:	0f 84 b6 fe ff ff    	je     0x40e501
40e64b:	b9 d0 24 40 00       	mov    $0x4024d0,%ecx
40e650:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40e656:	e8 d3 05 00 00       	call   0x40ec2e
40e65b:	89 46 38             	mov    %eax,0x38(%esi)
40e65e:	89 7e 3c             	mov    %edi,0x3c(%esi)
40e661:	eb 8d                	jmp    0x40e5f0
40e663:	cc                   	int3
40e664:	cc                   	int3
40e665:	cc                   	int3
40e666:	cc                   	int3
40e667:	cc                   	int3
40e668:	cc                   	int3
40e669:	cc                   	int3
40e66a:	cc                   	int3
40e66b:	cc                   	int3
40e66c:	cc                   	int3
40e66d:	cc                   	int3
40e66e:	cc                   	int3
40e66f:	cc                   	int3
40e670:	8b ff                	mov    %edi,%edi
40e672:	55                   	push   %ebp
40e673:	8b ec                	mov    %esp,%ebp
40e675:	83 ec 08             	sub    $0x8,%esp
40e678:	53                   	push   %ebx
40e679:	56                   	push   %esi
40e67a:	8b f1                	mov    %ecx,%esi
40e67c:	57                   	push   %edi
40e67d:	8b fa                	mov    %edx,%edi
40e67f:	85 f6                	test   %esi,%esi
40e681:	74 43                	je     0x40e6c6
40e683:	8b 06                	mov    (%esi),%eax
40e685:	85 c0                	test   %eax,%eax
40e687:	75 48                	jne    0x40e6d1
40e689:	8a 5d 08             	mov    0x8(%ebp),%bl
40e68c:	8d 56 38             	lea    0x38(%esi),%edx
40e68f:	57                   	push   %edi
40e690:	8a cb                	mov    %bl,%cl
40e692:	e8 f9 00 00 00       	call   0x40e790
40e697:	85 c0                	test   %eax,%eax
40e699:	0f 85 ae 00 00 00    	jne    0x40e74d
40e69f:	8d 47 04             	lea    0x4(%edi),%eax
40e6a2:	8a cb                	mov    %bl,%cl
40e6a4:	50                   	push   %eax
40e6a5:	8d 56 3c             	lea    0x3c(%esi),%edx
40e6a8:	e8 e3 00 00 00       	call   0x40e790
40e6ad:	85 c0                	test   %eax,%eax
40e6af:	0f 85 98 00 00 00    	jne    0x40e74d
40e6b5:	8b 76 34             	mov    0x34(%esi),%esi
40e6b8:	83 c7 08             	add    $0x8,%edi
40e6bb:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
40e6c2:	85 f6                	test   %esi,%esi
40e6c4:	75 34                	jne    0x40e6fa
40e6c6:	33 c0                	xor    %eax,%eax
40e6c8:	5f                   	pop    %edi
40e6c9:	5e                   	pop    %esi
40e6ca:	5b                   	pop    %ebx
40e6cb:	8b e5                	mov    %ebp,%esp
40e6cd:	5d                   	pop    %ebp
40e6ce:	c2 04 00             	ret    $0x4
40e6d1:	83 f8 2e             	cmp    $0x2e,%eax
40e6d4:	74 16                	je     0x40e6ec
40e6d6:	83 e8 2b             	sub    $0x2b,%eax
40e6d9:	83 f8 10             	cmp    $0x10,%eax
40e6dc:	77 e8                	ja     0x40e6c6
40e6de:	0f b6 80 7c e7 40 00 	movzbl 0x40e77c(%eax),%eax
40e6e5:	ff 24 85 68 e7 40 00 	jmp    *0x40e768(,%eax,4)
40e6ec:	8b 76 34             	mov    0x34(%esi),%esi
40e6ef:	33 db                	xor    %ebx,%ebx
40e6f1:	85 f6                	test   %esi,%esi
40e6f3:	74 d1                	je     0x40e6c6
40e6f5:	e9 80 f5 00 00       	jmp    0x41dc7a
40e6fa:	57                   	push   %edi
40e6fb:	8d 56 04             	lea    0x4(%esi),%edx
40e6fe:	8a cb                	mov    %bl,%cl
40e700:	e8 8b 00 00 00       	call   0x40e790
40e705:	85 c0                	test   %eax,%eax
40e707:	75 44                	jne    0x40e74d
40e709:	8b 45 fc             	mov    -0x4(%ebp),%eax
40e70c:	83 c7 04             	add    $0x4,%edi
40e70f:	8b 76 14             	mov    0x14(%esi),%esi
40e712:	40                   	inc    %eax
40e713:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e716:	83 f8 0c             	cmp    $0xc,%eax
40e719:	7c a7                	jl     0x40e6c2
40e71b:	eb a9                	jmp    0x40e6c6
40e71d:	8b 76 3c             	mov    0x3c(%esi),%esi
40e720:	83 3e 38             	cmpl   $0x38,(%esi)
40e723:	74 3b                	je     0x40e760
40e725:	8a 5d 08             	mov    0x8(%ebp),%bl
40e728:	8d 56 38             	lea    0x38(%esi),%edx
40e72b:	57                   	push   %edi
40e72c:	8a cb                	mov    %bl,%cl
40e72e:	e8 5d 00 00 00       	call   0x40e790
40e733:	85 c0                	test   %eax,%eax
40e735:	75 16                	jne    0x40e74d
40e737:	8d 47 04             	lea    0x4(%edi),%eax
40e73a:	8a cb                	mov    %bl,%cl
40e73c:	50                   	push   %eax
40e73d:	8d 56 3c             	lea    0x3c(%esi),%edx
40e740:	e8 4b 00 00 00       	call   0x40e790
40e745:	85 c0                	test   %eax,%eax
40e747:	0f 84 79 ff ff ff    	je     0x40e6c6
40e74d:	b8 01 00 00 00       	mov    $0x1,%eax
40e752:	e9 71 ff ff ff       	jmp    0x40e6c8
40e757:	8a 4d 08             	mov    0x8(%ebp),%cl
40e75a:	8d 56 3c             	lea    0x3c(%esi),%edx
40e75d:	57                   	push   %edi
40e75e:	eb e0                	jmp    0x40e740
40e760:	8b 76 3c             	mov    0x3c(%esi),%esi
40e763:	eb c0                	jmp    0x40e725
40e765:	8d 49 00             	lea    0x0(%ecx),%ecx
40e768:	57                   	push   %edi
40e769:	e7 40                	out    %eax,$0x40
40e76b:	00 1d e7 40 00 89    	add    %bl,0x890040e7
40e771:	e6 40                	out    %al,$0x40
40e773:	00 ec                	add    %ch,%ah
40e775:	e6 40                	out    %al,$0x40
40e777:	00 c6                	add    %al,%dh
40e779:	e6 40                	out    %al,$0x40
40e77b:	00 00                	add    %al,(%eax)
40e77d:	01 02                	add    %eax,(%edx)
40e77f:	04 03                	add    $0x3,%al
40e781:	03 03                	add    (%ebx),%eax
40e783:	03 03                	add    (%ebx),%eax
40e785:	02 02                	add    (%edx),%al
40e787:	02 02                	add    (%edx),%al
40e789:	04 02                	add    $0x2,%al
40e78b:	02 03                	add    (%ebx),%al
40e78d:	cc                   	int3
40e78e:	cc                   	int3
40e78f:	cc                   	int3
40e790:	8b ff                	mov    %edi,%edi
40e792:	55                   	push   %ebp
40e793:	8b ec                	mov    %esp,%ebp
40e795:	83 ec 20             	sub    $0x20,%esp