406b34:	75 0a                	jne    0x406b40
406b36:	e8 1a 5d 00 00       	call   0x40c855
406b3b:	e9 c9 5c 00 00       	jmp    0x40c809
406b40:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
406b44:	83 3f 00             	cmpl   $0x0,(%edi)
406b47:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
406b4b:	7e 53                	jle    0x406ba0
406b4d:	53                   	push   %ebx
406b4e:	56                   	push   %esi
406b4f:	8b 45 08             	mov    0x8(%ebp),%eax
406b52:	8b 40 1c             	mov    0x1c(%eax),%eax
406b55:	8b 40 0c             	mov    0xc(%eax),%eax
406b58:	8b 18                	mov    (%eax),%ebx
406b5a:	85 db                	test   %ebx,%ebx
406b5c:	8d 70 04             	lea    0x4(%eax),%esi
406b5f:	7e 33                	jle    0x406b94
406b61:	8b 45 f8             	mov    -0x8(%ebp),%eax
406b64:	c1 e0 04             	shl    $0x4,%eax
406b67:	89 45 f4             	mov    %eax,-0xc(%ebp)
406b6a:	8b 4d 08             	mov    0x8(%ebp),%ecx
406b6d:	ff 71 1c             	push   0x1c(%ecx)
406b70:	8b 06                	mov    (%esi),%eax
406b72:	50                   	push   %eax
406b73:	8b 47 04             	mov    0x4(%edi),%eax
406b76:	03 45 f4             	add    -0xc(%ebp),%eax
406b79:	50                   	push   %eax
406b7a:	e8 5b fd ff ff       	call   0x4068da
406b7f:	83 c4 0c             	add    $0xc,%esp
406b82:	85 c0                	test   %eax,%eax
406b84:	75 0a                	jne    0x406b90
406b86:	4b                   	dec    %ebx
406b87:	83 c6 04             	add    $0x4,%esi
406b8a:	85 db                	test   %ebx,%ebx
406b8c:	7f dc                	jg     0x406b6a
406b8e:	eb 04                	jmp    0x406b94
406b90:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
406b94:	ff 45 f8             	incl   -0x8(%ebp)
406b97:	8b 45 f8             	mov    -0x8(%ebp),%eax
406b9a:	3b 07                	cmp    (%edi),%eax
406b9c:	7c b1                	jl     0x406b4f
406b9e:	5e                   	pop    %esi
406b9f:	5b                   	pop    %ebx
406ba0:	8a 45 ff             	mov    -0x1(%ebp),%al
406ba3:	c9                   	leave
406ba4:	c3                   	ret
406ba5:	6a 04                	push   $0x4
406ba7:	b8 76 5f 41 00       	mov    $0x415f76,%eax
406bac:	e8 6d fc ff ff       	call   0x40681e
406bb1:	e8 96 59 00 00       	call   0x40c54c
406bb6:	83 b8 94 00 00 00 00 	cmpl   $0x0,0x94(%eax)
406bbd:	74 05                	je     0x406bc4
406bbf:	e8 91 5c 00 00       	call   0x40c855
406bc4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406bc8:	e8 75 5c 00 00       	call   0x40c842
406bcd:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406bd1:	e9 33 5c 00 00       	jmp    0x40c809
406bd6:	e8 71 59 00 00       	call   0x40c54c
406bdb:	8b 4d 08             	mov    0x8(%ebp),%ecx
406bde:	6a 00                	push   $0x0
406be0:	6a 00                	push   $0x0
406be2:	89 88 94 00 00 00    	mov    %ecx,0x94(%eax)
406be8:	e8 55 f4 ff ff       	call   0x406042
406bed:	cc                   	int3
406bee:	6a 2c                	push   $0x2c
406bf0:	68 30 a9 41 00       	push   $0x41a930
406bf5:	e8 4e 6a 00 00       	call   0x40d648
406bfa:	8b d9                	mov    %ecx,%ebx
406bfc:	8b 7d 0c             	mov    0xc(%ebp),%edi
406bff:	8b 75 08             	mov    0x8(%ebp),%esi
406c02:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
406c05:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
406c09:	8b 47 fc             	mov    -0x4(%edi),%eax
406c0c:	89 45 dc             	mov    %eax,-0x24(%ebp)
406c0f:	ff 76 18             	push   0x18(%esi)
406c12:	8d 45 c4             	lea    -0x3c(%ebp),%eax
406c15:	50                   	push   %eax
406c16:	e8 45 f7 ff ff       	call   0x406360
406c1b:	59                   	pop    %ecx
406c1c:	59                   	pop    %ecx
406c1d:	89 45 d8             	mov    %eax,-0x28(%ebp)
406c20:	e8 27 59 00 00       	call   0x40c54c
406c25:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
406c2b:	89 45 d4             	mov    %eax,-0x2c(%ebp)
406c2e:	e8 19 59 00 00       	call   0x40c54c
406c33:	8b 80 8c 00 00 00    	mov    0x8c(%eax),%eax
406c39:	89 45 d0             	mov    %eax,-0x30(%ebp)
406c3c:	e8 0b 59 00 00       	call   0x40c54c
406c41:	89 b0 88 00 00 00    	mov    %esi,0x88(%eax)
406c47:	e8 00 59 00 00       	call   0x40c54c
406c4c:	8b 4d 10             	mov    0x10(%ebp),%ecx
406c4f:	89 88 8c 00 00 00    	mov    %ecx,0x8c(%eax)
406c55:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406c59:	33 c0                	xor    %eax,%eax
406c5b:	40                   	inc    %eax
406c5c:	89 45 10             	mov    %eax,0x10(%ebp)
406c5f:	89 45 fc             	mov    %eax,-0x4(%ebp)
406c62:	ff 75 1c             	push   0x1c(%ebp)
406c65:	ff 75 18             	push   0x18(%ebp)
406c68:	53                   	push   %ebx
406c69:	ff 75 14             	push   0x14(%ebp)
406c6c:	57                   	push   %edi
406c6d:	e8 83 f7 ff ff       	call   0x4063f5
406c72:	83 c4 14             	add    $0x14,%esp
406c75:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406c78:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406c7c:	eb 6f                	jmp    0x406ced
406c7e:	8b 45 ec             	mov    -0x14(%ebp),%eax
406c81:	e8 d5 fd ff ff       	call   0x406a5b
406c86:	c3                   	ret
406c87:	8b 65 e8             	mov    -0x18(%ebp),%esp
406c8a:	e8 bd 58 00 00       	call   0x40c54c
406c8f:	83 a0 0c 02 00 00 00 	andl   $0x0,0x20c(%eax)
406c96:	8b 75 14             	mov    0x14(%ebp),%esi
406c99:	8b 7d 0c             	mov    0xc(%ebp),%edi
406c9c:	81 7e 04 80 00 00 00 	cmpl   $0x80,0x4(%esi)
406ca3:	7f 06                	jg     0x406cab
406ca5:	0f be 4f 08          	movsbl 0x8(%edi),%ecx
406ca9:	eb 03                	jmp    0x406cae
406cab:	8b 4f 08             	mov    0x8(%edi),%ecx
406cae:	8b 5e 10             	mov    0x10(%esi),%ebx
406cb1:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
406cb5:	8b 45 e0             	mov    -0x20(%ebp),%eax
406cb8:	3b 46 0c             	cmp    0xc(%esi),%eax
406cbb:	73 18                	jae    0x406cd5
406cbd:	6b c0 14             	imul   $0x14,%eax,%eax
406cc0:	03 c3                	add    %ebx,%eax
406cc2:	8b 50 04             	mov    0x4(%eax),%edx
406cc5:	3b ca                	cmp    %edx,%ecx
406cc7:	7e 40                	jle    0x406d09
406cc9:	3b 48 08             	cmp    0x8(%eax),%ecx
406ccc:	7f 3b                	jg     0x406d09
406cce:	8b 46 08             	mov    0x8(%esi),%eax
406cd1:	8b 4c d0 08          	mov    0x8(%eax,%edx,8),%ecx
406cd5:	51                   	push   %ecx
406cd6:	56                   	push   %esi
406cd7:	6a 00                	push   $0x0
406cd9:	57                   	push   %edi
406cda:	e8 9b fc ff ff       	call   0x40697a
406cdf:	83 c4 10             	add    $0x10,%esp
406ce2:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
406ce6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406cea:	8b 75 08             	mov    0x8(%ebp),%esi
406ced:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406cf4:	c7 45 10 00 00 00 00 	movl   $0x0,0x10(%ebp)
406cfb:	e8 14 00 00 00       	call   0x406d14
406d00:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406d03:	e8 85 69 00 00       	call   0x40d68d
406d08:	c3                   	ret
406d09:	ff 45 e0             	incl   -0x20(%ebp)
406d0c:	eb a7                	jmp    0x406cb5
406d0e:	8b 7d 0c             	mov    0xc(%ebp),%edi
406d11:	8b 75 08             	mov    0x8(%ebp),%esi
406d14:	8b 45 dc             	mov    -0x24(%ebp),%eax
406d17:	89 47 fc             	mov    %eax,-0x4(%edi)
406d1a:	ff 75 d8             	push   -0x28(%ebp)
406d1d:	e8 87 f6 ff ff       	call   0x4063a9
406d22:	59                   	pop    %ecx
406d23:	e8 24 58 00 00       	call   0x40c54c
406d28:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
406d2b:	89 88 88 00 00 00    	mov    %ecx,0x88(%eax)
406d31:	e8 16 58 00 00       	call   0x40c54c
406d36:	8b 4d d0             	mov    -0x30(%ebp),%ecx
406d39:	89 88 8c 00 00 00    	mov    %ecx,0x8c(%eax)
406d3f:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
406d45:	75 42                	jne    0x406d89
406d47:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
406d4b:	75 3c                	jne    0x406d89
406d4d:	8b 46 14             	mov    0x14(%esi),%eax
406d50:	3d 20 05 93 19       	cmp    $0x19930520,%eax
406d55:	74 0e                	je     0x406d65
406d57:	3d 21 05 93 19       	cmp    $0x19930521,%eax
406d5c:	74 07                	je     0x406d65
406d5e:	3d 22 05 93 19       	cmp    $0x19930522,%eax
406d63:	75 24                	jne    0x406d89
406d65:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
406d69:	75 1e                	jne    0x406d89
406d6b:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
406d6f:	74 18                	je     0x406d89
406d71:	ff 76 18             	push   0x18(%esi)
406d74:	e8 0f f6 ff ff       	call   0x406388
406d79:	59                   	pop    %ecx
406d7a:	85 c0                	test   %eax,%eax
406d7c:	74 0b                	je     0x406d89
406d7e:	ff 75 10             	push   0x10(%ebp)
406d81:	56                   	push   %esi
406d82:	e8 19 fd ff ff       	call   0x406aa0
406d87:	59                   	pop    %ecx
406d88:	59                   	pop    %ecx
406d89:	c3                   	ret
406d8a:	6a 0c                	push   $0xc
406d8c:	68 58 a9 41 00       	push   $0x41a958
406d91:	e8 b2 68 00 00       	call   0x40d648
406d96:	33 d2                	xor    %edx,%edx
406d98:	89 55 e4             	mov    %edx,-0x1c(%ebp)
406d9b:	8b 45 10             	mov    0x10(%ebp),%eax
406d9e:	8b 48 04             	mov    0x4(%eax),%ecx
406da1:	3b ca                	cmp    %edx,%ecx
406da3:	0f 84 58 01 00 00    	je     0x406f01
406da9:	38 51 08             	cmp    %dl,0x8(%ecx)
406dac:	0f 84 4f 01 00 00    	je     0x406f01
406db2:	8b 48 08             	mov    0x8(%eax),%ecx
406db5:	3b ca                	cmp    %edx,%ecx
406db7:	75 0c                	jne    0x406dc5
406db9:	f7 00 00 00 00 80    	testl  $0x80000000,(%eax)
406dbf:	0f 84 3c 01 00 00    	je     0x406f01
406dc5:	8b 00                	mov    (%eax),%eax
406dc7:	8b 75 0c             	mov    0xc(%ebp),%esi
406dca:	85 c0                	test   %eax,%eax
406dcc:	78 04                	js     0x406dd2
406dce:	8d 74 31 0c          	lea    0xc(%ecx,%esi,1),%esi
406dd2:	89 55 fc             	mov    %edx,-0x4(%ebp)
406dd5:	33 db                	xor    %ebx,%ebx
406dd7:	43                   	inc    %ebx
406dd8:	53                   	push   %ebx
406dd9:	a8 08                	test   $0x8,%al
406ddb:	74 41                	je     0x406e1e
406ddd:	8b 7d 08             	mov    0x8(%ebp),%edi
406de0:	ff 77 18             	push   0x18(%edi)
406de3:	e8 89 78 00 00       	call   0x40e671
406de8:	59                   	pop    %ecx
406de9:	59                   	pop    %ecx
406dea:	85 c0                	test   %eax,%eax
406dec:	0f 84 f2 00 00 00    	je     0x406ee4
406df2:	53                   	push   %ebx
406df3:	56                   	push   %esi
406df4:	e8 78 78 00 00       	call   0x40e671
406df9:	59                   	pop    %ecx
406dfa:	59                   	pop    %ecx
406dfb:	85 c0                	test   %eax,%eax
406dfd:	0f 84 e1 00 00 00    	je     0x406ee4
406e03:	8b 47 18             	mov    0x18(%edi),%eax
406e06:	89 06                	mov    %eax,(%esi)
406e08:	8b 4d 14             	mov    0x14(%ebp),%ecx
406e0b:	83 c1 08             	add    $0x8,%ecx
406e0e:	51                   	push   %ecx
406e0f:	50                   	push   %eax
406e10:	e8 df fc ff ff       	call   0x406af4
406e15:	59                   	pop    %ecx
406e16:	59                   	pop    %ecx
406e17:	89 06                	mov    %eax,(%esi)
406e19:	e9 cb 00 00 00       	jmp    0x406ee9
406e1e:	8b 7d 14             	mov    0x14(%ebp),%edi
406e21:	8b 45 08             	mov    0x8(%ebp),%eax
406e24:	ff 70 18             	push   0x18(%eax)
406e27:	84 1f                	test   %bl,(%edi)
406e29:	74 48                	je     0x406e73
406e2b:	e8 41 78 00 00       	call   0x40e671
406e30:	59                   	pop    %ecx
406e31:	59                   	pop    %ecx
406e32:	85 c0                	test   %eax,%eax
406e34:	0f 84 aa 00 00 00    	je     0x406ee4
406e3a:	53                   	push   %ebx
406e3b:	56                   	push   %esi
406e3c:	e8 30 78 00 00       	call   0x40e671
406e41:	59                   	pop    %ecx
406e42:	59                   	pop    %ecx
406e43:	85 c0                	test   %eax,%eax
406e45:	0f 84 99 00 00 00    	je     0x406ee4
406e4b:	ff 77 14             	push   0x14(%edi)
406e4e:	8b 45 08             	mov    0x8(%ebp),%eax
406e51:	ff 70 18             	push   0x18(%eax)
406e54:	56                   	push   %esi
406e55:	e8 c6 40 00 00       	call   0x40af20
406e5a:	83 c4 0c             	add    $0xc,%esp
406e5d:	83 7f 14 04          	cmpl   $0x4,0x14(%edi)
406e61:	0f 85 82 00 00 00    	jne    0x406ee9
406e67:	8b 06                	mov    (%esi),%eax
406e69:	85 c0                	test   %eax,%eax
406e6b:	74 7c                	je     0x406ee9
406e6d:	83 c7 08             	add    $0x8,%edi
406e70:	57                   	push   %edi
406e71:	eb 9c                	jmp    0x406e0f
406e73:	39 57 18             	cmp    %edx,0x18(%edi)
406e76:	75 38                	jne    0x406eb0
406e78:	e8 f4 77 00 00       	call   0x40e671
406e7d:	59                   	pop    %ecx
406e7e:	59                   	pop    %ecx
406e7f:	85 c0                	test   %eax,%eax
406e81:	74 61                	je     0x406ee4
406e83:	53                   	push   %ebx
406e84:	56                   	push   %esi
406e85:	e8 e7 77 00 00       	call   0x40e671
406e8a:	59                   	pop    %ecx
406e8b:	59                   	pop    %ecx
406e8c:	85 c0                	test   %eax,%eax
406e8e:	74 54                	je     0x406ee4
406e90:	ff 77 14             	push   0x14(%edi)
406e93:	83 c7 08             	add    $0x8,%edi
406e96:	57                   	push   %edi
406e97:	8b 45 08             	mov    0x8(%ebp),%eax
406e9a:	ff 70 18             	push   0x18(%eax)
406e9d:	e8 52 fc ff ff       	call   0x406af4
406ea2:	59                   	pop    %ecx
406ea3:	59                   	pop    %ecx
406ea4:	50                   	push   %eax
406ea5:	56                   	push   %esi
406ea6:	e8 75 40 00 00       	call   0x40af20
406eab:	83 c4 0c             	add    $0xc,%esp
406eae:	eb 39                	jmp    0x406ee9
406eb0:	e8 bc 77 00 00       	call   0x40e671
406eb5:	59                   	pop    %ecx
406eb6:	59                   	pop    %ecx
406eb7:	85 c0                	test   %eax,%eax
406eb9:	74 29                	je     0x406ee4
406ebb:	53                   	push   %ebx
406ebc:	56                   	push   %esi
406ebd:	e8 af 77 00 00       	call   0x40e671
406ec2:	59                   	pop    %ecx
406ec3:	59                   	pop    %ecx
406ec4:	85 c0                	test   %eax,%eax
406ec6:	74 1c                	je     0x406ee4
406ec8:	ff 77 18             	push   0x18(%edi)
406ecb:	e8 a1 77 00 00       	call   0x40e671
406ed0:	59                   	pop    %ecx
406ed1:	85 c0                	test   %eax,%eax
406ed3:	74 0f                	je     0x406ee4
406ed5:	f6 07 04             	testb  $0x4,(%edi)
406ed8:	6a 00                	push   $0x0
406eda:	58                   	pop    %eax
406edb:	0f 95 c0             	setne  %al
406ede:	40                   	inc    %eax
406edf:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406ee2:	eb 05                	jmp    0x406ee9
406ee4:	e8 6c 59 00 00       	call   0x40c855
406ee9:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406ef0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406ef3:	eb 0e                	jmp    0x406f03
406ef5:	33 c0                	xor    %eax,%eax
406ef7:	40                   	inc    %eax
406ef8:	c3                   	ret
406ef9:	8b 65 e8             	mov    -0x18(%ebp),%esp
406efc:	e9 08 59 00 00       	jmp    0x40c809
406f01:	33 c0                	xor    %eax,%eax
406f03:	e8 85 67 00 00       	call   0x40d68d
406f08:	c3                   	ret
406f09:	6a 08                	push   $0x8
406f0b:	68 78 a9 41 00       	push   $0x41a978
406f10:	e8 33 67 00 00       	call   0x40d648
406f15:	8b 45 10             	mov    0x10(%ebp),%eax
406f18:	f7 00 00 00 00 80    	testl  $0x80000000,(%eax)
406f1e:	74 05                	je     0x406f25
406f20:	8b 5d 0c             	mov    0xc(%ebp),%ebx
406f23:	eb 0a                	jmp    0x406f2f
406f25:	8b 48 08             	mov    0x8(%eax),%ecx
406f28:	8b 55 0c             	mov    0xc(%ebp),%edx
406f2b:	8d 5c 11 0c          	lea    0xc(%ecx,%edx,1),%ebx
406f2f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406f33:	8b 75 14             	mov    0x14(%ebp),%esi
406f36:	56                   	push   %esi
406f37:	50                   	push   %eax