40c446:	e8 bd 7d ff ff       	call   0x404208
40c44b:	8b 45 f4             	mov    -0xc(%ebp),%eax
40c44e:	50                   	push   %eax
40c44f:	e8 c8 9b ff ff       	call   0x40601c
40c454:	8b d0                	mov    %eax,%edx
40c456:	58                   	pop    %eax
40c457:	e8 9c bb ff ff       	call   0x407ff8
40c45c:	8b d8                	mov    %eax,%ebx
40c45e:	33 c0                	xor    %eax,%eax
40c460:	5a                   	pop    %edx
40c461:	59                   	pop    %ecx
40c462:	59                   	pop    %ecx
40c463:	64 89 10             	mov    %edx,%fs:(%eax)
40c466:	68 7b c4 40 00       	push   $0x40c47b
40c46b:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c46e:	e8 25 7b ff ff       	call   0x403f98
40c473:	c3                   	ret
40c474:	e9 23 75 ff ff       	jmp    0x40399c
40c479:	eb f0                	jmp    0x40c46b
40c47b:	8b c3                	mov    %ebx,%eax
40c47d:	5b                   	pop    %ebx
40c47e:	8b e5                	mov    %ebp,%esp
40c480:	5d                   	pop    %ebp
40c481:	c3                   	ret
40c482:	8b c0                	mov    %eax,%eax
40c484:	55                   	push   %ebp
40c485:	8b ec                	mov    %esp,%ebp
40c487:	51                   	push   %ecx
40c488:	53                   	push   %ebx
40c489:	56                   	push   %esi
40c48a:	57                   	push   %edi
40c48b:	8b 7d 08             	mov    0x8(%ebp),%edi
40c48e:	83 c7 ec             	add    $0xffffffec,%edi
40c491:	57                   	push   %edi
40c492:	a1 40 e7 46 00       	mov    0x46e740,%eax
40c497:	e8 74 ff ff ff       	call   0x40c410
40c49c:	50                   	push   %eax
40c49d:	e8 82 9b ff ff       	call   0x406024
40c4a2:	33 f6                	xor    %esi,%esi
40c4a4:	eb 29                	jmp    0x40c4cf
40c4a6:	8a 44 37 06          	mov    0x6(%edi,%esi,1),%al
40c4aa:	8a 5c 37 07          	mov    0x7(%edi,%esi,1),%bl
40c4ae:	2a d8                	sub    %al,%bl
40c4b0:	72 1a                	jb     0x40c4cc
40c4b2:	43                   	inc    %ebx
40c4b3:	88 45 ff             	mov    %al,-0x1(%ebp)
40c4b6:	8a 45 ff             	mov    -0x1(%ebp),%al
40c4b9:	25 ff 00 00 00       	and    $0xff,%eax
40c4be:	0f ab 05 0c 31 46 00 	bts    %eax,0x46310c
40c4c5:	fe 45 ff             	incb   -0x1(%ebp)
40c4c8:	fe cb                	dec    %bl
40c4ca:	75 ea                	jne    0x40c4b6
40c4cc:	83 c6 02             	add    $0x2,%esi
40c4cf:	83 fe 0c             	cmp    $0xc,%esi
40c4d2:	7d 0a                	jge    0x40c4de
40c4d4:	8a 44 37 06          	mov    0x6(%edi,%esi,1),%al
40c4d8:	0a 44 37 07          	or     0x7(%edi,%esi,1),%al
40c4dc:	75 c8                	jne    0x40c4a6
40c4de:	5f                   	pop    %edi
40c4df:	5e                   	pop    %esi
40c4e0:	5b                   	pop    %ebx
40c4e1:	59                   	pop    %ecx
40c4e2:	5d                   	pop    %ebp
40c4e3:	c3                   	ret
40c4e4:	a1 44 e7 46 00       	mov    0x46e744,%eax
40c4e9:	83 f8 1f             	cmp    $0x1f,%eax
40c4ec:	77 07                	ja     0x40c4f5
40c4ee:	0f a3 05 08 33 46 00 	bt     %eax,0x463308
40c4f5:	0f 92 c0             	setb   %al
40c4f8:	c3                   	ret
40c4f9:	8d 40 00             	lea    0x0(%eax),%eax
40c4fc:	55                   	push   %ebp
40c4fd:	8b ec                	mov    %esp,%ebp
40c4ff:	81 c4 68 fe ff ff    	add    $0xfffffe68,%esp
40c505:	53                   	push   %ebx
40c506:	56                   	push   %esi
40c507:	57                   	push   %edi
40c508:	c7 05 40 e7 46 00 09 	movl   $0x409,0x46e740
40c50f:	04 00 00
40c512:	c7 05 44 e7 46 00 09 	movl   $0x9,0x46e744
40c519:	00 00 00
40c51c:	c7 05 48 e7 46 00 01 	movl   $0x1,0x46e748
40c523:	00 00 00
40c526:	e8 89 9b ff ff       	call   0x4060b4
40c52b:	85 c0                	test   %eax,%eax
40c52d:	74 05                	je     0x40c534
40c52f:	a3 40 e7 46 00       	mov    %eax,0x46e740
40c534:	66 85 c0             	test   %ax,%ax
40c537:	74 1b                	je     0x40c554
40c539:	8b d0                	mov    %eax,%edx
40c53b:	66 81 e2 ff 03       	and    $0x3ff,%dx
40c540:	0f b7 d2             	movzwl %dx,%edx
40c543:	89 15 44 e7 46 00    	mov    %edx,0x46e744
40c549:	0f b7 c0             	movzwl %ax,%eax
40c54c:	c1 e8 0a             	shr    $0xa,%eax
40c54f:	a3 48 e7 46 00       	mov    %eax,0x46e748
40c554:	be 50 c6 40 00       	mov    $0x40c650,%esi
40c559:	bf 0c 31 46 00       	mov    $0x46310c,%edi
40c55e:	b9 08 00 00 00       	mov    $0x8,%ecx
40c563:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
40c565:	83 3d c4 30 46 00 02 	cmpl   $0x2,0x4630c4
40c56c:	0f 85 a7 00 00 00    	jne    0x40c619
40c572:	e8 6d ff ff ff       	call   0x40c4e4
40c577:	84 c0                	test   %al,%al
40c579:	74 13                	je     0x40c58e
40c57b:	c6 05 4d e7 46 00 00 	movb   $0x0,0x46e74d
40c582:	c6 05 4c e7 46 00 00 	movb   $0x0,0x46e74c
40c589:	e9 b9 00 00 00       	jmp    0x40c647
40c58e:	55                   	push   %ebp
40c58f:	e8 f0 fe ff ff       	call   0x40c484
40c594:	59                   	pop    %ecx
40c595:	b8 0c 31 46 00       	mov    $0x46310c,%eax
40c59a:	ba 50 c6 40 00       	mov    $0x40c650,%edx
40c59f:	b1 20                	mov    $0x20,%cl
40c5a1:	e8 e2 67 ff ff       	call   0x402d88
40c5a6:	0f 95 c3             	setne  %bl
40c5a9:	88 1d 4c e7 46 00    	mov    %bl,0x46e74c
40c5af:	84 db                	test   %bl,%bl
40c5b1:	74 0c                	je     0x40c5bf
40c5b3:	c6 05 4d e7 46 00 00 	movb   $0x0,0x46e74d
40c5ba:	e9 88 00 00 00       	jmp    0x40c647
40c5bf:	b8 80 00 00 00       	mov    $0x80,%eax
40c5c4:	8d 95 6c ff ff ff    	lea    -0x94(%ebp),%edx
40c5ca:	88 02                	mov    %al,(%edx)
40c5cc:	40                   	inc    %eax
40c5cd:	42                   	inc    %edx
40c5ce:	3d 00 01 00 00       	cmp    $0x100,%eax
40c5d3:	75 f5                	jne    0x40c5ca
40c5d5:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40c5db:	8d 95 6a fe ff ff    	lea    -0x196(%ebp),%edx
40c5e1:	52                   	push   %edx
40c5e2:	68 80 00 00 00       	push   $0x80
40c5e7:	50                   	push   %eax
40c5e8:	6a 02                	push   $0x2
40c5ea:	a1 40 e7 46 00       	mov    0x46e740,%eax
40c5ef:	50                   	push   %eax
40c5f0:	e8 9f 9a ff ff       	call   0x406094
40c5f5:	b8 80 00 00 00       	mov    $0x80,%eax
40c5fa:	8d 95 6a fe ff ff    	lea    -0x196(%ebp),%edx
40c600:	66 83 3a 02          	cmpw   $0x2,(%edx)
40c604:	0f 94 c1             	sete   %cl
40c607:	88 0d 4d e7 46 00    	mov    %cl,0x46e74d
40c60d:	84 c9                	test   %cl,%cl
40c60f:	75 36                	jne    0x40c647
40c611:	83 c2 02             	add    $0x2,%edx
40c614:	48                   	dec    %eax
40c615:	75 e9                	jne    0x40c600
40c617:	eb 2e                	jmp    0x40c647
40c619:	6a 4a                	push   $0x4a
40c61b:	e8 6c a0 ff ff       	call   0x40668c
40c620:	85 c0                	test   %eax,%eax
40c622:	0f 95 c0             	setne  %al
40c625:	a2 4d e7 46 00       	mov    %al,0x46e74d
40c62a:	6a 2a                	push   $0x2a
40c62c:	e8 5b a0 ff ff       	call   0x40668c
40c631:	85 c0                	test   %eax,%eax
40c633:	0f 95 c3             	setne  %bl
40c636:	88 1d 4c e7 46 00    	mov    %bl,0x46e74c
40c63c:	84 db                	test   %bl,%bl
40c63e:	74 07                	je     0x40c647
40c640:	55                   	push   %ebp
40c641:	e8 3e fe ff ff       	call   0x40c484
40c646:	59                   	pop    %ecx
40c647:	5f                   	pop    %edi
40c648:	5e                   	pop    %esi
40c649:	5b                   	pop    %ebx
40c64a:	8b e5                	mov    %ebp,%esp
40c64c:	5d                   	pop    %ebp
40c64d:	c3                   	ret
40c66e:	00 00                	add    %al,(%eax)
40c670:	55                   	push   %ebp
40c671:	8b ec                	mov    %esp,%ebp
40c673:	b9 08 00 00 00       	mov    $0x8,%ecx
40c678:	6a 00                	push   $0x0
40c67a:	6a 00                	push   $0x0
40c67c:	49                   	dec    %ecx
40c67d:	75 f9                	jne    0x40c678
40c67f:	53                   	push   %ebx
40c680:	33 c0                	xor    %eax,%eax
40c682:	55                   	push   %ebp
40c683:	68 3b c9 40 00       	push   $0x40c93b
40c688:	64 ff 30             	push   %fs:(%eax)
40c68b:	64 89 20             	mov    %esp,%fs:(%eax)
40c68e:	e8 69 fe ff ff       	call   0x40c4fc
40c693:	e8 c4 e7 ff ff       	call   0x40ae5c
40c698:	80 3d 4c e7 46 00 00 	cmpb   $0x0,0x46e74c
40c69f:	74 05                	je     0x40c6a6
40c6a1:	e8 8e e9 ff ff       	call   0x40b034
40c6a6:	e8 09 9a ff ff       	call   0x4060b4
40c6ab:	8b d8                	mov    %eax,%ebx
40c6ad:	8d 45 f0             	lea    -0x10(%ebp),%eax
40c6b0:	50                   	push   %eax
40c6b1:	33 c9                	xor    %ecx,%ecx
40c6b3:	ba 14 00 00 00       	mov    $0x14,%edx
40c6b8:	8b c3                	mov    %ebx,%eax
40c6ba:	e8 ed e6 ff ff       	call   0x40adac
40c6bf:	8b 55 f0             	mov    -0x10(%ebp),%edx
40c6c2:	b8 80 e6 46 00       	mov    $0x46e680,%eax
40c6c7:	e8 20 79 ff ff       	call   0x403fec
40c6cc:	8d 45 ec             	lea    -0x14(%ebp),%eax
40c6cf:	50                   	push   %eax
40c6d0:	b9 50 c9 40 00       	mov    $0x40c950,%ecx
40c6d5:	ba 1b 00 00 00       	mov    $0x1b,%edx
40c6da:	8b c3                	mov    %ebx,%eax
40c6dc:	e8 cb e6 ff ff       	call   0x40adac
40c6e1:	8b 45 ec             	mov    -0x14(%ebp),%eax
40c6e4:	33 d2                	xor    %edx,%edx
40c6e6:	e8 0d b9 ff ff       	call   0x407ff8
40c6eb:	a2 84 e6 46 00       	mov    %al,0x46e684
40c6f0:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c6f3:	50                   	push   %eax
40c6f4:	b9 50 c9 40 00       	mov    $0x40c950,%ecx
40c6f9:	ba 1c 00 00 00       	mov    $0x1c,%edx
40c6fe:	8b c3                	mov    %ebx,%eax
40c700:	e8 a7 e6 ff ff       	call   0x40adac
40c705:	8b 45 e8             	mov    -0x18(%ebp),%eax
40c708:	33 d2                	xor    %edx,%edx
40c70a:	e8 e9 b8 ff ff       	call   0x407ff8
40c70f:	a2 85 e6 46 00       	mov    %al,0x46e685
40c714:	b1 2c                	mov    $0x2c,%cl
40c716:	ba 0f 00 00 00       	mov    $0xf,%edx
40c71b:	8b c3                	mov    %ebx,%eax
40c71d:	e8 d6 e6 ff ff       	call   0x40adf8
40c722:	a2 86 e6 46 00       	mov    %al,0x46e686
40c727:	b1 2e                	mov    $0x2e,%cl
40c729:	ba 0e 00 00 00       	mov    $0xe,%edx
40c72e:	8b c3                	mov    %ebx,%eax
40c730:	e8 c3 e6 ff ff       	call   0x40adf8
40c735:	a2 87 e6 46 00       	mov    %al,0x46e687
40c73a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c73d:	50                   	push   %eax
40c73e:	b9 50 c9 40 00       	mov    $0x40c950,%ecx
40c743:	ba 19 00 00 00       	mov    $0x19,%edx
40c748:	8b c3                	mov    %ebx,%eax
40c74a:	e8 5d e6 ff ff       	call   0x40adac
40c74f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c752:	33 d2                	xor    %edx,%edx
40c754:	e8 9f b8 ff ff       	call   0x407ff8
40c759:	a2 88 e6 46 00       	mov    %al,0x46e688
40c75e:	b1 2f                	mov    $0x2f,%cl
40c760:	ba 1d 00 00 00       	mov    $0x1d,%edx
40c765:	8b c3                	mov    %ebx,%eax
40c767:	e8 8c e6 ff ff       	call   0x40adf8
40c76c:	a2 89 e6 46 00       	mov    %al,0x46e689
40c771:	8d 45 dc             	lea    -0x24(%ebp),%eax
40c774:	50                   	push   %eax
40c775:	b9 5c c9 40 00       	mov    $0x40c95c,%ecx
40c77a:	ba 1f 00 00 00       	mov    $0x1f,%edx
40c77f:	8b c3                	mov    %ebx,%eax
40c781:	e8 26 e6 ff ff       	call   0x40adac
40c786:	8b 45 dc             	mov    -0x24(%ebp),%eax
40c789:	8d 55 e0             	lea    -0x20(%ebp),%edx
40c78c:	e8 53 e9 ff ff       	call   0x40b0e4
40c791:	8b 55 e0             	mov    -0x20(%ebp),%edx
40c794:	b8 8c e6 46 00       	mov    $0x46e68c,%eax
40c799:	e8 4e 78 ff ff       	call   0x403fec
40c79e:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40c7a1:	50                   	push   %eax
40c7a2:	b9 6c c9 40 00       	mov    $0x40c96c,%ecx
40c7a7:	ba 20 00 00 00       	mov    $0x20,%edx
40c7ac:	8b c3                	mov    %ebx,%eax
40c7ae:	e8 f9 e5 ff ff       	call   0x40adac
40c7b3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40c7b6:	8d 55 d8             	lea    -0x28(%ebp),%edx
40c7b9:	e8 26 e9 ff ff       	call   0x40b0e4
40c7be:	8b 55 d8             	mov    -0x28(%ebp),%edx
40c7c1:	b8 90 e6 46 00       	mov    $0x46e690,%eax
40c7c6:	e8 21 78 ff ff       	call   0x403fec
40c7cb:	b1 3a                	mov    $0x3a,%cl
40c7cd:	ba 1e 00 00 00       	mov    $0x1e,%edx
40c7d2:	8b c3                	mov    %ebx,%eax
40c7d4:	e8 1f e6 ff ff       	call   0x40adf8
40c7d9:	a2 94 e6 46 00       	mov    %al,0x46e694
40c7de:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c7e1:	50                   	push   %eax
40c7e2:	b9 84 c9 40 00       	mov    $0x40c984,%ecx
40c7e7:	ba 28 00 00 00       	mov    $0x28,%edx
40c7ec:	8b c3                	mov    %ebx,%eax
40c7ee:	e8 b9 e5 ff ff       	call   0x40adac
40c7f3:	8b 55 d0             	mov    -0x30(%ebp),%edx
40c7f6:	b8 98 e6 46 00       	mov    $0x46e698,%eax
40c7fb:	e8 ec 77 ff ff       	call   0x403fec
40c800:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c803:	50                   	push   %eax
40c804:	b9 90 c9 40 00       	mov    $0x40c990,%ecx
40c809:	ba 29 00 00 00       	mov    $0x29,%edx
40c80e:	8b c3                	mov    %ebx,%eax
40c810:	e8 97 e5 ff ff       	call   0x40adac
40c815:	8b 55 cc             	mov    -0x34(%ebp),%edx
40c818:	b8 9c e6 46 00       	mov    $0x46e69c,%eax
40c81d:	e8 ca 77 ff ff       	call   0x403fec
40c822:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c825:	e8 6e 77 ff ff       	call   0x403f98
40c82a:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c82d:	e8 66 77 ff ff       	call   0x403f98
40c832:	8d 45 c8             	lea    -0x38(%ebp),%eax
40c835:	50                   	push   %eax
40c836:	b9 50 c9 40 00       	mov    $0x40c950,%ecx
40c83b:	ba 25 00 00 00       	mov    $0x25,%edx
40c840:	8b c3                	mov    %ebx,%eax
40c842:	e8 65 e5 ff ff       	call   0x40adac
40c847:	8b 45 c8             	mov    -0x38(%ebp),%eax
40c84a:	33 d2                	xor    %edx,%edx
40c84c:	e8 a7 b7 ff ff       	call   0x407ff8
40c851:	85 c0                	test   %eax,%eax
40c853:	75 0f                	jne    0x40c864
40c855:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c858:	ba 9c c9 40 00       	mov    $0x40c99c,%edx
40c85d:	e8 ce 77 ff ff       	call   0x404030
40c862:	eb 0d                	jmp    0x40c871
40c864:	8d 45 fc             	lea    -0x4(%ebp),%eax
40c867:	ba a8 c9 40 00       	mov    $0x40c9a8,%edx
40c86c:	e8 bf 77 ff ff       	call   0x404030
40c871:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40c874:	50                   	push   %eax
40c875:	b9 50 c9 40 00       	mov    $0x40c950,%ecx
40c87a:	ba 23 00 00 00       	mov    $0x23,%edx
40c87f:	8b c3                	mov    %ebx,%eax
40c881:	e8 26 e5 ff ff       	call   0x40adac
40c886:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40c889:	33 d2                	xor    %edx,%edx
40c88b:	e8 68 b7 ff ff       	call   0x407ff8
40c890:	85 c0                	test   %eax,%eax
40c892:	75 3f                	jne    0x40c8d3
40c894:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c897:	50                   	push   %eax
40c898:	b9 50 c9 40 00       	mov    $0x40c950,%ecx
40c89d:	ba 05 10 00 00       	mov    $0x1005,%edx
40c8a2:	8b c3                	mov    %ebx,%eax
40c8a4:	e8 03 e5 ff ff       	call   0x40adac
40c8a9:	8b 45 c0             	mov    -0x40(%ebp),%eax
40c8ac:	33 d2                	xor    %edx,%edx
40c8ae:	e8 45 b7 ff ff       	call   0x407ff8
40c8b3:	85 c0                	test   %eax,%eax
40c8b5:	75 0f                	jne    0x40c8c6
40c8b7:	8d 45 f4             	lea    -0xc(%ebp),%eax
40c8ba:	ba b4 c9 40 00       	mov    $0x40c9b4,%edx
40c8bf:	e8 6c 77 ff ff       	call   0x404030
40c8c4:	eb 0d                	jmp    0x40c8d3
40c8c6:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c8c9:	ba c4 c9 40 00       	mov    $0x40c9c4,%edx
40c8ce:	e8 5d 77 ff ff       	call   0x404030
40c8d3:	ff 75 f8             	push   -0x8(%ebp)
40c8d6:	ff 75 fc             	push   -0x4(%ebp)
40c8d9:	68 d4 c9 40 00       	push   $0x40c9d4
40c8de:	ff 75 f4             	push   -0xc(%ebp)
40c8e1:	b8 a0 e6 46 00       	mov    $0x46e6a0,%eax
40c8e6:	ba 04 00 00 00       	mov    $0x4,%edx
40c8eb:	e8 28 7a ff ff       	call   0x404318
40c8f0:	ff 75 f8             	push   -0x8(%ebp)