5988e2:	83 c4 04             	add    $0x4,%esp
5988e5:	85 ed                	test   %ebp,%ebp
5988e7:	75 c4                	jne    0x5988ad
5988e9:	68 6b 04 00 00       	push   $0x46b
5988ee:	68 30 7b 66 00       	push   $0x667b30
5988f3:	68 70 01 00 00       	push   $0x170
5988f8:	e9 2e ff ff ff       	jmp    0x59882b
5988fd:	33 c0                	xor    %eax,%eax
5988ff:	8d 4c 24 10          	lea    0x10(%esp),%ecx
598903:	51                   	push   %ecx
598904:	50                   	push   %eax
598905:	53                   	push   %ebx
598906:	68 0d 00 05 00       	push   $0x5000d
59890b:	56                   	push   %esi
59890c:	e8 6f 2c ff ff       	call   0x58b580
598911:	83 c4 14             	add    $0x14,%esp
598914:	85 c0                	test   %eax,%eax
598916:	74 16                	je     0x59892e
598918:	8b 46 7c             	mov    0x7c(%esi),%eax
59891b:	89 b8 78 02 00 00    	mov    %edi,0x278(%eax)
598921:	b8 01 00 00 00       	mov    $0x1,%eax
598926:	5f                   	pop    %edi
598927:	5b                   	pop    %ebx
598928:	5e                   	pop    %esi
598929:	5d                   	pop    %ebp
59892a:	83 c4 0c             	add    $0xc,%esp
59892d:	c3                   	ret
59892e:	68 7a 04 00 00       	push   $0x47a
598933:	e9 e9 fe ff ff       	jmp    0x598821
598938:	68 29 04 00 00       	push   $0x429
59893d:	68 30 7b 66 00       	push   $0x667b30
598942:	68 72 01 00 00       	push   $0x172
598947:	68 4d 01 00 00       	push   $0x14d
59894c:	6a 2f                	push   $0x2f
59894e:	56                   	push   %esi
59894f:	e8 bc 67 ff ff       	call   0x58f110
598954:	83 c4 18             	add    $0x18,%esp
598957:	33 c0                	xor    %eax,%eax
598959:	5f                   	pop    %edi
59895a:	5b                   	pop    %ebx
59895b:	5e                   	pop    %esi
59895c:	5d                   	pop    %ebp
59895d:	83 c4 0c             	add    $0xc,%esp
598960:	c3                   	ret
598961:	cc                   	int3
598962:	cc                   	int3
598963:	cc                   	int3
598964:	cc                   	int3
598965:	cc                   	int3
598966:	cc                   	int3
598967:	cc                   	int3
598968:	cc                   	int3
598969:	cc                   	int3
59896a:	cc                   	int3
59896b:	cc                   	int3
59896c:	cc                   	int3
59896d:	cc                   	int3
59896e:	cc                   	int3
59896f:	cc                   	int3
598970:	53                   	push   %ebx
598971:	55                   	push   %ebp
598972:	33 db                	xor    %ebx,%ebx
598974:	33 ed                	xor    %ebp,%ebp
598976:	56                   	push   %esi
598977:	57                   	push   %edi
598978:	39 5c 24 20          	cmp    %ebx,0x20(%esp)
59897c:	0f 86 9b 00 00 00    	jbe    0x598a1d
598982:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
598986:	0f b7 0f             	movzwl (%edi),%ecx
598989:	33 c0                	xor    %eax,%eax
59898b:	be b8 76 66 00       	mov    $0x6676b8,%esi
598990:	66 39 4e 04          	cmp    %cx,0x4(%esi)
598994:	74 0b                	je     0x5989a1
598996:	40                   	inc    %eax
598997:	83 c6 20             	add    $0x20,%esi
59899a:	83 f8 17             	cmp    $0x17,%eax
59899d:	72 f1                	jb     0x598990
59899f:	33 f6                	xor    %esi,%esi
5989a1:	56                   	push   %esi
5989a2:	68 0b 00 05 00       	push   $0x5000b
5989a7:	ff 74 24 1c          	push   0x1c(%esp)
5989ab:	e8 f0 01 00 00       	call   0x598ba0
5989b0:	83 c4 0c             	add    $0xc,%esp
5989b3:	85 c0                	test   %eax,%eax
5989b5:	74 54                	je     0x598a0b
5989b7:	0f b7 07             	movzwl (%edi),%eax
5989ba:	6a 02                	push   $0x2
5989bc:	50                   	push   %eax
5989bd:	ff 74 24 20          	push   0x20(%esp)
5989c1:	e8 da b5 00 00       	call   0x5a3fa0
5989c6:	83 c4 0c             	add    $0xc,%esp
5989c9:	85 c0                	test   %eax,%eax
5989cb:	74 72                	je     0x598a3f
5989cd:	85 ed                	test   %ebp,%ebp
5989cf:	75 3a                	jne    0x598a0b
5989d1:	8b 44 24 14          	mov    0x14(%esp),%eax
5989d5:	8b 48 04             	mov    0x4(%eax),%ecx
5989d8:	8b 41 64             	mov    0x64(%ecx),%eax
5989db:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5989df:	75 25                	jne    0x598a06
5989e1:	8b 01                	mov    (%ecx),%eax
5989e3:	3d 04 03 00 00       	cmp    $0x304,%eax
5989e8:	7c 1c                	jl     0x598a06
5989ea:	3d 00 00 01 00       	cmp    $0x10000,%eax
5989ef:	74 15                	je     0x598a06
5989f1:	83 7e 10 06          	cmpl   $0x6,0x10(%esi)
5989f5:	74 14                	je     0x598a0b
5989f7:	8b 46 08             	mov    0x8(%esi),%eax
5989fa:	83 f8 40             	cmp    $0x40,%eax
5989fd:	74 0c                	je     0x598a0b
5989ff:	3d a3 02 00 00       	cmp    $0x2a3,%eax
598a04:	74 05                	je     0x598a0b
598a06:	bd 01 00 00 00       	mov    $0x1,%ebp
598a0b:	43                   	inc    %ebx
598a0c:	83 c7 02             	add    $0x2,%edi
598a0f:	3b 5c 24 20          	cmp    0x20(%esp),%ebx
598a13:	0f 82 6d ff ff ff    	jb     0x598986
598a19:	85 ed                	test   %ebp,%ebp
598a1b:	75 1b                	jne    0x598a38
598a1d:	68 b8 06 00 00       	push   $0x6b8
598a22:	68 30 7b 66 00       	push   $0x667b30
598a27:	6a 76                	push   $0x76
598a29:	68 15 02 00 00       	push   $0x215
598a2e:	6a 14                	push   $0x14
598a30:	e8 4b 05 f4 ff       	call   0x4d8f80
598a35:	83 c4 14             	add    $0x14,%esp
598a38:	5f                   	pop    %edi
598a39:	5e                   	pop    %esi
598a3a:	8b c5                	mov    %ebp,%eax
598a3c:	5d                   	pop    %ebp
598a3d:	5b                   	pop    %ebx
598a3e:	c3                   	ret
598a3f:	5f                   	pop    %edi
598a40:	5e                   	pop    %esi
598a41:	5d                   	pop    %ebp
598a42:	33 c0                	xor    %eax,%eax
598a44:	5b                   	pop    %ebx
598a45:	c3                   	ret
598a46:	cc                   	int3
598a47:	cc                   	int3
598a48:	cc                   	int3
598a49:	cc                   	int3
598a4a:	cc                   	int3
598a4b:	cc                   	int3
598a4c:	cc                   	int3
598a4d:	cc                   	int3
598a4e:	cc                   	int3
598a4f:	cc                   	int3
598a50:	8b 4c 24 04          	mov    0x4(%esp),%ecx
598a54:	8b 91 04 04 00 00    	mov    0x404(%ecx),%edx
598a5a:	8b 42 10             	mov    0x10(%edx),%eax
598a5d:	25 00 00 03 00       	and    $0x30000,%eax
598a62:	3d 00 00 01 00       	cmp    $0x10000,%eax
598a67:	0f 84 81 00 00 00    	je     0x598aee
598a6d:	3d 00 00 02 00       	cmp    $0x20000,%eax
598a72:	74 6a                	je     0x598ade
598a74:	3d 00 00 03 00       	cmp    $0x30000,%eax
598a79:	74 53                	je     0x598ace
598a7b:	8b 41 1c             	mov    0x1c(%ecx),%eax
598a7e:	56                   	push   %esi
598a7f:	3b 44 24 0c          	cmp    0xc(%esp),%eax
598a83:	75 1e                	jne    0x598aa3
598a85:	8b b2 d8 00 00 00    	mov    0xd8(%edx),%esi
598a8b:	85 f6                	test   %esi,%esi
598a8d:	74 14                	je     0x598aa3
598a8f:	8b 44 24 10          	mov    0x10(%esp),%eax
598a93:	89 30                	mov    %esi,(%eax)
598a95:	8b 81 04 04 00 00    	mov    0x404(%ecx),%eax
598a9b:	5e                   	pop    %esi
598a9c:	8b 80 dc 00 00 00    	mov    0xdc(%eax),%eax
598aa2:	c3                   	ret
598aa3:	8b 92 d0 00 00 00    	mov    0xd0(%edx),%edx
598aa9:	8b 44 24 10          	mov    0x10(%esp),%eax
598aad:	85 d2                	test   %edx,%edx
598aaf:	74 10                	je     0x598ac1
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