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
40d8df:	5e                   	pop    %esi
40d8e0:	5b                   	pop    %ebx
40d8e1:	c9                   	leave
40d8e2:	c3                   	ret
40d8e3:	55                   	push   %ebp
40d8e4:	8b ec                	mov    %esp,%ebp
40d8e6:	51                   	push   %ecx
40d8e7:	51                   	push   %ecx
40d8e8:	68 36 13 40 00       	push   $0x401336
40d8ed:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40d8f3:	50                   	push   %eax
40d8f4:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40d8fb:	6a 60                	push   $0x60
40d8fd:	58                   	pop    %eax
40d8fe:	e8 2d 3a ff ff       	call   0x401330
40d903:	53                   	push   %ebx
40d904:	56                   	push   %esi
40d905:	57                   	push   %edi
40d906:	89 65 f8             	mov    %esp,-0x8(%ebp)
40d909:	c7 45 fc d8 12 40 00 	movl   $0x4012d8,-0x4(%ebp)
40d910:	6a 00                	push   $0x0
40d912:	6a 0f                	push   $0xf
40d914:	6a 01                	push   $0x1
40d916:	6a 03                	push   $0x3
40d918:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40d91b:	50                   	push   %eax
40d91c:	6a 04                	push   $0x4
40d91e:	68 80 00 00 00       	push   $0x80
40d923:	e8 dc 3b ff ff       	call   0x401504
40d928:	83 c4 1c             	add    $0x1c,%esp
40d92b:	68 d0 38 40 00       	push   $0x4038d0
40d930:	68 c0 38 40 00       	push   $0x4038c0
40d935:	e8 b8 3b ff ff       	call   0x4014f2
40d93a:	50                   	push   %eax
40d93b:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d93e:	50                   	push   %eax
40d93f:	e8 ba 3b ff ff       	call   0x4014fe
40d944:	50                   	push   %eax
40d945:	e8 ae 3b ff ff       	call   0x4014f8
40d94a:	50                   	push   %eax
40d94b:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40d94e:	50                   	push   %eax
40d94f:	e8 aa 3b ff ff       	call   0x4014fe
40d954:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d957:	e8 90 3b ff ff       	call   0x4014ec
40d95c:	ff 75 d4             	push   -0x2c(%ebp)
40d95f:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d962:	50                   	push   %eax
40d963:	e8 7e 3b ff ff       	call   0x4014e6
40d968:	50                   	push   %eax
40d969:	e8 48 3b ff ff       	call   0x4014b6
40d96e:	89 45 d8             	mov    %eax,-0x28(%ebp)
40d971:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d974:	e8 73 3b ff ff       	call   0x4014ec
40d979:	ff 75 d8             	push   -0x28(%ebp)
40d97c:	ff 75 d8             	push   -0x28(%ebp)
40d97f:	e8 be 8a ff ff       	call   0x406442
40d984:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40d987:	f7 d0                	not    %eax
40d989:	f7 d0                	not    %eax
40d98b:	50                   	push   %eax
40d98c:	e8 c0 8a ff ff       	call   0x406451
40d991:	48                   	dec    %eax
40d992:	89 45 ac             	mov    %eax,-0x54(%ebp)
40d995:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
40d99c:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40d9a0:	eb 09                	jmp    0x40d9ab
40d9a2:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d9a5:	03 45 b0             	add    -0x50(%ebp),%eax
40d9a8:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d9ab:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d9ae:	3b 45 ac             	cmp    -0x54(%ebp),%eax
40d9b1:	7f 44                	jg     0x40d9f7
40d9b3:	ff 75 e4             	push   -0x1c(%ebp)
40d9b6:	8d 45 cc             	lea    -0x34(%ebp),%eax
40d9b9:	50                   	push   %eax
40d9ba:	e8 21 3b ff ff       	call   0x4014e0
40d9bf:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d9c2:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40d9c5:	2b 48 14             	sub    0x14(%eax),%ecx
40d9c8:	8b 45 cc             	mov    -0x34(%ebp),%eax
40d9cb:	8b 40 0c             	mov    0xc(%eax),%eax
40d9ce:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40d9d1:	50                   	push   %eax
40d9d2:	e8 df 3a ff ff       	call   0x4014b6
40d9d7:	89 45 c0             	mov    %eax,-0x40(%ebp)
40d9da:	8d 45 cc             	lea    -0x34(%ebp),%eax
40d9dd:	50                   	push   %eax
40d9de:	e8 f7 3a ff ff       	call   0x4014da
40d9e3:	ff 75 c0             	push   -0x40(%ebp)
40d9e6:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d9e9:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40d9ec:	8d 04 81             	lea    (%ecx,%eax,4),%eax
40d9ef:	50                   	push   %eax
40d9f0:	e8 4d 8a ff ff       	call   0x406442
40d9f5:	eb ab                	jmp    0x40d9a2
40d9f7:	ff 75 d4             	push   -0x2c(%ebp)
40d9fa:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d9fd:	50                   	push   %eax
40d9fe:	e8 e3 3a ff ff       	call   0x4014e6
40da03:	50                   	push   %eax
40da04:	e8 ad 3a ff ff       	call   0x4014b6
40da09:	89 45 d8             	mov    %eax,-0x28(%ebp)
40da0c:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40da0f:	e8 d8 3a ff ff       	call   0x4014ec
40da14:	8d 45 dc             	lea    -0x24(%ebp),%eax
40da17:	50                   	push   %eax
40da18:	e8 99 3a ff ff       	call   0x4014b6
40da1d:	50                   	push   %eax
40da1e:	ff 75 d8             	push   -0x28(%ebp)
40da21:	e8 1c 8a ff ff       	call   0x406442
40da26:	ff 75 e4             	push   -0x1c(%ebp)
40da29:	8d 45 cc             	lea    -0x34(%ebp),%eax
40da2c:	50                   	push   %eax
40da2d:	e8 ae 3a ff ff       	call   0x4014e0
40da32:	8b 45 cc             	mov    -0x34(%ebp),%eax
40da35:	33 c9                	xor    %ecx,%ecx
40da37:	2b 48 14             	sub    0x14(%eax),%ecx
40da3a:	8b 45 cc             	mov    -0x34(%ebp),%eax
40da3d:	8b 40 0c             	mov    0xc(%eax),%eax
40da40:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40da43:	50                   	push   %eax
40da44:	e8 6d 3a ff ff       	call   0x4014b6
40da49:	89 45 c0             	mov    %eax,-0x40(%ebp)
40da4c:	8d 45 cc             	lea    -0x34(%ebp),%eax
40da4f:	50                   	push   %eax
40da50:	e8 85 3a ff ff       	call   0x4014da
40da55:	8b 45 c0             	mov    -0x40(%ebp),%eax
40da58:	89 45 bc             	mov    %eax,-0x44(%ebp)
40da5b:	8d 45 bc             	lea    -0x44(%ebp),%eax
40da5e:	50                   	push   %eax
40da5f:	e8 52 3a ff ff       	call   0x4014b6
40da64:	89 45 b8             	mov    %eax,-0x48(%ebp)
40da67:	ff 75 d8             	push   -0x28(%ebp)
40da6a:	ff 75 b8             	push   -0x48(%ebp)
40da6d:	e8 d0 89 ff ff       	call   0x406442
40da72:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40da75:	6a 0b                	push   $0xb
40da77:	59                   	pop    %ecx
40da78:	2b 48 14             	sub    0x14(%eax),%ecx
40da7b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40da7e:	8b 40 0c             	mov    0xc(%eax),%eax
40da81:	8b 15 04 11 46 00    	mov    0x461104,%edx
40da87:	89 14 88             	mov    %edx,(%eax,%ecx,4)
40da8a:	6a 00                	push   $0x0
40da8c:	6a 10                	push   $0x10
40da8e:	6a 01                	push   $0x1
40da90:	6a 03                	push   $0x3
40da92:	8d 45 e0             	lea    -0x20(%ebp),%eax
40da95:	50                   	push   %eax
40da96:	6a 04                	push   $0x4
40da98:	68 80 00 00 00       	push   $0x80
40da9d:	e8 62 3a ff ff       	call   0x401504
40daa2:	83 c4 1c             	add    $0x1c,%esp
40daa5:	8d 45 ec             	lea    -0x14(%ebp),%eax
40daa8:	50                   	push   %eax
40daa9:	e8 08 3a ff ff       	call   0x4014b6
40daae:	50                   	push   %eax
40daaf:	8b 45 e0             	mov    -0x20(%ebp),%eax
40dab2:	f7 d0                	not    %eax
40dab4:	f7 d0                	not    %eax
40dab6:	83 c0 0c             	add    $0xc,%eax
40dab9:	50                   	push   %eax
40daba:	e8 83 89 ff ff       	call   0x406442
40dabf:	c7 45 c0 40 00 00 00 	movl   $0x40,-0x40(%ebp)
40dac6:	8d 45 c0             	lea    -0x40(%ebp),%eax
40dac9:	50                   	push   %eax
40daca:	e8 e7 39 ff ff       	call   0x4014b6
40dacf:	89 45 bc             	mov    %eax,-0x44(%ebp)
40dad2:	8b 45 e0             	mov    -0x20(%ebp),%eax
40dad5:	f7 d0                	not    %eax
40dad7:	f7 d0                	not    %eax
40dad9:	83 c0 0c             	add    $0xc,%eax
40dadc:	50                   	push   %eax
40dadd:	ff 75 bc             	push   -0x44(%ebp)