401b71:	b8 f4 15 46 00       	mov    $0x4615f4,%eax
401b76:	e8 a9 f9 ff ff       	call   0x401524
401b7b:	eb 04                	jmp    0x401b81
401b7d:	33 c0                	xor    %eax,%eax
401b7f:	89 03                	mov    %eax,(%ebx)
401b81:	83 c4 18             	add    $0x18,%esp
401b84:	5b                   	pop    %ebx
401b85:	c3                   	ret
401b86:	8b c0                	mov    %eax,%eax
401b88:	55                   	push   %ebp
401b89:	8b ec                	mov    %esp,%ebp
401b8b:	51                   	push   %ecx
401b8c:	33 d2                	xor    %edx,%edx
401b8e:	55                   	push   %ebp
401b8f:	68 50 1c 40 00       	push   $0x401c50
401b94:	64 ff 32             	push   %fs:(%edx)
401b97:	64 89 22             	mov    %esp,%fs:(%edx)
401b9a:	68 c4 15 46 00       	push   $0x4615c4
401b9f:	e8 bc f7 ff ff       	call   0x401360
401ba4:	80 3d 45 10 46 00 00 	cmpb   $0x0,0x461045
401bab:	74 0a                	je     0x401bb7
401bad:	68 c4 15 46 00       	push   $0x4615c4
401bb2:	e8 b1 f7 ff ff       	call   0x401368
401bb7:	b8 e4 15 46 00       	mov    $0x4615e4,%eax
401bbc:	e8 43 f8 ff ff       	call   0x401404
401bc1:	b8 f4 15 46 00       	mov    $0x4615f4,%eax
401bc6:	e8 39 f8 ff ff       	call   0x401404
401bcb:	b8 20 16 46 00       	mov    $0x461620,%eax
401bd0:	e8 2f f8 ff ff       	call   0x401404
401bd5:	68 f8 0f 00 00       	push   $0xff8
401bda:	6a 00                	push   $0x0
401bdc:	e8 5f f7 ff ff       	call   0x401340
401be1:	a3 1c 16 46 00       	mov    %eax,0x46161c
401be6:	83 3d 1c 16 46 00 00 	cmpl   $0x0,0x46161c
401bed:	74 40                	je     0x401c2f
401bef:	b8 03 00 00 00       	mov    $0x3,%eax
401bf4:	8b 15 1c 16 46 00    	mov    0x46161c,%edx
401bfa:	33 c9                	xor    %ecx,%ecx
401bfc:	89 4c 82 f4          	mov    %ecx,-0xc(%edx,%eax,4)
401c00:	40                   	inc    %eax
401c01:	3d 01 04 00 00       	cmp    $0x401,%eax
401c06:	75 ec                	jne    0x401bf4
401c08:	c7 45 fc 04 16 46 00 	movl   $0x461604,-0x4(%ebp)
401c0f:	8b 45 fc             	mov    -0x4(%ebp),%eax
401c12:	8b 55 fc             	mov    -0x4(%ebp),%edx
401c15:	89 50 04             	mov    %edx,0x4(%eax)
401c18:	8b 45 fc             	mov    -0x4(%ebp),%eax
401c1b:	8b 55 fc             	mov    -0x4(%ebp),%edx
401c1e:	89 10                	mov    %edx,(%eax)
401c20:	8b 45 fc             	mov    -0x4(%ebp),%eax
401c23:	a3 10 16 46 00       	mov    %eax,0x461610
401c28:	c6 05 bc 15 46 00 01 	movb   $0x1,0x4615bc
401c2f:	33 c0                	xor    %eax,%eax
401c31:	5a                   	pop    %edx
401c32:	59                   	pop    %ecx
401c33:	59                   	pop    %ecx
401c34:	64 89 10             	mov    %edx,%fs:(%eax)
401c37:	68 57 1c 40 00       	push   $0x401c57
401c3c:	80 3d 45 10 46 00 00 	cmpb   $0x0,0x461045
401c43:	74 0a                	je     0x401c4f
401c45:	68 c4 15 46 00       	push   $0x4615c4
401c4a:	e8 21 f7 ff ff       	call   0x401370
401c4f:	c3                   	ret
401c50:	e9 f7 22 00 00       	jmp    0x403f4c
401c55:	eb e5                	jmp    0x401c3c
401c57:	a0 bc 15 46 00       	mov    0x4615bc,%al
401c5c:	59                   	pop    %ecx
401c5d:	5d                   	pop    %ebp
401c5e:	c3                   	ret
401c5f:	90                   	nop
401c60:	55                   	push   %ebp
401c61:	8b ec                	mov    %esp,%ebp
401c63:	83 c4 f8             	add    $0xfffffff8,%esp
401c66:	80 3d bc 15 46 00 00 	cmpb   $0x0,0x4615bc
401c6d:	0f 84 e8 00 00 00    	je     0x401d5b
401c73:	33 c0                	xor    %eax,%eax
401c75:	55                   	push   %ebp
401c76:	68 54 1d 40 00       	push   $0x401d54
401c7b:	64 ff 30             	push   %fs:(%eax)
401c7e:	64 89 20             	mov    %esp,%fs:(%eax)
401c81:	80 3d 45 10 46 00 00 	cmpb   $0x0,0x461045
401c88:	74 0a                	je     0x401c94
401c8a:	68 c4 15 46 00       	push   $0x4615c4
401c8f:	e8 d4 f6 ff ff       	call   0x401368
401c94:	c6 05 bc 15 46 00 00 	movb   $0x0,0x4615bc
401c9b:	a1 1c 16 46 00       	mov    0x46161c,%eax
401ca0:	50                   	push   %eax
401ca1:	e8 a2 f6 ff ff       	call   0x401348
401ca6:	33 c0                	xor    %eax,%eax
401ca8:	a3 1c 16 46 00       	mov    %eax,0x46161c
401cad:	a1 e4 15 46 00       	mov    0x4615e4,%eax
401cb2:	89 45 f8             	mov    %eax,-0x8(%ebp)
401cb5:	eb 1b                	jmp    0x401cd2
401cb7:	68 00 80 00 00       	push   $0x8000
401cbc:	6a 00                	push   $0x0
401cbe:	8b 45 f8             	mov    -0x8(%ebp),%eax
401cc1:	8b 40 08             	mov    0x8(%eax),%eax
401cc4:	50                   	push   %eax
401cc5:	e8 8e f6 ff ff       	call   0x401358
401cca:	8b 45 f8             	mov    -0x8(%ebp),%eax
401ccd:	8b 00                	mov    (%eax),%eax
401ccf:	89 45 f8             	mov    %eax,-0x8(%ebp)
401cd2:	b8 e4 15 46 00       	mov    $0x4615e4,%eax
401cd7:	3b 45 f8             	cmp    -0x8(%ebp),%eax
401cda:	75 db                	jne    0x401cb7
401cdc:	b8 e4 15 46 00       	mov    $0x4615e4,%eax
401ce1:	e8 1e f7 ff ff       	call   0x401404
401ce6:	b8 f4 15 46 00       	mov    $0x4615f4,%eax
401ceb:	e8 14 f7 ff ff       	call   0x401404
401cf0:	b8 20 16 46 00       	mov    $0x461620,%eax
401cf5:	e8 0a f7 ff ff       	call   0x401404
401cfa:	a1 dc 15 46 00       	mov    0x4615dc,%eax
401cff:	89 45 fc             	mov    %eax,-0x4(%ebp)
401d02:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
401d06:	74 21                	je     0x401d29
401d08:	8b 45 fc             	mov    -0x4(%ebp),%eax
401d0b:	8b 00                	mov    (%eax),%eax
401d0d:	a3 dc 15 46 00       	mov    %eax,0x4615dc
401d12:	8b 45 fc             	mov    -0x4(%ebp),%eax
401d15:	50                   	push   %eax
401d16:	e8 2d f6 ff ff       	call   0x401348
401d1b:	a1 dc 15 46 00       	mov    0x4615dc,%eax
401d20:	89 45 fc             	mov    %eax,-0x4(%ebp)
401d23:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
401d27:	75 df                	jne    0x401d08
401d29:	33 c0                	xor    %eax,%eax
401d2b:	5a                   	pop    %edx
401d2c:	59                   	pop    %ecx
401d2d:	59                   	pop    %ecx
401d2e:	64 89 10             	mov    %edx,%fs:(%eax)
401d31:	68 5b 1d 40 00       	push   $0x401d5b
401d36:	80 3d 45 10 46 00 00 	cmpb   $0x0,0x461045
401d3d:	74 0a                	je     0x401d49
401d3f:	68 c4 15 46 00       	push   $0x4615c4
401d44:	e8 27 f6 ff ff       	call   0x401370
401d49:	68 c4 15 46 00       	push   $0x4615c4
401d4e:	e8 25 f6 ff ff       	call   0x401378
401d53:	c3                   	ret
401d54:	e9 f3 21 00 00       	jmp    0x403f4c
401d59:	eb db                	jmp    0x401d36
401d5b:	59                   	pop    %ecx
401d5c:	59                   	pop    %ecx
401d5d:	5d                   	pop    %ebp
401d5e:	c3                   	ret
401d5f:	90                   	nop
401d60:	53                   	push   %ebx
401d61:	83 c4 f8             	add    $0xfffffff8,%esp
401d64:	3b 05 10 16 46 00    	cmp    0x461610,%eax
401d6a:	75 09                	jne    0x401d75
401d6c:	8b 50 04             	mov    0x4(%eax),%edx
401d6f:	89 15 10 16 46 00    	mov    %edx,0x461610
401d75:	8b 50 04             	mov    0x4(%eax),%edx
401d78:	89 14 24             	mov    %edx,(%esp)
401d7b:	8b 50 08             	mov    0x8(%eax),%edx
401d7e:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
401d84:	7f 4e                	jg     0x401dd4
401d86:	3b 04 24             	cmp    (%esp),%eax
401d89:	75 17                	jne    0x401da2
401d8b:	85 d2                	test   %edx,%edx
401d8d:	79 03                	jns    0x401d92
401d8f:	83 c2 03             	add    $0x3,%edx
401d92:	c1 fa 02             	sar    $0x2,%edx
401d95:	a1 1c 16 46 00       	mov    0x46161c,%eax
401d9a:	33 c9                	xor    %ecx,%ecx
401d9c:	89 4c 90 f4          	mov    %ecx,-0xc(%eax,%edx,4)
401da0:	eb 4b                	jmp    0x401ded
401da2:	85 d2                	test   %edx,%edx
401da4:	79 03                	jns    0x401da9
401da6:	83 c2 03             	add    $0x3,%edx
401da9:	c1 fa 02             	sar    $0x2,%edx
401dac:	8b 0d 1c 16 46 00    	mov    0x46161c,%ecx
401db2:	8b 1c 24             	mov    (%esp),%ebx
401db5:	89 5c 91 f4          	mov    %ebx,-0xc(%ecx,%edx,4)
401db9:	8b 00                	mov    (%eax),%eax
401dbb:	89 44 24 04          	mov    %eax,0x4(%esp)
401dbf:	8b 04 24             	mov    (%esp),%eax
401dc2:	8b 54 24 04          	mov    0x4(%esp),%edx
401dc6:	89 10                	mov    %edx,(%eax)
401dc8:	8b 44 24 04          	mov    0x4(%esp),%eax
401dcc:	8b 14 24             	mov    (%esp),%edx
401dcf:	89 50 04             	mov    %edx,0x4(%eax)
401dd2:	eb 19                	jmp    0x401ded
401dd4:	8b 00                	mov    (%eax),%eax
401dd6:	89 44 24 04          	mov    %eax,0x4(%esp)
401dda:	8b 04 24             	mov    (%esp),%eax
401ddd:	8b 54 24 04          	mov    0x4(%esp),%edx
401de1:	89 10                	mov    %edx,(%eax)
401de3:	8b 44 24 04          	mov    0x4(%esp),%eax
401de7:	8b 14 24             	mov    (%esp),%edx
401dea:	89 50 04             	mov    %edx,0x4(%eax)
401ded:	59                   	pop    %ecx
401dee:	5a                   	pop    %edx
401def:	5b                   	pop    %ebx
401df0:	c3                   	ret
401df1:	8d 40 00             	lea    0x0(%eax),%eax
401df4:	53                   	push   %ebx
401df5:	51                   	push   %ecx
401df6:	8b cc                	mov    %esp,%ecx
401df8:	8b 15 20 16 46 00    	mov    0x461620,%edx
401dfe:	89 11                	mov    %edx,(%ecx)
401e00:	eb 18                	jmp    0x401e1a
401e02:	8b 11                	mov    (%ecx),%edx
401e04:	8b 52 08             	mov    0x8(%edx),%edx
401e07:	3b c2                	cmp    %edx,%eax
401e09:	72 09                	jb     0x401e14
401e0b:	8b 19                	mov    (%ecx),%ebx
401e0d:	03 53 0c             	add    0xc(%ebx),%edx
401e10:	3b c2                	cmp    %edx,%eax
401e12:	72 1d                	jb     0x401e31
401e14:	8b 11                	mov    (%ecx),%edx
401e16:	8b 12                	mov    (%edx),%edx
401e18:	89 11                	mov    %edx,(%ecx)
401e1a:	ba 20 16 46 00       	mov    $0x461620,%edx
401e1f:	3b 11                	cmp    (%ecx),%edx
401e21:	75 df                	jne    0x401e02
401e23:	c7 05 c0 15 46 00 03 	movl   $0x3,0x4615c0
401e2a:	00 00 00
401e2d:	33 c0                	xor    %eax,%eax
401e2f:	89 01                	mov    %eax,(%ecx)
401e31:	8b 01                	mov    (%ecx),%eax
401e33:	5a                   	pop    %edx
401e34:	5b                   	pop    %ebx
401e35:	c3                   	ret
401e36:	8b c0                	mov    %eax,%eax
401e38:	53                   	push   %ebx
401e39:	51                   	push   %ecx
401e3a:	8b ca                	mov    %edx,%ecx
401e3c:	83 e9 04             	sub    $0x4,%ecx
401e3f:	8d 1c 01             	lea    (%ecx,%eax,1),%ebx
401e42:	89 1c 24             	mov    %ebx,(%esp)
401e45:	83 fa 10             	cmp    $0x10,%edx
401e48:	7c 13                	jl     0x401e5d
401e4a:	8b 14 24             	mov    (%esp),%edx
401e4d:	c7 02 07 00 00 80    	movl   $0x80000007,(%edx)
401e53:	8b d1                	mov    %ecx,%edx
401e55:	e8 da 01 00 00       	call   0x402034
401e5a:	5a                   	pop    %edx
401e5b:	5b                   	pop    %ebx
401e5c:	c3                   	ret
401e5d:	83 fa 04             	cmp    $0x4,%edx
401e60:	7c 0f                	jl     0x401e71
401e62:	8b ca                	mov    %edx,%ecx
401e64:	81 c9 02 00 00 80    	or     $0x80000002,%ecx
401e6a:	89 08                	mov    %ecx,(%eax)
401e6c:	8b 04 24             	mov    (%esp),%eax
401e6f:	89 08                	mov    %ecx,(%eax)
401e71:	5a                   	pop    %edx
401e72:	5b                   	pop    %ebx
401e73:	c3                   	ret
401e74:	ff 05 ac 15 46 00    	incl   0x4615ac
401e7a:	8b d0                	mov    %eax,%edx
401e7c:	83 ea 04             	sub    $0x4,%edx
401e7f:	8b 12                	mov    (%edx),%edx
401e81:	81 e2 fc ff ff 7f    	and    $0x7ffffffc,%edx
401e87:	83 ea 04             	sub    $0x4,%edx
401e8a:	01 15 b0 15 46 00    	add    %edx,0x4615b0
401e90:	e8 fb 06 00 00       	call   0x402590
401e95:	c3                   	ret
401e96:	8b c0                	mov    %eax,%eax
401e98:	83 fa 0c             	cmp    $0xc,%edx
401e9b:	7c 0e                	jl     0x401eab
401e9d:	83 ca 02             	or     $0x2,%edx
401ea0:	89 10                	mov    %edx,(%eax)
401ea2:	83 c0 04             	add    $0x4,%eax
401ea5:	e8 ca ff ff ff       	call   0x401e74
401eaa:	c3                   	ret
401eab:	83 fa 04             	cmp    $0x4,%edx
401eae:	7c 0a                	jl     0x401eba
401eb0:	8b ca                	mov    %edx,%ecx
401eb2:	81 c9 02 00 00 80    	or     $0x80000002,%ecx
401eb8:	89 08                	mov    %ecx,(%eax)
401eba:	03 c2                	add    %edx,%eax
401ebc:	83 20 fe             	andl   $0xfffffffe,(%eax)
401ebf:	c3                   	ret
401ec0:	53                   	push   %ebx
401ec1:	56                   	push   %esi
401ec2:	51                   	push   %ecx
401ec3:	8b d0                	mov    %eax,%edx
401ec5:	83 ea 04             	sub    $0x4,%edx
401ec8:	8b 12                	mov    (%edx),%edx
401eca:	8b ca                	mov    %edx,%ecx
401ecc:	81 e1 02 00 00 80    	and    $0x80000002,%ecx
401ed2:	81 f9 02 00 00 80    	cmp    $0x80000002,%ecx
401ed8:	74 0a                	je     0x401ee4
401eda:	c7 05 c0 15 46 00 04 	movl   $0x4,0x4615c0
401ee1:	00 00 00
401ee4:	8b da                	mov    %edx,%ebx
401ee6:	81 e3 fc ff ff 7f    	and    $0x7ffffffc,%ebx
401eec:	2b c3                	sub    %ebx,%eax
401eee:	8b c8                	mov    %eax,%ecx
401ef0:	33 11                	xor    (%ecx),%edx
401ef2:	f7 c2 fe ff ff ff    	test   $0xfffffffe,%edx
401ef8:	74 0a                	je     0x401f04
401efa:	c7 05 c0 15 46 00 05 	movl   $0x5,0x4615c0
401f01:	00 00 00
401f04:	f6 01 01             	testb  $0x1,(%ecx)
401f07:	74 29                	je     0x401f32
401f09:	8b d0                	mov    %eax,%edx
401f0b:	83 ea 0c             	sub    $0xc,%edx
401f0e:	8b 72 08             	mov    0x8(%edx),%esi
401f11:	2b c6                	sub    %esi,%eax
401f13:	89 04 24             	mov    %eax,(%esp)
401f16:	8b 04 24             	mov    (%esp),%eax
401f19:	3b 70 08             	cmp    0x8(%eax),%esi
401f1c:	74 0a                	je     0x401f28
401f1e:	c7 05 c0 15 46 00 06 	movl   $0x6,0x4615c0
401f25:	00 00 00
401f28:	8b 04 24             	mov    (%esp),%eax
401f2b:	e8 30 fe ff ff       	call   0x401d60
401f30:	03 de                	add    %esi,%ebx
401f32:	8b c3                	mov    %ebx,%eax
401f34:	5a                   	pop    %edx
401f35:	5e                   	pop    %esi
401f36:	5b                   	pop    %ebx
401f37:	c3                   	ret
401f38:	53                   	push   %ebx
401f39:	56                   	push   %esi
401f3a:	51                   	push   %ecx
401f3b:	8b d8                	mov    %eax,%ebx
401f3d:	33 f6                	xor    %esi,%esi
401f3f:	8b 03                	mov    (%ebx),%eax
401f41:	a9 00 00 00 80       	test   $0x80000000,%eax
401f46:	74 0b                	je     0x401f53
401f48:	25 fc ff ff 7f       	and    $0x7ffffffc,%eax
401f4d:	03 f0                	add    %eax,%esi
401f4f:	03 d8                	add    %eax,%ebx
401f51:	8b 03                	mov    (%ebx),%eax
401f53:	a8 02                	test   $0x2,%al
401f55:	75 18                	jne    0x401f6f
401f57:	89 1c 24             	mov    %ebx,(%esp)
401f5a:	8b 04 24             	mov    (%esp),%eax
401f5d:	e8 fe fd ff ff       	call   0x401d60
401f62:	8b 04 24             	mov    (%esp),%eax
401f65:	8b 40 08             	mov    0x8(%eax),%eax
401f68:	03 f0                	add    %eax,%esi
401f6a:	03 d8                	add    %eax,%ebx
401f6c:	83 23 fe             	andl   $0xfffffffe,(%ebx)
401f6f:	8b c6                	mov    %esi,%eax
401f71:	5a                   	pop    %edx
401f72:	5e                   	pop    %esi
401f73:	5b                   	pop    %ebx
401f74:	c3                   	ret
401f75:	8d 40 00             	lea    0x0(%eax),%eax
401f78:	53                   	push   %ebx
401f79:	56                   	push   %esi
401f7a:	57                   	push   %edi
401f7b:	55                   	push   %ebp
401f7c:	83 c4 f4             	add    $0xfffffff4,%esp
401f7f:	8b f2                	mov    %edx,%esi
401f81:	8b e8                	mov    %eax,%ebp