5c68dd:	84 db                	test   %bl,%bl
5c68df:	75 1d                	jne    0x5c68fe
5c68e1:	8b 45 e0             	mov    -0x20(%ebp),%eax
5c68e4:	3b fe                	cmp    %esi,%edi
5c68e6:	75 d8                	jne    0x5c68c0
5c68e8:	8b 45 ec             	mov    -0x14(%ebp),%eax
5c68eb:	3b 45 08             	cmp    0x8(%ebp),%eax
5c68ee:	0f 85 b9 00 00 00    	jne    0x5c69ad
5c68f4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c68f7:	89 39                	mov    %edi,(%ecx)
5c68f9:	e9 af 00 00 00       	jmp    0x5c69ad
5c68fe:	8b 45 ec             	mov    -0x14(%ebp),%eax
5c6901:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5c6904:	3b 45 08             	cmp    0x8(%ebp),%eax
5c6907:	75 07                	jne    0x5c6910
5c6909:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5c690c:	89 01                	mov    %eax,(%ecx)
5c690e:	eb 03                	jmp    0x5c6913
5c6910:	8b 45 dc             	mov    -0x24(%ebp),%eax
5c6913:	89 41 04             	mov    %eax,0x4(%ecx)
5c6916:	3b fe                	cmp    %esi,%edi
5c6918:	0f 84 8f 00 00 00    	je     0x5c69ad
5c691e:	8b ff                	mov    %edi,%edi
5c6920:	0f b6 47 08          	movzbl 0x8(%edi),%eax
5c6924:	35 c5 9d 1c 81       	xor    $0x811c9dc5,%eax
5c6929:	69 c8 93 01 00 01    	imul   $0x1000193,%eax,%ecx
5c692f:	0f b6 47 09          	movzbl 0x9(%edi),%eax
5c6933:	33 c8                	xor    %eax,%ecx
5c6935:	0f b6 47 0a          	movzbl 0xa(%edi),%eax
5c6939:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c693f:	33 c8                	xor    %eax,%ecx
5c6941:	0f b6 47 0b          	movzbl 0xb(%edi),%eax
5c6945:	69 c9 93 01 00 01    	imul   $0x1000193,%ecx,%ecx
5c694b:	33 c8                	xor    %eax,%ecx
5c694d:	69 c1 93 01 00 01    	imul   $0x1000193,%ecx,%eax
5c6953:	8b 4a 18             	mov    0x18(%edx),%ecx
5c6956:	23 c8                	and    %eax,%ecx
5c6958:	8b 45 e8             	mov    -0x18(%ebp),%eax
5c695b:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
5c695e:	89 45 08             	mov    %eax,0x8(%ebp)
5c6961:	8b 40 04             	mov    0x4(%eax),%eax
5c6964:	89 45 0c             	mov    %eax,0xc(%ebp)
5c6967:	3b f8                	cmp    %eax,%edi
5c6969:	8b c7                	mov    %edi,%eax
5c696b:	8b 3f                	mov    (%edi),%edi
5c696d:	6a 1c                	push   $0x1c
5c696f:	50                   	push   %eax
5c6970:	0f 94 c3             	sete   %bl
5c6973:	89 7d d4             	mov    %edi,-0x2c(%ebp)
5c6976:	e8 da a8 00 00       	call   0x5d1255
5c697b:	8b 45 f0             	mov    -0x10(%ebp),%eax
5c697e:	83 c4 08             	add    $0x8,%esp
5c6981:	ff 48 08             	decl   0x8(%eax)
5c6984:	84 db                	test   %bl,%bl
5c6986:	75 09                	jne    0x5c6991
5c6988:	3b fe                	cmp    %esi,%edi
5c698a:	74 1c                	je     0x5c69a8
5c698c:	8b 45 0c             	mov    0xc(%ebp),%eax
5c698f:	eb d6                	jmp    0x5c6967
5c6991:	8b 45 08             	mov    0x8(%ebp),%eax
5c6994:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5c6997:	89 10                	mov    %edx,(%eax)
5c6999:	89 50 04             	mov    %edx,0x4(%eax)
5c699c:	3b fe                	cmp    %esi,%edi
5c699e:	74 0d                	je     0x5c69ad
5c69a0:	8b 55 f0             	mov    -0x10(%ebp),%edx
5c69a3:	e9 78 ff ff ff       	jmp    0x5c6920
5c69a8:	8b 45 08             	mov    0x8(%ebp),%eax
5c69ab:	89 38                	mov    %edi,(%eax)
5c69ad:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5c69b4:	8b 45 d8             	mov    -0x28(%ebp),%eax
5c69b7:	89 38                	mov    %edi,(%eax)
5c69b9:	89 47 04             	mov    %eax,0x4(%edi)
5c69bc:	5f                   	pop    %edi
5c69bd:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c69c0:	8b c6                	mov    %esi,%eax
5c69c2:	5e                   	pop    %esi
5c69c3:	5b                   	pop    %ebx
5c69c4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c69cb:	8b e5                	mov    %ebp,%esp
5c69cd:	5d                   	pop    %ebp
5c69ce:	c2 08 00             	ret    $0x8
5c69d1:	cc                   	int3
5c69d2:	cc                   	int3
5c69d3:	cc                   	int3
5c69d4:	cc                   	int3
5c69d5:	cc                   	int3
5c69d6:	cc                   	int3
5c69d7:	cc                   	int3
5c69d8:	cc                   	int3
5c69d9:	cc                   	int3
5c69da:	cc                   	int3
5c69db:	cc                   	int3
5c69dc:	cc                   	int3
5c69dd:	cc                   	int3
5c69de:	cc                   	int3
5c69df:	cc                   	int3
5c69e0:	55                   	push   %ebp
5c69e1:	8b ec                	mov    %esp,%ebp
5c69e3:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c69e9:	6a ff                	push   $0xffffffff
5c69eb:	68 20 fc 5f 00       	push   $0x5ffc20
5c69f0:	50                   	push   %eax
5c69f1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c69f8:	56                   	push   %esi
5c69f9:	57                   	push   %edi
5c69fa:	8b f9                	mov    %ecx,%edi
5c69fc:	8b 4f 08             	mov    0x8(%edi),%ecx
5c69ff:	85 c9                	test   %ecx,%ecx
5c6a01:	74 78                	je     0x5c6a7b
5c6a03:	8b 47 1c             	mov    0x1c(%edi),%eax
5c6a06:	c1 e8 03             	shr    $0x3,%eax
5c6a09:	3b c1                	cmp    %ecx,%eax
5c6a0b:	76 1d                	jbe    0x5c6a2a
5c6a0d:	8b 47 04             	mov    0x4(%edi),%eax
5c6a10:	8b cf                	mov    %edi,%ecx
5c6a12:	50                   	push   %eax
5c6a13:	ff 30                	push   (%eax)
5c6a15:	e8 f6 fd ff ff       	call   0x5c6810
5c6a1a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c6a1d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c6a24:	5f                   	pop    %edi
5c6a25:	5e                   	pop    %esi
5c6a26:	8b e5                	mov    %ebp,%esp
5c6a28:	5d                   	pop    %ebp
5c6a29:	c3                   	ret
5c6a2a:	8b 4f 04             	mov    0x4(%edi),%ecx
5c6a2d:	8b 41 04             	mov    0x4(%ecx),%eax
5c6a30:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
5c6a36:	8b 01                	mov    (%ecx),%eax
5c6a38:	85 c0                	test   %eax,%eax
5c6a3a:	74 17                	je     0x5c6a53
5c6a3c:	8d 64 24 00          	lea    0x0(%esp),%esp
5c6a40:	8b 30                	mov    (%eax),%esi
5c6a42:	6a 1c                	push   $0x1c
5c6a44:	50                   	push   %eax
5c6a45:	e8 0b a8 00 00       	call   0x5d1255
5c6a4a:	83 c4 08             	add    $0x8,%esp
5c6a4d:	8b c6                	mov    %esi,%eax
5c6a4f:	85 f6                	test   %esi,%esi
5c6a51:	75 ed                	jne    0x5c6a40
5c6a53:	8b 47 04             	mov    0x4(%edi),%eax
5c6a56:	89 00                	mov    %eax,(%eax)
5c6a58:	8b 47 04             	mov    0x4(%edi),%eax
5c6a5b:	89 40 04             	mov    %eax,0x4(%eax)
5c6a5e:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5c6a65:	8b 57 10             	mov    0x10(%edi),%edx
5c6a68:	8b 4f 0c             	mov    0xc(%edi),%ecx
5c6a6b:	8b 47 04             	mov    0x4(%edi),%eax
5c6a6e:	3b ca                	cmp    %edx,%ecx
5c6a70:	74 09                	je     0x5c6a7b
5c6a72:	89 01                	mov    %eax,(%ecx)
5c6a74:	83 c1 04             	add    $0x4,%ecx
5c6a77:	3b ca                	cmp    %edx,%ecx
5c6a79:	75 f7                	jne    0x5c6a72
5c6a7b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c6a7e:	5f                   	pop    %edi
5c6a7f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c6a86:	5e                   	pop    %esi
5c6a87:	8b e5                	mov    %ebp,%esp
5c6a89:	5d                   	pop    %ebp
5c6a8a:	c3                   	ret
5c6a8b:	cc                   	int3
5c6a8c:	cc                   	int3
5c6a8d:	cc                   	int3
5c6a8e:	cc                   	int3
5c6a8f:	cc                   	int3
5c6a90:	55                   	push   %ebp
5c6a91:	8b ec                	mov    %esp,%ebp
5c6a93:	8b 45 0c             	mov    0xc(%ebp),%eax
5c6a96:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5c6a99:	8b 45 08             	mov    0x8(%ebp),%eax
5c6a9c:	c1 e1 02             	shl    $0x2,%ecx
5c6a9f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5c6aa5:	72 12                	jb     0x5c6ab9
5c6aa7:	8b 50 fc             	mov    -0x4(%eax),%edx
5c6aaa:	83 c1 23             	add    $0x23,%ecx
5c6aad:	2b c2                	sub    %edx,%eax
5c6aaf:	83 c0 fc             	add    $0xfffffffc,%eax
5c6ab2:	83 f8 1f             	cmp    $0x1f,%eax
5c6ab5:	77 10                	ja     0x5c6ac7
5c6ab7:	8b c2                	mov    %edx,%eax
5c6ab9:	51                   	push   %ecx
5c6aba:	50                   	push   %eax
5c6abb:	e8 95 a7 00 00       	call   0x5d1255
5c6ac0:	83 c4 08             	add    $0x8,%esp
5c6ac3:	5d                   	pop    %ebp
5c6ac4:	c2 08 00             	ret    $0x8
5c6ac7:	e8 24 f7 00 00       	call   0x5d61f0
5c6acc:	cc                   	int3
5c6acd:	cc                   	int3
5c6ace:	cc                   	int3
5c6acf:	cc                   	int3
5c6ad0:	55                   	push   %ebp
5c6ad1:	8b ec                	mov    %esp,%ebp
5c6ad3:	83 ec 08             	sub    $0x8,%esp
5c6ad6:	8b 45 08             	mov    0x8(%ebp),%eax
5c6ad9:	56                   	push   %esi
5c6ada:	57                   	push   %edi
5c6adb:	8b f9                	mov    %ecx,%edi
5c6add:	d9 07                	flds   (%edi)
5c6adf:	dd 55 f8             	fstl   -0x8(%ebp)
5c6ae2:	db 45 08             	fildl  0x8(%ebp)
5c6ae5:	85 c0                	test   %eax,%eax
5c6ae7:	79 06                	jns    0x5c6aef
5c6ae9:	d8 05 00 5e 60 00    	fadds  0x605e00
5c6aef:	d9 5d 08             	fstps  0x8(%ebp)
5c6af2:	d8 7d 08             	fdivrs 0x8(%ebp)
5c6af5:	83 ec 08             	sub    $0x8,%esp
5c6af8:	d9 5d 08             	fstps  0x8(%ebp)
5c6afb:	d9 45 08             	flds   0x8(%ebp)
5c6afe:	dd 1c 24             	fstpl  (%esp)
5c6b01:	e8 ca f9 00 00       	call   0x5d64d0
5c6b06:	d9 5d 08             	fstps  0x8(%ebp)
5c6b09:	d9 45 08             	flds   0x8(%ebp)
5c6b0c:	e8 0f ab 00 00       	call   0x5d1620
5c6b11:	8b 4f 08             	mov    0x8(%edi),%ecx
5c6b14:	8b f0                	mov    %eax,%esi
5c6b16:	db 47 08             	fildl  0x8(%edi)
5c6b19:	85 c9                	test   %ecx,%ecx
5c6b1b:	79 06                	jns    0x5c6b23
5c6b1d:	d8 05 00 5e 60 00    	fadds  0x605e00
5c6b23:	d9 5d 08             	fstps  0x8(%ebp)
5c6b26:	d9 45 08             	flds   0x8(%ebp)
5c6b29:	dc 75 f8             	fdivl  -0x8(%ebp)
5c6b2c:	d9 5d 08             	fstps  0x8(%ebp)
5c6b2f:	d9 45 08             	flds   0x8(%ebp)
5c6b32:	dd 1c 24             	fstpl  (%esp)
5c6b35:	e8 96 f9 00 00       	call   0x5d64d0
5c6b3a:	d9 5d 08             	fstps  0x8(%ebp)
5c6b3d:	d9 45 08             	flds   0x8(%ebp)
5c6b40:	83 c4 08             	add    $0x8,%esp
5c6b43:	e8 d8 aa 00 00       	call   0x5d1620
5c6b48:	3b c6                	cmp    %esi,%eax
5c6b4a:	0f 42 c6             	cmovb  %esi,%eax
5c6b4d:	3b 47 1c             	cmp    0x1c(%edi),%eax
5c6b50:	76 08                	jbe    0x5c6b5a
5c6b52:	50                   	push   %eax
5c6b53:	8b cf                	mov    %edi,%ecx
5c6b55:	e8 56 f9 ff ff       	call   0x5c64b0
5c6b5a:	5f                   	pop    %edi
5c6b5b:	5e                   	pop    %esi
5c6b5c:	8b e5                	mov    %ebp,%esp
5c6b5e:	5d                   	pop    %ebp
5c6b5f:	c2 04 00             	ret    $0x4
5c6b62:	cc                   	int3
5c6b63:	cc                   	int3
5c6b64:	cc                   	int3
5c6b65:	cc                   	int3
5c6b66:	cc                   	int3
5c6b67:	cc                   	int3
5c6b68:	cc                   	int3
5c6b69:	cc                   	int3
5c6b6a:	cc                   	int3
5c6b6b:	cc                   	int3
5c6b6c:	cc                   	int3
5c6b6d:	cc                   	int3
5c6b6e:	cc                   	int3
5c6b6f:	cc                   	int3
5c6b70:	55                   	push   %ebp
5c6b71:	8b ec                	mov    %esp,%ebp
5c6b73:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5c6b79:	6a ff                	push   $0xffffffff
5c6b7b:	68 3a 08 60 00       	push   $0x60083a
5c6b80:	50                   	push   %eax
5c6b81:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5c6b88:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
5c6b8e:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
5c6b94:	8b 0d 30 68 71 00    	mov    0x716830,%ecx
5c6b9a:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
5c6b9d:	a1 88 eb 69 00       	mov    0x69eb88,%eax
5c6ba2:	3b 81 80 04 00 00    	cmp    0x480(%ecx),%eax
5c6ba8:	7f 13                	jg     0x5c6bbd
5c6baa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5c6bad:	b8 00 92 69 00       	mov    $0x699200,%eax
5c6bb2:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5c6bb9:	8b e5                	mov    %ebp,%esp
5c6bbb:	5d                   	pop    %ebp
5c6bbc:	c3                   	ret
5c6bbd:	68 88 eb 69 00       	push   $0x69eb88
5c6bc2:	e8 80 ab 00 00       	call   0x5d1747
5c6bc7:	83 c4 04             	add    $0x4,%esp
5c6bca:	83 3d 88 eb 69 00 ff 	cmpl   $0xffffffff,0x69eb88
5c6bd1:	75 d7                	jne    0x5c6baa
5c6bd3:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5c6bda:	68 f0 1c 5c 00       	push   $0x5c1cf0
5c6bdf:	68 d0 1a 5c 00       	push   $0x5c1ad0
5c6be4:	6a 26                	push   $0x26
5c6be6:	6a 38                	push   $0x38
5c6be8:	c7 05 00 92 69 00 74 	movl   $0x66b874,0x699200
5c6bef:	b8 66 00
5c6bf2:	68 08 96 69 00       	push   $0x699608
5c6bf7:	c7 05 00 92 69 00 74 	movl   $0x66b974,0x699200
5c6bfe:	b9 66 00
5c6c01:	c7 45 f0 08 92 69 00 	movl   $0x699208,-0x10(%ebp)
5c6c08:	e8 b5 b8 00 00       	call   0x5d24c2
5c6c0d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5c6c11:	c7 05 58 9e 69 00 f0 	movl   $0x6debf0,0x699e58
5c6c18:	eb 6d 00
5c6c1b:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5c6c1f:	68 f0 1c 5c 00       	push   $0x5c1cf0
5c6c24:	68 d0 1a 5c 00       	push   $0x5c1ad0
5c6c29:	6a 3a                	push   $0x3a
5c6c2b:	6a 38                	push   $0x38
5c6c2d:	68 60 de 69 00       	push   $0x69de60
5c6c32:	c7 45 ec 60 9e 69 00 	movl   $0x699e60,-0x14(%ebp)
5c6c39:	e8 84 b8 00 00       	call   0x5d24c2
5c6c3e:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
5c6c42:	c7 05 10 eb 69 00 e0 	movl   $0x69ebe0,0x69eb10
5c6c49:	eb 69 00
5c6c4c:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5c6c50:	b9 38 eb 69 00       	mov    $0x69eb38,%ecx
5c6c55:	c7 05 18 eb 69 00 04 	movl   $0x4,0x69eb18
5c6c5c:	00 00 00
5c6c5f:	c7 05 1c eb 69 00 00 	movl   $0x0,0x69eb1c
5c6c66:	00 00 00
5c6c69:	c7 05 20 eb 69 00 00 	movl   $0x0,0x69eb20
5c6c70:	00 00 00
5c6c73:	c7 05 28 eb 69 00 80 	movl   $0x44fc80,0x69eb28
5c6c7a:	fc 44 00
5c6c7d:	c7 05 2c eb 69 00 00 	movl   $0x0,0x69eb2c
5c6c84:	00 00 00
5c6c87:	c7 05 30 eb 69 00 00 	movl   $0x0,0x69eb30
5c6c8e:	00 00 00
5c6c91:	c7 45 e8 30 eb 69 00 	movl   $0x69eb30,-0x18(%ebp)
5c6c98:	c7 05 34 eb 69 00 00 	movl   $0x0,0x69eb34
5c6c9f:	00 00 00
5c6ca2:	e8 79 07 00 00       	call   0x5c7420
5c6ca7:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
5c6cab:	c6 05 50 eb 69 00 00 	movb   $0x0,0x69eb50
5c6cb2:	ff 15 28 22 60 00    	call   *0x602228
5c6cb8:	85 c0                	test   %eax,%eax
5c6cba:	74 48                	je     0x5c6d04
5c6cbc:	68 00 02 00 00       	push   $0x200
5c6cc1:	50                   	push   %eax
5c6cc2:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
5c6cc8:	50                   	push   %eax
5c6cc9:	e8 a2 28 00 00       	call   0x5c9570
5c6cce:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
5c6cd4:	50                   	push   %eax
5c6cd5:	e8 09 08 02 00       	call   0x5e74e3
5c6cda:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
5c6ce0:	68 c0 bb 66 00       	push   $0x66bbc0
5c6ce5:	50                   	push   %eax
5c6ce6:	e8 f5 c8 00 00       	call   0x5d35e0
5c6ceb:	83 c4 18             	add    $0x18,%esp
5c6cee:	6a 01                	push   $0x1
5c6cf0:	68 00 20 00 00       	push   $0x2000
5c6cf5:	6a 01                	push   $0x1
5c6cf7:	68 ee ff ee ff       	push   $0xffeeffee