408d93:	c9                   	leave
408d94:	c3                   	ret
408d95:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
408d99:	75 20                	jne    0x408dbb
408d9b:	ff 75 24             	push   0x24(%ebp)
408d9e:	ff 75 20             	push   0x20(%ebp)
408da1:	ff 75 f0             	push   -0x10(%ebp)
408da4:	ff 75 18             	push   0x18(%ebp)
408da7:	ff 75 14             	push   0x14(%ebp)
408daa:	ff 75 10             	push   0x10(%ebp)
408dad:	ff 75 0c             	push   0xc(%ebp)
408db0:	56                   	push   %esi
408db1:	e8 0a 00 00 00       	call   0x408dc0
408db6:	83 c4 20             	add    $0x20,%esp
408db9:	eb d5                	jmp    0x408d90
408dbb:	e9 1c 06 00 00       	jmp    0x4093dc
408dc0:	55                   	push   %ebp
408dc1:	8b ec                	mov    %esp,%ebp
408dc3:	51                   	push   %ecx
408dc4:	51                   	push   %ecx
408dc5:	56                   	push   %esi
408dc6:	57                   	push   %edi
408dc7:	e8 fb f8 ff ff       	call   0x4086c7
408dcc:	83 78 68 00          	cmpl   $0x0,0x68(%eax)
408dd0:	74 21                	je     0x408df3
408dd2:	ff 75 24             	push   0x24(%ebp)
408dd5:	ff 75 20             	push   0x20(%ebp)
408dd8:	ff 75 18             	push   0x18(%ebp)
408ddb:	ff 75 14             	push   0x14(%ebp)
408dde:	ff 75 10             	push   0x10(%ebp)
408de1:	ff 75 0c             	push   0xc(%ebp)
408de4:	ff 75 08             	push   0x8(%ebp)
408de7:	e8 be cc ff ff       	call   0x405aaa
408dec:	83 c4 1c             	add    $0x1c,%esp
408def:	85 c0                	test   %eax,%eax
408df1:	75 73                	jne    0x408e66
408df3:	8b 7d 1c             	mov    0x1c(%ebp),%edi
408df6:	8d 45 f8             	lea    -0x8(%ebp),%eax
408df9:	50                   	push   %eax
408dfa:	8d 45 fc             	lea    -0x4(%ebp),%eax
408dfd:	50                   	push   %eax
408dfe:	57                   	push   %edi
408dff:	ff 75 20             	push   0x20(%ebp)
408e02:	ff 75 18             	push   0x18(%ebp)
408e05:	e8 cb cd ff ff       	call   0x405bd5
408e0a:	83 c4 14             	add    $0x14,%esp
408e0d:	8b f0                	mov    %eax,%esi
408e0f:	8b 45 fc             	mov    -0x4(%ebp),%eax
408e12:	3b 45 f8             	cmp    -0x8(%ebp),%eax
408e15:	73 4f                	jae    0x408e66
408e17:	3b 3e                	cmp    (%esi),%edi
408e19:	7c 43                	jl     0x408e5e
408e1b:	3b 7e 04             	cmp    0x4(%esi),%edi
408e1e:	7f 3e                	jg     0x408e5e
408e20:	8b 46 0c             	mov    0xc(%esi),%eax
408e23:	8b 4e 10             	mov    0x10(%esi),%ecx
408e26:	c1 e0 04             	shl    $0x4,%eax
408e29:	03 c1                	add    %ecx,%eax
408e2b:	8b 48 f4             	mov    -0xc(%eax),%ecx
408e2e:	85 c9                	test   %ecx,%ecx
408e30:	74 06                	je     0x408e38
408e32:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
408e36:	75 26                	jne    0x408e5e
408e38:	6a 01                	push   $0x1
408e3a:	83 c0 f0             	add    $0xfffffff0,%eax
408e3d:	ff 75 24             	push   0x24(%ebp)
408e40:	ff 75 20             	push   0x20(%ebp)
408e43:	56                   	push   %esi
408e44:	6a 00                	push   $0x0
408e46:	50                   	push   %eax
408e47:	ff 75 18             	push   0x18(%ebp)
408e4a:	ff 75 14             	push   0x14(%ebp)
408e4d:	ff 75 10             	push   0x10(%ebp)
408e50:	ff 75 0c             	push   0xc(%ebp)
408e53:	ff 75 08             	push   0x8(%ebp)
408e56:	e8 20 01 00 00       	call   0x408f7b
408e5b:	83 c4 2c             	add    $0x2c,%esp
408e5e:	ff 45 fc             	incl   -0x4(%ebp)
408e61:	83 c6 14             	add    $0x14,%esi
408e64:	eb a9                	jmp    0x408e0f
408e66:	5f                   	pop    %edi
408e67:	5e                   	pop    %esi
408e68:	c9                   	leave
408e69:	c3                   	ret
408e6a:	56                   	push   %esi
408e6b:	57                   	push   %edi
408e6c:	8b 7c 24 0c          	mov    0xc(%esp),%edi
408e70:	8b 47 04             	mov    0x4(%edi),%eax
408e73:	85 c0                	test   %eax,%eax
408e75:	74 4a                	je     0x408ec1
408e77:	80 78 08 00          	cmpb   $0x0,0x8(%eax)
408e7b:	8d 50 08             	lea    0x8(%eax),%edx
408e7e:	74 41                	je     0x408ec1
408e80:	8b 74 24 10          	mov    0x10(%esp),%esi
408e84:	8b 4e 04             	mov    0x4(%esi),%ecx
408e87:	3b c1                	cmp    %ecx,%eax
408e89:	74 10                	je     0x408e9b
408e8b:	83 c1 08             	add    $0x8,%ecx
408e8e:	51                   	push   %ecx
408e8f:	52                   	push   %edx
408e90:	e8 4b fb ff ff       	call   0x4089e0
408e95:	59                   	pop    %ecx
408e96:	85 c0                	test   %eax,%eax
408e98:	59                   	pop    %ecx
408e99:	75 22                	jne    0x408ebd
408e9b:	f6 06 02             	testb  $0x2,(%esi)
408e9e:	74 05                	je     0x408ea5
408ea0:	f6 07 08             	testb  $0x8,(%edi)
408ea3:	74 18                	je     0x408ebd
408ea5:	8b 44 24 14          	mov    0x14(%esp),%eax
408ea9:	8b 00                	mov    (%eax),%eax
408eab:	a8 01                	test   $0x1,%al
408ead:	74 05                	je     0x408eb4
408eaf:	f6 07 01             	testb  $0x1,(%edi)
408eb2:	74 09                	je     0x408ebd
408eb4:	a8 02                	test   $0x2,%al
408eb6:	74 09                	je     0x408ec1
408eb8:	f6 07 02             	testb  $0x2,(%edi)
408ebb:	75 04                	jne    0x408ec1
408ebd:	33 c0                	xor    %eax,%eax
408ebf:	eb 03                	jmp    0x408ec4
408ec1:	6a 01                	push   $0x1
408ec3:	58                   	pop    %eax
408ec4:	5f                   	pop    %edi
408ec5:	5e                   	pop    %esi
408ec6:	c3                   	ret
408ec7:	55                   	push   %ebp
408ec8:	8b ec                	mov    %esp,%ebp
408eca:	6a ff                	push   $0xffffffff
408ecc:	68 b0 d7 40 00       	push   $0x40d7b0
408ed1:	68 74 87 40 00       	push   $0x408774
408ed6:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
408edc:	50                   	push   %eax
408edd:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
408ee4:	83 ec 0c             	sub    $0xc,%esp
408ee7:	53                   	push   %ebx
408ee8:	56                   	push   %esi
408ee9:	57                   	push   %edi
408eea:	89 65 e8             	mov    %esp,-0x18(%ebp)
408eed:	8b 5d 08             	mov    0x8(%ebp),%ebx
408ef0:	8b 73 08             	mov    0x8(%ebx),%esi
408ef3:	89 75 e4             	mov    %esi,-0x1c(%ebp)
408ef6:	8b 7d 10             	mov    0x10(%ebp),%edi
408ef9:	3b 75 14             	cmp    0x14(%ebp),%esi
408efc:	74 55                	je     0x408f53
408efe:	83 fe ff             	cmp    $0xffffffff,%esi
408f01:	7e 05                	jle    0x408f08
408f03:	3b 77 04             	cmp    0x4(%edi),%esi
408f06:	7c 05                	jl     0x408f0d
408f08:	e8 30 05 00 00       	call   0x40943d
408f0d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
408f11:	8b 47 08             	mov    0x8(%edi),%eax
408f14:	8b 44 f0 04          	mov    0x4(%eax,%esi,8),%eax
408f18:	85 c0                	test   %eax,%eax
408f1a:	74 0c                	je     0x408f28
408f1c:	68 03 01 00 00       	push   $0x103
408f21:	53                   	push   %ebx
408f22:	50                   	push   %eax
408f23:	e8 68 04 00 00       	call   0x409390
408f28:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408f2c:	eb 1a                	jmp    0x408f48
408f2e:	ff 75 ec             	push   -0x14(%ebp)
408f31:	e8 2f 00 00 00       	call   0x408f65
408f36:	59                   	pop    %ecx
408f37:	c3                   	ret
408f38:	8b 65 e8             	mov    -0x18(%ebp),%esp
408f3b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
408f3f:	8b 7d 10             	mov    0x10(%ebp),%edi
408f42:	8b 5d 08             	mov    0x8(%ebp),%ebx
408f45:	8b 75 e4             	mov    -0x1c(%ebp),%esi
408f48:	8b 47 08             	mov    0x8(%edi),%eax
408f4b:	8b 34 f0             	mov    (%eax,%esi,8),%esi
408f4e:	89 75 e4             	mov    %esi,-0x1c(%ebp)
408f51:	eb a6                	jmp    0x408ef9
408f53:	89 73 08             	mov    %esi,0x8(%ebx)
408f56:	8b 4d f0             	mov    -0x10(%ebp),%ecx
408f59:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
408f60:	5f                   	pop    %edi
408f61:	5e                   	pop    %esi
408f62:	5b                   	pop    %ebx
408f63:	c9                   	leave
408f64:	c3                   	ret
408f65:	8b 44 24 04          	mov    0x4(%esp),%eax
408f69:	8b 00                	mov    (%eax),%eax
408f6b:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
408f71:	74 03                	je     0x408f76
408f73:	33 c0                	xor    %eax,%eax
408f75:	c3                   	ret
408f76:	e9 61 04 00 00       	jmp    0x4093dc
408f7b:	55                   	push   %ebp
408f7c:	8b ec                	mov    %esp,%ebp
408f7e:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
408f82:	53                   	push   %ebx
408f83:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
408f86:	56                   	push   %esi
408f87:	57                   	push   %edi
408f88:	8b 7d 0c             	mov    0xc(%ebp),%edi
408f8b:	74 10                	je     0x408f9d
408f8d:	ff 75 20             	push   0x20(%ebp)
408f90:	53                   	push   %ebx
408f91:	57                   	push   %edi
408f92:	ff 75 08             	push   0x8(%ebp)
408f95:	e8 a1 01 00 00       	call   0x40913b
408f9a:	83 c4 10             	add    $0x10,%esp
408f9d:	83 7d 2c 00          	cmpl   $0x0,0x2c(%ebp)
408fa1:	ff 75 08             	push   0x8(%ebp)
408fa4:	75 03                	jne    0x408fa9
408fa6:	57                   	push   %edi
408fa7:	eb 03                	jmp    0x408fac
408fa9:	ff 75 2c             	push   0x2c(%ebp)
408fac:	e8 fb c9 ff ff       	call   0x4059ac
408fb1:	8b 75 24             	mov    0x24(%ebp),%esi
408fb4:	ff 36                	push   (%esi)
408fb6:	ff 75 18             	push   0x18(%ebp)
408fb9:	ff 75 14             	push   0x14(%ebp)
408fbc:	57                   	push   %edi
408fbd:	e8 05 ff ff ff       	call   0x408ec7
408fc2:	8b 46 04             	mov    0x4(%esi),%eax
408fc5:	68 00 01 00 00       	push   $0x100
408fca:	ff 75 28             	push   0x28(%ebp)
408fcd:	40                   	inc    %eax
408fce:	89 47 08             	mov    %eax,0x8(%edi)
408fd1:	ff 73 0c             	push   0xc(%ebx)
408fd4:	ff 75 18             	push   0x18(%ebp)
408fd7:	ff 75 10             	push   0x10(%ebp)
408fda:	57                   	push   %edi
408fdb:	ff 75 08             	push   0x8(%ebp)
408fde:	e8 13 00 00 00       	call   0x408ff6
408fe3:	83 c4 2c             	add    $0x2c,%esp
408fe6:	85 c0                	test   %eax,%eax
408fe8:	74 07                	je     0x408ff1
408fea:	57                   	push   %edi
408feb:	50                   	push   %eax
408fec:	e8 79 c9 ff ff       	call   0x40596a
408ff1:	5f                   	pop    %edi
408ff2:	5e                   	pop    %esi
408ff3:	5b                   	pop    %ebx
408ff4:	5d                   	pop    %ebp
408ff5:	c3                   	ret
408ff6:	55                   	push   %ebp
408ff7:	8b ec                	mov    %esp,%ebp
408ff9:	6a ff                	push   $0xffffffff
408ffb:	68 c0 d7 40 00       	push   $0x40d7c0
409000:	68 74 87 40 00       	push   $0x408774
409005:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40900b:	50                   	push   %eax
40900c:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
409013:	83 ec 1c             	sub    $0x1c,%esp
409016:	53                   	push   %ebx
409017:	56                   	push   %esi
409018:	57                   	push   %edi
409019:	89 65 e8             	mov    %esp,-0x18(%ebp)
40901c:	8b 5d 18             	mov    0x18(%ebp),%ebx
40901f:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
409022:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
409026:	8b 75 0c             	mov    0xc(%ebp),%esi
409029:	8b 46 fc             	mov    -0x4(%esi),%eax
40902c:	89 45 d8             	mov    %eax,-0x28(%ebp)
40902f:	e8 93 f6 ff ff       	call   0x4086c7
409034:	8b 40 6c             	mov    0x6c(%eax),%eax
409037:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40903a:	e8 88 f6 ff ff       	call   0x4086c7
40903f:	8b 40 70             	mov    0x70(%eax),%eax
409042:	89 45 e0             	mov    %eax,-0x20(%ebp)
409045:	e8 7d f6 ff ff       	call   0x4086c7
40904a:	8b 7d 08             	mov    0x8(%ebp),%edi
40904d:	89 78 6c             	mov    %edi,0x6c(%eax)
409050:	e8 72 f6 ff ff       	call   0x4086c7
409055:	8b 4d 10             	mov    0x10(%ebp),%ecx
409058:	89 48 70             	mov    %ecx,0x70(%eax)
40905b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40905f:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
409066:	ff 75 20             	push   0x20(%ebp)
409069:	ff 75 1c             	push   0x1c(%ebp)
40906c:	53                   	push   %ebx
40906d:	ff 75 14             	push   0x14(%ebp)
409070:	56                   	push   %esi
409071:	e8 bb c9 ff ff       	call   0x405a31
409076:	83 c4 14             	add    $0x14,%esp
409079:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40907c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409080:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
409084:	e8 3a 00 00 00       	call   0x4090c3
409089:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40908c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40908f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409096:	5f                   	pop    %edi
409097:	5e                   	pop    %esi
409098:	5b                   	pop    %ebx
409099:	c9                   	leave
40909a:	c3                   	ret
40909b:	ff 75 ec             	push   -0x14(%ebp)
40909e:	e8 6e 00 00 00       	call   0x409111
4090a3:	59                   	pop    %ecx
4090a4:	c3                   	ret
4090a5:	8b 65 e8             	mov    -0x18(%ebp),%esp
4090a8:	83 65 d4 00          	andl   $0x0,-0x2c(%ebp)
4090ac:	6a ff                	push   $0xffffffff
4090ae:	8d 45 f0             	lea    -0x10(%ebp),%eax
4090b1:	50                   	push   %eax
4090b2:	e8 db cb ff ff       	call   0x405c92
4090b7:	59                   	pop    %ecx
4090b8:	59                   	pop    %ecx
4090b9:	33 c0                	xor    %eax,%eax
4090bb:	eb cf                	jmp    0x40908c
4090bd:	8b 75 0c             	mov    0xc(%ebp),%esi
4090c0:	8b 7d 08             	mov    0x8(%ebp),%edi
4090c3:	8b 45 d8             	mov    -0x28(%ebp),%eax
4090c6:	89 46 fc             	mov    %eax,-0x4(%esi)
4090c9:	e8 f9 f5 ff ff       	call   0x4086c7
4090ce:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4090d1:	89 48 6c             	mov    %ecx,0x6c(%eax)
4090d4:	e8 ee f5 ff ff       	call   0x4086c7
4090d9:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4090dc:	89 48 70             	mov    %ecx,0x70(%eax)
4090df:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
4090e5:	75 29                	jne    0x409110
4090e7:	83 7f 10 03          	cmpl   $0x3,0x10(%edi)
4090eb:	75 23                	jne    0x409110
4090ed:	81 7f 14 20 05 93 19 	cmpl   $0x19930520,0x14(%edi)
4090f4:	75 1a                	jne    0x409110
4090f6:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4090fa:	75 14                	jne    0x409110
4090fc:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
409100:	74 0e                	je     0x409110
409102:	e8 f3 cb ff ff       	call   0x405cfa
409107:	50                   	push   %eax
409108:	57                   	push   %edi
409109:	e8 f1 01 00 00       	call   0x4092ff
40910e:	59                   	pop    %ecx
40910f:	59                   	pop    %ecx
409110:	c3                   	ret
409111:	8b 44 24 04          	mov    0x4(%esp),%eax
409115:	8b 00                	mov    (%eax),%eax
409117:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40911d:	75 19                	jne    0x409138
40911f:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
409123:	75 13                	jne    0x409138
409125:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
40912c:	75 0a                	jne    0x409138
40912e:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
409132:	75 04                	jne    0x409138
409134:	6a 01                	push   $0x1
409136:	58                   	pop    %eax
409137:	c3                   	ret
409138:	33 c0                	xor    %eax,%eax
40913a:	c3                   	ret
40913b:	55                   	push   %ebp
40913c:	8b ec                	mov    %esp,%ebp
40913e:	6a ff                	push   $0xffffffff