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
59ae46:	0f 85 c5 fe ff ff    	jne    0x59ad11
59ae4c:	39 44 24 20          	cmp    %eax,0x20(%esp)
59ae50:	0f 84 f0 fe ff ff    	je     0x59ad46
59ae56:	68 3a 0b 00 00       	push   $0xb3a
59ae5b:	68 30 7b 66 00       	push   $0x667b30
59ae60:	6a 44                	push   $0x44
59ae62:	68 01 02 00 00       	push   $0x201
59ae67:	6a 50                	push   $0x50
59ae69:	57                   	push   %edi
59ae6a:	e8 a1 42 ff ff       	call   0x58f110
59ae6f:	83 c4 18             	add    $0x18,%esp
59ae72:	33 c0                	xor    %eax,%eax
59ae74:	5f                   	pop    %edi
59ae75:	5e                   	pop    %esi
59ae76:	5d                   	pop    %ebp
59ae77:	5b                   	pop    %ebx
59ae78:	83 c4 08             	add    $0x8,%esp
59ae7b:	c3                   	ret
59ae7c:	cc                   	int3
59ae7d:	cc                   	int3
59ae7e:	cc                   	int3
59ae7f:	cc                   	int3
59ae80:	8b 4c 24 08          	mov    0x8(%esp),%ecx
59ae84:	66 83 f9 01          	cmp    $0x1,%cx
59ae88:	72 3f                	jb     0x59aec9
59ae8a:	66 83 f9 1e          	cmp    $0x1e,%cx
59ae8e:	77 39                	ja     0x59aec9
59ae90:	0f b7 c1             	movzwl %cx,%eax
59ae93:	8d 04 40             	lea    (%eax,%eax,2),%eax
59ae96:	8d 14 85 fc 74 66 00 	lea    0x6674fc(,%eax,4),%edx
59ae9d:	85 d2                	test   %edx,%edx
59ae9f:	74 28                	je     0x59aec9
59aea1:	8b c1                	mov    %ecx,%eax
59aea3:	88 4c 24 09          	mov    %cl,0x9(%esp)
59aea7:	c1 e8 08             	shr    $0x8,%eax
59aeaa:	88 44 24 08          	mov    %al,0x8(%esp)
59aeae:	8d 44 24 08          	lea    0x8(%esp),%eax
59aeb2:	50                   	push   %eax
59aeb3:	ff 32                	push   (%edx)
59aeb5:	ff 72 04             	push   0x4(%edx)
59aeb8:	ff 74 24 18          	push   0x18(%esp)
59aebc:	ff 74 24 14          	push   0x14(%esp)
59aec0:	e8 bb 06 ff ff       	call   0x58b580
59aec5:	83 c4 14             	add    $0x14,%esp
59aec8:	c3                   	ret
59aec9:	33 c0                	xor    %eax,%eax
59aecb:	c3                   	ret
59aecc:	cc                   	int3
59aecd:	cc                   	int3
59aece:	cc                   	int3
59aecf:	cc                   	int3
59aed0:	b8 70 00 00 00       	mov    $0x70,%eax
59aed5:	e8 d6 68 03 00       	call   0x5d17b0
59aeda:	a1 c0 14 69 00       	mov    0x6914c0,%eax
59aedf:	33 c4                	xor    %esp,%eax
59aee1:	89 44 24 6c          	mov    %eax,0x6c(%esp)
59aee5:	8b 44 24 78          	mov    0x78(%esp),%eax
59aee9:	53                   	push   %ebx
59aeea:	8b 5c 24 78          	mov    0x78(%esp),%ebx
59aeee:	55                   	push   %ebp
59aeef:	8b ac 24 84 00 00 00 	mov    0x84(%esp),%ebp
59aef6:	89 44 24 14          	mov    %eax,0x14(%esp)
59aefa:	8b 84 24 88 00 00 00 	mov    0x88(%esp),%eax
59af01:	56                   	push   %esi
59af02:	89 44 24 2c          	mov    %eax,0x2c(%esp)
59af06:	33 f6                	xor    %esi,%esi
59af08:	8b 84 24 94 00 00 00 	mov    0x94(%esp),%eax
59af0f:	57                   	push   %edi
59af10:	33 ff                	xor    %edi,%edi
59af12:	89 44 24 38          	mov    %eax,0x38(%esp)
59af16:	8b 83 e0 05 00 00    	mov    0x5e0(%ebx),%eax
59af1c:	89 5c 24 34          	mov    %ebx,0x34(%esp)
59af20:	89 7c 24 24          	mov    %edi,0x24(%esp)
59af24:	89 7c 24 14          	mov    %edi,0x14(%esp)
59af28:	89 44 24 28          	mov    %eax,0x28(%esp)
59af2c:	85 ed                	test   %ebp,%ebp
59af2e:	75 08                	jne    0x59af38
59af30:	8d 5d 03             	lea    0x3(%ebp),%ebx
59af33:	e9 59 02 00 00       	jmp    0x59b191
59af38:	8b 4b 04             	mov    0x4(%ebx),%ecx
59af3b:	8b 41 64             	mov    0x64(%ecx),%eax
59af3e:	f6 40 30 08          	testb  $0x8,0x30(%eax)
59af42:	75 10                	jne    0x59af54
59af44:	8b 01                	mov    (%ecx),%eax
59af46:	3d 04 03 00 00       	cmp    $0x304,%eax
59af4b:	7c 07                	jl     0x59af54
59af4d:	3d 00 00 01 00       	cmp    $0x10000,%eax
59af52:	75 0c                	jne    0x59af60
59af54:	39 b3 8c 05 00 00    	cmp    %esi,0x58c(%ebx)
59af5a:	0f 85 2c 02 00 00    	jne    0x59b18c
59af60:	83 fd 20             	cmp    $0x20,%ebp
59af63:	0f 82 23 02 00 00    	jb     0x59b18c
59af69:	e8 b2 4d f9 ff       	call   0x52fd20
59af6e:	89 44 24 14          	mov    %eax,0x14(%esp)
59af72:	85 c0                	test   %eax,%eax
59af74:	75 07                	jne    0x59af7d
59af76:	33 db                	xor    %ebx,%ebx
59af78:	e9 14 02 00 00       	jmp    0x59b191
59af7d:	e8 ee 14 f4 ff       	call   0x4dc470
59af82:	8b f0                	mov    %eax,%esi
59af84:	89 74 24 10          	mov    %esi,0x10(%esp)
59af88:	85 f6                	test   %esi,%esi
59af8a:	75 07                	jne    0x59af93
59af8c:	33 db                	xor    %ebx,%ebx
59af8e:	e9 fe 01 00 00       	jmp    0x59b191
59af93:	8b 44 24 28          	mov    0x28(%esp),%eax
59af97:	8b 88 4c 01 00 00    	mov    0x14c(%eax),%ecx
59af9d:	85 c9                	test   %ecx,%ecx
59af9f:	74 40                	je     0x59afe1
59afa1:	8b 54 24 1c          	mov    0x1c(%esp),%edx
59afa5:	6a 00                	push   $0x0
59afa7:	ff 74 24 18          	push   0x18(%esp)
59afab:	56                   	push   %esi
59afac:	8d 42 10             	lea    0x10(%edx),%eax
59afaf:	50                   	push   %eax
59afb0:	52                   	push   %edx
59afb1:	53                   	push   %ebx
59afb2:	ff d1                	call   *%ecx
59afb4:	83 c4 18             	add    $0x18,%esp
59afb7:	85 c0                	test   %eax,%eax
59afb9:	79 0a                	jns    0x59afc5
59afbb:	bb 01 00 00 00       	mov    $0x1,%ebx
59afc0:	e9 cc 01 00 00       	jmp    0x59b191
59afc5:	0f 84 c1 01 00 00    	je     0x59b18c
59afcb:	83 f8 02             	cmp    $0x2,%eax
59afce:	0f 85 a7 00 00 00    	jne    0x59b07b
59afd4:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
59afdb:	00
59afdc:	e9 9a 00 00 00       	jmp    0x59b07b
59afe1:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
59afe5:	8d 90 38 01 00 00    	lea    0x138(%eax),%edx
59afeb:	be 0c 00 00 00       	mov    $0xc,%esi
59aff0:	8b 01                	mov    (%ecx),%eax
59aff2:	3b 02                	cmp    (%edx),%eax
59aff4:	0f 85 8e 01 00 00    	jne    0x59b188
59affa:	83 c1 04             	add    $0x4,%ecx
59affd:	83 c2 04             	add    $0x4,%edx
59b000:	83 ee 04             	sub    $0x4,%esi
59b003:	73 eb                	jae    0x59aff0
59b005:	6a 00                	push   $0x0
59b007:	e8 24 b5 f7 ff       	call   0x516530
59b00c:	8b 74 24 2c          	mov    0x2c(%esp),%esi
59b010:	50                   	push   %eax
59b011:	6a 20                	push   $0x20
59b013:	ff b6 48 01 00 00    	push   0x148(%esi)
59b019:	ff 74 24 24          	push   0x24(%esp)
59b01d:	e8 ee 4e f9 ff       	call   0x52ff10
59b022:	83 c4 14             	add    $0x14,%esp
59b025:	85 c0                	test   %eax,%eax
59b027:	7e 64                	jle    0x59b08d
59b029:	8b 44 24 1c          	mov    0x1c(%esp),%eax
59b02d:	83 c0 10             	add    $0x10,%eax
59b030:	50                   	push   %eax
59b031:	8b 86 48 01 00 00    	mov    0x148(%esi),%eax
59b037:	83 c0 20             	add    $0x20,%eax
59b03a:	50                   	push   %eax
59b03b:	6a 00                	push   $0x0
59b03d:	e8 8e 49 f4 ff       	call   0x4df9d0
59b042:	50                   	push   %eax
59b043:	ff 74 24 20          	push   0x20(%esp)
59b047:	e8 d4 1a f4 ff       	call   0x4dcb20
59b04c:	83 c4 14             	add    $0x14,%esp
59b04f:	85 c0                	test   %eax,%eax
59b051:	7e 3a                	jle    0x59b08d
59b053:	8b 4b 04             	mov    0x4(%ebx),%ecx
59b056:	8b 41 64             	mov    0x64(%ecx),%eax
59b059:	f6 40 30 08          	testb  $0x8,0x30(%eax)
59b05d:	75 1c                	jne    0x59b07b
59b05f:	8b 01                	mov    (%ecx),%eax
59b061:	3d 04 03 00 00       	cmp    $0x304,%eax
59b066:	7c 13                	jl     0x59b07b
59b068:	33 db                	xor    %ebx,%ebx
59b06a:	b9 01 00 00 00       	mov    $0x1,%ecx
59b06f:	3d 00 00 01 00       	cmp    $0x10000,%eax
59b074:	0f 45 d9             	cmovne %ecx,%ebx