409b29:	83 ec 18             	sub    $0x18,%esp
409b2c:	56                   	push   %esi
409b2d:	57                   	push   %edi
409b2e:	8b 7d 0c             	mov    0xc(%ebp),%edi
409b31:	be a0 4d 42 00       	mov    $0x424da0,%esi
409b36:	89 55 f4             	mov    %edx,-0xc(%ebp)
409b39:	89 4d f0             	mov    %ecx,-0x10(%ebp)
409b3c:	85 ff                	test   %edi,%edi
409b3e:	74 05                	je     0x409b45
409b40:	be 80 4c 42 00       	mov    $0x424c80,%esi
409b45:	8b 06                	mov    (%esi),%eax
409b47:	a8 01                	test   $0x1,%al
409b49:	74 25                	je     0x409b70
409b4b:	a8 08                	test   $0x8,%al
409b4d:	75 07                	jne    0x409b56
409b4f:	32 c0                	xor    %al,%al
409b51:	e9 b2 00 00 00       	jmp    0x409c08
409b56:	ff 75 10             	push   0x10(%ebp)
409b59:	0f b6 45 08          	movzbl 0x8(%ebp),%eax
409b5d:	6a 00                	push   $0x0
409b5f:	57                   	push   %edi
409b60:	50                   	push   %eax
409b61:	e8 8d e6 ff ff       	call   0x4081f3
409b66:	85 c0                	test   %eax,%eax
409b68:	0f 95 c0             	setne  %al
409b6b:	e9 98 00 00 00       	jmp    0x409c08
409b70:	53                   	push   %ebx
409b71:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
409b78:	e8 1f 06 00 00       	call   0x40a19c
409b7d:	ff 75 10             	push   0x10(%ebp)
409b80:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
409b84:	8b d8                	mov    %eax,%ebx
409b86:	8b 55 f4             	mov    -0xc(%ebp),%edx
409b89:	8d 45 f8             	lea    -0x8(%ebp),%eax
409b8c:	50                   	push   %eax
409b8d:	57                   	push   %edi
409b8e:	51                   	push   %ecx
409b8f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409b92:	e8 5c e6 ff ff       	call   0x4081f3
409b97:	85 c0                	test   %eax,%eax
409b99:	8b 45 f8             	mov    -0x8(%ebp),%eax
409b9c:	0f 95 45 ff          	setne  -0x1(%ebp)
409ba0:	33 c9                	xor    %ecx,%ecx
409ba2:	85 c0                	test   %eax,%eax
409ba4:	0f 95 c1             	setne  %cl
409ba7:	8d 0c cd 03 00 00 00 	lea    0x3(,%ecx,8),%ecx
409bae:	87 0e                	xchg   %ecx,(%esi)
409bb0:	85 c0                	test   %eax,%eax
409bb2:	75 50                	jne    0x409c04
409bb4:	f6 c1 02             	test   $0x2,%cl
409bb7:	75 4b                	jne    0x409c04
409bb9:	38 05 84 48 42 00    	cmp    %al,0x424884
409bbf:	74 43                	je     0x409c04
409bc1:	bf 88 48 42 00       	mov    $0x424888,%edi
409bc6:	57                   	push   %edi
409bc7:	ff 15 60 61 42 00    	call   *0x426160
409bcd:	a1 94 48 42 00       	mov    0x424894,%eax
409bd2:	85 db                	test   %ebx,%ebx
409bd4:	74 1f                	je     0x409bf5
409bd6:	3b d8                	cmp    %eax,%ebx
409bd8:	75 1b                	jne    0x409bf5
409bda:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
409bde:	8d 45 e8             	lea    -0x18(%ebp),%eax
409be1:	6a 08                	push   $0x8
409be3:	50                   	push   %eax
409be4:	b9 b0 48 42 00       	mov    $0x4248b0,%ecx
409be9:	89 75 ec             	mov    %esi,-0x14(%ebp)
409bec:	e8 88 e7 ff ff       	call   0x408379
409bf1:	84 c0                	test   %al,%al
409bf3:	75 08                	jne    0x409bfd
409bf5:	b8 f8 fe ff ff       	mov    $0xfffffef8,%eax
409bfa:	f0 21 06             	lock and %eax,(%esi)
409bfd:	57                   	push   %edi
409bfe:	ff 15 6c 61 42 00    	call   *0x42616c
409c04:	8a 45 ff             	mov    -0x1(%ebp),%al
409c07:	5b                   	pop    %ebx
409c08:	5f                   	pop    %edi
409c09:	5e                   	pop    %esi
409c0a:	c9                   	leave
409c0b:	c2 0c 00             	ret    $0xc
409c0e:	cc                   	int3
409c0f:	cc                   	int3
409c10:	8b ff                	mov    %edi,%edi
409c12:	55                   	push   %ebp
409c13:	8b ec                	mov    %esp,%ebp
409c15:	8b 45 0c             	mov    0xc(%ebp),%eax
409c18:	83 ec 1c             	sub    $0x1c,%esp
409c1b:	8b d0                	mov    %eax,%edx
409c1d:	25 7f ff ff ff       	and    $0xffffff7f,%eax
409c22:	c1 ea 07             	shr    $0x7,%edx
409c25:	83 e2 01             	and    $0x1,%edx
409c28:	53                   	push   %ebx
409c29:	33 db                	xor    %ebx,%ebx
409c2b:	83 f8 03             	cmp    $0x3,%eax
409c2e:	74 08                	je     0x409c38
409c30:	88 5d fc             	mov    %bl,-0x4(%ebp)
409c33:	83 f8 02             	cmp    $0x2,%eax
409c36:	75 04                	jne    0x409c3c
409c38:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
409c3c:	57                   	push   %edi
409c3d:	6a 06                	push   $0x6
409c3f:	59                   	pop    %ecx
409c40:	ff 75 10             	push   0x10(%ebp)
409c43:	33 c0                	xor    %eax,%eax
409c45:	8d 7d e4             	lea    -0x1c(%ebp),%edi
409c48:	52                   	push   %edx
409c49:	ff 75 fc             	push   -0x4(%ebp)
409c4c:	8b 55 08             	mov    0x8(%ebp),%edx
409c4f:	f3 ab                	rep stos %eax,%es:(%edi)
409c51:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
409c54:	e8 cb fe ff ff       	call   0x409b24
409c59:	5f                   	pop    %edi
409c5a:	84 c0                	test   %al,%al
409c5c:	74 03                	je     0x409c61
409c5e:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
409c61:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
409c65:	74 06                	je     0x409c6d
409c67:	81 cb 80 00 00 00    	or     $0x80,%ebx
409c6d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
409c71:	74 03                	je     0x409c76
409c73:	83 cb 40             	or     $0x40,%ebx
409c76:	8b c3                	mov    %ebx,%eax
409c78:	5b                   	pop    %ebx
409c79:	c9                   	leave
409c7a:	c2 0c 00             	ret    $0xc
409c7d:	cc                   	int3
409c7e:	cc                   	int3
409c7f:	cc                   	int3
409c80:	8b ff                	mov    %edi,%edi
409c82:	55                   	push   %ebp
409c83:	8b ec                	mov    %esp,%ebp
409c85:	83 e4 f8             	and    $0xfffffff8,%esp
409c88:	81 ec 04 01 00 00    	sub    $0x104,%esp
409c8e:	a1 10 42 42 00       	mov    0x424210,%eax
409c93:	33 c4                	xor    %esp,%eax
409c95:	89 84 24 00 01 00 00 	mov    %eax,0x100(%esp)
409c9c:	8b 45 10             	mov    0x10(%ebp),%eax
409c9f:	53                   	push   %ebx
409ca0:	56                   	push   %esi
409ca1:	8b 75 0c             	mov    0xc(%ebp),%esi
409ca4:	8b de                	mov    %esi,%ebx
409ca6:	57                   	push   %edi
409ca7:	8b 7d 08             	mov    0x8(%ebp),%edi
409caa:	81 e6 ff ff ff 7f    	and    $0x7fffffff,%esi
409cb0:	c1 eb 1f             	shr    $0x1f,%ebx
409cb3:	85 ff                	test   %edi,%edi
409cb5:	75 34                	jne    0x409ceb
409cb7:	85 c0                	test   %eax,%eax
409cb9:	75 30                	jne    0x409ceb
409cbb:	85 f6                	test   %esi,%esi
409cbd:	75 2c                	jne    0x409ceb
409cbf:	e8 5a ce ff ff       	call   0x406b1e
409cc4:	84 c0                	test   %al,%al
409cc6:	0f 85 8b 00 00 00    	jne    0x409d57
409ccc:	b9 40 5e 42 00       	mov    $0x425e40,%ecx
409cd1:	e8 a3 fb ff ff       	call   0x409879
409cd6:	84 c0                	test   %al,%al
409cd8:	74 7d                	je     0x409d57
409cda:	8b 0d 4c 5e 42 00    	mov    0x425e4c,%ecx
409ce0:	51                   	push   %ecx
409ce1:	83 c1 70             	add    $0x70,%ecx
409ce4:	e8 d0 f6 ff ff       	call   0x4093b9
409ce9:	eb 6c                	jmp    0x409d57
409ceb:	f7 c6 00 00 00 40    	test   $0x40000000,%esi
409cf1:	74 0f                	je     0x409d02
409cf3:	50                   	push   %eax
409cf4:	56                   	push   %esi
409cf5:	57                   	push   %edi
409cf6:	b9 40 5e 42 00       	mov    $0x425e40,%ecx
409cfb:	e8 d3 fa ff ff       	call   0x4097d3
409d00:	eb 55                	jmp    0x409d57
409d02:	85 c0                	test   %eax,%eax
409d04:	75 44                	jne    0x409d4a
409d06:	81 fe fe 00 00 00    	cmp    $0xfe,%esi
409d0c:	74 3c                	je     0x409d4a
409d0e:	53                   	push   %ebx
409d0f:	8b d6                	mov    %esi,%edx
409d11:	8b cf                	mov    %edi,%ecx
409d13:	e8 7c e4 ff ff       	call   0x408194
409d18:	85 c0                	test   %eax,%eax
409d1a:	74 3b                	je     0x409d57
409d1c:	51                   	push   %ecx
409d1d:	8d 44 24 44          	lea    0x44(%esp),%eax
409d21:	33 d2                	xor    %edx,%edx
409d23:	50                   	push   %eax
409d24:	51                   	push   %ecx
409d25:	8d 4c 24 18          	lea    0x18(%esp),%ecx
409d29:	e8 0c dd ff ff       	call   0x407a3a
409d2e:	85 c0                	test   %eax,%eax
409d30:	75 25                	jne    0x409d57
409d32:	53                   	push   %ebx
409d33:	56                   	push   %esi
409d34:	8b d7                	mov    %edi,%edx
409d36:	8d 4c 24 14          	lea    0x14(%esp),%ecx
409d3a:	e8 d9 e1 ff ff       	call   0x407f18
409d3f:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
409d43:	e8 7b df ff ff       	call   0x407cc3
409d48:	eb 0d                	jmp    0x409d57
409d4a:	50                   	push   %eax
409d4b:	56                   	push   %esi
409d4c:	57                   	push   %edi
409d4d:	b9 40 5e 42 00       	mov    $0x425e40,%ecx
409d52:	e8 96 f9 ff ff       	call   0x4096ed
409d57:	8b 8c 24 0c 01 00 00 	mov    0x10c(%esp),%ecx
409d5e:	5f                   	pop    %edi
409d5f:	5e                   	pop    %esi
409d60:	5b                   	pop    %ebx
409d61:	33 cc                	xor    %esp,%ecx
409d63:	e8 08 7b 01 00       	call   0x421870
409d68:	8b e5                	mov    %ebp,%esp
409d6a:	5d                   	pop    %ebp
409d6b:	c2 10 00             	ret    $0x10
409d6e:	cc                   	int3
409d6f:	cc                   	int3
409d70:	8b ff                	mov    %edi,%edi
409d72:	55                   	push   %ebp
409d73:	8b ec                	mov    %esp,%ebp
409d75:	83 e4 f8             	and    $0xfffffff8,%esp
409d78:	83 7d 10 ff          	cmpl   $0xffffffff,0x10(%ebp)
409d7c:	56                   	push   %esi
409d7d:	57                   	push   %edi
409d7e:	75 12                	jne    0x409d92
409d80:	ff 75 0c             	push   0xc(%ebp)
409d83:	b9 40 5e 42 00       	mov    $0x425e40,%ecx
409d88:	ff 75 08             	push   0x8(%ebp)
409d8b:	e8 b4 f9 ff ff       	call   0x409744
409d90:	eb 41                	jmp    0x409dd3
409d92:	8b 75 08             	mov    0x8(%ebp),%esi
409d95:	83 26 00             	andl   $0x0,(%esi)
409d98:	80 3d 40 5e 42 00 00 	cmpb   $0x0,0x425e40
409d9f:	74 32                	je     0x409dd3
409da1:	bf 50 5e 42 00       	mov    $0x425e50,%edi
409da6:	57                   	push   %edi
409da7:	ff 15 60 61 42 00    	call   *0x426160
409dad:	b9 40 5e 42 00       	mov    $0x425e40,%ecx
409db2:	e8 76 fc ff ff       	call   0x409a2d
409db7:	84 c0                	test   %al,%al
409db9:	74 11                	je     0x409dcc
409dbb:	ff 75 10             	push   0x10(%ebp)
409dbe:	b9 74 5e 42 00       	mov    $0x425e74,%ecx
409dc3:	ff 75 0c             	push   0xc(%ebp)
409dc6:	56                   	push   %esi
409dc7:	e8 02 f5 ff ff       	call   0x4092ce
409dcc:	57                   	push   %edi
409dcd:	ff 15 6c 61 42 00    	call   *0x42616c
409dd3:	5f                   	pop    %edi
409dd4:	5e                   	pop    %esi
409dd5:	8b e5                	mov    %ebp,%esp
409dd7:	5d                   	pop    %ebp
409dd8:	c2 0c 00             	ret    $0xc
409ddb:	cc                   	int3
409ddc:	cc                   	int3
409ddd:	cc                   	int3
409dde:	cc                   	int3
409ddf:	cc                   	int3
409de0:	8b ff                	mov    %edi,%edi
409de2:	55                   	push   %ebp
409de3:	8b ec                	mov    %esp,%ebp
409de5:	8b 45 08             	mov    0x8(%ebp),%eax
409de8:	85 c0                	test   %eax,%eax
409dea:	79 15                	jns    0x409e01
409dec:	80 3d 40 5e 42 00 00 	cmpb   $0x0,0x425e40
409df3:	74 25                	je     0x409e1a
409df5:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
409dfa:	b9 9c 5e 42 00       	mov    $0x425e9c,%ecx
409dff:	eb 0e                	jmp    0x409e0f
409e01:	80 3d 40 5e 42 00 00 	cmpb   $0x0,0x425e40
409e08:	74 10                	je     0x409e1a
409e0a:	b9 74 5e 42 00       	mov    $0x425e74,%ecx
409e0f:	50                   	push   %eax
409e10:	68 50 5e 42 00       	push   $0x425e50
409e15:	e8 46 f5 ff ff       	call   0x409360
409e1a:	5d                   	pop    %ebp
409e1b:	c2 04 00             	ret    $0x4
409e1e:	8b ff                	mov    %edi,%edi
409e20:	55                   	push   %ebp
409e21:	8b ec                	mov    %esp,%ebp
409e23:	56                   	push   %esi
409e24:	8b 35 e8 4c 42 00    	mov    0x424ce8,%esi
409e2a:	85 f6                	test   %esi,%esi
409e2c:	75 0a                	jne    0x409e38
409e2e:	8b 35 0c 4d 42 00    	mov    0x424d0c,%esi
409e34:	85 f6                	test   %esi,%esi
409e36:	74 11                	je     0x409e49
409e38:	6a 00                	push   $0x0
409e3a:	ff 75 08             	push   0x8(%ebp)
409e3d:	52                   	push   %edx
409e3e:	51                   	push   %ecx
409e3f:	8b ce                	mov    %esi,%ecx
409e41:	ff 15 78 64 42 00    	call   *0x426478
409e47:	ff d6                	call   *%esi
409e49:	5e                   	pop    %esi
409e4a:	5d                   	pop    %ebp
409e4b:	c2 08 00             	ret    $0x8
409e4e:	8b ff                	mov    %edi,%edi
409e50:	55                   	push   %ebp
409e51:	8b ec                	mov    %esp,%ebp
409e53:	56                   	push   %esi
409e54:	8b 35 04 4d 42 00    	mov    0x424d04,%esi
409e5a:	85 f6                	test   %esi,%esi
409e5c:	74 11                	je     0x409e6f
409e5e:	ff 75 08             	push   0x8(%ebp)
409e61:	52                   	push   %edx
409e62:	51                   	push   %ecx
409e63:	8b ce                	mov    %esi,%ecx
409e65:	ff 15 78 64 42 00    	call   *0x426478
409e6b:	ff d6                	call   *%esi
409e6d:	eb 0c                	jmp    0x409e7b
409e6f:	8b 35 1c 4d 42 00    	mov    0x424d1c,%esi
409e75:	85 f6                	test   %esi,%esi
409e77:	75 e5                	jne    0x409e5e
409e79:	21 31                	and    %esi,(%ecx)
409e7b:	5e                   	pop    %esi
409e7c:	5d                   	pop    %ebp
409e7d:	c2 04 00             	ret    $0x4
409e80:	8b ff                	mov    %edi,%edi
409e82:	55                   	push   %ebp
409e83:	8b ec                	mov    %esp,%ebp
409e85:	56                   	push   %esi
409e86:	8b 35 94 4d 42 00    	mov    0x424d94,%esi
409e8c:	85 f6                	test   %esi,%esi
409e8e:	75 0a                	jne    0x409e9a
409e90:	8b 35 98 4d 42 00    	mov    0x424d98,%esi
409e96:	85 f6                	test   %esi,%esi
409e98:	74 0d                	je     0x409ea7
409e9a:	ff 75 08             	push   0x8(%ebp)
409e9d:	8b ce                	mov    %esi,%ecx
409e9f:	ff 15 78 64 42 00    	call   *0x426478
409ea5:	ff d6                	call   *%esi
409ea7:	5e                   	pop    %esi
409ea8:	5d                   	pop    %ebp
409ea9:	c2 04 00             	ret    $0x4
409eac:	8b ff                	mov    %edi,%edi
409eae:	55                   	push   %ebp
409eaf:	8b ec                	mov    %esp,%ebp
409eb1:	51                   	push   %ecx
409eb2:	51                   	push   %ecx
409eb3:	56                   	push   %esi
409eb4:	8b f1                	mov    %ecx,%esi
409eb6:	80 3e 00             	cmpb   $0x0,(%esi)
409eb9:	74 78                	je     0x409f33
409ebb:	e8 5e cc ff ff       	call   0x406b1e
409ec0:	84 c0                	test   %al,%al
409ec2:	75 6f                	jne    0x409f33
409ec4:	53                   	push   %ebx
409ec5:	57                   	push   %edi
409ec6:	8d 7e 04             	lea    0x4(%esi),%edi
409ec9:	57                   	push   %edi
409eca:	ff 15 60 61 42 00    	call   *0x426160
409ed0:	8b 45 08             	mov    0x8(%ebp),%eax