40d4ca:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40d4cd:	2b 48 14             	sub    0x14(%eax),%ecx
40d4d0:	8b 45 a4             	mov    -0x5c(%ebp),%eax
40d4d3:	8b 40 0c             	mov    0xc(%eax),%eax
40d4d6:	03 c1                	add    %ecx,%eax
40d4d8:	50                   	push   %eax
40d4d9:	e8 d8 3f ff ff       	call   0x4014b6
40d4de:	89 45 a0             	mov    %eax,-0x60(%ebp)
40d4e1:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40d4e4:	50                   	push   %eax
40d4e5:	e8 f0 3f ff ff       	call   0x4014da
40d4ea:	ff 75 a0             	push   -0x60(%ebp)
40d4ed:	ff 75 a8             	push   -0x58(%ebp)
40d4f0:	e8 4d 8f ff ff       	call   0x406442
40d4f5:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40d4f8:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40d4fb:	2b 48 14             	sub    0x14(%eax),%ecx
40d4fe:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40d501:	8b 40 0c             	mov    0xc(%eax),%eax
40d504:	66 0f b6 04 08       	movzbw (%eax,%ecx,1),%ax
40d509:	33 c9                	xor    %ecx,%ecx
40d50b:	66 3d 2e 00          	cmp    $0x2e,%ax
40d50f:	0f 95 c1             	setne  %cl
40d512:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40d515:	8b 55 cc             	mov    -0x34(%ebp),%edx
40d518:	2b 50 14             	sub    0x14(%eax),%edx
40d51b:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40d51e:	8b 40 0c             	mov    0xc(%eax),%eax
40d521:	66 0f b6 04 10       	movzbw (%eax,%edx,1),%ax
40d526:	33 d2                	xor    %edx,%edx
40d528:	66 3d 23 00          	cmp    $0x23,%ax
40d52c:	0f 95 c2             	setne  %dl
40d52f:	23 ca                	and    %edx,%ecx
40d531:	85 c9                	test   %ecx,%ecx
40d533:	0f 85 0d 01 00 00    	jne    0x40d646
40d539:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40d53c:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40d53f:	2b 48 14             	sub    0x14(%eax),%ecx
40d542:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40d545:	8b 40 0c             	mov    0xc(%eax),%eax
40d548:	66 0f b6 04 08       	movzbw (%eax,%ecx,1),%ax
40d54d:	66 2d 2e 00          	sub    $0x2e,%ax
40d551:	66 f7 d8             	neg    %ax
40d554:	1b c0                	sbb    %eax,%eax
40d556:	40                   	inc    %eax
40d557:	f7 d8                	neg    %eax
40d559:	0f bf c0             	movswl %ax,%eax
40d55c:	8b 4d a8             	mov    -0x58(%ebp),%ecx
40d55f:	2b c8                	sub    %eax,%ecx
40d561:	89 4d a8             	mov    %ecx,-0x58(%ebp)
40d564:	6a 00                	push   $0x0
40d566:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d569:	48                   	dec    %eax
40d56a:	50                   	push   %eax
40d56b:	6a 01                	push   $0x1
40d56d:	6a 11                	push   $0x11
40d56f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40d572:	50                   	push   %eax
40d573:	6a 01                	push   $0x1
40d575:	68 80 00 00 00       	push   $0x80
40d57a:	e8 5f 3e ff ff       	call   0x4013de
40d57f:	83 c4 1c             	add    $0x1c,%esp
40d582:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
40d586:	8b 45 0c             	mov    0xc(%ebp),%eax
40d589:	ff 30                	push   (%eax)
40d58b:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40d58e:	50                   	push   %eax
40d58f:	e8 4c 3f ff ff       	call   0x4014e0
40d594:	8b 45 a4             	mov    -0x5c(%ebp),%eax
40d597:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40d59a:	2b 48 14             	sub    0x14(%eax),%ecx
40d59d:	8b 45 a4             	mov    -0x5c(%ebp),%eax
40d5a0:	8b 40 0c             	mov    0xc(%eax),%eax
40d5a3:	03 c1                	add    %ecx,%eax
40d5a5:	50                   	push   %eax
40d5a6:	e8 0b 3f ff ff       	call   0x4014b6
40d5ab:	89 45 a0             	mov    %eax,-0x60(%ebp)
40d5ae:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40d5b1:	50                   	push   %eax
40d5b2:	e8 23 3f ff ff       	call   0x4014da
40d5b7:	ff 75 a0             	push   -0x60(%ebp)
40d5ba:	ff 75 a8             	push   -0x58(%ebp)
40d5bd:	e8 80 8e ff ff       	call   0x406442
40d5c2:	8b 45 0c             	mov    0xc(%ebp),%eax
40d5c5:	8b 00                	mov    (%eax),%eax
40d5c7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40d5ca:	8b 09                	mov    (%ecx),%ecx
40d5cc:	8b 55 cc             	mov    -0x34(%ebp),%edx
40d5cf:	2b 51 14             	sub    0x14(%ecx),%edx
40d5d2:	8b 40 0c             	mov    0xc(%eax),%eax
40d5d5:	0f b6 04 10          	movzbl (%eax,%edx,1),%eax
40d5d9:	85 c0                	test   %eax,%eax
40d5db:	75 44                	jne    0x40d621
40d5dd:	6a 00                	push   $0x0
40d5df:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d5e2:	48                   	dec    %eax
40d5e3:	50                   	push   %eax
40d5e4:	6a 01                	push   $0x1
40d5e6:	6a 11                	push   $0x11
40d5e8:	ff 75 0c             	push   0xc(%ebp)
40d5eb:	6a 01                	push   $0x1
40d5ed:	68 80 00 00 00       	push   $0x80
40d5f2:	e8 e7 3d ff ff       	call   0x4013de
40d5f7:	83 c4 1c             	add    $0x1c,%esp
40d5fa:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40d5fd:	50                   	push   %eax
40d5fe:	ff 75 08             	push   0x8(%ebp)
40d601:	e8 5b fa ff ff       	call   0x40d061
40d606:	89 45 c0             	mov    %eax,-0x40(%ebp)
40d609:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
40d60d:	75 02                	jne    0x40d611
40d60f:	eb 69                	jmp    0x40d67a
40d611:	ff 75 0c             	push   0xc(%ebp)
40d614:	ff 75 c0             	push   -0x40(%ebp)
40d617:	e8 85 fb ff ff       	call   0x40d1a1
40d61c:	89 45 c8             	mov    %eax,-0x38(%ebp)
40d61f:	eb 59                	jmp    0x40d67a
40d621:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d624:	40                   	inc    %eax
40d625:	89 45 cc             	mov    %eax,-0x34(%ebp)
40d628:	8b 45 a8             	mov    -0x58(%ebp),%eax
40d62b:	40                   	inc    %eax
40d62c:	89 45 a8             	mov    %eax,-0x58(%ebp)
40d62f:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d632:	83 e0 03             	and    $0x3,%eax
40d635:	85 c0                	test   %eax,%eax
40d637:	75 89                	jne    0x40d5c2
40d639:	81 7d cc ff 00 00 00 	cmpl   $0xff,-0x34(%ebp)
40d640:	0f 8e 40 ff ff ff    	jle    0x40d586
40d646:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d649:	40                   	inc    %eax
40d64a:	89 45 cc             	mov    %eax,-0x34(%ebp)
40d64d:	8b 45 a8             	mov    -0x58(%ebp),%eax
40d650:	40                   	inc    %eax
40d651:	89 45 a8             	mov    %eax,-0x58(%ebp)
40d654:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d657:	83 e0 03             	and    $0x3,%eax
40d65a:	85 c0                	test   %eax,%eax
40d65c:	0f 85 93 fe ff ff    	jne    0x40d4f5
40d662:	81 7d cc ff 00 00 00 	cmpl   $0xff,-0x34(%ebp)
40d669:	0f 8e 4c fe ff ff    	jle    0x40d4bb
40d66f:	eb 09                	jmp    0x40d67a
40d671:	8b 45 08             	mov    0x8(%ebp),%eax
40d674:	03 45 e8             	add    -0x18(%ebp),%eax
40d677:	89 45 c8             	mov    %eax,-0x38(%ebp)
40d67a:	68 97 d6 40 00       	push   $0x40d697
40d67f:	eb 0a                	jmp    0x40d68b
40d681:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40d684:	50                   	push   %eax
40d685:	e8 50 3e ff ff       	call   0x4014da
40d68a:	c3                   	ret
40d68b:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40d68e:	50                   	push   %eax
40d68f:	6a 00                	push   $0x0
40d691:	e8 38 3e ff ff       	call   0x4014ce
40d696:	c3                   	ret
40d697:	8b 45 c8             	mov    -0x38(%ebp),%eax
40d69a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d69d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d6a4:	5f                   	pop    %edi
40d6a5:	5e                   	pop    %esi
40d6a6:	5b                   	pop    %ebx
40d6a7:	c9                   	leave
40d6a8:	c2 08 00             	ret    $0x8
40d6ab:	55                   	push   %ebp
40d6ac:	8b ec                	mov    %esp,%ebp
40d6ae:	83 ec 0c             	sub    $0xc,%esp
40d6b1:	68 36 13 40 00       	push   $0x401336
40d6b6:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d6bc:	50                   	push   %eax
40d6bd:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d6c4:	6a 78                	push   $0x78
40d6c6:	58                   	pop    %eax
40d6c7:	e8 64 3c ff ff       	call   0x401330
40d6cc:	53                   	push   %ebx
40d6cd:	56                   	push   %esi
40d6ce:	57                   	push   %edi
40d6cf:	89 65 f4             	mov    %esp,-0xc(%ebp)
40d6d2:	c7 45 f8 a8 12 40 00 	movl   $0x4012a8,-0x8(%ebp)
40d6d9:	8b 55 0c             	mov    0xc(%ebp),%edx
40d6dc:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40d6df:	e8 e4 3d ff ff       	call   0x4014c8
40d6e4:	ff 75 d4             	push   -0x2c(%ebp)
40d6e7:	e8 da 3c ff ff       	call   0x4013c6
40d6ec:	89 85 7c ff ff ff    	mov    %eax,-0x84(%ebp)
40d6f2:	c7 45 80 02 00 00 00 	movl   $0x2,-0x80(%ebp)
40d6f9:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40d700:	eb 09                	jmp    0x40d70b
40d702:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d705:	03 45 80             	add    -0x80(%ebp),%eax
40d708:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d70b:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d70e:	3b 85 7c ff ff ff    	cmp    -0x84(%ebp),%eax
40d714:	7f 5e                	jg     0x40d774
40d716:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
40d71d:	c7 45 c4 02 00 00 00 	movl   $0x2,-0x3c(%ebp)
40d724:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40d727:	89 45 9c             	mov    %eax,-0x64(%ebp)
40d72a:	c7 45 94 08 40 00 00 	movl   $0x4008,-0x6c(%ebp)
40d731:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40d734:	50                   	push   %eax
40d735:	ff 75 e8             	push   -0x18(%ebp)
40d738:	8d 45 94             	lea    -0x6c(%ebp),%eax
40d73b:	50                   	push   %eax
40d73c:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40d73f:	50                   	push   %eax
40d740:	e8 93 3c ff ff       	call   0x4013d8
40d745:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d748:	50                   	push   %eax
40d749:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40d74c:	50                   	push   %eax
40d74d:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40d750:	50                   	push   %eax
40d751:	e8 18 3d ff ff       	call   0x40146e
40d756:	8b d0                	mov    %eax,%edx
40d758:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d75b:	e8 2c 3d ff ff       	call   0x40148c
40d760:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40d763:	50                   	push   %eax
40d764:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40d767:	50                   	push   %eax
40d768:	6a 02                	push   $0x2
40d76a:	e8 23 3d ff ff       	call   0x401492
40d76f:	83 c4 0c             	add    $0xc,%esp
40d772:	eb 8e                	jmp    0x40d702
40d774:	68 ad d7 40 00       	push   $0x40d7ad
40d779:	eb 29                	jmp    0x40d7a4
40d77b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d77e:	83 e0 04             	and    $0x4,%eax
40d781:	85 c0                	test   %eax,%eax
40d783:	74 08                	je     0x40d78d
40d785:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d788:	e8 17 3d ff ff       	call   0x4014a4
40d78d:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40d790:	50                   	push   %eax
40d791:	8d 45 b4             	lea    -0x4c(%ebp),%eax
40d794:	50                   	push   %eax
40d795:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40d798:	50                   	push   %eax
40d799:	6a 03                	push   $0x3
40d79b:	e8 f2 3c ff ff       	call   0x401492
40d7a0:	83 c4 10             	add    $0x10,%esp
40d7a3:	c3                   	ret
40d7a4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40d7a7:	e8 10 3d ff ff       	call   0x4014bc
40d7ac:	c3                   	ret
40d7ad:	8d 75 d8             	lea    -0x28(%ebp),%esi
40d7b0:	8b 7d 08             	mov    0x8(%ebp),%edi
40d7b3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40d7b4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40d7b5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40d7b6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40d7b7:	8b 45 08             	mov    0x8(%ebp),%eax
40d7ba:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d7bd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d7c4:	5f                   	pop    %edi
40d7c5:	5e                   	pop    %esi
40d7c6:	5b                   	pop    %ebx
40d7c7:	c9                   	leave
40d7c8:	c2 08 00             	ret    $0x8
40d7cb:	55                   	push   %ebp
40d7cc:	8b ec                	mov    %esp,%ebp
40d7ce:	83 ec 0c             	sub    $0xc,%esp
40d7d1:	68 36 13 40 00       	push   $0x401336
40d7d6:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d7dc:	50                   	push   %eax
40d7dd:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d7e4:	6a 1c                	push   $0x1c
40d7e6:	58                   	pop    %eax
40d7e7:	e8 44 3b ff ff       	call   0x401330
40d7ec:	53                   	push   %ebx
40d7ed:	56                   	push   %esi
40d7ee:	57                   	push   %edi
40d7ef:	89 65 f4             	mov    %esp,-0xc(%ebp)
40d7f2:	c7 45 f8 b8 12 40 00 	movl   $0x4012b8,-0x8(%ebp)
40d7f9:	68 18 48 40 00       	push   $0x404818
40d7fe:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d801:	50                   	push   %eax
40d802:	e8 a4 fe ff ff       	call   0x40d6ab
40d807:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d80a:	50                   	push   %eax
40d80b:	e8 64 3c ff ff       	call   0x401474
40d810:	8b d0                	mov    %eax,%edx
40d812:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d815:	e8 a8 3c ff ff       	call   0x4014c2
40d81a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d81d:	e8 82 3c ff ff       	call   0x4014a4
40d822:	68 45 d8 40 00       	push   $0x40d845
40d827:	eb 1b                	jmp    0x40d844
40d829:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d82c:	83 e0 04             	and    $0x4,%eax
40d82f:	85 c0                	test   %eax,%eax
40d831:	74 08                	je     0x40d83b
40d833:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d836:	e8 81 3c ff ff       	call   0x4014bc
40d83b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d83e:	e8 61 3c ff ff       	call   0x4014a4
40d843:	c3                   	ret
40d844:	c3                   	ret
40d845:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d848:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d84b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d852:	5f                   	pop    %edi
40d853:	5e                   	pop    %esi
40d854:	5b                   	pop    %ebx
40d855:	c9                   	leave
40d856:	c3                   	ret
40d857:	55                   	push   %ebp
40d858:	8b ec                	mov    %esp,%ebp
40d85a:	83 ec 0c             	sub    $0xc,%esp
40d85d:	68 36 13 40 00       	push   $0x401336
40d862:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d868:	50                   	push   %eax
40d869:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d870:	6a 1c                	push   $0x1c
40d872:	58                   	pop    %eax
40d873:	e8 b8 3a ff ff       	call   0x401330
40d878:	53                   	push   %ebx
40d879:	56                   	push   %esi
40d87a:	57                   	push   %edi
40d87b:	89 65 f4             	mov    %esp,-0xc(%ebp)
40d87e:	c7 45 f8 c8 12 40 00 	movl   $0x4012c8,-0x8(%ebp)
40d885:	68 04 49 40 00       	push   $0x404904
40d88a:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d88d:	50                   	push   %eax
40d88e:	e8 18 fe ff ff       	call   0x40d6ab
40d893:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d896:	50                   	push   %eax
40d897:	e8 d8 3b ff ff       	call   0x401474
40d89c:	8b d0                	mov    %eax,%edx
40d89e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d8a1:	e8 1c 3c ff ff       	call   0x4014c2
40d8a6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d8a9:	e8 f6 3b ff ff       	call   0x4014a4
40d8ae:	68 d1 d8 40 00       	push   $0x40d8d1
40d8b3:	eb 1b                	jmp    0x40d8d0
40d8b5:	8b 45 fc             	mov    -0x4(%ebp),%eax
40d8b8:	83 e0 04             	and    $0x4,%eax
40d8bb:	85 c0                	test   %eax,%eax
40d8bd:	74 08                	je     0x40d8c7
40d8bf:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d8c2:	e8 f5 3b ff ff       	call   0x4014bc
40d8c7:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d8ca:	e8 d5 3b ff ff       	call   0x4014a4
40d8cf:	c3                   	ret
40d8d0:	c3                   	ret
40d8d1:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d8d4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d8d7:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d8de:	5f                   	pop    %edi