40d9f3:	c3                   	ret
40d9f4:	6a 0c                	push   $0xc
40d9f6:	68 b8 ac 41 00       	push   $0x41acb8
40d9fb:	e8 48 fc ff ff       	call   0x40d648
40da00:	6a 08                	push   $0x8
40da02:	e8 10 f1 ff ff       	call   0x40cb17
40da07:	59                   	pop    %ecx
40da08:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40da0c:	33 f6                	xor    %esi,%esi
40da0e:	46                   	inc    %esi
40da0f:	39 35 f8 de 41 00    	cmp    %esi,0x41def8
40da15:	74 6b                	je     0x40da82
40da17:	89 35 f4 de 41 00    	mov    %esi,0x41def4
40da1d:	8a 45 10             	mov    0x10(%ebp),%al
40da20:	a2 f0 de 41 00       	mov    %al,0x41def0
40da25:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
40da29:	75 47                	jne    0x40da72
40da2b:	ff 35 c8 e5 41 00    	push   0x41e5c8
40da31:	e8 0c e9 ff ff       	call   0x40c342
40da36:	8b f8                	mov    %eax,%edi
40da38:	ff 35 c4 e5 41 00    	push   0x41e5c4
40da3e:	e8 ff e8 ff ff       	call   0x40c342
40da43:	59                   	pop    %ecx
40da44:	59                   	pop    %ecx
40da45:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40da48:	85 ff                	test   %edi,%edi
40da4a:	74 16                	je     0x40da62
40da4c:	83 6d e4 04          	subl   $0x4,-0x1c(%ebp)
40da50:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
40da53:	72 0d                	jb     0x40da62
40da55:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40da58:	8b 00                	mov    (%eax),%eax
40da5a:	85 c0                	test   %eax,%eax
40da5c:	74 ee                	je     0x40da4c
40da5e:	ff d0                	call   *%eax
40da60:	eb ea                	jmp    0x40da4c
40da62:	68 0c 72 41 00       	push   $0x41720c
40da67:	b8 00 72 41 00       	mov    $0x417200,%eax
40da6c:	e8 46 fe ff ff       	call   0x40d8b7
40da71:	59                   	pop    %ecx
40da72:	68 18 72 41 00       	push   $0x417218
40da77:	b8 10 72 41 00       	mov    $0x417210,%eax
40da7c:	e8 36 fe ff ff       	call   0x40d8b7
40da81:	59                   	pop    %ecx
40da82:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40da89:	e8 1f 00 00 00       	call   0x40daad
40da8e:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40da92:	75 28                	jne    0x40dabc
40da94:	89 35 f8 de 41 00    	mov    %esi,0x41def8
40da9a:	6a 08                	push   $0x8
40da9c:	e8 9e ef ff ff       	call   0x40ca3f
40daa1:	59                   	pop    %ecx
40daa2:	ff 75 08             	push   0x8(%ebp)
40daa5:	e8 e6 fd ff ff       	call   0x40d890
40daaa:	33 f6                	xor    %esi,%esi
40daac:	46                   	inc    %esi
40daad:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40dab1:	74 08                	je     0x40dabb
40dab3:	6a 08                	push   $0x8
40dab5:	e8 85 ef ff ff       	call   0x40ca3f
40daba:	59                   	pop    %ecx
40dabb:	c3                   	ret
40dabc:	e8 cc fb ff ff       	call   0x40d68d
40dac1:	c3                   	ret
40dac2:	6a 00                	push   $0x0
40dac4:	6a 00                	push   $0x0
40dac6:	ff 74 24 0c          	push   0xc(%esp)
40daca:	e8 25 ff ff ff       	call   0x40d9f4
40dacf:	83 c4 0c             	add    $0xc,%esp
40dad2:	c3                   	ret
40dad3:	6a 00                	push   $0x0
40dad5:	6a 01                	push   $0x1
40dad7:	ff 74 24 0c          	push   0xc(%esp)
40dadb:	e8 14 ff ff ff       	call   0x40d9f4
40dae0:	83 c4 0c             	add    $0xc,%esp
40dae3:	c3                   	ret
40dae4:	6a 01                	push   $0x1
40dae6:	6a 00                	push   $0x0
40dae8:	6a 00                	push   $0x0
40daea:	e8 05 ff ff ff       	call   0x40d9f4
40daef:	83 c4 0c             	add    $0xc,%esp
40daf2:	c3                   	ret
40daf3:	6a 01                	push   $0x1
40daf5:	6a 01                	push   $0x1
40daf7:	6a 00                	push   $0x0
40daf9:	e8 f6 fe ff ff       	call   0x40d9f4
40dafe:	83 c4 0c             	add    $0xc,%esp
40db01:	c3                   	ret
40db02:	56                   	push   %esi
40db03:	e8 31 e8 ff ff       	call   0x40c339
40db08:	8b f0                	mov    %eax,%esi
40db0a:	56                   	push   %esi
40db0b:	e8 e9 e6 ff ff       	call   0x40c1f9
40db10:	56                   	push   %esi
40db11:	e8 45 65 00 00       	call   0x41405b
40db16:	56                   	push   %esi
40db17:	e8 2e 9a ff ff       	call   0x40754a
40db1c:	56                   	push   %esi
40db1d:	e8 62 2f 00 00       	call   0x410a84
40db22:	56                   	push   %esi
40db23:	e8 46 68 00 00       	call   0x41436e
40db28:	56                   	push   %esi
40db29:	e8 62 5e 00 00       	call   0x413990
40db2e:	56                   	push   %esi
40db2f:	e8 f3 01 00 00       	call   0x40dd27
40db34:	56                   	push   %esi
40db35:	e8 52 ed ff ff       	call   0x40c88c
40db3a:	68 d3 da 40 00       	push   $0x40dad3
40db3f:	e8 92 e7 ff ff       	call   0x40c2d6
40db44:	83 c4 24             	add    $0x24,%esp
40db47:	a3 a8 ca 41 00       	mov    %eax,0x41caa8
40db4c:	5e                   	pop    %esi
40db4d:	c3                   	ret
40db4e:	51                   	push   %ecx
40db4f:	53                   	push   %ebx
40db50:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
40db54:	56                   	push   %esi
40db55:	57                   	push   %edi
40db56:	33 f6                	xor    %esi,%esi
40db58:	33 ff                	xor    %edi,%edi
40db5a:	3b 1c fd b0 ca 41 00 	cmp    0x41cab0(,%edi,8),%ebx
40db61:	74 06                	je     0x40db69
40db63:	47                   	inc    %edi
40db64:	83 ff 17             	cmp    $0x17,%edi
40db67:	7c f1                	jl     0x40db5a
40db69:	83 ff 17             	cmp    $0x17,%edi
40db6c:	0f 83 77 01 00 00    	jae    0x40dce9
40db72:	55                   	push   %ebp
40db73:	6a 03                	push   $0x3
40db75:	e8 9c 69 00 00       	call   0x414516
40db7a:	83 f8 01             	cmp    $0x1,%eax
40db7d:	59                   	pop    %ecx
40db7e:	0f 84 31 01 00 00    	je     0x40dcb5
40db84:	6a 03                	push   $0x3
40db86:	e8 8b 69 00 00       	call   0x414516
40db8b:	85 c0                	test   %eax,%eax
40db8d:	59                   	pop    %ecx
40db8e:	75 0d                	jne    0x40db9d
40db90:	83 3d 30 c5 41 00 01 	cmpl   $0x1,0x41c530
40db97:	0f 84 18 01 00 00    	je     0x40dcb5
40db9d:	81 fb fc 00 00 00    	cmp    $0xfc,%ebx
40dba3:	0f 84 3f 01 00 00    	je     0x40dce8
40dba9:	68 48 86 41 00       	push   $0x418648
40dbae:	bb 14 03 00 00       	mov    $0x314,%ebx
40dbb3:	53                   	push   %ebx
40dbb4:	bd 00 df 41 00       	mov    $0x41df00,%ebp
40dbb9:	55                   	push   %ebp
40dbba:	e8 dc d0 ff ff       	call   0x40ac9b
40dbbf:	83 c4 0c             	add    $0xc,%esp
40dbc2:	85 c0                	test   %eax,%eax
40dbc4:	74 0d                	je     0x40dbd3
40dbc6:	56                   	push   %esi
40dbc7:	56                   	push   %esi
40dbc8:	56                   	push   %esi
40dbc9:	56                   	push   %esi
40dbca:	56                   	push   %esi
40dbcb:	e8 84 99 ff ff       	call   0x407554
40dbd0:	83 c4 14             	add    $0x14,%esp
40dbd3:	68 04 01 00 00       	push   $0x104
40dbd8:	be 19 df 41 00       	mov    $0x41df19,%esi
40dbdd:	56                   	push   %esi
40dbde:	6a 00                	push   $0x0
40dbe0:	c6 05 1d e0 41 00 00 	movb   $0x0,0x41e01d
40dbe7:	ff 15 24 71 41 00    	call   *0x417124
40dbed:	85 c0                	test   %eax,%eax
40dbef:	75 26                	jne    0x40dc17
40dbf1:	68 30 86 41 00       	push   $0x418630
40dbf6:	68 fb 02 00 00       	push   $0x2fb
40dbfb:	56                   	push   %esi
40dbfc:	e8 9a d0 ff ff       	call   0x40ac9b
40dc01:	83 c4 0c             	add    $0xc,%esp
40dc04:	85 c0                	test   %eax,%eax
40dc06:	74 0f                	je     0x40dc17
40dc08:	33 c0                	xor    %eax,%eax
40dc0a:	50                   	push   %eax
40dc0b:	50                   	push   %eax
40dc0c:	50                   	push   %eax
40dc0d:	50                   	push   %eax
40dc0e:	50                   	push   %eax
40dc0f:	e8 40 99 ff ff       	call   0x407554
40dc14:	83 c4 14             	add    $0x14,%esp
40dc17:	56                   	push   %esi
40dc18:	e8 43 8b ff ff       	call   0x406760
40dc1d:	40                   	inc    %eax
40dc1e:	83 f8 3c             	cmp    $0x3c,%eax
40dc21:	59                   	pop    %ecx
40dc22:	76 38                	jbe    0x40dc5c
40dc24:	56                   	push   %esi
40dc25:	e8 36 8b ff ff       	call   0x406760
40dc2a:	83 ee 3b             	sub    $0x3b,%esi
40dc2d:	03 c6                	add    %esi,%eax
40dc2f:	6a 03                	push   $0x3
40dc31:	b9 14 e2 41 00       	mov    $0x41e214,%ecx
40dc36:	68 2c 86 41 00       	push   $0x41862c
40dc3b:	2b c8                	sub    %eax,%ecx
40dc3d:	51                   	push   %ecx
40dc3e:	50                   	push   %eax
40dc3f:	e8 b2 3d 00 00       	call   0x4119f6
40dc44:	83 c4 14             	add    $0x14,%esp
40dc47:	85 c0                	test   %eax,%eax
40dc49:	74 11                	je     0x40dc5c
40dc4b:	33 f6                	xor    %esi,%esi
40dc4d:	56                   	push   %esi
40dc4e:	56                   	push   %esi
40dc4f:	56                   	push   %esi
40dc50:	56                   	push   %esi
40dc51:	56                   	push   %esi
40dc52:	e8 fd 98 ff ff       	call   0x407554
40dc57:	83 c4 14             	add    $0x14,%esp
40dc5a:	eb 02                	jmp    0x40dc5e
40dc5c:	33 f6                	xor    %esi,%esi
40dc5e:	68 28 86 41 00       	push   $0x418628
40dc63:	53                   	push   %ebx
40dc64:	55                   	push   %ebp
40dc65:	e8 ce 3c 00 00       	call   0x411938
40dc6a:	83 c4 0c             	add    $0xc,%esp
40dc6d:	85 c0                	test   %eax,%eax
40dc6f:	74 0d                	je     0x40dc7e
40dc71:	56                   	push   %esi
40dc72:	56                   	push   %esi
40dc73:	56                   	push   %esi
40dc74:	56                   	push   %esi
40dc75:	56                   	push   %esi
40dc76:	e8 d9 98 ff ff       	call   0x407554
40dc7b:	83 c4 14             	add    $0x14,%esp
40dc7e:	ff 34 fd b4 ca 41 00 	push   0x41cab4(,%edi,8)
40dc85:	53                   	push   %ebx
40dc86:	55                   	push   %ebp
40dc87:	e8 ac 3c 00 00       	call   0x411938
40dc8c:	83 c4 0c             	add    $0xc,%esp
40dc8f:	85 c0                	test   %eax,%eax
40dc91:	74 0d                	je     0x40dca0
40dc93:	56                   	push   %esi
40dc94:	56                   	push   %esi
40dc95:	56                   	push   %esi
40dc96:	56                   	push   %esi
40dc97:	56                   	push   %esi
40dc98:	e8 b7 98 ff ff       	call   0x407554
40dc9d:	83 c4 14             	add    $0x14,%esp
40dca0:	68 10 20 01 00       	push   $0x12010
40dca5:	68 00 86 41 00       	push   $0x418600
40dcaa:	55                   	push   %ebp
40dcab:	e8 c8 66 00 00       	call   0x414378
40dcb0:	83 c4 0c             	add    $0xc,%esp
40dcb3:	eb 33                	jmp    0x40dce8
40dcb5:	6a f4                	push   $0xfffffff4
40dcb7:	ff 15 20 71 41 00    	call   *0x417120
40dcbd:	8b e8                	mov    %eax,%ebp
40dcbf:	3b ee                	cmp    %esi,%ebp
40dcc1:	74 25                	je     0x40dce8
40dcc3:	83 fd ff             	cmp    $0xffffffff,%ebp
40dcc6:	74 20                	je     0x40dce8
40dcc8:	6a 00                	push   $0x0
40dcca:	8d 44 24 14          	lea    0x14(%esp),%eax
40dcce:	50                   	push   %eax
40dccf:	8d 34 fd b4 ca 41 00 	lea    0x41cab4(,%edi,8),%esi
40dcd6:	ff 36                	push   (%esi)
40dcd8:	e8 83 8a ff ff       	call   0x406760
40dcdd:	59                   	pop    %ecx
40dcde:	50                   	push   %eax
40dcdf:	ff 36                	push   (%esi)
40dce1:	55                   	push   %ebp
40dce2:	ff 15 28 70 41 00    	call   *0x417028
40dce8:	5d                   	pop    %ebp
40dce9:	5f                   	pop    %edi
40dcea:	5e                   	pop    %esi
40dceb:	5b                   	pop    %ebx
40dcec:	59                   	pop    %ecx
40dced:	c3                   	ret
40dcee:	6a 03                	push   $0x3
40dcf0:	e8 21 68 00 00       	call   0x414516
40dcf5:	83 f8 01             	cmp    $0x1,%eax
40dcf8:	59                   	pop    %ecx
40dcf9:	74 15                	je     0x40dd10
40dcfb:	6a 03                	push   $0x3
40dcfd:	e8 14 68 00 00       	call   0x414516
40dd02:	85 c0                	test   %eax,%eax
40dd04:	59                   	pop    %ecx
40dd05:	75 1f                	jne    0x40dd26
40dd07:	83 3d 30 c5 41 00 01 	cmpl   $0x1,0x41c530
40dd0e:	75 16                	jne    0x40dd26
40dd10:	68 fc 00 00 00       	push   $0xfc
40dd15:	e8 34 fe ff ff       	call   0x40db4e
40dd1a:	68 ff 00 00 00       	push   $0xff
40dd1f:	e8 2a fe ff ff       	call   0x40db4e
40dd24:	59                   	pop    %ecx
40dd25:	59                   	pop    %ecx
40dd26:	c3                   	ret
40dd27:	c3                   	ret
40dd28:	55                   	push   %ebp
40dd29:	8b ec                	mov    %esp,%ebp
40dd2b:	51                   	push   %ecx
40dd2c:	51                   	push   %ecx
40dd2d:	56                   	push   %esi
40dd2e:	e8 96 e7 ff ff       	call   0x40c4c9
40dd33:	8b f0                	mov    %eax,%esi
40dd35:	85 f6                	test   %esi,%esi
40dd37:	75 0e                	jne    0x40dd47
40dd39:	ff 75 0c             	push   0xc(%ebp)
40dd3c:	ff 15 cc 70 41 00    	call   *0x4170cc
40dd42:	e9 4d 01 00 00       	jmp    0x40de94
40dd47:	8b 56 5c             	mov    0x5c(%esi),%edx
40dd4a:	a1 ec cb 41 00       	mov    0x41cbec,%eax
40dd4f:	57                   	push   %edi
40dd50:	8b 7d 08             	mov    0x8(%ebp),%edi
40dd53:	8b ca                	mov    %edx,%ecx
40dd55:	53                   	push   %ebx
40dd56:	39 39                	cmp    %edi,(%ecx)
40dd58:	74 0e                	je     0x40dd68
40dd5a:	8b d8                	mov    %eax,%ebx
40dd5c:	6b db 0c             	imul   $0xc,%ebx,%ebx
40dd5f:	83 c1 0c             	add    $0xc,%ecx
40dd62:	03 da                	add    %edx,%ebx
40dd64:	3b cb                	cmp    %ebx,%ecx
40dd66:	72 ee                	jb     0x40dd56
40dd68:	6b c0 0c             	imul   $0xc,%eax,%eax
40dd6b:	03 c2                	add    %edx,%eax
40dd6d:	3b c8                	cmp    %eax,%ecx
40dd6f:	73 08                	jae    0x40dd79
40dd71:	39 39                	cmp    %edi,(%ecx)
40dd73:	75 04                	jne    0x40dd79
40dd75:	8b c1                	mov    %ecx,%eax
40dd77:	eb 02                	jmp    0x40dd7b
40dd79:	33 c0                	xor    %eax,%eax
40dd7b:	85 c0                	test   %eax,%eax
40dd7d:	74 0a                	je     0x40dd89
40dd7f:	8b 58 08             	mov    0x8(%eax),%ebx
40dd82:	85 db                	test   %ebx,%ebx
40dd84:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40dd87:	75 0e                	jne    0x40dd97
40dd89:	ff 75 0c             	push   0xc(%ebp)
40dd8c:	ff 15 cc 70 41 00    	call   *0x4170cc
40dd92:	e9 fb 00 00 00       	jmp    0x40de92
40dd97:	83 fb 05             	cmp    $0x5,%ebx
40dd9a:	75 0c                	jne    0x40dda8
40dd9c:	83 60 08 00          	andl   $0x0,0x8(%eax)
40dda0:	33 c0                	xor    %eax,%eax
40dda2:	40                   	inc    %eax
40dda3:	e9 ea 00 00 00       	jmp    0x40de92
40dda8:	83 fb 01             	cmp    $0x1,%ebx
40ddab:	0f 84 de 00 00 00    	je     0x40de8f
40ddb1:	8b 4e 60             	mov    0x60(%esi),%ecx
40ddb4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40ddb7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ddba:	89 4e 60             	mov    %ecx,0x60(%esi)
40ddbd:	8b 48 04             	mov    0x4(%eax),%ecx
40ddc0:	83 f9 08             	cmp    $0x8,%ecx
40ddc3:	0f 85 b8 00 00 00    	jne    0x40de81
40ddc9:	8b 0d e0 cb 41 00    	mov    0x41cbe0,%ecx
40ddcf:	8b 3d e4 cb 41 00    	mov    0x41cbe4,%edi