59aa1d:	85 c0                	test   %eax,%eax
59aa1f:	74 04                	je     0x59aa25
59aa21:	3b e8                	cmp    %eax,%ebp
59aa23:	74 0c                	je     0x59aa31
59aa25:	42                   	inc    %edx
59aa26:	3b d7                	cmp    %edi,%edx
59aa28:	72 c6                	jb     0x59a9f0
59aa2a:	5f                   	pop    %edi
59aa2b:	5e                   	pop    %esi
59aa2c:	5d                   	pop    %ebp
59aa2d:	33 c0                	xor    %eax,%eax
59aa2f:	5b                   	pop    %ebx
59aa30:	c3                   	ret
59aa31:	5f                   	pop    %edi
59aa32:	5e                   	pop    %esi
59aa33:	5d                   	pop    %ebp
59aa34:	b8 01 00 00 00       	mov    $0x1,%eax
59aa39:	5b                   	pop    %ebx
59aa3a:	c3                   	ret
59aa3b:	cc                   	int3
59aa3c:	cc                   	int3
59aa3d:	cc                   	int3
59aa3e:	cc                   	int3
59aa3f:	cc                   	int3
59aa40:	b8 08 00 00 00       	mov    $0x8,%eax
59aa45:	e8 66 6d 03 00       	call   0x5d17b0
59aa4a:	53                   	push   %ebx
59aa4b:	55                   	push   %ebp
59aa4c:	56                   	push   %esi
59aa4d:	57                   	push   %edi
59aa4e:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
59aa52:	33 db                	xor    %ebx,%ebx
59aa54:	83 cd ff             	or     $0xffffffff,%ebp
59aa57:	8b 47 7c             	mov    0x7c(%edi),%eax
59aa5a:	89 98 64 02 00 00    	mov    %ebx,0x264(%eax)
59aa60:	8b 47 7c             	mov    0x7c(%edi),%eax
59aa63:	89 98 60 02 00 00    	mov    %ebx,0x260(%eax)
59aa69:	8b 4f 04             	mov    0x4(%edi),%ecx
59aa6c:	8b 41 64             	mov    0x64(%ecx),%eax
59aa6f:	8b 40 30             	mov    0x30(%eax),%eax
59aa72:	89 44 24 1c          	mov    %eax,0x1c(%esp)
59aa76:	a8 08                	test   $0x8,%al
59aa78:	75 55                	jne    0x59aacf
59aa7a:	8b 01                	mov    (%ecx),%eax
59aa7c:	3d 04 03 00 00       	cmp    $0x304,%eax
59aa81:	7c 4c                	jl     0x59aacf
59aa83:	3d 00 00 01 00       	cmp    $0x10000,%eax
59aa88:	74 45                	je     0x59aacf
59aa8a:	53                   	push   %ebx
59aa8b:	53                   	push   %ebx
59aa8c:	57                   	push   %edi
59aa8d:	e8 6e cd ff ff       	call   0x597800
59aa92:	8b d8                	mov    %eax,%ebx
59aa94:	83 c4 0c             	add    $0xc,%esp
59aa97:	85 db                	test   %ebx,%ebx
59aa99:	0f 85 72 02 00 00    	jne    0x59ad11
59aa9f:	39 44 24 20          	cmp    %eax,0x20(%esp)
59aaa3:	0f 84 9d 02 00 00    	je     0x59ad46
59aaa9:	68 c1 0a 00 00       	push   $0xac1
59aaae:	68 30 7b 66 00       	push   $0x667b30
59aab3:	6a 76                	push   $0x76
59aab5:	68 01 02 00 00       	push   $0x201
59aaba:	6a 28                	push   $0x28
59aabc:	57                   	push   %edi
59aabd:	e8 4e 46 ff ff       	call   0x58f110
59aac2:	83 c4 18             	add    $0x18,%esp
59aac5:	33 c0                	xor    %eax,%eax
59aac7:	5f                   	pop    %edi
59aac8:	5e                   	pop    %esi
59aac9:	5d                   	pop    %ebp
59aaca:	5b                   	pop    %ebx
59aacb:	83 c4 08             	add    $0x8,%esp
59aace:	c3                   	ret
59aacf:	8b 77 7c             	mov    0x7c(%edi),%esi
59aad2:	8b 86 10 02 00 00    	mov    0x210(%esi),%eax
59aad8:	f6 40 14 ab          	testb  $0xab,0x14(%eax)
59aadc:	0f 84 64 02 00 00    	je     0x59ad46
59aae2:	39 5f 1c             	cmp    %ebx,0x1c(%edi)
59aae5:	75 44                	jne    0x59ab2b
59aae7:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
59aaed:	8b 08                	mov    (%eax),%ecx
59aaef:	2b c8                	sub    %eax,%ecx
59aaf1:	b8 67 66 66 66       	mov    $0x66666667,%eax
59aaf6:	83 e9 14             	sub    $0x14,%ecx
59aaf9:	f7 e9                	imul   %ecx
59aafb:	c1 fa 03             	sar    $0x3,%edx
59aafe:	8b c2                	mov    %edx,%eax
59ab00:	c1 e8 1f             	shr    $0x1f,%eax
59ab03:	03 c2                	add    %edx,%eax
59ab05:	83 f8 08             	cmp    $0x8,%eax
59ab08:	0f 87 38 02 00 00    	ja     0x59ad46
59ab0e:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
59ab14:	8d 04 80             	lea    (%eax,%eax,4),%eax
59ab17:	39 5c 81 14          	cmp    %ebx,0x14(%ecx,%eax,4)
59ab1b:	0f 84 25 02 00 00    	je     0x59ad46
59ab21:	39 5c 81 18          	cmp    %ebx,0x18(%ecx,%eax,4)
59ab25:	0f 84 1b 02 00 00    	je     0x59ad46
59ab2b:	f6 44 24 1c 02       	testb  $0x2,0x1c(%esp)
59ab30:	0f 84 01 03 00 00    	je     0x59ae37
59ab36:	39 9e 68 02 00 00    	cmp    %ebx,0x268(%esi)
59ab3c:	0f 84 11 02 00 00    	je     0x59ad53
59ab42:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
59ab48:	f7 40 10 00 00 03 00 	testl  $0x30000,0x10(%eax)
59ab4f:	74 19                	je     0x59ab6a
59ab51:	ff 70 54             	push   0x54(%eax)
59ab54:	e8 77 62 f5 ff       	call   0x4f0dd0
59ab59:	50                   	push   %eax
59ab5a:	e8 e1 c6 f4 ff       	call   0x4e7240
59ab5f:	50                   	push   %eax
59ab60:	e8 4b 57 f5 ff       	call   0x4f02b0
59ab65:	83 c4 0c             	add    $0xc,%esp
59ab68:	eb 03                	jmp    0x59ab6d
59ab6a:	83 c8 ff             	or     $0xffffffff,%eax
59ab6d:	33 c9                	xor    %ecx,%ecx
59ab6f:	89 44 24 10          	mov    %eax,0x10(%esp)
59ab73:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
59ab77:	3b 8f 8c 0f 00 00    	cmp    0xf8c(%edi),%ecx
59ab7d:	0f 83 5a 01 00 00    	jae    0x59acdd
59ab83:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
59ab87:	8b 87 88 0f 00 00    	mov    0xf88(%edi),%eax
59ab8d:	8b 1c 88             	mov    (%eax,%ecx,4),%ebx
59ab90:	8b 6b 14             	mov    0x14(%ebx),%ebp
59ab93:	8b f5                	mov    %ebp,%esi
59ab95:	74 51                	je     0x59abe8
59ab97:	56                   	push   %esi
59ab98:	e8 f3 06 ff ff       	call   0x58b290
59ab9d:	83 c4 04             	add    $0x4,%esp
59aba0:	85 c0                	test   %eax,%eax
59aba2:	74 3c                	je     0x59abe0
59aba4:	8b 6f 7c             	mov    0x7c(%edi),%ebp
59aba7:	8b 95 10 02 00 00    	mov    0x210(%ebp),%edx
59abad:	8b 4a 14             	mov    0x14(%edx),%ecx
59abb0:	85 48 04             	test   %ecx,0x4(%eax)
59abb3:	74 2b                	je     0x59abe0
59abb5:	81 38 90 03 00 00    	cmpl   $0x390,(%eax)
59abbb:	75 06                	jne    0x59abc3
59abbd:	f6 42 10 01          	testb  $0x1,0x10(%edx)
59abc1:	75 1d                	jne    0x59abe0
59abc3:	f6 84 b5 7c 02 00 00 	testb  $0x1,0x27c(%ebp,%esi,4)
59abca:	01
59abcb:	bd ff ff ff ff       	mov    $0xffffffff,%ebp
59abd0:	0f 45 ee             	cmovne %esi,%ebp
59abd3:	83 fd ff             	cmp    $0xffffffff,%ebp
59abd6:	0f 84 e0 00 00 00    	je     0x59acbc
59abdc:	8b c5                	mov    %ebp,%eax
59abde:	eb 3a                	jmp    0x59ac1a
59abe0:	83 cd ff             	or     $0xffffffff,%ebp
59abe3:	e9 d4 00 00 00       	jmp    0x59acbc
59abe8:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
59abee:	8b 08                	mov    (%eax),%ecx
59abf0:	2b c8                	sub    %eax,%ecx
59abf2:	b8 67 66 66 66       	mov    $0x66666667,%eax
59abf7:	83 e9 14             	sub    $0x14,%ecx
59abfa:	f7 e9                	imul   %ecx
59abfc:	c1 fa 03             	sar    $0x3,%edx
59abff:	8b c2                	mov    %edx,%eax
59ac01:	c1 e8 1f             	shr    $0x1f,%eax
59ac04:	03 c2                	add    %edx,%eax
59ac06:	3b c5                	cmp    %ebp,%eax
59ac08:	0f 85 ae 00 00 00    	jne    0x59acbc
59ac0e:	8b c6                	mov    %esi,%eax
59ac10:	8b ee                	mov    %esi,%ebp
59ac12:	83 fe ff             	cmp    $0xffffffff,%esi
59ac15:	75 03                	jne    0x59ac1a
59ac17:	8b 43 14             	mov    0x14(%ebx),%eax
59ac1a:	83 f8 08             	cmp    $0x8,%eax
59ac1d:	0f 87 99 00 00 00    	ja     0x59acbc
59ac23:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
59ac26:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
59ac2c:	8b 54 88 14          	mov    0x14(%eax,%ecx,4),%edx
59ac30:	85 d2                	test   %edx,%edx
59ac32:	0f 84 84 00 00 00    	je     0x59acbc
59ac38:	8b 44 88 18          	mov    0x18(%eax,%ecx,4),%eax
59ac3c:	85 c0                	test   %eax,%eax
59ac3e:	74 7c                	je     0x59acbc
59ac40:	50                   	push   %eax
59ac41:	52                   	push   %edx
59ac42:	53                   	push   %ebx
59ac43:	57                   	push   %edi
59ac44:	e8 d7 ca ff ff       	call   0x597720
59ac49:	83 c4 10             	add    $0x10,%esp
59ac4c:	85 c0                	test   %eax,%eax
59ac4e:	74 6c                	je     0x59acbc
59ac50:	81 7b 10 90 03 00 00 	cmpl   $0x390,0x10(%ebx)
59ac57:	75 55                	jne    0x59acae
59ac59:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
59ac5f:	8d 0c ad 00 00 00 00 	lea    0x0(,%ebp,4),%ecx
59ac66:	03 cd                	add    %ebp,%ecx
59ac68:	ff 74 88 18          	push   0x18(%eax,%ecx,4)
59ac6c:	e8 0f 61 f5 ff       	call   0x4f0d80
59ac71:	83 c4 04             	add    $0x4,%esp
59ac74:	89 44 24 14          	mov    %eax,0x14(%esp)
59ac78:	85 c0                	test   %eax,%eax
59ac7a:	74 40                	je     0x59acbc
59ac7c:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
59ac80:	74 3a                	je     0x59acbc
59ac82:	ff 73 0c             	push   0xc(%ebx)
59ac85:	e8 d6 d9 fe ff       	call   0x588660
59ac8a:	83 c4 04             	add    $0x4,%esp
59ac8d:	85 c0                	test   %eax,%eax
59ac8f:	74 2b                	je     0x59acbc
59ac91:	50                   	push   %eax
59ac92:	e8 29 5c f5 ff       	call   0x4f08c0
59ac97:	ff 74 24 18          	push   0x18(%esp)
59ac9b:	8d 34 45 02 00 00 00 	lea    0x2(,%eax,2),%esi
59aca2:	e8 29 ff f3 ff       	call   0x4dabd0
59aca7:	83 c4 08             	add    $0x8,%esp
59acaa:	3b c6                	cmp    %esi,%eax
59acac:	7c 0e                	jl     0x59acbc
59acae:	8b 54 24 10          	mov    0x10(%esp),%edx
59acb2:	83 fa ff             	cmp    $0xffffffff,%edx
59acb5:	74 1c                	je     0x59acd3
59acb7:	39 53 1c             	cmp    %edx,0x1c(%ebx)
59acba:	74 17                	je     0x59acd3
59acbc:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
59acc0:	41                   	inc    %ecx
59acc1:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
59acc5:	3b 8f 8c 0f 00 00    	cmp    0xf8c(%edi),%ecx
59accb:	0f 82 b2 fe ff ff    	jb     0x59ab83
59acd1:	eb 04                	jmp    0x59acd7
59acd3:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
59acd7:	3b 8f 8c 0f 00 00    	cmp    0xf8c(%edi),%ecx
59acdd:	75 2d                	jne    0x59ad0c
59acdf:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
59ace4:	74 60                	je     0x59ad46
59ace6:	68 13 0b 00 00       	push   $0xb13
59aceb:	68 30 7b 66 00       	push   $0x667b30
59acf0:	6a 76                	push   $0x76
59acf2:	68 01 02 00 00       	push   $0x201
59acf7:	6a 28                	push   $0x28
59acf9:	57                   	push   %edi
59acfa:	e8 11 44 ff ff       	call   0x58f110
59acff:	83 c4 18             	add    $0x18,%esp
59ad02:	33 c0                	xor    %eax,%eax
59ad04:	5f                   	pop    %edi
59ad05:	5e                   	pop    %esi
59ad06:	5d                   	pop    %ebp
59ad07:	5b                   	pop    %ebx
59ad08:	83 c4 08             	add    $0x8,%esp
59ad0b:	c3                   	ret
59ad0c:	83 fd ff             	cmp    $0xffffffff,%ebp
59ad0f:	75 03                	jne    0x59ad14
59ad11:	8b 6b 14             	mov    0x14(%ebx),%ebp
59ad14:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
59ad1a:	8d 4d 01             	lea    0x1(%ebp),%ecx
59ad1d:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
59ad20:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
59ad23:	8b 47 7c             	mov    0x7c(%edi),%eax
59ad26:	89 88 64 02 00 00    	mov    %ecx,0x264(%eax)
59ad2c:	8b 47 7c             	mov    0x7c(%edi),%eax
59ad2f:	8b 8f 04 04 00 00    	mov    0x404(%edi),%ecx
59ad35:	8b 80 64 02 00 00    	mov    0x264(%eax),%eax
59ad3b:	89 01                	mov    %eax,(%ecx)
59ad3d:	8b 47 7c             	mov    0x7c(%edi),%eax
59ad40:	89 98 60 02 00 00    	mov    %ebx,0x260(%eax)
59ad46:	5f                   	pop    %edi
59ad47:	5e                   	pop    %esi
59ad48:	5d                   	pop    %ebp
59ad49:	b8 01 00 00 00       	mov    $0x1,%eax
59ad4e:	5b                   	pop    %ebx
59ad4f:	83 c4 08             	add    $0x8,%esp
59ad52:	c3                   	ret
59ad53:	6a ff                	push   $0xffffffff
59ad55:	57                   	push   %edi
59ad56:	e8 e5 ec ff ff       	call   0x599a40
59ad5b:	8b d8                	mov    %eax,%ebx
59ad5d:	83 c4 08             	add    $0x8,%esp
59ad60:	85 db                	test   %ebx,%ebx
59ad62:	75 2c                	jne    0x59ad90
59ad64:	39 44 24 20          	cmp    %eax,0x20(%esp)
59ad68:	74 dc                	je     0x59ad46
59ad6a:	68 21 0b 00 00       	push   $0xb21
59ad6f:	68 30 7b 66 00       	push   $0x667b30
59ad74:	6a 44                	push   $0x44
59ad76:	68 01 02 00 00       	push   $0x201
59ad7b:	6a 50                	push   $0x50
59ad7d:	57                   	push   %edi
59ad7e:	e8 8d 43 ff ff       	call   0x58f110
59ad83:	83 c4 18             	add    $0x18,%esp
59ad86:	33 c0                	xor    %eax,%eax
59ad88:	5f                   	pop    %edi
59ad89:	5e                   	pop    %esi
59ad8a:	5d                   	pop    %ebp
59ad8b:	5b                   	pop    %ebx
59ad8c:	83 c4 08             	add    $0x8,%esp
59ad8f:	c3                   	ret
59ad90:	8d 44 24 1c          	lea    0x1c(%esp),%eax
59ad94:	50                   	push   %eax
59ad95:	6a 01                	push   $0x1
59ad97:	57                   	push   %edi
59ad98:	e8 b3 dc ff ff       	call   0x598a50
59ad9d:	83 c4 0c             	add    $0xc,%esp
59ada0:	89 44 24 14          	mov    %eax,0x14(%esp)
59ada4:	33 f6                	xor    %esi,%esi
59ada6:	85 c0                	test   %eax,%eax
59ada8:	74 51                	je     0x59adfb
59adaa:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
59adae:	66 90                	xchg   %ax,%ax
59adb0:	66 8b 43 04          	mov    0x4(%ebx),%ax
59adb4:	66 3b 45 00          	cmp    0x0(%ebp),%ax
59adb8:	75 35                	jne    0x59adef
59adba:	8b 43 14             	mov    0x14(%ebx),%eax
59adbd:	83 f8 08             	cmp    $0x8,%eax
59adc0:	77 2d                	ja     0x59adef
59adc2:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
59adc5:	8b 87 04 04 00 00    	mov    0x404(%edi),%eax
59adcb:	8b 54 88 14          	mov    0x14(%eax,%ecx,4),%edx
59adcf:	85 d2                	test   %edx,%edx
59add1:	74 1c                	je     0x59adef
59add3:	8b 44 88 18          	mov    0x18(%eax,%ecx,4),%eax
59add7:	85 c0                	test   %eax,%eax
59add9:	74 14                	je     0x59adef
59addb:	50                   	push   %eax
59addc:	52                   	push   %edx
59addd:	53                   	push   %ebx
59adde:	57                   	push   %edi
59addf:	e8 3c c9 ff ff       	call   0x597720
59ade4:	83 c4 10             	add    $0x10,%esp
59ade7:	85 c0                	test   %eax,%eax
59ade9:	0f 85 22 ff ff ff    	jne    0x59ad11
59adef:	8b 44 24 14          	mov    0x14(%esp),%eax
59adf3:	46                   	inc    %esi
59adf4:	83 c5 02             	add    $0x2,%ebp
59adf7:	3b f0                	cmp    %eax,%esi
59adf9:	72 b5                	jb     0x59adb0
59adfb:	3b f0                	cmp    %eax,%esi
59adfd:	0f 85 0e ff ff ff    	jne    0x59ad11
59ae03:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
59ae08:	0f 84 38 ff ff ff    	je     0x59ad46
59ae0e:	68 31 0b 00 00       	push   $0xb31
59ae13:	68 30 7b 66 00       	push   $0x667b30
59ae18:	68 72 01 00 00       	push   $0x172
59ae1d:	68 01 02 00 00       	push   $0x201
59ae22:	6a 2f                	push   $0x2f
59ae24:	57                   	push   %edi
59ae25:	e8 e6 42 ff ff       	call   0x58f110
59ae2a:	83 c4 18             	add    $0x18,%esp
59ae2d:	33 c0                	xor    %eax,%eax
59ae2f:	5f                   	pop    %edi
59ae30:	5e                   	pop    %esi
59ae31:	5d                   	pop    %ebp
59ae32:	5b                   	pop    %ebx
59ae33:	83 c4 08             	add    $0x8,%esp
59ae36:	c3                   	ret
59ae37:	6a ff                	push   $0xffffffff
59ae39:	57                   	push   %edi
59ae3a:	e8 01 ec ff ff       	call   0x599a40
59ae3f:	8b d8                	mov    %eax,%ebx
59ae41:	83 c4 08             	add    $0x8,%esp
59ae44:	85 db                	test   %ebx,%ebx