40c4b1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c4b4:	e8 33 50 ff ff       	call   0x4014ec
40c4b9:	8d 4d e0             	lea    -0x20(%ebp),%ecx
40c4bc:	e8 2b 50 ff ff       	call   0x4014ec
40c4c1:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c4c4:	50                   	push   %eax
40c4c5:	6a 00                	push   $0x0
40c4c7:	e8 02 50 ff ff       	call   0x4014ce
40c4cc:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40c4cf:	e8 18 50 ff ff       	call   0x4014ec
40c4d4:	c3                   	ret
40c4d5:	66 8b 45 dc          	mov    -0x24(%ebp),%ax
40c4d9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40c4dc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c4e3:	5f                   	pop    %edi
40c4e4:	5e                   	pop    %esi
40c4e5:	5b                   	pop    %ebx
40c4e6:	c9                   	leave
40c4e7:	c2 0c 00             	ret    $0xc
40c4ea:	55                   	push   %ebp
40c4eb:	8b ec                	mov    %esp,%ebp
40c4ed:	83 ec 0c             	sub    $0xc,%esp
40c4f0:	68 36 13 40 00       	push   $0x401336
40c4f5:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c4fb:	50                   	push   %eax
40c4fc:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40c503:	6a 58                	push   $0x58
40c505:	58                   	pop    %eax
40c506:	e8 25 4e ff ff       	call   0x401330
40c50b:	53                   	push   %ebx
40c50c:	56                   	push   %esi
40c50d:	57                   	push   %edi
40c50e:	89 65 f4             	mov    %esp,-0xc(%ebp)
40c511:	c7 45 f8 48 12 40 00 	movl   $0x401248,-0x8(%ebp)
40c518:	ff 75 0c             	push   0xc(%ebp)
40c51b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40c51e:	50                   	push   %eax
40c51f:	e8 c2 4f ff ff       	call   0x4014e6
40c524:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c527:	50                   	push   %eax
40c528:	6a 04                	push   $0x4
40c52a:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c52d:	50                   	push   %eax
40c52e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c531:	8b 00                	mov    (%eax),%eax
40c533:	ff 75 e4             	push   -0x1c(%ebp)
40c536:	ff 50 0c             	call   *0xc(%eax)
40c539:	db e2                	fnclex
40c53b:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40c53e:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
40c542:	7d 17                	jge    0x40c55b
40c544:	6a 0c                	push   $0xc
40c546:	68 c0 47 40 00       	push   $0x4047c0
40c54b:	ff 75 e4             	push   -0x1c(%ebp)
40c54e:	ff 75 a4             	push   -0x5c(%ebp)
40c551:	e8 7e 4f ff ff       	call   0x4014d4
40c556:	89 45 98             	mov    %eax,-0x68(%ebp)
40c559:	eb 04                	jmp    0x40c55f
40c55b:	83 65 98 00          	andl   $0x0,-0x68(%ebp)
40c55f:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
40c563:	7e 09                	jle    0x40c56e
40c565:	81 7d e8 ff 7f 00 00 	cmpl   $0x7fff,-0x18(%ebp)
40c56c:	7e 05                	jle    0x40c573
40c56e:	e9 8a 00 00 00       	jmp    0x40c5fd
40c573:	6a 20                	push   $0x20
40c575:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c578:	50                   	push   %eax
40c579:	e8 90 4e ff ff       	call   0x40140e
40c57e:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c581:	50                   	push   %eax
40c582:	ff 75 e8             	push   -0x18(%ebp)
40c585:	8d 45 b0             	lea    -0x50(%ebp),%eax
40c588:	50                   	push   %eax
40c589:	e8 8c 4e ff ff       	call   0x40141a
40c58e:	8d 55 b0             	lea    -0x50(%ebp),%edx
40c591:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40c594:	e8 f3 4e ff ff       	call   0x40148c
40c599:	8d 4d c0             	lea    -0x40(%ebp),%ecx
40c59c:	e8 03 4f ff ff       	call   0x4014a4
40c5a1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40c5a4:	50                   	push   %eax
40c5a5:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c5a8:	50                   	push   %eax
40c5a9:	e8 90 4e ff ff       	call   0x40143e
40c5ae:	50                   	push   %eax
40c5af:	e8 02 4f ff ff       	call   0x4014b6
40c5b4:	89 45 a8             	mov    %eax,-0x58(%ebp)
40c5b7:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c5ba:	50                   	push   %eax
40c5bb:	8b 45 e8             	mov    -0x18(%ebp),%eax
40c5be:	d1 e0                	shl    $1,%eax
40c5c0:	50                   	push   %eax
40c5c1:	ff 75 a8             	push   -0x58(%ebp)
40c5c4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c5c7:	8b 00                	mov    (%eax),%eax
40c5c9:	ff 75 e4             	push   -0x1c(%ebp)
40c5cc:	ff 50 0c             	call   *0xc(%eax)
40c5cf:	db e2                	fnclex
40c5d1:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40c5d4:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
40c5d8:	7d 17                	jge    0x40c5f1
40c5da:	6a 0c                	push   $0xc
40c5dc:	68 c0 47 40 00       	push   $0x4047c0
40c5e1:	ff 75 e4             	push   -0x1c(%ebp)
40c5e4:	ff 75 a4             	push   -0x5c(%ebp)
40c5e7:	e8 e8 4e ff ff       	call   0x4014d4
40c5ec:	89 45 94             	mov    %eax,-0x6c(%ebp)
40c5ef:	eb 04                	jmp    0x40c5f5
40c5f1:	83 65 94 00          	andl   $0x0,-0x6c(%ebp)
40c5f5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40c5f8:	e8 bf 4e ff ff       	call   0x4014bc
40c5fd:	68 3a c6 40 00       	push   $0x40c63a
40c602:	eb 2d                	jmp    0x40c631
40c604:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c607:	83 e0 04             	and    $0x4,%eax
40c60a:	85 c0                	test   %eax,%eax
40c60c:	74 08                	je     0x40c616
40c60e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40c611:	e8 8e 4e ff ff       	call   0x4014a4
40c616:	8d 4d d0             	lea    -0x30(%ebp),%ecx
40c619:	e8 9e 4e ff ff       	call   0x4014bc
40c61e:	8d 45 b0             	lea    -0x50(%ebp),%eax
40c621:	50                   	push   %eax
40c622:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c625:	50                   	push   %eax
40c626:	6a 02                	push   $0x2
40c628:	e8 65 4e ff ff       	call   0x401492
40c62d:	83 c4 0c             	add    $0xc,%esp
40c630:	c3                   	ret
40c631:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40c634:	e8 b3 4e ff ff       	call   0x4014ec
40c639:	c3                   	ret
40c63a:	8d 75 d4             	lea    -0x2c(%ebp),%esi
40c63d:	8b 7d 08             	mov    0x8(%ebp),%edi
40c640:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c641:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c642:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c643:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c644:	8b 45 08             	mov    0x8(%ebp),%eax
40c647:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40c64a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c651:	5f                   	pop    %edi
40c652:	5e                   	pop    %esi
40c653:	5b                   	pop    %ebx
40c654:	c9                   	leave
40c655:	c2 08 00             	ret    $0x8
40c658:	55                   	push   %ebp
40c659:	8b ec                	mov    %esp,%ebp
40c65b:	83 ec 0c             	sub    $0xc,%esp
40c65e:	68 36 13 40 00       	push   $0x401336
40c663:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c669:	50                   	push   %eax
40c66a:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40c671:	6a 58                	push   $0x58
40c673:	58                   	pop    %eax
40c674:	e8 b7 4c ff ff       	call   0x401330
40c679:	53                   	push   %ebx
40c67a:	56                   	push   %esi
40c67b:	57                   	push   %edi
40c67c:	89 65 f4             	mov    %esp,-0xc(%ebp)
40c67f:	c7 45 f8 58 12 40 00 	movl   $0x401258,-0x8(%ebp)
40c686:	ff 75 0c             	push   0xc(%ebp)
40c689:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40c68c:	50                   	push   %eax
40c68d:	e8 54 4e ff ff       	call   0x4014e6
40c692:	8d 45 a8             	lea    -0x58(%ebp),%eax
40c695:	50                   	push   %eax
40c696:	6a 04                	push   $0x4
40c698:	8d 45 d8             	lea    -0x28(%ebp),%eax
40c69b:	50                   	push   %eax
40c69c:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40c69f:	8b 00                	mov    (%eax),%eax
40c6a1:	ff 75 d4             	push   -0x2c(%ebp)
40c6a4:	ff 50 0c             	call   *0xc(%eax)
40c6a7:	db e2                	fnclex
40c6a9:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40c6ac:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
40c6b0:	7d 17                	jge    0x40c6c9
40c6b2:	6a 0c                	push   $0xc
40c6b4:	68 c0 47 40 00       	push   $0x4047c0
40c6b9:	ff 75 d4             	push   -0x2c(%ebp)
40c6bc:	ff 75 a4             	push   -0x5c(%ebp)
40c6bf:	e8 10 4e ff ff       	call   0x4014d4
40c6c4:	89 45 98             	mov    %eax,-0x68(%ebp)
40c6c7:	eb 04                	jmp    0x40c6cd
40c6c9:	83 65 98 00          	andl   $0x0,-0x68(%ebp)
40c6cd:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
40c6d1:	7e 09                	jle    0x40c6dc
40c6d3:	81 7d d8 ff 7f 00 00 	cmpl   $0x7fff,-0x28(%ebp)
40c6da:	7e 05                	jle    0x40c6e1
40c6dc:	e9 a3 00 00 00       	jmp    0x40c784
40c6e1:	6a 00                	push   $0x0
40c6e3:	8b 45 d8             	mov    -0x28(%ebp),%eax
40c6e6:	48                   	dec    %eax
40c6e7:	50                   	push   %eax
40c6e8:	6a 01                	push   $0x1
40c6ea:	6a 11                	push   $0x11
40c6ec:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c6ef:	50                   	push   %eax
40c6f0:	6a 01                	push   $0x1
40c6f2:	68 80 00 00 00       	push   $0x80
40c6f7:	e8 08 4e ff ff       	call   0x401504
40c6fc:	83 c4 1c             	add    $0x1c,%esp
40c6ff:	ff 75 d0             	push   -0x30(%ebp)
40c702:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c705:	50                   	push   %eax
40c706:	e8 d5 4d ff ff       	call   0x4014e0
40c70b:	8d 45 a8             	lea    -0x58(%ebp),%eax
40c70e:	50                   	push   %eax
40c70f:	ff 75 d8             	push   -0x28(%ebp)
40c712:	8b 45 cc             	mov    -0x34(%ebp),%eax
40c715:	33 c9                	xor    %ecx,%ecx
40c717:	2b 48 14             	sub    0x14(%eax),%ecx
40c71a:	8b 45 cc             	mov    -0x34(%ebp),%eax
40c71d:	8b 40 0c             	mov    0xc(%eax),%eax
40c720:	03 c1                	add    %ecx,%eax
40c722:	50                   	push   %eax
40c723:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40c726:	8b 00                	mov    (%eax),%eax
40c728:	ff 75 d4             	push   -0x2c(%ebp)
40c72b:	ff 50 0c             	call   *0xc(%eax)
40c72e:	db e2                	fnclex
40c730:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40c733:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
40c737:	7d 17                	jge    0x40c750
40c739:	6a 0c                	push   $0xc
40c73b:	68 c0 47 40 00       	push   $0x4047c0
40c740:	ff 75 d4             	push   -0x2c(%ebp)
40c743:	ff 75 a4             	push   -0x5c(%ebp)
40c746:	e8 89 4d ff ff       	call   0x4014d4
40c74b:	89 45 94             	mov    %eax,-0x6c(%ebp)
40c74e:	eb 04                	jmp    0x40c754
40c750:	83 65 94 00          	andl   $0x0,-0x6c(%ebp)
40c754:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c757:	50                   	push   %eax
40c758:	e8 7d 4d ff ff       	call   0x4014da
40c75d:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c760:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40c763:	c7 45 ac 11 60 00 00 	movl   $0x6011,-0x54(%ebp)
40c76a:	6a 40                	push   $0x40
40c76c:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c76f:	50                   	push   %eax
40c770:	8d 45 bc             	lea    -0x44(%ebp),%eax
40c773:	50                   	push   %eax
40c774:	e8 68 00 00 00       	call   0x40c7e1
40c779:	8d 55 bc             	lea    -0x44(%ebp),%edx
40c77c:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40c77f:	e8 08 4d ff ff       	call   0x40148c
40c784:	68 c3 c7 40 00       	push   $0x40c7c3
40c789:	eb 24                	jmp    0x40c7af
40c78b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40c78e:	83 e0 04             	and    $0x4,%eax
40c791:	85 c0                	test   %eax,%eax
40c793:	74 08                	je     0x40c79d
40c795:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40c798:	e8 07 4d ff ff       	call   0x4014a4
40c79d:	8d 45 cc             	lea    -0x34(%ebp),%eax
40c7a0:	50                   	push   %eax
40c7a1:	e8 34 4d ff ff       	call   0x4014da
40c7a6:	8d 4d bc             	lea    -0x44(%ebp),%ecx
40c7a9:	e8 f6 4c ff ff       	call   0x4014a4
40c7ae:	c3                   	ret
40c7af:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40c7b2:	e8 35 4d ff ff       	call   0x4014ec
40c7b7:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c7ba:	50                   	push   %eax
40c7bb:	6a 00                	push   $0x0
40c7bd:	e8 0c 4d ff ff       	call   0x4014ce
40c7c2:	c3                   	ret
40c7c3:	8d 75 dc             	lea    -0x24(%ebp),%esi
40c7c6:	8b 7d 08             	mov    0x8(%ebp),%edi
40c7c9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c7ca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c7cb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c7cc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40c7cd:	8b 45 08             	mov    0x8(%ebp),%eax
40c7d0:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40c7d3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40c7da:	5f                   	pop    %edi
40c7db:	5e                   	pop    %esi
40c7dc:	5b                   	pop    %ebx
40c7dd:	c9                   	leave
40c7de:	c2 08 00             	ret    $0x8
40c7e1:	55                   	push   %ebp
40c7e2:	8b ec                	mov    %esp,%ebp
40c7e4:	83 ec 0c             	sub    $0xc,%esp
40c7e7:	68 36 13 40 00       	push   $0x401336
40c7ec:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40c7f2:	50                   	push   %eax
40c7f3:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40c7fa:	6a 68                	push   $0x68
40c7fc:	58                   	pop    %eax
40c7fd:	e8 2e 4b ff ff       	call   0x401330
40c802:	53                   	push   %ebx
40c803:	56                   	push   %esi
40c804:	57                   	push   %edi
40c805:	89 65 f4             	mov    %esp,-0xc(%ebp)
40c808:	c7 45 f8 68 12 40 00 	movl   $0x401268,-0x8(%ebp)
40c80f:	8b 55 0c             	mov    0xc(%ebp),%edx
40c812:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40c815:	e8 06 4c ff ff       	call   0x401420
40c81a:	50                   	push   %eax
40c81b:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c81e:	50                   	push   %eax
40c81f:	e8 e4 4b ff ff       	call   0x401408
40c824:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c827:	50                   	push   %eax
40c828:	8d 45 e0             	lea    -0x20(%ebp),%eax
40c82b:	50                   	push   %eax
40c82c:	e8 df 4c ff ff       	call   0x401510
40c831:	ff 75 e0             	push   -0x20(%ebp)
40c834:	6a 01                	push   $0x1
40c836:	e8 27 4c ff ff       	call   0x401462
40c83b:	40                   	inc    %eax
40c83c:	89 45 e8             	mov    %eax,-0x18(%ebp)
40c83f:	8b 45 10             	mov    0x10(%ebp),%eax
40c842:	89 45 98             	mov    %eax,-0x68(%ebp)
40c845:	8b 45 98             	mov    -0x68(%ebp),%eax
40c848:	89 45 84             	mov    %eax,-0x7c(%ebp)
40c84b:	83 7d 84 40          	cmpl   $0x40,-0x7c(%ebp)
40c84f:	74 02                	je     0x40c853
40c851:	eb 67                	jmp    0x40c8ba
40c853:	8b 45 e8             	mov    -0x18(%ebp),%eax
40c856:	48                   	dec    %eax
40c857:	89 45 90             	mov    %eax,-0x70(%ebp)
40c85a:	c7 45 94 01 00 00 00 	movl   $0x1,-0x6c(%ebp)
40c861:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40c865:	eb 09                	jmp    0x40c870
40c867:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c86a:	03 45 94             	add    -0x6c(%ebp),%eax
40c86d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40c870:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40c873:	3b 45 90             	cmp    -0x70(%ebp),%eax
40c876:	7f 42                	jg     0x40c8ba
40c878:	8b 45 e0             	mov    -0x20(%ebp),%eax
40c87b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40c87e:	2b 48 14             	sub    0x14(%eax),%ecx
40c881:	8b 45 e0             	mov    -0x20(%ebp),%eax
40c884:	8b 40 0c             	mov    0xc(%eax),%eax
40c887:	0f b6 04 08          	movzbl (%eax,%ecx,1),%eax
40c88b:	50                   	push   %eax
40c88c:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c88f:	50                   	push   %eax
40c890:	e8 d3 4b ff ff       	call   0x401468
40c895:	8d 45 d0             	lea    -0x30(%ebp),%eax
40c898:	50                   	push   %eax
40c899:	8d 45 c0             	lea    -0x40(%ebp),%eax
40c89c:	50                   	push   %eax
40c89d:	8d 45 b0             	lea    -0x50(%ebp),%eax
40c8a0:	50                   	push   %eax