599c65:	85 c9                	test   %ecx,%ecx
599c67:	74 02                	je     0x599c6b
599c69:	89 01                	mov    %eax,(%ecx)
599c6b:	b8 01 00 00 00       	mov    $0x1,%eax
599c70:	c3                   	ret
599c71:	33 c0                	xor    %eax,%eax
599c73:	c3                   	ret
599c74:	cc                   	int3
599c75:	cc                   	int3
599c76:	cc                   	int3
599c77:	cc                   	int3
599c78:	cc                   	int3
599c79:	cc                   	int3
599c7a:	cc                   	int3
599c7b:	cc                   	int3
599c7c:	cc                   	int3
599c7d:	cc                   	int3
599c7e:	cc                   	int3
599c7f:	cc                   	int3
599c80:	56                   	push   %esi
599c81:	8b 74 24 08          	mov    0x8(%esp),%esi
599c85:	56                   	push   %esi
599c86:	e8 55 38 ff ff       	call   0x58d4e0
599c8b:	83 c4 04             	add    $0x4,%esp
599c8e:	85 c0                	test   %eax,%eax
599c90:	74 17                	je     0x599ca9
599c92:	8b 46 04             	mov    0x4(%esi),%eax
599c95:	56                   	push   %esi
599c96:	8b 40 10             	mov    0x10(%eax),%eax
599c99:	ff d0                	call   *%eax
599c9b:	83 c4 04             	add    $0x4,%esp
599c9e:	85 c0                	test   %eax,%eax
599ca0:	74 07                	je     0x599ca9
599ca2:	b8 01 00 00 00       	mov    $0x1,%eax
599ca7:	5e                   	pop    %esi
599ca8:	c3                   	ret
599ca9:	33 c0                	xor    %eax,%eax
599cab:	5e                   	pop    %esi
599cac:	c3                   	ret
599cad:	cc                   	int3
599cae:	cc                   	int3
599caf:	cc                   	int3
599cb0:	b8 08 00 00 00       	mov    $0x8,%eax
599cb5:	e8 f6 7a 03 00       	call   0x5d17b0
599cba:	53                   	push   %ebx
599cbb:	55                   	push   %ebp
599cbc:	56                   	push   %esi
599cbd:	57                   	push   %edi
599cbe:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
599cc2:	68 df 06 00 00       	push   $0x6df
599cc7:	68 30 7b 66 00       	push   $0x667b30
599ccc:	8b 9f 04 04 00 00    	mov    0x404(%edi),%ebx
599cd2:	8b 6f 7c             	mov    0x7c(%edi),%ebp
599cd5:	ff b7 88 0f 00 00    	push   0xf88(%edi)
599cdb:	81 c5 7c 02 00 00    	add    $0x27c,%ebp
599ce1:	8b 43 10             	mov    0x10(%ebx),%eax
599ce4:	25 00 00 03 00       	and    $0x30000,%eax
599ce9:	89 44 24 28          	mov    %eax,0x28(%esp)
599ced:	e8 8e 6a f4 ff       	call   0x4e0780
599cf2:	8b 44 24 28          	mov    0x28(%esp),%eax
599cf6:	83 c4 0c             	add    $0xc,%esp
599cf9:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
599cfd:	c7 87 88 0f 00 00 00 	movl   $0x0,0xf88(%edi)
599d04:	00 00 00
599d07:	c7 87 8c 0f 00 00 00 	movl   $0x0,0xf8c(%edi)
599d0e:	00 00 00
599d11:	75 16                	jne    0x599d29
599d13:	8b b3 d8 00 00 00    	mov    0xd8(%ebx),%esi
599d19:	85 f6                	test   %esi,%esi
599d1b:	74 0c                	je     0x599d29
599d1d:	85 c0                	test   %eax,%eax
599d1f:	75 08                	jne    0x599d29
599d21:	8b 8b dc 00 00 00    	mov    0xdc(%ebx),%ecx
599d27:	eb 30                	jmp    0x599d59
599d29:	8b b3 d0 00 00 00    	mov    0xd0(%ebx),%esi
599d2f:	85 f6                	test   %esi,%esi
599d31:	74 0c                	je     0x599d3f
599d33:	85 c0                	test   %eax,%eax
599d35:	75 08                	jne    0x599d3f
599d37:	8b 8b d4 00 00 00    	mov    0xd4(%ebx),%ecx
599d3d:	eb 1a                	jmp    0x599d59
599d3f:	8d 44 24 14          	lea    0x14(%esp),%eax
599d43:	50                   	push   %eax
599d44:	6a 00                	push   $0x0
599d46:	57                   	push   %edi
599d47:	e8 04 ed ff ff       	call   0x598a50
599d4c:	8b 74 24 20          	mov    0x20(%esp),%esi
599d50:	8b c8                	mov    %eax,%ecx
599d52:	8b 44 24 28          	mov    0x28(%esp),%eax
599d56:	83 c4 0c             	add    $0xc,%esp
599d59:	f7 87 ec 04 00 00 00 	testl  $0x400000,0x4ec(%edi)
599d60:	00 40 00
599d63:	89 4c 24 10          	mov    %ecx,0x10(%esp)
599d67:	75 19                	jne    0x599d82
599d69:	85 c0                	test   %eax,%eax
599d6b:	75 15                	jne    0x599d82
599d6d:	8b 47 7c             	mov    0x7c(%edi),%eax
599d70:	8b 90 68 02 00 00    	mov    0x268(%eax),%edx
599d76:	8b 98 70 02 00 00    	mov    0x270(%eax),%ebx
599d7c:	89 54 24 14          	mov    %edx,0x14(%esp)
599d80:	eb 1b                	jmp    0x599d9d
599d82:	8b 47 7c             	mov    0x7c(%edi),%eax
599d85:	8b d9                	mov    %ecx,%ebx
599d87:	8b d6                	mov    %esi,%edx
599d89:	89 74 24 14          	mov    %esi,0x14(%esp)
599d8d:	8b 88 70 02 00 00    	mov    0x270(%eax),%ecx
599d93:	8b b0 68 02 00 00    	mov    0x268(%eax),%esi
599d99:	89 4c 24 10          	mov    %ecx,0x10(%esp)
599d9d:	51                   	push   %ecx
599d9e:	56                   	push   %esi
599d9f:	53                   	push   %ebx
599da0:	52                   	push   %edx
599da1:	6a 00                	push   $0x0
599da3:	57                   	push   %edi
599da4:	89 5c 24 34          	mov    %ebx,0x34(%esp)
599da8:	e8 53 ed ff ff       	call   0x598b00
599dad:	83 c4 18             	add    $0x18,%esp
599db0:	85 c0                	test   %eax,%eax
599db2:	74 5a                	je     0x599e0e
599db4:	68 f8 06 00 00       	push   $0x6f8
599db9:	c1 e0 02             	shl    $0x2,%eax
599dbc:	68 30 7b 66 00       	push   $0x667b30
599dc1:	50                   	push   %eax
599dc2:	e8 89 69 f4 ff       	call   0x4e0750
599dc7:	8b d8                	mov    %eax,%ebx
599dc9:	83 c4 0c             	add    $0xc,%esp
599dcc:	85 db                	test   %ebx,%ebx
599dce:	75 25                	jne    0x599df5
599dd0:	68 f9 06 00 00       	push   $0x6f9
599dd5:	68 30 7b 66 00       	push   $0x667b30
599dda:	6a 41                	push   $0x41
599ddc:	68 77 02 00 00       	push   $0x277
599de1:	6a 14                	push   $0x14
599de3:	e8 98 f1 f3 ff       	call   0x4d8f80
599de8:	83 c4 14             	add    $0x14,%esp
599deb:	33 c0                	xor    %eax,%eax
599ded:	5f                   	pop    %edi
599dee:	5e                   	pop    %esi
599def:	5d                   	pop    %ebp
599df0:	5b                   	pop    %ebx
599df1:	83 c4 08             	add    $0x8,%esp
599df4:	c3                   	ret
599df5:	ff 74 24 10          	push   0x10(%esp)
599df9:	56                   	push   %esi
599dfa:	ff 74 24 24          	push   0x24(%esp)
599dfe:	ff 74 24 20          	push   0x20(%esp)
599e02:	53                   	push   %ebx
599e03:	57                   	push   %edi
599e04:	e8 f7 ec ff ff       	call   0x598b00
599e09:	83 c4 18             	add    $0x18,%esp
599e0c:	eb 02                	jmp    0x599e10
599e0e:	33 db                	xor    %ebx,%ebx
599e10:	89 87 8c 0f 00 00    	mov    %eax,0xf8c(%edi)
599e16:	33 f6                	xor    %esi,%esi
599e18:	89 9f 88 0f 00 00    	mov    %ebx,0xf88(%edi)
599e1e:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
599e25:	c7 45 04 00 00 00 00 	movl   $0x0,0x4(%ebp)
599e2c:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
599e33:	c7 45 0c 00 00 00 00 	movl   $0x0,0xc(%ebp)
599e3a:	c7 45 10 00 00 00 00 	movl   $0x0,0x10(%ebp)
599e41:	c7 45 14 00 00 00 00 	movl   $0x0,0x14(%ebp)
599e48:	c7 45 18 00 00 00 00 	movl   $0x0,0x18(%ebp)
599e4f:	c7 45 1c 00 00 00 00 	movl   $0x0,0x1c(%ebp)
599e56:	c7 45 20 00 00 00 00 	movl   $0x0,0x20(%ebp)
599e5d:	39 b7 8c 0f 00 00    	cmp    %esi,0xf8c(%edi)
599e63:	76 5e                	jbe    0x599ec3
599e65:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%eax,%eax,1)
599e6c:	00 00 00 00
599e70:	8b 87 88 0f 00 00    	mov    0xf88(%edi),%eax
599e76:	8b 4f 04             	mov    0x4(%edi),%ecx
599e79:	8b 1c b0             	mov    (%eax,%esi,4),%ebx
599e7c:	8b 41 64             	mov    0x64(%ecx),%eax
599e7f:	f6 40 30 08          	testb  $0x8,0x30(%eax)
599e83:	75 16                	jne    0x599e9b
599e85:	8b 01                	mov    (%ecx),%eax
599e87:	3d 04 03 00 00       	cmp    $0x304,%eax
599e8c:	7c 0d                	jl     0x599e9b
599e8e:	3d 00 00 01 00       	cmp    $0x10000,%eax
599e93:	74 06                	je     0x599e9b
599e95:	83 7b 10 06          	cmpl   $0x6,0x10(%ebx)
599e99:	74 1f                	je     0x599eba
599e9b:	8b 5b 14             	mov    0x14(%ebx),%ebx
599e9e:	83 7c 9d 00 00       	cmpl   $0x0,0x0(%ebp,%ebx,4)
599ea3:	75 15                	jne    0x599eba
599ea5:	53                   	push   %ebx
599ea6:	e8 25 cb fe ff       	call   0x5869d0
599eab:	83 c4 04             	add    $0x4,%esp
599eae:	85 c0                	test   %eax,%eax
599eb0:	75 08                	jne    0x599eba
599eb2:	c7 44 9d 00 02 01 00 	movl   $0x102,0x0(%ebp,%ebx,4)
599eb9:	00
599eba:	46                   	inc    %esi
599ebb:	3b b7 8c 0f 00 00    	cmp    0xf8c(%edi),%esi
599ec1:	72 ad                	jb     0x599e70
599ec3:	5f                   	pop    %edi
599ec4:	5e                   	pop    %esi
599ec5:	5d                   	pop    %ebp
599ec6:	b8 01 00 00 00       	mov    $0x1,%eax
599ecb:	5b                   	pop    %ebx
599ecc:	83 c4 08             	add    $0x8,%esp
599ecf:	c3                   	ret
599ed0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
599ed4:	8b 41 04             	mov    0x4(%ecx),%eax
599ed7:	8b 40 64             	mov    0x64(%eax),%eax
599eda:	f6 40 30 02          	testb  $0x2,0x30(%eax)
599ede:	75 06                	jne    0x599ee6
599ee0:	b8 01 00 00 00       	mov    $0x1,%eax
599ee5:	c3                   	ret
599ee6:	83 b9 04 04 00 00 00 	cmpl   $0x0,0x404(%ecx)
599eed:	75 03                	jne    0x599ef2
599eef:	33 c0                	xor    %eax,%eax
599ef1:	c3                   	ret
599ef2:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
599ef7:	8b 49 7c             	mov    0x7c(%ecx),%ecx
599efa:	74 1b                	je     0x599f17
599efc:	8d 81 74 02 00 00    	lea    0x274(%ecx),%eax
599f02:	50                   	push   %eax
599f03:	8d 81 6c 02 00 00    	lea    0x26c(%ecx),%eax
599f09:	50                   	push   %eax
599f0a:	ff 74 24 10          	push   0x10(%esp)
599f0e:	e8 2d 00 00 00       	call   0x599f40
599f13:	83 c4 0c             	add    $0xc,%esp
599f16:	c3                   	ret
599f17:	8d 81 70 02 00 00    	lea    0x270(%ecx),%eax
599f1d:	50                   	push   %eax
599f1e:	8d 81 68 02 00 00    	lea    0x268(%ecx),%eax
599f24:	50                   	push   %eax
599f25:	ff 74 24 10          	push   0x10(%esp)
599f29:	e8 12 00 00 00       	call   0x599f40
599f2e:	83 c4 0c             	add    $0xc,%esp
599f31:	c3                   	ret
599f32:	cc                   	int3
599f33:	cc                   	int3
599f34:	cc                   	int3
599f35:	cc                   	int3
599f36:	cc                   	int3
599f37:	cc                   	int3
599f38:	cc                   	int3
599f39:	cc                   	int3
599f3a:	cc                   	int3
599f3b:	cc                   	int3
599f3c:	cc                   	int3
599f3d:	cc                   	int3
599f3e:	cc                   	int3
599f3f:	cc                   	int3
599f40:	53                   	push   %ebx
599f41:	56                   	push   %esi
599f42:	8b 74 24 0c          	mov    0xc(%esp),%esi
599f46:	8b 5e 04             	mov    0x4(%esi),%ebx
599f49:	85 db                	test   %ebx,%ebx
599f4b:	0f 84 d5 00 00 00    	je     0x59a026
599f51:	f6 c3 01             	test   $0x1,%bl
599f54:	0f 85 cc 00 00 00    	jne    0x59a026
599f5a:	57                   	push   %edi
599f5b:	d1 eb                	shr    $1,%ebx
599f5d:	68 13 07 00 00       	push   $0x713
599f62:	68 30 7b 66 00       	push   $0x667b30
599f67:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
599f6a:	50                   	push   %eax
599f6b:	e8 e0 67 f4 ff       	call   0x4e0750
599f70:	8b f8                	mov    %eax,%edi
599f72:	83 c4 0c             	add    $0xc,%esp
599f75:	89 7c 24 10          	mov    %edi,0x10(%esp)
599f79:	85 ff                	test   %edi,%edi
599f7b:	75 21                	jne    0x599f9e
599f7d:	68 14 07 00 00       	push   $0x714
599f82:	68 30 7b 66 00       	push   $0x667b30
599f87:	6a 41                	push   $0x41
599f89:	68 74 02 00 00       	push   $0x274
599f8e:	6a 14                	push   $0x14
599f90:	e8 eb ef f3 ff       	call   0x4d8f80
599f95:	83 c4 14             	add    $0x14,%esp
599f98:	33 c0                	xor    %eax,%eax
599f9a:	5f                   	pop    %edi
599f9b:	5e                   	pop    %esi
599f9c:	5b                   	pop    %ebx
599f9d:	c3                   	ret
599f9e:	55                   	push   %ebp
599f9f:	33 ed                	xor    %ebp,%ebp
599fa1:	85 db                	test   %ebx,%ebx
599fa3:	74 3a                	je     0x599fdf
599fa5:	8b 7e 04             	mov    0x4(%esi),%edi
599fa8:	83 ff 02             	cmp    $0x2,%edi
599fab:	72 2e                	jb     0x599fdb
599fad:	8b 06                	mov    (%esi),%eax
599faf:	8a 08                	mov    (%eax),%cl
599fb1:	8a 50 01             	mov    0x1(%eax),%dl
599fb4:	83 c0 02             	add    $0x2,%eax
599fb7:	89 06                	mov    %eax,(%esi)
599fb9:	8d 47 fe             	lea    -0x2(%edi),%eax
599fbc:	8b 7c 24 14          	mov    0x14(%esp),%edi
599fc0:	0f b6 c9             	movzbl %cl,%ecx
599fc3:	89 46 04             	mov    %eax,0x4(%esi)
599fc6:	66 c1 e1 08          	shl    $0x8,%cx
599fca:	0f b6 c2             	movzbl %dl,%eax
599fcd:	66 0b c8             	or     %ax,%cx
599fd0:	66 89 0c 6f          	mov    %cx,(%edi,%ebp,2)
599fd4:	45                   	inc    %ebp
599fd5:	3b eb                	cmp    %ebx,%ebp
599fd7:	72 cc                	jb     0x599fa5
599fd9:	eb 04                	jmp    0x599fdf
599fdb:	8b 7c 24 14          	mov    0x14(%esp),%edi
599fdf:	3b eb                	cmp    %ebx,%ebp
599fe1:	5d                   	pop    %ebp
599fe2:	74 19                	je     0x599ffd
599fe4:	68 1b 07 00 00       	push   $0x71b
599fe9:	68 30 7b 66 00       	push   $0x667b30
599fee:	57                   	push   %edi
599fef:	e8 8c 67 f4 ff       	call   0x4e0780
599ff4:	83 c4 0c             	add    $0xc,%esp
599ff7:	33 c0                	xor    %eax,%eax
599ff9:	5f                   	pop    %edi
599ffa:	5e                   	pop    %esi
599ffb:	5b                   	pop    %ebx
599ffc:	c3                   	ret
599ffd:	8b 74 24 14          	mov    0x14(%esp),%esi
59a001:	68 1f 07 00 00       	push   $0x71f
59a006:	68 30 7b 66 00       	push   $0x667b30
59a00b:	ff 36                	push   (%esi)
59a00d:	e8 6e 67 f4 ff       	call   0x4e0780
59a012:	8b 44 24 24          	mov    0x24(%esp),%eax
59a016:	83 c4 0c             	add    $0xc,%esp
59a019:	89 3e                	mov    %edi,(%esi)
59a01b:	5f                   	pop    %edi
59a01c:	89 18                	mov    %ebx,(%eax)
59a01e:	b8 01 00 00 00       	mov    $0x1,%eax
59a023:	5e                   	pop    %esi
59a024:	5b                   	pop    %ebx
59a025:	c3                   	ret
59a026:	5e                   	pop    %esi
59a027:	33 c0                	xor    %eax,%eax
59a029:	5b                   	pop    %ebx
59a02a:	c3                   	ret
59a02b:	cc                   	int3
59a02c:	cc                   	int3
59a02d:	cc                   	int3
59a02e:	cc                   	int3
59a02f:	cc                   	int3
59a030:	56                   	push   %esi
59a031:	8b 74 24 08          	mov    0x8(%esp),%esi
59a035:	6a 00                	push   $0x0
59a037:	6a 00                	push   $0x0
59a039:	6a 00                	push   $0x0
59a03b:	6a 00                	push   $0x0
59a03d:	56                   	push   %esi
59a03e:	e8 7d ee ff ff       	call   0x598ec0
59a043:	6a 01                	push   $0x1
59a045:	6a 00                	push   $0x0
59a047:	6a 00                	push   $0x0
59a049:	6a 00                	push   $0x0