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)
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