40dae0:	e8 5d 89 ff ff       	call   0x406442
40dae5:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
40dae9:	ff 75 e0             	push   -0x20(%ebp)
40daec:	8d 45 cc             	lea    -0x34(%ebp),%eax
40daef:	50                   	push   %eax
40daf0:	e8 eb 39 ff ff       	call   0x4014e0
40daf5:	8d 45 c0             	lea    -0x40(%ebp),%eax
40daf8:	50                   	push   %eax
40daf9:	8b 45 cc             	mov    -0x34(%ebp),%eax
40dafc:	33 c9                	xor    %ecx,%ecx
40dafe:	2b 48 14             	sub    0x14(%eax),%ecx
40db01:	8b 45 cc             	mov    -0x34(%ebp),%eax
40db04:	8b 40 0c             	mov    0xc(%eax),%eax
40db07:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40db0a:	50                   	push   %eax
40db0b:	6a 20                	push   $0x20
40db0d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40db10:	8b 00                	mov    (%eax),%eax
40db12:	ff 75 d4             	push   -0x2c(%ebp)
40db15:	ff 50 2c             	call   *0x2c(%eax)
40db18:	db e2                	fnclex
40db1a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40db1d:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
40db21:	7d 17                	jge    0x40db3a
40db23:	6a 2c                	push   $0x2c
40db25:	68 d0 38 40 00       	push   $0x4038d0
40db2a:	ff 75 d4             	push   -0x2c(%ebp)
40db2d:	ff 75 b4             	push   -0x4c(%ebp)
40db30:	e8 9f 39 ff ff       	call   0x4014d4
40db35:	89 45 94             	mov    %eax,-0x6c(%ebp)
40db38:	eb 04                	jmp    0x40db3e
40db3a:	83 65 94 00          	andl   $0x0,-0x6c(%ebp)
40db3e:	8d 45 cc             	lea    -0x34(%ebp),%eax
40db41:	50                   	push   %eax
40db42:	e8 93 39 ff ff       	call   0x4014da
40db47:	8d 45 ec             	lea    -0x14(%ebp),%eax
40db4a:	50                   	push   %eax
40db4b:	e8 66 39 ff ff       	call   0x4014b6
40db50:	89 45 c0             	mov    %eax,-0x40(%ebp)
40db53:	8b 45 e0             	mov    -0x20(%ebp),%eax
40db56:	f7 d0                	not    %eax
40db58:	f7 d0                	not    %eax
40db5a:	83 c0 0c             	add    $0xc,%eax
40db5d:	50                   	push   %eax
40db5e:	ff 75 c0             	push   -0x40(%ebp)
40db61:	e8 dc 88 ff ff       	call   0x406442
40db66:	8b 45 e0             	mov    -0x20(%ebp),%eax
40db69:	f7 d0                	not    %eax
40db6b:	f7 d0                	not    %eax
40db6d:	50                   	push   %eax
40db6e:	e8 de 88 ff ff       	call   0x406451
40db73:	48                   	dec    %eax
40db74:	89 45 a4             	mov    %eax,-0x5c(%ebp)
40db77:	c7 45 a8 01 00 00 00 	movl   $0x1,-0x58(%ebp)
40db7e:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40db82:	eb 09                	jmp    0x40db8d
40db84:	8b 45 e8             	mov    -0x18(%ebp),%eax
40db87:	03 45 a8             	add    -0x58(%ebp),%eax
40db8a:	89 45 e8             	mov    %eax,-0x18(%ebp)
40db8d:	8b 45 e8             	mov    -0x18(%ebp),%eax
40db90:	3b 45 a4             	cmp    -0x5c(%ebp),%eax
40db93:	7f 45                	jg     0x40dbda
40db95:	ff 75 e0             	push   -0x20(%ebp)
40db98:	8d 45 cc             	lea    -0x34(%ebp),%eax
40db9b:	50                   	push   %eax
40db9c:	e8 3f 39 ff ff       	call   0x4014e0
40dba1:	8b 45 cc             	mov    -0x34(%ebp),%eax
40dba4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40dba7:	2b 48 14             	sub    0x14(%eax),%ecx
40dbaa:	8b 45 cc             	mov    -0x34(%ebp),%eax
40dbad:	8b 40 0c             	mov    0xc(%eax),%eax
40dbb0:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40dbb3:	50                   	push   %eax
40dbb4:	e8 fd 38 ff ff       	call   0x4014b6
40dbb9:	89 45 c0             	mov    %eax,-0x40(%ebp)
40dbbc:	8d 45 cc             	lea    -0x34(%ebp),%eax
40dbbf:	50                   	push   %eax
40dbc0:	e8 15 39 ff ff       	call   0x4014da
40dbc5:	ff 75 c0             	push   -0x40(%ebp)
40dbc8:	8b 45 e8             	mov    -0x18(%ebp),%eax
40dbcb:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40dbce:	8d 44 81 04          	lea    0x4(%ecx,%eax,4),%eax
40dbd2:	50                   	push   %eax
40dbd3:	e8 6a 88 ff ff       	call   0x406442
40dbd8:	eb aa                	jmp    0x40db84
40dbda:	c7 45 c0 8b 44 24 04 	movl   $0x424448b,-0x40(%ebp)
40dbe1:	8d 45 c0             	lea    -0x40(%ebp),%eax
40dbe4:	50                   	push   %eax
40dbe5:	e8 cc 38 ff ff       	call   0x4014b6
40dbea:	89 45 bc             	mov    %eax,-0x44(%ebp)
40dbed:	8b 45 d8             	mov    -0x28(%ebp),%eax
40dbf0:	83 c0 04             	add    $0x4,%eax
40dbf3:	50                   	push   %eax
40dbf4:	ff 75 bc             	push   -0x44(%ebp)
40dbf7:	e8 46 88 ff ff       	call   0x406442
40dbfc:	c7 45 c0 8b 00 8b 40 	movl   $0x408b008b,-0x40(%ebp)
40dc03:	8d 45 c0             	lea    -0x40(%ebp),%eax
40dc06:	50                   	push   %eax
40dc07:	e8 aa 38 ff ff       	call   0x4014b6
40dc0c:	89 45 bc             	mov    %eax,-0x44(%ebp)
40dc0f:	8b 45 d8             	mov    -0x28(%ebp),%eax
40dc12:	83 c0 08             	add    $0x8,%eax
40dc15:	50                   	push   %eax
40dc16:	ff 75 bc             	push   -0x44(%ebp)
40dc19:	e8 24 88 ff ff       	call   0x406442
40dc1e:	c7 45 c0 2c 83 c4 20 	movl   $0x20c4832c,-0x40(%ebp)
40dc25:	8d 45 c0             	lea    -0x40(%ebp),%eax
40dc28:	50                   	push   %eax
40dc29:	e8 88 38 ff ff       	call   0x4014b6
40dc2e:	89 45 bc             	mov    %eax,-0x44(%ebp)
40dc31:	8b 45 d8             	mov    -0x28(%ebp),%eax
40dc34:	83 c0 0c             	add    $0xc,%eax
40dc37:	50                   	push   %eax
40dc38:	ff 75 bc             	push   -0x44(%ebp)
40dc3b:	e8 02 88 ff ff       	call   0x406442
40dc40:	c7 45 c0 ff 74 24 e0 	movl   $0xe02474ff,-0x40(%ebp)
40dc47:	8d 45 c0             	lea    -0x40(%ebp),%eax
40dc4a:	50                   	push   %eax
40dc4b:	e8 66 38 ff ff       	call   0x4014b6
40dc50:	89 45 bc             	mov    %eax,-0x44(%ebp)
40dc53:	8b 45 d8             	mov    -0x28(%ebp),%eax
40dc56:	83 c0 10             	add    $0x10,%eax
40dc59:	50                   	push   %eax
40dc5a:	ff 75 bc             	push   -0x44(%ebp)
40dc5d:	e8 e0 87 ff ff       	call   0x406442
40dc62:	c7 45 c0 ff e0 00 00 	movl   $0xe0ff,-0x40(%ebp)
40dc69:	8d 45 c0             	lea    -0x40(%ebp),%eax
40dc6c:	50                   	push   %eax
40dc6d:	e8 44 38 ff ff       	call   0x4014b6
40dc72:	89 45 bc             	mov    %eax,-0x44(%ebp)
40dc75:	8b 45 d8             	mov    -0x28(%ebp),%eax
40dc78:	83 c0 14             	add    $0x14,%eax
40dc7b:	50                   	push   %eax
40dc7c:	ff 75 bc             	push   -0x44(%ebp)
40dc7f:	e8 be 87 ff ff       	call   0x406442
40dc84:	8b 45 d8             	mov    -0x28(%ebp),%eax
40dc87:	83 c0 04             	add    $0x4,%eax
40dc8a:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40dc8d:	6a 08                	push   $0x8
40dc8f:	5a                   	pop    %edx
40dc90:	2b 51 14             	sub    0x14(%ecx),%edx
40dc93:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
40dc96:	8b 49 0c             	mov    0xc(%ecx),%ecx
40dc99:	89 04 91             	mov    %eax,(%ecx,%edx,4)
40dc9c:	66 83 65 c4 00       	andw   $0x0,-0x3c(%ebp)
40dca1:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40dca4:	50                   	push   %eax
40dca5:	ff 75 10             	push   0x10(%ebp)
40dca8:	ff 75 0c             	push   0xc(%ebp)
40dcab:	ff 75 08             	push   0x8(%ebp)
40dcae:	6a 00                	push   $0x0
40dcb0:	6a 00                	push   $0x0
40dcb2:	6a 00                	push   $0x0
40dcb4:	6a 00                	push   $0x0
40dcb6:	6a 00                	push   $0x0
40dcb8:	6a 00                	push   $0x0
40dcba:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40dcbd:	8b 00                	mov    (%eax),%eax
40dcbf:	ff 75 d4             	push   -0x2c(%ebp)
40dcc2:	ff 50 20             	call   *0x20(%eax)
40dcc5:	db e2                	fnclex
40dcc7:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40dcca:	83 7d b4 00          	cmpl   $0x0,-0x4c(%ebp)
40dcce:	7d 17                	jge    0x40dce7
40dcd0:	6a 20                	push   $0x20
40dcd2:	68 d0 38 40 00       	push   $0x4038d0
40dcd7:	ff 75 d4             	push   -0x2c(%ebp)
40dcda:	ff 75 b4             	push   -0x4c(%ebp)
40dcdd:	e8 f2 37 ff ff       	call   0x4014d4
40dce2:	89 45 90             	mov    %eax,-0x70(%ebp)
40dce5:	eb 04                	jmp    0x40dceb
40dce7:	83 65 90 00          	andl   $0x0,-0x70(%ebp)
40dceb:	8b 45 e0             	mov    -0x20(%ebp),%eax
40dcee:	f7 d0                	not    %eax
40dcf0:	f7 d0                	not    %eax
40dcf2:	50                   	push   %eax
40dcf3:	e8 59 87 ff ff       	call   0x406451
40dcf8:	48                   	dec    %eax
40dcf9:	89 45 9c             	mov    %eax,-0x64(%ebp)
40dcfc:	c7 45 a0 01 00 00 00 	movl   $0x1,-0x60(%ebp)
40dd03:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
40dd07:	eb 09                	jmp    0x40dd12
40dd09:	8b 45 e8             	mov    -0x18(%ebp),%eax
40dd0c:	03 45 a0             	add    -0x60(%ebp),%eax
40dd0f:	89 45 e8             	mov    %eax,-0x18(%ebp)
40dd12:	8b 45 e8             	mov    -0x18(%ebp),%eax
40dd15:	3b 45 9c             	cmp    -0x64(%ebp),%eax
40dd18:	7f 45                	jg     0x40dd5f
40dd1a:	ff 75 e0             	push   -0x20(%ebp)
40dd1d:	8d 45 cc             	lea    -0x34(%ebp),%eax
40dd20:	50                   	push   %eax
40dd21:	e8 ba 37 ff ff       	call   0x4014e0
40dd26:	8b 45 cc             	mov    -0x34(%ebp),%eax
40dd29:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40dd2c:	2b 48 14             	sub    0x14(%eax),%ecx
40dd2f:	8b 45 cc             	mov    -0x34(%ebp),%eax
40dd32:	8b 40 0c             	mov    0xc(%eax),%eax
40dd35:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40dd38:	50                   	push   %eax
40dd39:	e8 78 37 ff ff       	call   0x4014b6
40dd3e:	89 45 c0             	mov    %eax,-0x40(%ebp)
40dd41:	8d 45 cc             	lea    -0x34(%ebp),%eax
40dd44:	50                   	push   %eax
40dd45:	e8 90 37 ff ff       	call   0x4014da
40dd4a:	8b 45 e8             	mov    -0x18(%ebp),%eax
40dd4d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40dd50:	8d 44 81 04          	lea    0x4(%ecx,%eax,4),%eax
40dd54:	50                   	push   %eax
40dd55:	ff 75 c0             	push   -0x40(%ebp)
40dd58:	e8 e5 86 ff ff       	call   0x406442
40dd5d:	eb aa                	jmp    0x40dd09
40dd5f:	8d 45 dc             	lea    -0x24(%ebp),%eax
40dd62:	50                   	push   %eax
40dd63:	e8 4e 37 ff ff       	call   0x4014b6
40dd68:	89 45 c0             	mov    %eax,-0x40(%ebp)
40dd6b:	ff 75 d8             	push   -0x28(%ebp)
40dd6e:	ff 75 c0             	push   -0x40(%ebp)
40dd71:	e8 cc 86 ff ff       	call   0x406442
40dd76:	68 ae dd 40 00       	push   $0x40ddae
40dd7b:	eb 12                	jmp    0x40dd8f
40dd7d:	8d 45 cc             	lea    -0x34(%ebp),%eax
40dd80:	50                   	push   %eax
40dd81:	e8 54 37 ff ff       	call   0x4014da
40dd86:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40dd89:	e8 5e 37 ff ff       	call   0x4014ec
40dd8e:	c3                   	ret
40dd8f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40dd92:	50                   	push   %eax
40dd93:	6a 00                	push   $0x0
40dd95:	e8 34 37 ff ff       	call   0x4014ce
40dd9a:	8d 45 e0             	lea    -0x20(%ebp),%eax
40dd9d:	50                   	push   %eax
40dd9e:	6a 00                	push   $0x0
40dda0:	e8 29 37 ff ff       	call   0x4014ce
40dda5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
40dda8:	e8 3f 37 ff ff       	call   0x4014ec
40ddad:	c3                   	ret
40ddae:	8b 45 d0             	mov    -0x30(%ebp),%eax
40ddb1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40ddb4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40ddbb:	5f                   	pop    %edi
40ddbc:	5e                   	pop    %esi
40ddbd:	5b                   	pop    %ebx
40ddbe:	c9                   	leave
40ddbf:	c2 0c 00             	ret    $0xc
40ddc2:	55                   	push   %ebp
40ddc3:	8b ec                	mov    %esp,%ebp
40ddc5:	51                   	push   %ecx
40ddc6:	51                   	push   %ecx
40ddc7:	68 36 13 40 00       	push   $0x401336
40ddcc:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ddd2:	50                   	push   %eax
40ddd3:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
40ddda:	b8 88 00 00 00       	mov    $0x88,%eax
40dddf:	e8 4c 35 ff ff       	call   0x401330
40dde4:	53                   	push   %ebx
40dde5:	56                   	push   %esi
40dde6:	57                   	push   %edi
40dde7:	89 65 f8             	mov    %esp,-0x8(%ebp)
40ddea:	c7 45 fc e8 12 40 00 	movl   $0x4012e8,-0x4(%ebp)
40ddf1:	6a 0c                	push   $0xc
40ddf3:	68 60 4b 40 00       	push   $0x404b60
40ddf8:	8d 45 cc             	lea    -0x34(%ebp),%eax
40ddfb:	50                   	push   %eax
40ddfc:	e8 79 36 ff ff       	call   0x40147a
40de01:	68 10 4a 40 00       	push   $0x404a10
40de06:	8d 45 9c             	lea    -0x64(%ebp),%eax
40de09:	50                   	push   %eax
40de0a:	e8 9c f8 ff ff       	call   0x40d6ab
40de0f:	8d 55 9c             	lea    -0x64(%ebp),%edx
40de12:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40de15:	e8 72 36 ff ff       	call   0x40148c
40de1a:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40de1d:	e8 82 36 ff ff       	call   0x4014a4
40de22:	68 3c 4a 40 00       	push   $0x404a3c
40de27:	8d 45 9c             	lea    -0x64(%ebp),%eax
40de2a:	50                   	push   %eax
40de2b:	e8 7b f8 ff ff       	call   0x40d6ab
40de30:	8d 55 9c             	lea    -0x64(%ebp),%edx
40de33:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40de36:	83 c1 10             	add    $0x10,%ecx
40de39:	e8 4e 36 ff ff       	call   0x40148c
40de3e:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40de41:	e8 5e 36 ff ff       	call   0x4014a4
40de46:	68 64 4a 40 00       	push   $0x404a64
40de4b:	8d 45 9c             	lea    -0x64(%ebp),%eax
40de4e:	50                   	push   %eax
40de4f:	e8 57 f8 ff ff       	call   0x40d6ab
40de54:	8d 55 9c             	lea    -0x64(%ebp),%edx
40de57:	6a 10                	push   $0x10
40de59:	58                   	pop    %eax
40de5a:	d1 e0                	shl    $1,%eax
40de5c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40de5f:	03 c8                	add    %eax,%ecx
40de61:	e8 26 36 ff ff       	call   0x40148c
40de66:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40de69:	e8 36 36 ff ff       	call   0x4014a4
40de6e:	68 84 4a 40 00       	push   $0x404a84
40de73:	8d 45 9c             	lea    -0x64(%ebp),%eax
40de76:	50                   	push   %eax
40de77:	e8 2f f8 ff ff       	call   0x40d6ab
40de7c:	8d 55 9c             	lea    -0x64(%ebp),%edx
40de7f:	6a 10                	push   $0x10
40de81:	58                   	pop    %eax
40de82:	6b c0 03             	imul   $0x3,%eax,%eax
40de85:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40de88:	03 c8                	add    %eax,%ecx
40de8a:	e8 fd 35 ff ff       	call   0x40148c
40de8f:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40de92:	e8 0d 36 ff ff       	call   0x4014a4
40de97:	68 b4 4a 40 00       	push   $0x404ab4
40de9c:	8d 45 9c             	lea    -0x64(%ebp),%eax
40de9f:	50                   	push   %eax
40dea0:	e8 06 f8 ff ff       	call   0x40d6ab
40dea5:	8d 45 9c             	lea    -0x64(%ebp),%eax
40dea8:	50                   	push   %eax
40dea9:	8d 45 b0             	lea    -0x50(%ebp),%eax
40deac:	50                   	push   %eax
40dead:	e8 8c 35 ff ff       	call   0x40143e
40deb2:	50                   	push   %eax
40deb3:	e8 fe 35 ff ff       	call   0x4014b6
40deb8:	89 45 84             	mov    %eax,-0x7c(%ebp)
40debb:	8d 45 e8             	lea    -0x18(%ebp),%eax
40debe:	50                   	push   %eax
40debf:	68 19 00 02 00       	push   $0x20019
40dec4:	6a 00                	push   $0x0
40dec6:	ff 75 84             	push   -0x7c(%ebp)
40dec9:	68 02 00 00 80       	push   $0x80000002
40dece:	e8 f9 64 ff ff       	call   0x4043cc
40ded3:	89 45 88             	mov    %eax,-0x78(%ebp)
40ded6:	e8 57 35 ff ff       	call   0x401432
40dedb:	33 c0                	xor    %eax,%eax
40dedd:	83 7d 88 00          	cmpl   $0x0,-0x78(%ebp)
40dee1:	0f 94 c0             	sete   %al
40dee4:	f7 d8                	neg    %eax
40dee6:	66 89 85 74 ff ff ff 	mov    %ax,-0x8c(%ebp)
40deed:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40def0:	e8 c7 35 ff ff       	call   0x4014bc
40def5:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
40def8:	e8 a7 35 ff ff       	call   0x4014a4
40defd:	0f bf 85 74 ff ff ff 	movswl -0x8c(%ebp),%eax
40df04:	85 c0                	test   %eax,%eax
40df06:	0f 84 85 01 00 00    	je     0x40e091
40df0c:	6a 20                	push   $0x20
40df0e:	8d 45 9c             	lea    -0x64(%ebp),%eax
40df11:	50                   	push   %eax
40df12:	e8 51 35 ff ff       	call   0x401468
40df17:	8d 45 9c             	lea    -0x64(%ebp),%eax
40df1a:	50                   	push   %eax
40df1b:	68 ff 00 00 00       	push   $0xff