40dac4:	74 10                	je     0x40dad6
40dac6:	81 f9 21 05 93 19    	cmp    $0x19930521,%ecx
40dacc:	74 08                	je     0x40dad6
40dace:	81 f9 22 05 93 19    	cmp    $0x19930522,%ecx
40dad4:	75 17                	jne    0x40daed
40dad6:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
40dada:	75 11                	jne    0x40daed
40dadc:	e8 60 cf ff ff       	call   0x40aa41
40dae1:	33 c9                	xor    %ecx,%ecx
40dae3:	41                   	inc    %ecx
40dae4:	89 88 0c 02 00 00    	mov    %ecx,0x20c(%eax)
40daea:	8b c1                	mov    %ecx,%eax
40daec:	c3                   	ret
40daed:	33 c0                	xor    %eax,%eax
40daef:	c3                   	ret
40daf0:	6a 08                	push   $0x8
40daf2:	68 38 98 42 00       	push   $0x429838
40daf7:	e8 e0 c8 ff ff       	call   0x40a3dc
40dafc:	8b 4d 08             	mov    0x8(%ebp),%ecx
40daff:	85 c9                	test   %ecx,%ecx
40db01:	74 2a                	je     0x40db2d
40db03:	81 39 63 73 6d e0    	cmpl   $0xe06d7363,(%ecx)
40db09:	75 22                	jne    0x40db2d
40db0b:	8b 41 1c             	mov    0x1c(%ecx),%eax
40db0e:	85 c0                	test   %eax,%eax
40db10:	74 1b                	je     0x40db2d
40db12:	8b 40 04             	mov    0x4(%eax),%eax
40db15:	85 c0                	test   %eax,%eax
40db17:	74 14                	je     0x40db2d
40db19:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40db1d:	50                   	push   %eax
40db1e:	ff 71 18             	push   0x18(%ecx)
40db21:	e8 4c 87 ff ff       	call   0x406272
40db26:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40db2d:	e8 ef c8 ff ff       	call   0x40a421
40db32:	c3                   	ret
40db33:	33 c0                	xor    %eax,%eax
40db35:	38 45 0c             	cmp    %al,0xc(%ebp)
40db38:	0f 95 c0             	setne  %al
40db3b:	c3                   	ret
40db3c:	8b 65 e8             	mov    -0x18(%ebp),%esp
40db3f:	e8 47 0a 00 00       	call   0x40e58b
40db44:	cc                   	int3
40db45:	8b ff                	mov    %edi,%edi
40db47:	55                   	push   %ebp
40db48:	8b ec                	mov    %esp,%ebp
40db4a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40db4d:	8b 01                	mov    (%ecx),%eax
40db4f:	56                   	push   %esi
40db50:	8b 75 08             	mov    0x8(%ebp),%esi
40db53:	03 c6                	add    %esi,%eax
40db55:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
40db59:	7c 10                	jl     0x40db6b
40db5b:	8b 51 04             	mov    0x4(%ecx),%edx
40db5e:	8b 49 08             	mov    0x8(%ecx),%ecx
40db61:	8b 34 32             	mov    (%edx,%esi,1),%esi
40db64:	8b 0c 0e             	mov    (%esi,%ecx,1),%ecx
40db67:	03 ca                	add    %edx,%ecx
40db69:	03 c1                	add    %ecx,%eax
40db6b:	5e                   	pop    %esi
40db6c:	5d                   	pop    %ebp
40db6d:	c3                   	ret
40db6e:	8b ff                	mov    %edi,%edi
40db70:	55                   	push   %ebp
40db71:	8b ec                	mov    %esp,%ebp
40db73:	83 ec 0c             	sub    $0xc,%esp
40db76:	85 ff                	test   %edi,%edi
40db78:	75 0a                	jne    0x40db84
40db7a:	e8 58 0a 00 00       	call   0x40e5d7
40db7f:	e8 07 0a 00 00       	call   0x40e58b
40db84:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40db88:	83 3f 00             	cmpl   $0x0,(%edi)
40db8b:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
40db8f:	7e 53                	jle    0x40dbe4
40db91:	53                   	push   %ebx
40db92:	56                   	push   %esi
40db93:	8b 45 08             	mov    0x8(%ebp),%eax
40db96:	8b 40 1c             	mov    0x1c(%eax),%eax
40db99:	8b 40 0c             	mov    0xc(%eax),%eax
40db9c:	8b 18                	mov    (%eax),%ebx
40db9e:	8d 70 04             	lea    0x4(%eax),%esi
40dba1:	85 db                	test   %ebx,%ebx
40dba3:	7e 33                	jle    0x40dbd8
40dba5:	8b 45 f8             	mov    -0x8(%ebp),%eax
40dba8:	c1 e0 04             	shl    $0x4,%eax
40dbab:	89 45 f4             	mov    %eax,-0xc(%ebp)
40dbae:	8b 4d 08             	mov    0x8(%ebp),%ecx
40dbb1:	ff 71 1c             	push   0x1c(%ecx)
40dbb4:	8b 06                	mov    (%esi),%eax
40dbb6:	50                   	push   %eax
40dbb7:	8b 47 04             	mov    0x4(%edi),%eax
40dbba:	03 45 f4             	add    -0xc(%ebp),%eax
40dbbd:	50                   	push   %eax
40dbbe:	e8 5f fd ff ff       	call   0x40d922
40dbc3:	83 c4 0c             	add    $0xc,%esp
40dbc6:	85 c0                	test   %eax,%eax
40dbc8:	75 0a                	jne    0x40dbd4
40dbca:	4b                   	dec    %ebx
40dbcb:	83 c6 04             	add    $0x4,%esi
40dbce:	85 db                	test   %ebx,%ebx
40dbd0:	7f dc                	jg     0x40dbae
40dbd2:	eb 04                	jmp    0x40dbd8
40dbd4:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
40dbd8:	ff 45 f8             	incl   -0x8(%ebp)
40dbdb:	8b 45 f8             	mov    -0x8(%ebp),%eax
40dbde:	3b 07                	cmp    (%edi),%eax
40dbe0:	7c b1                	jl     0x40db93
40dbe2:	5e                   	pop    %esi
40dbe3:	5b                   	pop    %ebx
40dbe4:	8a 45 ff             	mov    -0x1(%ebp),%al
40dbe7:	c9                   	leave
40dbe8:	c3                   	ret
40dbe9:	6a 04                	push   $0x4
40dbeb:	b8 64 97 41 00       	mov    $0x419764,%eax
40dbf0:	e8 73 8a ff ff       	call   0x406668
40dbf5:	e8 47 ce ff ff       	call   0x40aa41
40dbfa:	83 b8 94 00 00 00 00 	cmpl   $0x0,0x94(%eax)
40dc01:	74 05                	je     0x40dc08
40dc03:	e8 cf 09 00 00       	call   0x40e5d7
40dc08:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40dc0c:	e8 b3 09 00 00       	call   0x40e5c4
40dc11:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40dc15:	e8 71 09 00 00       	call   0x40e58b
40dc1a:	e8 22 ce ff ff       	call   0x40aa41
40dc1f:	8b 4d 08             	mov    0x8(%ebp),%ecx
40dc22:	6a 00                	push   $0x0
40dc24:	6a 00                	push   $0x0
40dc26:	89 88 94 00 00 00    	mov    %ecx,0x94(%eax)
40dc2c:	e8 81 8a ff ff       	call   0x4066b2
40dc31:	cc                   	int3
40dc32:	6a 2c                	push   $0x2c
40dc34:	68 b0 98 42 00       	push   $0x4298b0
40dc39:	e8 9e c7 ff ff       	call   0x40a3dc
40dc3e:	8b d9                	mov    %ecx,%ebx
40dc40:	8b 7d 0c             	mov    0xc(%ebp),%edi
40dc43:	8b 75 08             	mov    0x8(%ebp),%esi
40dc46:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40dc49:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
40dc4d:	8b 47 fc             	mov    -0x4(%edi),%eax
40dc50:	89 45 dc             	mov    %eax,-0x24(%ebp)
40dc53:	ff 76 18             	push   0x18(%esi)
40dc56:	8d 45 c4             	lea    -0x3c(%ebp),%eax
40dc59:	50                   	push   %eax
40dc5a:	e8 c2 88 ff ff       	call   0x406521
40dc5f:	59                   	pop    %ecx
40dc60:	59                   	pop    %ecx
40dc61:	89 45 d8             	mov    %eax,-0x28(%ebp)
40dc64:	e8 d8 cd ff ff       	call   0x40aa41
40dc69:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
40dc6f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40dc72:	e8 ca cd ff ff       	call   0x40aa41
40dc77:	8b 80 8c 00 00 00    	mov    0x8c(%eax),%eax
40dc7d:	89 45 d0             	mov    %eax,-0x30(%ebp)
40dc80:	e8 bc cd ff ff       	call   0x40aa41
40dc85:	89 b0 88 00 00 00    	mov    %esi,0x88(%eax)
40dc8b:	e8 b1 cd ff ff       	call   0x40aa41
40dc90:	8b 4d 10             	mov    0x10(%ebp),%ecx
40dc93:	89 88 8c 00 00 00    	mov    %ecx,0x8c(%eax)
40dc99:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40dc9d:	33 c0                	xor    %eax,%eax
40dc9f:	40                   	inc    %eax
40dca0:	89 45 10             	mov    %eax,0x10(%ebp)
40dca3:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dca6:	ff 75 1c             	push   0x1c(%ebp)
40dca9:	ff 75 18             	push   0x18(%ebp)
40dcac:	53                   	push   %ebx
40dcad:	ff 75 14             	push   0x14(%ebp)
40dcb0:	57                   	push   %edi
40dcb1:	e8 10 89 ff ff       	call   0x4065c6
40dcb6:	83 c4 14             	add    $0x14,%esp
40dcb9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40dcbc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40dcc0:	eb 6f                	jmp    0x40dd31
40dcc2:	8b 45 ec             	mov    -0x14(%ebp),%eax
40dcc5:	e8 e1 fd ff ff       	call   0x40daab
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