59e851:	0f 82 a6 00 00 00    	jb     0x59e8fd
59e857:	83 c1 fe             	add    $0xfffffffe,%ecx
59e85a:	89 4c 24 28          	mov    %ecx,0x28(%esp)
59e85e:	83 f9 02             	cmp    $0x2,%ecx
59e861:	0f 82 96 00 00 00    	jb     0x59e8fd
59e867:	0f b6 7a 02          	movzbl 0x2(%edx),%edi
59e86b:	0f b6 42 03          	movzbl 0x3(%edx),%eax
59e86f:	c1 e7 08             	shl    $0x8,%edi
59e872:	0b f8                	or     %eax,%edi
59e874:	8d 42 04             	lea    0x4(%edx),%eax
59e877:	89 44 24 24          	mov    %eax,0x24(%esp)
59e87b:	8d 41 fe             	lea    -0x2(%ecx),%eax
59e87e:	89 44 24 28          	mov    %eax,0x28(%esp)
59e882:	8d 44 24 18          	lea    0x18(%esp),%eax
59e886:	50                   	push   %eax
59e887:	8d 44 24 28          	lea    0x28(%esp),%eax
59e88b:	50                   	push   %eax
59e88c:	e8 7f cc ff ff       	call   0x59b510
59e891:	83 c4 08             	add    $0x8,%esp
59e894:	85 c0                	test   %eax,%eax
59e896:	74 65                	je     0x59e8fd
59e898:	85 ff                	test   %edi,%edi
59e89a:	75 61                	jne    0x59e8fd
59e89c:	56                   	push   %esi
59e89d:	e8 2e a6 fe ff       	call   0x588ed0
59e8a2:	25 00 ff ff ff       	and    $0xffffff00,%eax
59e8a7:	83 c4 04             	add    $0x4,%esp
59e8aa:	3d 00 03 00 00       	cmp    $0x300,%eax
59e8af:	75 0d                	jne    0x59e8be
59e8b1:	56                   	push   %esi
59e8b2:	e8 19 a6 fe ff       	call   0x588ed0
59e8b7:	83 c4 04             	add    $0x4,%esp
59e8ba:	8b c8                	mov    %eax,%ecx
59e8bc:	eb 02                	jmp    0x59e8c0
59e8be:	33 c9                	xor    %ecx,%ecx
59e8c0:	81 f9 03 03 00 00    	cmp    $0x303,%ecx
59e8c6:	b8 12 00 00 00       	mov    $0x12,%eax
59e8cb:	ba 22 00 00 00       	mov    $0x22,%edx
59e8d0:	0f 4d c2             	cmovge %edx,%eax
59e8d3:	39 44 24 28          	cmp    %eax,0x28(%esp)
59e8d7:	74 04                	je     0x59e8dd
59e8d9:	33 c0                	xor    %eax,%eax
59e8db:	eb 17                	jmp    0x59e8f4
59e8dd:	50                   	push   %eax
59e8de:	68 88 7b 66 00       	push   $0x667b88
59e8e3:	ff 74 24 2c          	push   0x2c(%esp)
59e8e7:	e8 64 31 e6 ff       	call   0x401a50
59e8ec:	83 c4 0c             	add    $0xc,%esp
59e8ef:	f7 d8                	neg    %eax
59e8f1:	1b c0                	sbb    %eax,%eax
59e8f3:	40                   	inc    %eax
59e8f4:	8b 4e 7c             	mov    0x7c(%esi),%ecx
59e8f7:	88 81 54 03 00 00    	mov    %al,0x354(%ecx)
59e8fd:	6a 01                	push   $0x1
59e8ff:	6a 00                	push   $0x0
59e901:	6a 00                	push   $0x0
59e903:	ff b3 68 02 00 00    	push   0x268(%ebx)
59e909:	68 80 00 00 00       	push   $0x80
59e90e:	56                   	push   %esi
59e90f:	e8 6c 71 00 00       	call   0x5a5a80
59e914:	83 c4 18             	add    $0x18,%esp
59e917:	85 c0                	test   %eax,%eax
59e919:	0f 84 36 fd ff ff    	je     0x59e655
59e91f:	ff 74 24 30          	push   0x30(%esp)
59e923:	8b 46 7c             	mov    0x7c(%esi),%eax
59e926:	6a 20                	push   $0x20
59e928:	05 8c 00 00 00       	add    $0x8c,%eax
59e92d:	50                   	push   %eax
59e92e:	6a 01                	push   $0x1
59e930:	56                   	push   %esi
59e931:	e8 7a f1 fe ff       	call   0x58dab0
59e936:	83 c4 14             	add    $0x14,%esp
59e939:	85 c0                	test   %eax,%eax
59e93b:	7f 18                	jg     0x59e955
59e93d:	68 84 07 00 00       	push   $0x784
59e942:	68 e0 7b 66 00       	push   $0x667be0
59e947:	6a 44                	push   $0x44
59e949:	68 09 02 00 00       	push   $0x209
59e94e:	6a 50                	push   $0x50
59e950:	e9 f7 fc ff ff       	jmp    0x59e64c
59e955:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
59e95c:	0f 85 45 01 00 00    	jne    0x59eaa7
59e962:	81 3e 01 03 00 00    	cmpl   $0x301,(%esi)
59e968:	0f 8c 39 01 00 00    	jl     0x59eaa7
59e96e:	8b 4e 04             	mov    0x4(%esi),%ecx
59e971:	8b 41 64             	mov    0x64(%ecx),%eax
59e974:	f6 40 30 08          	testb  $0x8,0x30(%eax)
59e978:	0f 85 29 01 00 00    	jne    0x59eaa7
59e97e:	8b 01                	mov    (%ecx),%eax
59e980:	3d 04 03 00 00       	cmp    $0x304,%eax
59e985:	7c 0b                	jl     0x59e992
59e987:	3d 00 00 01 00       	cmp    $0x10000,%eax
59e98c:	0f 85 15 01 00 00    	jne    0x59eaa7
59e992:	8b 8e 8c 05 00 00    	mov    0x58c(%esi),%ecx
59e998:	85 c9                	test   %ecx,%ecx
59e99a:	0f 84 07 01 00 00    	je     0x59eaa7
59e9a0:	ff b6 90 05 00 00    	push   0x590(%esi)
59e9a6:	8d 44 24 1c          	lea    0x1c(%esp),%eax
59e9aa:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
59e9b1:	00
59e9b2:	50                   	push   %eax
59e9b3:	ff 74 24 18          	push   0x18(%esp)
59e9b7:	8d 44 24 30          	lea    0x30(%esp),%eax
59e9bb:	c7 44 24 30 00 01 00 	movl   $0x100,0x30(%esp)
59e9c2:	00
59e9c3:	50                   	push   %eax
59e9c4:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
59e9ca:	83 c0 48             	add    $0x48,%eax
59e9cd:	50                   	push   %eax
59e9ce:	56                   	push   %esi
59e9cf:	ff d1                	call   *%ecx
59e9d1:	83 c4 18             	add    $0x18,%esp
59e9d4:	85 c0                	test   %eax,%eax
59e9d6:	0f 84 cb 00 00 00    	je     0x59eaa7
59e9dc:	8b 4c 24 24          	mov    0x24(%esp),%ecx
59e9e0:	85 c9                	test   %ecx,%ecx
59e9e2:	0f 8e bf 00 00 00    	jle    0x59eaa7
59e9e8:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
59e9ee:	89 48 04             	mov    %ecx,0x4(%eax)
59e9f1:	8b 44 24 10          	mov    0x10(%esp),%eax
59e9f5:	89 86 b8 00 00 00    	mov    %eax,0xb8(%esi)
59e9fb:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
59ea01:	c7 86 8c 00 00 00 01 	movl   $0x1,0x8c(%esi)
59ea08:	00 00 00
59ea0b:	c7 80 a8 01 00 00 00 	movl   $0x0,0x1a8(%eax)
59ea12:	00 00 00
59ea15:	8b 4c 24 18          	mov    0x18(%esp),%ecx
59ea19:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
59ea20:	00
59ea21:	85 c9                	test   %ecx,%ecx
59ea23:	75 3b                	jne    0x59ea60
59ea25:	56                   	push   %esi
59ea26:	e8 75 aa fe ff       	call   0x5894a0
59ea2b:	50                   	push   %eax
59ea2c:	ff b6 b8 00 00 00    	push   0xb8(%esi)
59ea32:	56                   	push   %esi
59ea33:	e8 e8 cf fe ff       	call   0x58ba20
59ea38:	8b c8                	mov    %eax,%ecx
59ea3a:	83 c4 10             	add    $0x10,%esp
59ea3d:	89 4c 24 18          	mov    %ecx,0x18(%esp)
59ea41:	85 c9                	test   %ecx,%ecx
59ea43:	75 1b                	jne    0x59ea60
59ea45:	68 a9 07 00 00       	push   $0x7a9
59ea4a:	68 e0 7b 66 00       	push   $0x667be0
59ea4f:	68 c1 00 00 00       	push   $0xc1
59ea54:	68 09 02 00 00       	push   $0x209
59ea59:	6a 28                	push   $0x28
59ea5b:	e9 ec fb ff ff       	jmp    0x59e64c
59ea60:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
59ea66:	89 88 bc 01 00 00    	mov    %ecx,0x1bc(%eax)
59ea6c:	ff b6 bc 00 00 00    	push   0xbc(%esi)
59ea72:	e8 a9 64 f4 ff       	call   0x4e4f20
59ea77:	ff b6 b8 00 00 00    	push   0xb8(%esi)
59ea7d:	e8 4e 63 f4 ff       	call   0x4e4dd0
59ea82:	ff b6 c0 00 00 00    	push   0xc0(%esi)
59ea88:	89 86 bc 00 00 00    	mov    %eax,0xbc(%esi)
59ea8e:	e8 8d 64 f4 ff       	call   0x4e4f20
59ea93:	ff b6 b8 00 00 00    	push   0xb8(%esi)
59ea99:	e8 32 63 f4 ff       	call   0x4e4dd0
59ea9e:	83 c4 10             	add    $0x10,%esp
59eaa1:	89 86 c0 00 00 00    	mov    %eax,0xc0(%esi)
59eaa7:	8b 46 7c             	mov    0x7c(%esi),%eax
59eaaa:	c7 80 40 02 00 00 00 	movl   $0x0,0x240(%eax)
59eab1:	00 00 00
59eab4:	8b 4e 04             	mov    0x4(%esi),%ecx
59eab7:	8b 41 64             	mov    0x64(%ecx),%eax
59eaba:	8b 50 30             	mov    0x30(%eax),%edx
59eabd:	83 e2 08             	and    $0x8,%edx
59eac0:	75 2d                	jne    0x59eaef
59eac2:	8b 01                	mov    (%ecx),%eax
59eac4:	3d 04 03 00 00       	cmp    $0x304,%eax
59eac9:	7c 24                	jl     0x59eaef
59eacb:	3d 00 00 01 00       	cmp    $0x10000,%eax
59ead0:	74 1d                	je     0x59eaef
59ead2:	83 bb 58 01 00 00 01 	cmpl   $0x1,0x158(%ebx)
59ead9:	74 14                	je     0x59eaef
59eadb:	68 c4 07 00 00       	push   $0x7c4
59eae0:	68 e0 7b 66 00       	push   $0x667be0
59eae5:	68 55 01 00 00       	push   $0x155
59eaea:	e9 56 fb ff ff       	jmp    0x59e645
59eaef:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
59eaf5:	83 b8 b8 01 00 00 00 	cmpl   $0x0,0x1b8(%eax)
59eafc:	74 1b                	je     0x59eb19
59eafe:	68 0f 08 00 00       	push   $0x80f
59eb03:	68 e0 7b 66 00       	push   $0x667be0
59eb08:	68 54 01 00 00       	push   $0x154
59eb0d:	68 09 02 00 00       	push   $0x209
59eb12:	6a 28                	push   $0x28
59eb14:	e9 33 fb ff ff       	jmp    0x59e64c
59eb19:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
59eb20:	74 14                	je     0x59eb36
59eb22:	85 d2                	test   %edx,%edx
59eb24:	75 73                	jne    0x59eb99
59eb26:	8b 01                	mov    (%ecx),%eax
59eb28:	3d 04 03 00 00       	cmp    $0x304,%eax
59eb2d:	7c 6a                	jl     0x59eb99
59eb2f:	3d 00 00 01 00       	cmp    $0x10000,%eax
59eb34:	74 63                	je     0x59eb99
59eb36:	ff b6 b8 00 00 00    	push   0xb8(%esi)
59eb3c:	e8 df 63 f4 ff       	call   0x4e4f20
59eb41:	8b 44 24 14          	mov    0x14(%esp),%eax
59eb45:	83 c4 04             	add    $0x4,%esp
59eb48:	89 86 b8 00 00 00    	mov    %eax,0xb8(%esi)
59eb4e:	85 c0                	test   %eax,%eax
59eb50:	75 18                	jne    0x59eb6a
59eb52:	68 1e 08 00 00       	push   $0x81e
59eb57:	68 e0 7b 66 00       	push   $0x667be0
59eb5c:	6a 44                	push   $0x44
59eb5e:	68 09 02 00 00       	push   $0x209
59eb63:	6a 50                	push   $0x50
59eb65:	e9 e2 fa ff ff       	jmp    0x59e64c
59eb6a:	33 c0                	xor    %eax,%eax
59eb6c:	89 44 24 10          	mov    %eax,0x10(%esp)
59eb70:	39 86 8c 00 00 00    	cmp    %eax,0x8c(%esi)
59eb76:	75 25                	jne    0x59eb9d
59eb78:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
59eb7e:	56                   	push   %esi
59eb7f:	c7 80 b8 01 00 00 00 	movl   $0x0,0x1b8(%eax)
59eb86:	00 00 00
59eb89:	e8 42 b8 ff ff       	call   0x59a3d0
59eb8e:	83 c4 04             	add    $0x4,%esp
59eb91:	85 c0                	test   %eax,%eax
59eb93:	0f 84 bc fa ff ff    	je     0x59e655
59eb99:	8b 44 24 10          	mov    0x10(%esp),%eax
59eb9d:	50                   	push   %eax
59eb9e:	e8 7d 63 f4 ff       	call   0x4e4f20
59eba3:	ff 74 24 18          	push   0x18(%esp)
59eba7:	e8 74 63 f4 ff       	call   0x4e4f20
59ebac:	68 32 08 00 00       	push   $0x832
59ebb1:	68 e0 7b 66 00       	push   $0x667be0
59ebb6:	ff b3 68 02 00 00    	push   0x268(%ebx)
59ebbc:	e8 bf 1b f4 ff       	call   0x4e0780
59ebc1:	68 33 08 00 00       	push   $0x833
59ebc6:	68 e0 7b 66 00       	push   $0x667be0
59ebcb:	ff b6 c8 05 00 00    	push   0x5c8(%esi)
59ebd1:	e8 aa 1b f4 ff       	call   0x4e0780
59ebd6:	83 c4 20             	add    $0x20,%esp
59ebd9:	c7 86 c8 05 00 00 00 	movl   $0x0,0x5c8(%esi)
59ebe0:	00 00 00
59ebe3:	b8 01 00 00 00       	mov    $0x1,%eax
59ebe8:	5f                   	pop    %edi
59ebe9:	5e                   	pop    %esi
59ebea:	5d                   	pop    %ebp
59ebeb:	5b                   	pop    %ebx
59ebec:	83 c4 1c             	add    $0x1c,%esp
59ebef:	c3                   	ret
59ebf0:	b8 08 00 00 00       	mov    $0x8,%eax
59ebf5:	e8 b6 2b 03 00       	call   0x5d17b0
59ebfa:	53                   	push   %ebx
59ebfb:	56                   	push   %esi
59ebfc:	8b 74 24 14          	mov    0x14(%esp),%esi
59ec00:	c7 44 24 0c 00 00 00 	movl   $0x0,0xc(%esp)
59ec07:	00
59ec08:	c6 44 24 0b 00       	movb   $0x0,0xb(%esp)
59ec0d:	57                   	push   %edi
59ec0e:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
59ec14:	8b 88 70 01 00 00    	mov    0x170(%eax),%ecx
59ec1a:	85 c9                	test   %ecx,%ecx
59ec1c:	0f 84 22 02 00 00    	je     0x59ee44
59ec22:	8b 56 7c             	mov    0x7c(%esi),%edx
59ec25:	8b ba 48 03 00 00    	mov    0x348(%edx),%edi
59ec2b:	85 ff                	test   %edi,%edi
59ec2d:	0f 84 11 02 00 00    	je     0x59ee44
59ec33:	ff b0 74 01 00 00    	push   0x174(%eax)
59ec39:	8d 44 24 13          	lea    0x13(%esp),%eax
59ec3d:	ff b2 4c 03 00 00    	push   0x34c(%edx)
59ec43:	57                   	push   %edi
59ec44:	50                   	push   %eax
59ec45:	8d 44 24 20          	lea    0x20(%esp),%eax
59ec49:	50                   	push   %eax
59ec4a:	56                   	push   %esi
59ec4b:	ff d1                	call   *%ecx
59ec4d:	83 c4 18             	add    $0x18,%esp
59ec50:	85 c0                	test   %eax,%eax
59ec52:	0f 85 bf 01 00 00    	jne    0x59ee17
59ec58:	8b 46 7c             	mov    0x7c(%esi),%eax
59ec5b:	68 82 08 00 00       	push   $0x882
59ec60:	68 e0 7b 66 00       	push   $0x667be0
59ec65:	ff b0 40 03 00 00    	push   0x340(%eax)
59ec6b:	e8 10 1b f4 ff       	call   0x4e0780
59ec70:	0f b6 44 24 1b       	movzbl 0x1b(%esp),%eax
59ec75:	68 83 08 00 00       	push   $0x883
59ec7a:	68 e0 7b 66 00       	push   $0x667be0
59ec7f:	50                   	push   %eax
59ec80:	ff 74 24 28          	push   0x28(%esp)
59ec84:	e8 e7 33 f4 ff       	call   0x4e2070
59ec89:	8b 4e 7c             	mov    0x7c(%esi),%ecx
59ec8c:	83 c4 1c             	add    $0x1c,%esp
59ec8f:	89 81 40 03 00 00    	mov    %eax,0x340(%ecx)
59ec95:	8b 4e 7c             	mov    0x7c(%esi),%ecx
59ec98:	83 b9 40 03 00 00 00 	cmpl   $0x0,0x340(%ecx)
59ec9f:	75 25                	jne    0x59ecc6
59eca1:	68 86 08 00 00       	push   $0x886
59eca6:	68 e0 7b 66 00       	push   $0x667be0
59ecab:	6a 44                	push   $0x44
59ecad:	68 32 02 00 00       	push   $0x232
59ecb2:	6a 50                	push   $0x50
59ecb4:	56                   	push   %esi
59ecb5:	e8 56 04 ff ff       	call   0x58f110
59ecba:	83 c4 18             	add    $0x18,%esp
59ecbd:	33 c0                	xor    %eax,%eax
59ecbf:	5f                   	pop    %edi
59ecc0:	5e                   	pop    %esi
59ecc1:	5b                   	pop    %ebx
59ecc2:	83 c4 08             	add    $0x8,%esp
59ecc5:	c3                   	ret
59ecc6:	0f b6 44 24 0f       	movzbl 0xf(%esp),%eax
59eccb:	89 81 44 03 00 00    	mov    %eax,0x344(%ecx)
59ecd1:	8b 46 7c             	mov    0x7c(%esi),%eax
59ecd4:	c7 80 3c 03 00 00 00 	movl   $0x0,0x33c(%eax)
59ecdb:	00 00 00
59ecde:	8b 9e 74 04 00 00    	mov    0x474(%esi),%ebx
59ece4:	8a 44 24 0f          	mov    0xf(%esp),%al
59ece8:	8b 93 e8 01 00 00    	mov    0x1e8(%ebx),%edx
59ecee:	85 d2                	test   %edx,%edx
59ecf0:	74 6f                	je     0x59ed61
59ecf2:	0f b6 c8             	movzbl %al,%ecx
59ecf5:	3b 8b ec 01 00 00    	cmp    0x1ec(%ebx),%ecx
59ecfb:	75 64                	jne    0x59ed61
59ecfd:	8b 7c 24 10          	mov    0x10(%esp),%edi
59ed01:	83 e9 04             	sub    $0x4,%ecx
59ed04:	72 11                	jb     0x59ed17
59ed06:	8b 07                	mov    (%edi),%eax
59ed08:	3b 02                	cmp    (%edx),%eax
59ed0a:	75 14                	jne    0x59ed20
59ed0c:	83 c7 04             	add    $0x4,%edi
59ed0f:	83 c2 04             	add    $0x4,%edx
59ed12:	83 e9 04             	sub    $0x4,%ecx
59ed15:	73 ef                	jae    0x59ed06
59ed17:	83 f9 fc             	cmp    $0xfffffffc,%ecx
59ed1a:	0f 84 3d 01 00 00    	je     0x59ee5d
59ed20:	8a 07                	mov    (%edi),%al
59ed22:	3a 02                	cmp    (%edx),%al
59ed24:	75 37                	jne    0x59ed5d
59ed26:	83 f9 fd             	cmp    $0xfffffffd,%ecx
59ed29:	0f 84 2e 01 00 00    	je     0x59ee5d
59ed2f:	8a 47 01             	mov    0x1(%edi),%al
59ed32:	3a 42 01             	cmp    0x1(%edx),%al
59ed35:	75 26                	jne    0x59ed5d
59ed37:	83 f9 fe             	cmp    $0xfffffffe,%ecx
59ed3a:	0f 84 1d 01 00 00    	je     0x59ee5d
59ed40:	8a 47 02             	mov    0x2(%edi),%al
59ed43:	3a 42 02             	cmp    0x2(%edx),%al
59ed46:	75 15                	jne    0x59ed5d
59ed48:	83 f9 ff             	cmp    $0xffffffff,%ecx
59ed4b:	0f 84 0c 01 00 00    	je     0x59ee5d
59ed51:	8a 47 03             	mov    0x3(%edi),%al
59ed54:	3a 42 03             	cmp    0x3(%edx),%al
59ed57:	0f 84 00 01 00 00    	je     0x59ee5d
59ed5d:	8a 44 24 0f          	mov    0xf(%esp),%al