598ab1:	89 10                	mov    %edx,(%eax)
598ab3:	8b 81 04 04 00 00    	mov    0x404(%ecx),%eax
598ab9:	5e                   	pop    %esi
598aba:	8b 80 d4 00 00 00    	mov    0xd4(%eax),%eax
598ac0:	c3                   	ret
598ac1:	c7 00 84 76 66 00    	movl   $0x667684,(%eax)
598ac7:	b8 17 00 00 00       	mov    $0x17,%eax
598acc:	5e                   	pop    %esi
598acd:	c3                   	ret
598ace:	8b 44 24 0c          	mov    0xc(%esp),%eax
598ad2:	c7 00 b4 76 66 00    	movl   $0x6676b4,(%eax)
598ad8:	b8 02 00 00 00       	mov    $0x2,%eax
598add:	c3                   	ret
598ade:	8b 44 24 0c          	mov    0xc(%esp),%eax
598ae2:	c7 00 b6 76 66 00    	movl   $0x6676b6,(%eax)
598ae8:	b8 01 00 00 00       	mov    $0x1,%eax
598aed:	c3                   	ret
598aee:	8b 44 24 0c          	mov    0xc(%esp),%eax
598af2:	c7 00 b4 76 66 00    	movl   $0x6676b4,(%eax)
598af8:	b8 01 00 00 00       	mov    $0x1,%eax
598afd:	c3                   	ret
598afe:	cc                   	int3
598aff:	cc                   	int3
598b00:	b8 04 00 00 00       	mov    $0x4,%eax
598b05:	e8 a6 8c 03 00       	call   0x5d17b0
598b0a:	33 d2                	xor    %edx,%edx
598b0c:	53                   	push   %ebx
598b0d:	8b 5c 24 14          	mov    0x14(%esp),%ebx
598b11:	89 54 24 04          	mov    %edx,0x4(%esp)
598b15:	39 54 24 18          	cmp    %edx,0x18(%esp)
598b19:	76 67                	jbe    0x598b82
598b1b:	55                   	push   %ebp
598b1c:	8b 6c 24 24          	mov    0x24(%esp),%ebp
598b20:	56                   	push   %esi
598b21:	57                   	push   %edi
598b22:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
598b26:	0f b7 0b             	movzwl (%ebx),%ecx
598b29:	33 c0                	xor    %eax,%eax
598b2b:	be b8 76 66 00       	mov    $0x6676b8,%esi
598b30:	66 39 4e 04          	cmp    %cx,0x4(%esi)
598b34:	74 0b                	je     0x598b41
598b36:	40                   	inc    %eax
598b37:	83 c6 20             	add    $0x20,%esi
598b3a:	83 f8 17             	cmp    $0x17,%eax
598b3d:	72 f1                	jb     0x598b30
598b3f:	33 f6                	xor    %esi,%esi
598b41:	56                   	push   %esi
598b42:	68 0c 00 05 00       	push   $0x5000c
598b47:	ff 74 24 20          	push   0x20(%esp)
598b4b:	e8 50 00 00 00       	call   0x598ba0
598b50:	83 c4 0c             	add    $0xc,%esp
598b53:	85 c0                	test   %eax,%eax
598b55:	74 1a                	je     0x598b71
598b57:	8b 44 24 28          	mov    0x28(%esp),%eax
598b5b:	33 c9                	xor    %ecx,%ecx
598b5d:	85 ed                	test   %ebp,%ebp
598b5f:	74 10                	je     0x598b71
598b61:	0f b7 13             	movzwl (%ebx),%edx
598b64:	66 3b 10             	cmp    (%eax),%dx
598b67:	74 1e                	je     0x598b87
598b69:	41                   	inc    %ecx
598b6a:	83 c0 02             	add    $0x2,%eax
598b6d:	3b cd                	cmp    %ebp,%ecx
598b6f:	72 f3                	jb     0x598b64
598b71:	8b 54 24 10          	mov    0x10(%esp),%edx
598b75:	83 c3 02             	add    $0x2,%ebx
598b78:	83 6c 24 24 01       	subl   $0x1,0x24(%esp)
598b7d:	75 a7                	jne    0x598b26
598b7f:	5f                   	pop    %edi
598b80:	5e                   	pop    %esi
598b81:	5d                   	pop    %ebp
598b82:	8b c2                	mov    %edx,%eax
598b84:	5b                   	pop    %ebx
598b85:	59                   	pop    %ecx
598b86:	c3                   	ret
598b87:	8b 54 24 10          	mov    0x10(%esp),%edx
598b8b:	42                   	inc    %edx
598b8c:	89 54 24 10          	mov    %edx,0x10(%esp)
598b90:	85 ff                	test   %edi,%edi
598b92:	74 e1                	je     0x598b75
598b94:	89 37                	mov    %esi,(%edi)
598b96:	83 c7 04             	add    $0x4,%edi
598b99:	eb da                	jmp    0x598b75
598b9b:	cc                   	int3
598b9c:	cc                   	int3
598b9d:	cc                   	int3
598b9e:	cc                   	int3
598b9f:	cc                   	int3
598ba0:	b8 0c 00 00 00       	mov    $0xc,%eax
598ba5:	e8 06 8c 03 00       	call   0x5d17b0
598baa:	53                   	push   %ebx
598bab:	55                   	push   %ebp
598bac:	8b 6c 24 20          	mov    0x20(%esp),%ebp
598bb0:	56                   	push   %esi
598bb1:	57                   	push   %edi
598bb2:	85 ed                	test   %ebp,%ebp
598bb4:	0f 84 d0 00 00 00    	je     0x598c8a
598bba:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
598bbe:	74 13                	je     0x598bd3
598bc0:	ff 75 0c             	push   0xc(%ebp)
598bc3:	e8 98 fa fe ff       	call   0x588660
598bc8:	83 c4 04             	add    $0x4,%esp
598bcb:	85 c0                	test   %eax,%eax
598bcd:	0f 84 b7 00 00 00    	je     0x598c8a
598bd3:	8b 7c 24 20          	mov    0x20(%esp),%edi
598bd7:	8b 4f 04             	mov    0x4(%edi),%ecx
598bda:	8b 41 64             	mov    0x64(%ecx),%eax
598bdd:	8b 40 30             	mov    0x30(%eax),%eax
598be0:	83 e0 08             	and    $0x8,%eax
598be3:	75 1c                	jne    0x598c01
598be5:	8b 09                	mov    (%ecx),%ecx
598be7:	81 f9 04 03 00 00    	cmp    $0x304,%ecx
598bed:	7c 12                	jl     0x598c01
598bef:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
598bf5:	74 0a                	je     0x598c01
598bf7:	83 7d 10 74          	cmpl   $0x74,0x10(%ebp)
598bfb:	0f 84 89 00 00 00    	je     0x598c8a
598c01:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
598c05:	75 2a                	jne    0x598c31
598c07:	85 c0                	test   %eax,%eax
598c09:	75 26                	jne    0x598c31
598c0b:	8b 47 7c             	mov    0x7c(%edi),%eax
598c0e:	81 b8 a8 02 00 00 04 	cmpl   $0x304,0x2a8(%eax)
598c15:	03 00 00
598c18:	7c 17                	jl     0x598c31
598c1a:	83 7d 10 74          	cmpl   $0x74,0x10(%ebp)
598c1e:	74 6a                	je     0x598c8a
598c20:	8b 45 0c             	mov    0xc(%ebp),%eax
598c23:	83 f8 01             	cmp    $0x1,%eax
598c26:	74 62                	je     0x598c8a
598c28:	85 c0                	test   %eax,%eax
598c2a:	74 5e                	je     0x598c8a
598c2c:	83 f8 0a             	cmp    $0xa,%eax
598c2f:	74 59                	je     0x598c8a
598c31:	ff 75 14             	push   0x14(%ebp)
598c34:	e8 97 dd fe ff       	call   0x5869d0
598c39:	83 c4 04             	add    $0x4,%esp
598c3c:	85 c0                	test   %eax,%eax
598c3e:	75 4a                	jne    0x598c8a
598c40:	8b 45 10             	mov    0x10(%ebp),%eax
598c43:	3d d3 03 00 00       	cmp    $0x3d3,%eax
598c48:	74 12                	je     0x598c5c
598c4a:	3d d4 03 00 00       	cmp    $0x3d4,%eax
598c4f:	74 0b                	je     0x598c5c
598c51:	3d 2b 03 00 00       	cmp    $0x32b,%eax
598c56:	0f 85 6e 01 00 00    	jne    0x598dca
598c5c:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
598c60:	8b 4f 04             	mov    0x4(%edi),%ecx
598c63:	74 2f                	je     0x598c94
598c65:	8b 41 64             	mov    0x64(%ecx),%eax
598c68:	f6 40 30 08          	testb  $0x8,0x30(%eax)
598c6c:	0f 85 58 01 00 00    	jne    0x598dca
598c72:	8b 01                	mov    (%ecx),%eax
598c74:	3d 04 03 00 00       	cmp    $0x304,%eax
598c79:	0f 8c 4b 01 00 00    	jl     0x598dca
598c7f:	3d 00 00 01 00       	cmp    $0x10000,%eax
598c84:	0f 84 40 01 00 00    	je     0x598dca
598c8a:	5f                   	pop    %edi
598c8b:	5e                   	pop    %esi
598c8c:	5d                   	pop    %ebp
598c8d:	33 c0                	xor    %eax,%eax
598c8f:	5b                   	pop    %ebx
598c90:	83 c4 0c             	add    $0xc,%esp
598c93:	c3                   	ret
598c94:	81 39 00 00 01 00    	cmpl   $0x10000,(%ecx)
598c9a:	0f 85 2a 01 00 00    	jne    0x598dca
598ca0:	8b 47 7c             	mov    0x7c(%edi),%eax
598ca3:	81 b8 ac 02 00 00 04 	cmpl   $0x304,0x2ac(%eax)
598caa:	03 00 00
598cad:	0f 8c 17 01 00 00    	jl     0x598dca
598cb3:	81 b8 a8 02 00 00 04 	cmpl   $0x304,0x2a8(%eax)
598cba:	03 00 00
598cbd:	7d cb                	jge    0x598c8a
598cbf:	57                   	push   %edi
598cc0:	e8 db 07 ff ff       	call   0x5894a0
598cc5:	8b f0                	mov    %eax,%esi
598cc7:	83 c4 04             	add    $0x4,%esp
598cca:	89 74 24 18          	mov    %esi,0x18(%esp)
598cce:	85 f6                	test   %esi,%esi
598cd0:	74 b8                	je     0x598c8a
598cd2:	56                   	push   %esi
598cd3:	e8 e8 c3 f4 ff       	call   0x4e50c0
598cd8:	83 c4 04             	add    $0x4,%esp
598cdb:	33 db                	xor    %ebx,%ebx
598cdd:	85 c0                	test   %eax,%eax
598cdf:	0f 8e dd 00 00 00    	jle    0x598dc2
598ce5:	89 44 24 14          	mov    %eax,0x14(%esp)
598ce9:	c7 44 24 10 00 ff 00 	movl   $0xff00,0x10(%esp)
598cf0:	00
598cf1:	53                   	push   %ebx
598cf2:	56                   	push   %esi
598cf3:	e8 88 c5 f4 ff       	call   0x4e5280
598cf8:	8b 57 7c             	mov    0x7c(%edi),%edx
598cfb:	8b f0                	mov    %eax,%esi
598cfd:	83 c4 08             	add    $0x8,%esp
598d00:	8b 8a a0 02 00 00    	mov    0x2a0(%edx),%ecx
598d06:	85 4e 10             	test   %ecx,0x10(%esi)
598d09:	0f 85 a2 00 00 00    	jne    0x598db1
598d0f:	8b 8a a4 02 00 00    	mov    0x2a4(%edx),%ecx
598d15:	85 4e 14             	test   %ecx,0x14(%esi)
598d18:	0f 85 93 00 00 00    	jne    0x598db1
598d1e:	8b 8a ac 02 00 00    	mov    0x2ac(%edx),%ecx
598d24:	85 c9                	test   %ecx,%ecx
598d26:	0f 84 85 00 00 00    	je     0x598db1
598d2c:	8b 47 04             	mov    0x4(%edi),%eax
598d2f:	8b 40 64             	mov    0x64(%eax),%eax
598d32:	f6 40 30 08          	testb  $0x8,0x30(%eax)
598d36:	75 12                	jne    0x598d4a
598d38:	39 4e 20             	cmp    %ecx,0x20(%esi)
598d3b:	7f 74                	jg     0x598db1
598d3d:	8b 46 24             	mov    0x24(%esi),%eax
598d40:	3b 82 a8 02 00 00    	cmp    0x2a8(%edx),%eax
598d46:	7d 46                	jge    0x598d8e
598d48:	eb 67                	jmp    0x598db1
598d4a:	8b 46 28             	mov    0x28(%esi),%eax
598d4d:	3d 00 01 00 00       	cmp    $0x100,%eax
598d52:	0f 44 44 24 10       	cmove  0x10(%esp),%eax
598d57:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
598d5d:	0f 44 4c 24 10       	cmove  0x10(%esp),%ecx
598d62:	3b c1                	cmp    %ecx,%eax
598d64:	7c 4b                	jl     0x598db1
598d66:	8b 4e 2c             	mov    0x2c(%esi),%ecx
598d69:	b8 00 ff 00 00       	mov    $0xff00,%eax
598d6e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
598d74:	0f 44 c8             	cmove  %eax,%ecx
598d77:	8b 82 a8 02 00 00    	mov    0x2a8(%edx),%eax
598d7d:	3d 00 01 00 00       	cmp    $0x100,%eax
598d82:	ba 00 ff 00 00       	mov    $0xff00,%edx
598d87:	0f 44 c2             	cmove  %edx,%eax
598d8a:	3b c8                	cmp    %eax,%ecx
598d8c:	7f 23                	jg     0x598db1
598d8e:	56                   	push   %esi
598d8f:	6a 00                	push   $0x0
598d91:	ff 76 38             	push   0x38(%esi)
598d94:	68 01 00 01 00       	push   $0x10001
598d99:	57                   	push   %edi
598d9a:	e8 e1 27 ff ff       	call   0x58b580
598d9f:	83 c4 14             	add    $0x14,%esp
598da2:	f7 d8                	neg    %eax
598da4:	1b c0                	sbb    %eax,%eax
598da6:	83 c0 01             	add    $0x1,%eax
598da9:	75 06                	jne    0x598db1
598dab:	f6 46 10 10          	testb  $0x10,0x10(%esi)
598daf:	75 19                	jne    0x598dca
598db1:	8b 44 24 14          	mov    0x14(%esp),%eax
598db5:	43                   	inc    %ebx
598db6:	8b 74 24 18          	mov    0x18(%esp),%esi
598dba:	3b d8                	cmp    %eax,%ebx
598dbc:	0f 8c 2f ff ff ff    	jl     0x598cf1
598dc2:	3b d8                	cmp    %eax,%ebx
598dc4:	0f 84 c0 fe ff ff    	je     0x598c8a
598dca:	55                   	push   %ebp
598dcb:	e8 00 f0 ff ff       	call   0x597dd0
598dd0:	0f b7 55 04          	movzwl 0x4(%ebp),%edx
598dd4:	8b ca                	mov    %edx,%ecx
598dd6:	88 54 24 2d          	mov    %dl,0x2d(%esp)
598dda:	c1 e9 08             	shr    $0x8,%ecx
598ddd:	88 4c 24 2c          	mov    %cl,0x2c(%esp)
598de1:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
598de5:	51                   	push   %ecx
598de6:	ff 75 08             	push   0x8(%ebp)
598de9:	50                   	push   %eax
598dea:	ff 74 24 34          	push   0x34(%esp)
598dee:	57                   	push   %edi
598def:	e8 8c 27 ff ff       	call   0x58b580
598df4:	83 c4 18             	add    $0x18,%esp
598df7:	5f                   	pop    %edi
598df8:	5e                   	pop    %esi
598df9:	5d                   	pop    %ebp
598dfa:	5b                   	pop    %ebx
598dfb:	83 c4 0c             	add    $0xc,%esp
598dfe:	c3                   	ret
598dff:	cc                   	int3
598e00:	53                   	push   %ebx
598e01:	56                   	push   %esi
598e02:	57                   	push   %edi
598e03:	ff 74 24 14          	push   0x14(%esp)
598e07:	e8 24 f3 fb ff       	call   0x558130
598e0c:	8b f8                	mov    %eax,%edi
598e0e:	83 c4 04             	add    $0x4,%esp
598e11:	85 ff                	test   %edi,%edi
598e13:	0f 84 96 00 00 00    	je     0x598eaf
598e19:	57                   	push   %edi
598e1a:	e8 a1 72 f5 ff       	call   0x4f00c0
598e1f:	83 c4 04             	add    $0x4,%esp
598e22:	3d 98 01 00 00       	cmp    $0x198,%eax
598e27:	0f 85 88 00 00 00    	jne    0x598eb5
598e2d:	8b 74 24 10          	mov    0x10(%esp),%esi
598e31:	57                   	push   %edi
598e32:	56                   	push   %esi
598e33:	e8 78 09 00 00       	call   0x5997b0
598e38:	83 c4 08             	add    $0x8,%esp
598e3b:	85 c0                	test   %eax,%eax
598e3d:	74 70                	je     0x598eaf
598e3f:	57                   	push   %edi
598e40:	e8 bb 0b 00 00       	call   0x599a00
598e45:	0f b7 f8             	movzwl %ax,%edi
598e48:	33 c0                	xor    %eax,%eax
598e4a:	39 46 1c             	cmp    %eax,0x1c(%esi)
598e4d:	0f 94 c0             	sete   %al
598e50:	50                   	push   %eax
598e51:	57                   	push   %edi
598e52:	56                   	push   %esi
598e53:	e8 78 08 00 00       	call   0x5996d0
598e58:	83 c4 10             	add    $0x10,%esp
598e5b:	85 c0                	test   %eax,%eax
598e5d:	74 50                	je     0x598eaf
598e5f:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
598e64:	74 4f                	je     0x598eb5
598e66:	8b 86 04 04 00 00    	mov    0x404(%esi),%eax
598e6c:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
598e73:	74 40                	je     0x598eb5
598e75:	83 ff 17             	cmp    $0x17,%edi
598e78:	75 07                	jne    0x598e81
598e7a:	bf 1a 03 00 00       	mov    $0x31a,%edi
598e7f:	eb 0a                	jmp    0x598e8b
598e81:	83 ff 18             	cmp    $0x18,%edi
598e84:	75 29                	jne    0x598eaf
598e86:	bf 1b 03 00 00       	mov    $0x31b,%edi
598e8b:	8b 9e 8c 0f 00 00    	mov    0xf8c(%esi),%ebx
598e91:	33 c9                	xor    %ecx,%ecx
598e93:	85 db                	test   %ebx,%ebx
598e95:	74 18                	je     0x598eaf
598e97:	8b 96 88 0f 00 00    	mov    0xf88(%esi),%edx
598e9d:	0f 1f 00             	nopl   (%eax)
598ea0:	8b 02                	mov    (%edx),%eax
598ea2:	3b 78 18             	cmp    0x18(%eax),%edi
598ea5:	74 0e                	je     0x598eb5
598ea7:	41                   	inc    %ecx
598ea8:	83 c2 04             	add    $0x4,%edx
598eab:	3b cb                	cmp    %ebx,%ecx
598ead:	72 f1                	jb     0x598ea0
598eaf:	5f                   	pop    %edi
598eb0:	5e                   	pop    %esi
598eb1:	33 c0                	xor    %eax,%eax
598eb3:	5b                   	pop    %ebx
598eb4:	c3                   	ret
598eb5:	5f                   	pop    %edi
598eb6:	5e                   	pop    %esi
598eb7:	b8 01 00 00 00       	mov    $0x1,%eax
598ebc:	5b                   	pop    %ebx
598ebd:	c3                   	ret
598ebe:	cc                   	int3
598ebf:	cc                   	int3
598ec0:	b8 24 00 00 00       	mov    $0x24,%eax
598ec5:	e8 e6 88 03 00       	call   0x5d17b0
598eca:	53                   	push   %ebx
598ecb:	55                   	push   %ebp
598ecc:	8b 6c 24 30          	mov    0x30(%esp),%ebp
598ed0:	33 c9                	xor    %ecx,%ecx