40dcca:	c3                   	ret
40dccb:	8b 65 e8             	mov    -0x18(%ebp),%esp
40dcce:	e8 6e cd ff ff       	call   0x40aa41
40dcd3:	83 a0 0c 02 00 00 00 	andl   $0x0,0x20c(%eax)
40dcda:	8b 75 14             	mov    0x14(%ebp),%esi
40dcdd:	8b 7d 0c             	mov    0xc(%ebp),%edi
40dce0:	81 7e 04 80 00 00 00 	cmpl   $0x80,0x4(%esi)
40dce7:	7f 06                	jg     0x40dcef
40dce9:	0f be 4f 08          	movsbl 0x8(%edi),%ecx
40dced:	eb 03                	jmp    0x40dcf2
40dcef:	8b 4f 08             	mov    0x8(%edi),%ecx
40dcf2:	8b 5e 10             	mov    0x10(%esi),%ebx
40dcf5:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
40dcf9:	8b 45 e0             	mov    -0x20(%ebp),%eax
40dcfc:	3b 46 0c             	cmp    0xc(%esi),%eax
40dcff:	73 18                	jae    0x40dd19
40dd01:	6b c0 14             	imul   $0x14,%eax,%eax
40dd04:	03 c3                	add    %ebx,%eax
40dd06:	8b 50 04             	mov    0x4(%eax),%edx
40dd09:	3b ca                	cmp    %edx,%ecx
40dd0b:	7e 40                	jle    0x40dd4d
40dd0d:	3b 48 08             	cmp    0x8(%eax),%ecx
40dd10:	7f 3b                	jg     0x40dd4d
40dd12:	8b 46 08             	mov    0x8(%esi),%eax
40dd15:	8b 4c d0 08          	mov    0x8(%eax,%edx,8),%ecx
40dd19:	51                   	push   %ecx
40dd1a:	56                   	push   %esi
40dd1b:	6a 00                	push   $0x0
40dd1d:	57                   	push   %edi
40dd1e:	e8 a7 fc ff ff       	call   0x40d9ca
40dd23:	83 c4 10             	add    $0x10,%esp
40dd26:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40dd2a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40dd2e:	8b 75 08             	mov    0x8(%ebp),%esi
40dd31:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40dd38:	c7 45 10 00 00 00 00 	movl   $0x0,0x10(%ebp)
40dd3f:	e8 14 00 00 00       	call   0x40dd58
40dd44:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40dd47:	e8 d5 c6 ff ff       	call   0x40a421
40dd4c:	c3                   	ret
40dd4d:	ff 45 e0             	incl   -0x20(%ebp)
40dd50:	eb a7                	jmp    0x40dcf9
40dd52:	8b 7d 0c             	mov    0xc(%ebp),%edi
40dd55:	8b 75 08             	mov    0x8(%ebp),%esi
40dd58:	8b 45 dc             	mov    -0x24(%ebp),%eax
40dd5b:	89 47 fc             	mov    %eax,-0x4(%edi)
40dd5e:	ff 75 d8             	push   -0x28(%ebp)
40dd61:	e8 0e 88 ff ff       	call   0x406574
40dd66:	59                   	pop    %ecx
40dd67:	e8 d5 cc ff ff       	call   0x40aa41
40dd6c:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40dd6f:	89 88 88 00 00 00    	mov    %ecx,0x88(%eax)
40dd75:	e8 c7 cc ff ff       	call   0x40aa41
40dd7a:	8b 4d d0             	mov    -0x30(%ebp),%ecx
40dd7d:	89 88 8c 00 00 00    	mov    %ecx,0x8c(%eax)
40dd83:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
40dd89:	75 42                	jne    0x40ddcd
40dd8b:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
40dd8f:	75 3c                	jne    0x40ddcd
40dd91:	8b 46 14             	mov    0x14(%esi),%eax
40dd94:	3d 20 05 93 19       	cmp    $0x19930520,%eax
40dd99:	74 0e                	je     0x40dda9
40dd9b:	3d 21 05 93 19       	cmp    $0x19930521,%eax
40dda0:	74 07                	je     0x40dda9
40dda2:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40dda7:	75 24                	jne    0x40ddcd
40dda9:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
40ddad:	75 1e                	jne    0x40ddcd
40ddaf:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
40ddb3:	74 18                	je     0x40ddcd
40ddb5:	ff 76 18             	push   0x18(%esi)
40ddb8:	e8 90 87 ff ff       	call   0x40654d
40ddbd:	59                   	pop    %ecx
40ddbe:	85 c0                	test   %eax,%eax
40ddc0:	74 0b                	je     0x40ddcd
40ddc2:	ff 75 10             	push   0x10(%ebp)
40ddc5:	56                   	push   %esi
40ddc6:	e8 25 fd ff ff       	call   0x40daf0
40ddcb:	59                   	pop    %ecx
40ddcc:	59                   	pop    %ecx
40ddcd:	c3                   	ret
40ddce:	6a 0c                	push   $0xc
40ddd0:	68 d8 98 42 00       	push   $0x4298d8
40ddd5:	e8 02 c6 ff ff       	call   0x40a3dc
40ddda:	33 d2                	xor    %edx,%edx
40dddc:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40dddf:	8b 45 10             	mov    0x10(%ebp),%eax
40dde2:	8b 48 04             	mov    0x4(%eax),%ecx
40dde5:	3b ca                	cmp    %edx,%ecx
40dde7:	0f 84 58 01 00 00    	je     0x40df45
40dded:	38 51 08             	cmp    %dl,0x8(%ecx)
40ddf0:	0f 84 4f 01 00 00    	je     0x40df45
40ddf6:	8b 48 08             	mov    0x8(%eax),%ecx
40ddf9:	3b ca                	cmp    %edx,%ecx
40ddfb:	75 0c                	jne    0x40de09
40ddfd:	f7 00 00 00 00 80    	testl  $0x80000000,(%eax)
40de03:	0f 84 3c 01 00 00    	je     0x40df45
40de09:	8b 00                	mov    (%eax),%eax
40de0b:	8b 75 0c             	mov    0xc(%ebp),%esi
40de0e:	85 c0                	test   %eax,%eax
40de10:	78 04                	js     0x40de16
40de12:	8d 74 31 0c          	lea    0xc(%ecx,%esi,1),%esi
40de16:	89 55 fc             	mov    %edx,-0x4(%ebp)
40de19:	33 db                	xor    %ebx,%ebx
40de1b:	43                   	inc    %ebx
40de1c:	53                   	push   %ebx
40de1d:	a8 08                	test   $0x8,%al
40de1f:	74 41                	je     0x40de62
40de21:	8b 7d 08             	mov    0x8(%ebp),%edi
40de24:	ff 77 18             	push   0x18(%edi)
40de27:	e8 2c 7b 00 00       	call   0x415958
40de2c:	59                   	pop    %ecx
40de2d:	59                   	pop    %ecx
40de2e:	85 c0                	test   %eax,%eax
40de30:	0f 84 f2 00 00 00    	je     0x40df28
40de36:	53                   	push   %ebx
40de37:	56                   	push   %esi
40de38:	e8 1b 7b 00 00       	call   0x415958
40de3d:	59                   	pop    %ecx
40de3e:	59                   	pop    %ecx
40de3f:	85 c0                	test   %eax,%eax
40de41:	0f 84 e1 00 00 00    	je     0x40df28
40de47:	8b 47 18             	mov    0x18(%edi),%eax
40de4a:	89 06                	mov    %eax,(%esi)
40de4c:	8b 4d 14             	mov    0x14(%ebp),%ecx
40de4f:	83 c1 08             	add    $0x8,%ecx
40de52:	51                   	push   %ecx
40de53:	50                   	push   %eax
40de54:	e8 ec fc ff ff       	call   0x40db45
40de59:	59                   	pop    %ecx
40de5a:	59                   	pop    %ecx
40de5b:	89 06                	mov    %eax,(%esi)
40de5d:	e9 cb 00 00 00       	jmp    0x40df2d
40de62:	8b 7d 14             	mov    0x14(%ebp),%edi
40de65:	8b 45 08             	mov    0x8(%ebp),%eax
40de68:	ff 70 18             	push   0x18(%eax)
40de6b:	84 1f                	test   %bl,(%edi)
40de6d:	74 48                	je     0x40deb7
40de6f:	e8 e4 7a 00 00       	call   0x415958
40de74:	59                   	pop    %ecx
40de75:	59                   	pop    %ecx
40de76:	85 c0                	test   %eax,%eax
40de78:	0f 84 aa 00 00 00    	je     0x40df28
40de7e:	53                   	push   %ebx
40de7f:	56                   	push   %esi
40de80:	e8 d3 7a 00 00       	call   0x415958
40de85:	59                   	pop    %ecx
40de86:	59                   	pop    %ecx
40de87:	85 c0                	test   %eax,%eax
40de89:	0f 84 99 00 00 00    	je     0x40df28
40de8f:	ff 77 14             	push   0x14(%edi)
40de92:	8b 45 08             	mov    0x8(%ebp),%eax
40de95:	ff 70 18             	push   0x18(%eax)
40de98:	56                   	push   %esi
40de99:	e8 12 a6 ff ff       	call   0x4084b0
40de9e:	83 c4 0c             	add    $0xc,%esp
40dea1:	83 7f 14 04          	cmpl   $0x4,0x14(%edi)
40dea5:	0f 85 82 00 00 00    	jne    0x40df2d
40deab:	8b 06                	mov    (%esi),%eax
40dead:	85 c0                	test   %eax,%eax
40deaf:	74 7c                	je     0x40df2d
40deb1:	83 c7 08             	add    $0x8,%edi
40deb4:	57                   	push   %edi
40deb5:	eb 9c                	jmp    0x40de53
40deb7:	39 57 18             	cmp    %edx,0x18(%edi)
40deba:	75 38                	jne    0x40def4
40debc:	e8 97 7a 00 00       	call   0x415958
40dec1:	59                   	pop    %ecx
40dec2:	59                   	pop    %ecx
40dec3:	85 c0                	test   %eax,%eax
40dec5:	74 61                	je     0x40df28
40dec7:	53                   	push   %ebx
40dec8:	56                   	push   %esi
40dec9:	e8 8a 7a 00 00       	call   0x415958
40dece:	59                   	pop    %ecx
40decf:	59                   	pop    %ecx
40ded0:	85 c0                	test   %eax,%eax
40ded2:	74 54                	je     0x40df28
40ded4:	ff 77 14             	push   0x14(%edi)
40ded7:	83 c7 08             	add    $0x8,%edi
40deda:	57                   	push   %edi
40dedb:	8b 45 08             	mov    0x8(%ebp),%eax
40dede:	ff 70 18             	push   0x18(%eax)
40dee1:	e8 5f fc ff ff       	call   0x40db45
40dee6:	59                   	pop    %ecx
40dee7:	59                   	pop    %ecx
40dee8:	50                   	push   %eax
40dee9:	56                   	push   %esi
40deea:	e8 c1 a5 ff ff       	call   0x4084b0
40deef:	83 c4 0c             	add    $0xc,%esp
40def2:	eb 39                	jmp    0x40df2d
40def4:	e8 5f 7a 00 00       	call   0x415958
40def9:	59                   	pop    %ecx
40defa:	59                   	pop    %ecx
40defb:	85 c0                	test   %eax,%eax
40defd:	74 29                	je     0x40df28
40deff:	53                   	push   %ebx
40df00:	56                   	push   %esi
40df01:	e8 52 7a 00 00       	call   0x415958
40df06:	59                   	pop    %ecx
40df07:	59                   	pop    %ecx
40df08:	85 c0                	test   %eax,%eax
40df0a:	74 1c                	je     0x40df28
40df0c:	ff 77 18             	push   0x18(%edi)
40df0f:	e8 44 7a 00 00       	call   0x415958
40df14:	59                   	pop    %ecx
40df15:	85 c0                	test   %eax,%eax
40df17:	74 0f                	je     0x40df28
40df19:	f6 07 04             	testb  $0x4,(%edi)
40df1c:	6a 00                	push   $0x0
40df1e:	58                   	pop    %eax
40df1f:	0f 95 c0             	setne  %al
40df22:	40                   	inc    %eax
40df23:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40df26:	eb 05                	jmp    0x40df2d
40df28:	e8 aa 06 00 00       	call   0x40e5d7
40df2d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40df34:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40df37:	eb 0e                	jmp    0x40df47
40df39:	33 c0                	xor    %eax,%eax
40df3b:	40                   	inc    %eax
40df3c:	c3                   	ret
40df3d:	8b 65 e8             	mov    -0x18(%ebp),%esp
40df40:	e8 46 06 00 00       	call   0x40e58b
40df45:	33 c0                	xor    %eax,%eax
40df47:	e8 d5 c4 ff ff       	call   0x40a421
40df4c:	c3                   	ret
40df4d:	6a 08                	push   $0x8
40df4f:	68 f8 98 42 00       	push   $0x4298f8
40df54:	e8 83 c4 ff ff       	call   0x40a3dc
40df59:	8b 45 10             	mov    0x10(%ebp),%eax
40df5c:	f7 00 00 00 00 80    	testl  $0x80000000,(%eax)
40df62:	74 05                	je     0x40df69
40df64:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40df67:	eb 0a                	jmp    0x40df73
40df69:	8b 48 08             	mov    0x8(%eax),%ecx
40df6c:	8b 55 0c             	mov    0xc(%ebp),%edx
40df6f:	8d 5c 11 0c          	lea    0xc(%ecx,%edx,1),%ebx
40df73:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40df77:	8b 75 14             	mov    0x14(%ebp),%esi
40df7a:	56                   	push   %esi
40df7b:	50                   	push   %eax
40df7c:	ff 75 0c             	push   0xc(%ebp)
40df7f:	8b 7d 08             	mov    0x8(%ebp),%edi
40df82:	57                   	push   %edi
40df83:	e8 46 fe ff ff       	call   0x40ddce
40df88:	83 c4 10             	add    $0x10,%esp
40df8b:	48                   	dec    %eax
40df8c:	74 1f                	je     0x40dfad
40df8e:	48                   	dec    %eax
40df8f:	75 34                	jne    0x40dfc5
40df91:	6a 01                	push   $0x1
40df93:	8d 46 08             	lea    0x8(%esi),%eax
40df96:	50                   	push   %eax
40df97:	ff 77 18             	push   0x18(%edi)
40df9a:	e8 a6 fb ff ff       	call   0x40db45
40df9f:	59                   	pop    %ecx
40dfa0:	59                   	pop    %ecx
40dfa1:	50                   	push   %eax
40dfa2:	ff 76 18             	push   0x18(%esi)
40dfa5:	53                   	push   %ebx
40dfa6:	e8 c7 82 ff ff       	call   0x406272
40dfab:	eb 18                	jmp    0x40dfc5
40dfad:	8d 46 08             	lea    0x8(%esi),%eax
40dfb0:	50                   	push   %eax
40dfb1:	ff 77 18             	push   0x18(%edi)
40dfb4:	e8 8c fb ff ff       	call   0x40db45
40dfb9:	59                   	pop    %ecx
40dfba:	59                   	pop    %ecx
40dfbb:	50                   	push   %eax
40dfbc:	ff 76 18             	push   0x18(%esi)
40dfbf:	53                   	push   %ebx
40dfc0:	e8 ad 82 ff ff       	call   0x406272
40dfc5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40dfcc:	e8 50 c4 ff ff       	call   0x40a421
40dfd1:	c3                   	ret
40dfd2:	33 c0                	xor    %eax,%eax
40dfd4:	40                   	inc    %eax
40dfd5:	c3                   	ret
40dfd6:	8b 65 e8             	mov    -0x18(%ebp),%esp
40dfd9:	e8 ad 05 00 00       	call   0x40e58b
40dfde:	cc                   	int3
40dfdf:	8b ff                	mov    %edi,%edi
40dfe1:	55                   	push   %ebp
40dfe2:	8b ec                	mov    %esp,%ebp
40dfe4:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
40dfe8:	74 10                	je     0x40dffa
40dfea:	ff 75 18             	push   0x18(%ebp)
40dfed:	53                   	push   %ebx
40dfee:	56                   	push   %esi
40dfef:	ff 75 08             	push   0x8(%ebp)
40dff2:	e8 56 ff ff ff       	call   0x40df4d
40dff7:	83 c4 10             	add    $0x10,%esp
40dffa:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
40dffe:	ff 75 08             	push   0x8(%ebp)
40e001:	75 03                	jne    0x40e006
40e003:	56                   	push   %esi
40e004:	eb 03                	jmp    0x40e009
40e006:	ff 75 20             	push   0x20(%ebp)
40e009:	e8 6b 82 ff ff       	call   0x406279
40e00e:	ff 37                	push   (%edi)
40e010:	ff 75 14             	push   0x14(%ebp)
40e013:	ff 75 10             	push   0x10(%ebp)
40e016:	56                   	push   %esi
40e017:	e8 ae f9 ff ff       	call   0x40d9ca
40e01c:	8b 47 04             	mov    0x4(%edi),%eax
40e01f:	68 00 01 00 00       	push   $0x100
40e024:	ff 75 1c             	push   0x1c(%ebp)
40e027:	40                   	inc    %eax
40e028:	ff 75 14             	push   0x14(%ebp)
40e02b:	89 46 08             	mov    %eax,0x8(%esi)
40e02e:	ff 75 0c             	push   0xc(%ebp)
40e031:	8b 4b 0c             	mov    0xc(%ebx),%ecx
40e034:	56                   	push   %esi
40e035:	ff 75 08             	push   0x8(%ebp)
40e038:	e8 f5 fb ff ff       	call   0x40dc32
40e03d:	83 c4 28             	add    $0x28,%esp
40e040:	85 c0                	test   %eax,%eax
40e042:	74 07                	je     0x40e04b
40e044:	56                   	push   %esi
40e045:	50                   	push   %eax
40e046:	e8 f5 81 ff ff       	call   0x406240
40e04b:	5d                   	pop    %ebp
40e04c:	c3                   	ret
40e04d:	8b ff                	mov    %edi,%edi
40e04f:	55                   	push   %ebp
40e050:	8b ec                	mov    %esp,%ebp
40e052:	51                   	push   %ecx
40e053:	51                   	push   %ecx
40e054:	56                   	push   %esi
40e055:	8b 75 08             	mov    0x8(%ebp),%esi
40e058:	81 3e 03 00 00 80    	cmpl   $0x80000003,(%esi)
40e05e:	0f 84 da 00 00 00    	je     0x40e13e
40e064:	57                   	push   %edi
40e065:	e8 d7 c9 ff ff       	call   0x40aa41
40e06a:	83 b8 80 00 00 00 00 	cmpl   $0x0,0x80(%eax)
40e071:	74 3f                	je     0x40e0b2
40e073:	e8 c9 c9 ff ff       	call   0x40aa41
40e078:	8d b8 80 00 00 00    	lea    0x80(%eax),%edi
40e07e:	e8 69 c7 ff ff       	call   0x40a7ec
40e083:	39 07                	cmp    %eax,(%edi)
40e085:	74 2b                	je     0x40e0b2
40e087:	81 3e 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%esi)
40e08d:	74 23                	je     0x40e0b2
40e08f:	ff 75 24             	push   0x24(%ebp)
40e092:	ff 75 20             	push   0x20(%ebp)
40e095:	ff 75 18             	push   0x18(%ebp)
40e098:	ff 75 14             	push   0x14(%ebp)
40e09b:	ff 75 10             	push   0x10(%ebp)
40e09e:	ff 75 0c             	push   0xc(%ebp)