57a7ae:	8d 8d ad 6f ff ff    	lea    -0x9053(%ebp),%ecx
57a7b4:	8d 95 a8 6f ff ff    	lea    -0x9058(%ebp),%edx
57a7ba:	8d 85 aa 6f ff ff    	lea    -0x9056(%ebp),%eax
57a7c0:	e8 b3 fc ff ff       	call   0x57a478
57a7c5:	59                   	pop    %ecx
57a7c6:	55                   	push   %ebp
57a7c7:	8d 85 ae 6f ff ff    	lea    -0x9052(%ebp),%eax
57a7cd:	e8 7a fb ff ff       	call   0x57a34c
57a7d2:	59                   	pop    %ecx
57a7d3:	8b f3                	mov    %ebx,%esi
57a7d5:	55                   	push   %ebp
57a7d6:	e8 d5 fb ff ff       	call   0x57a3b0
57a7db:	59                   	pop    %ecx
57a7dc:	8b 45 d0             	mov    -0x30(%ebp),%eax
57a7df:	3b 45 d4             	cmp    -0x2c(%ebp),%eax
57a7e2:	7c 0d                	jl     0x57a7f1
57a7e4:	8b 85 b0 6f ff ff    	mov    -0x9050(%ebp),%eax
57a7ea:	e8 89 92 e8 ff       	call   0x403a78
57a7ef:	eb 63                	jmp    0x57a854
57a7f1:	8d 55 d0             	lea    -0x30(%ebp),%edx
57a7f4:	8d 85 b0 6f ff ff    	lea    -0x9050(%ebp),%eax
57a7fa:	e8 e1 fa ff ff       	call   0x57a2e0
57a7ff:	8b d8                	mov    %eax,%ebx
57a801:	80 bd ad 6f ff ff 01 	cmpb   $0x1,-0x9053(%ebp)
57a808:	75 2c                	jne    0x57a836
57a80a:	0f b7 c3             	movzwl %bx,%eax
57a80d:	3b 45 f4             	cmp    -0xc(%ebp),%eax
57a810:	74 24                	je     0x57a836
57a812:	8b 85 b0 6f ff ff    	mov    -0x9050(%ebp),%eax
57a818:	e8 5b 92 e8 ff       	call   0x403a78
57a81d:	ff b5 9c 6f ff ff    	push   -0x9064(%ebp)
57a823:	ff b5 98 6f ff ff    	push   -0x9068(%ebp)
57a829:	8b 85 b8 6f ff ff    	mov    -0x9048(%ebp),%eax
57a82f:	e8 a4 3e ea ff       	call   0x41e6d8
57a834:	eb 1e                	jmp    0x57a854
57a836:	c6 85 ad 6f ff ff 00 	movb   $0x0,-0x9053(%ebp)
57a83d:	0f b7 c3             	movzwl %bx,%eax
57a840:	3b 45 f8             	cmp    -0x8(%ebp),%eax
57a843:	0f 85 85 fd ff ff    	jne    0x57a5ce
57a849:	8b 85 b0 6f ff ff    	mov    -0x9050(%ebp),%eax
57a84f:	e8 24 92 e8 ff       	call   0x403a78
57a854:	5f                   	pop    %edi
57a855:	5e                   	pop    %esi
57a856:	5b                   	pop    %ebx
57a857:	8b e5                	mov    %ebp,%esp
57a859:	5d                   	pop    %ebp
57a85a:	c2 08 00             	ret    $0x8
57a85d:	8d 40 00             	lea    0x0(%eax),%eax
57a860:	ff 40 08             	incl   0x8(%eax)
57a863:	ff 40 10             	incl   0x10(%eax)
57a866:	8b 50 08             	mov    0x8(%eax),%edx
57a869:	3b 10                	cmp    (%eax),%edx
57a86b:	75 7a                	jne    0x57a8e7
57a86d:	33 d2                	xor    %edx,%edx
57a86f:	89 50 08             	mov    %edx,0x8(%eax)
57a872:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
57a876:	75 05                	jne    0x57a87d
57a878:	ff 40 0c             	incl   0xc(%eax)
57a87b:	eb 5e                	jmp    0x57a8db
57a87d:	8b 50 18             	mov    0x18(%eax),%edx
57a880:	83 ea 01             	sub    $0x1,%edx
57a883:	72 0a                	jb     0x57a88f
57a885:	74 20                	je     0x57a8a7
57a887:	4a                   	dec    %edx
57a888:	74 35                	je     0x57a8bf
57a88a:	4a                   	dec    %edx
57a88b:	74 4a                	je     0x57a8d7
57a88d:	eb 4c                	jmp    0x57a8db
57a88f:	83 40 0c 08          	addl   $0x8,0xc(%eax)
57a893:	8b 50 0c             	mov    0xc(%eax),%edx
57a896:	3b 50 04             	cmp    0x4(%eax),%edx
57a899:	7c 40                	jl     0x57a8db
57a89b:	ff 40 18             	incl   0x18(%eax)
57a89e:	c7 40 0c 04 00 00 00 	movl   $0x4,0xc(%eax)
57a8a5:	eb 34                	jmp    0x57a8db
57a8a7:	83 40 0c 08          	addl   $0x8,0xc(%eax)
57a8ab:	8b 50 0c             	mov    0xc(%eax),%edx
57a8ae:	3b 50 04             	cmp    0x4(%eax),%edx
57a8b1:	7c 28                	jl     0x57a8db
57a8b3:	ff 40 18             	incl   0x18(%eax)
57a8b6:	c7 40 0c 02 00 00 00 	movl   $0x2,0xc(%eax)
57a8bd:	eb 1c                	jmp    0x57a8db
57a8bf:	83 40 0c 04          	addl   $0x4,0xc(%eax)
57a8c3:	8b 50 0c             	mov    0xc(%eax),%edx
57a8c6:	3b 50 04             	cmp    0x4(%eax),%edx
57a8c9:	7c 10                	jl     0x57a8db
57a8cb:	ff 40 18             	incl   0x18(%eax)
57a8ce:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
57a8d5:	eb 04                	jmp    0x57a8db
57a8d7:	83 40 0c 02          	addl   $0x2,0xc(%eax)
57a8db:	8b 50 0c             	mov    0xc(%eax),%edx
57a8de:	0f af 10             	imul   (%eax),%edx
57a8e1:	03 50 20             	add    0x20(%eax),%edx
57a8e4:	89 50 10             	mov    %edx,0x10(%eax)
57a8e7:	c3                   	ret
57a8e8:	53                   	push   %ebx
57a8e9:	83 78 14 00          	cmpl   $0x0,0x14(%eax)
57a8ed:	75 05                	jne    0x57a8f4
57a8ef:	83 cb ff             	or     $0xffffffff,%ebx
57a8f2:	eb 0f                	jmp    0x57a903
57a8f4:	ff 48 14             	decl   0x14(%eax)
57a8f7:	8b 50 10             	mov    0x10(%eax),%edx
57a8fa:	33 db                	xor    %ebx,%ebx
57a8fc:	8a 1a                	mov    (%edx),%bl
57a8fe:	e8 5d ff ff ff       	call   0x57a860
57a903:	8b c3                	mov    %ebx,%eax
57a905:	5b                   	pop    %ebx
57a906:	c3                   	ret
57a907:	90                   	nop
57a908:	53                   	push   %ebx
57a909:	83 c0 50             	add    $0x50,%eax
57a90c:	8b ca                	mov    %edx,%ecx
57a90e:	c1 e1 02             	shl    $0x2,%ecx
57a911:	03 c1                	add    %ecx,%eax
57a913:	8b ca                	mov    %edx,%ecx
57a915:	83 e9 10             	sub    $0x10,%ecx
57a918:	8b d0                	mov    %eax,%edx
57a91a:	8b da                	mov    %edx,%ebx
57a91c:	83 eb 40             	sub    $0x40,%ebx
57a91f:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a925:	8b da                	mov    %edx,%ebx
57a927:	83 eb 3c             	sub    $0x3c,%ebx
57a92a:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a930:	8b da                	mov    %edx,%ebx
57a932:	83 eb 38             	sub    $0x38,%ebx
57a935:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a93b:	8b da                	mov    %edx,%ebx
57a93d:	83 eb 34             	sub    $0x34,%ebx
57a940:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a946:	8b da                	mov    %edx,%ebx
57a948:	83 eb 30             	sub    $0x30,%ebx
57a94b:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a951:	8b da                	mov    %edx,%ebx
57a953:	83 eb 2c             	sub    $0x2c,%ebx
57a956:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a95c:	8b da                	mov    %edx,%ebx
57a95e:	83 eb 28             	sub    $0x28,%ebx
57a961:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a967:	8b da                	mov    %edx,%ebx
57a969:	83 eb 24             	sub    $0x24,%ebx
57a96c:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a972:	8b da                	mov    %edx,%ebx
57a974:	83 eb 20             	sub    $0x20,%ebx
57a977:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a97d:	8b da                	mov    %edx,%ebx
57a97f:	83 eb 1c             	sub    $0x1c,%ebx
57a982:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a988:	8b da                	mov    %edx,%ebx
57a98a:	83 eb 18             	sub    $0x18,%ebx
57a98d:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a993:	8b da                	mov    %edx,%ebx
57a995:	83 eb 14             	sub    $0x14,%ebx
57a998:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a99e:	8b da                	mov    %edx,%ebx
57a9a0:	83 eb 10             	sub    $0x10,%ebx
57a9a3:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a9a9:	8b da                	mov    %edx,%ebx
57a9ab:	83 eb 0c             	sub    $0xc,%ebx
57a9ae:	c7 03 ff ff ff ff    	movl   $0xffffffff,(%ebx)
57a9b4:	83 ea 08             	sub    $0x8,%edx
57a9b7:	c7 02 ff ff ff ff    	movl   $0xffffffff,(%edx)
57a9bd:	8b d0                	mov    %eax,%edx
57a9bf:	83 ea 04             	sub    $0x4,%edx
57a9c2:	c7 02 ff ff ff ff    	movl   $0xffffffff,(%edx)
57a9c8:	83 e8 40             	sub    $0x40,%eax
57a9cb:	83 e9 10             	sub    $0x10,%ecx
57a9ce:	85 c9                	test   %ecx,%ecx
57a9d0:	0f 8d 42 ff ff ff    	jge    0x57a918
57a9d6:	83 c1 10             	add    $0x10,%ecx
57a9d9:	85 c9                	test   %ecx,%ecx
57a9db:	7e 0e                	jle    0x57a9eb
57a9dd:	83 e8 04             	sub    $0x4,%eax
57a9e0:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
57a9e6:	49                   	dec    %ecx
57a9e7:	85 c9                	test   %ecx,%ecx
57a9e9:	7f f2                	jg     0x57a9dd
57a9eb:	5b                   	pop    %ebx
57a9ec:	c3                   	ret
57a9ed:	8d 40 00             	lea    0x0(%eax),%eax
57a9f0:	53                   	push   %ebx
57a9f1:	56                   	push   %esi
57a9f2:	51                   	push   %ecx
57a9f3:	8b d8                	mov    %eax,%ebx
57a9f5:	83 7b 4c 00          	cmpl   $0x0,0x4c(%ebx)
57a9f9:	7e 31                	jle    0x57aa2c
57a9fb:	8a 43 4c             	mov    0x4c(%ebx),%al
57a9fe:	88 04 24             	mov    %al,(%esp)
57aa01:	8b d4                	mov    %esp,%edx
57aa03:	8b 83 9c 76 00 00    	mov    0x769c(%ebx),%eax
57aa09:	b9 01 00 00 00       	mov    $0x1,%ecx
57aa0e:	8b 30                	mov    (%eax),%esi
57aa10:	ff 56 0c             	call   *0xc(%esi)
57aa13:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
57aa16:	8d 93 9c 75 00 00    	lea    0x759c(%ebx),%edx
57aa1c:	8b 83 9c 76 00 00    	mov    0x769c(%ebx),%eax
57aa22:	8b 30                	mov    (%eax),%esi
57aa24:	ff 56 0c             	call   *0xc(%esi)
57aa27:	33 c0                	xor    %eax,%eax
57aa29:	89 43 4c             	mov    %eax,0x4c(%ebx)
57aa2c:	5a                   	pop    %edx
57aa2d:	5e                   	pop    %esi
57aa2e:	5b                   	pop    %ebx
57aa2f:	c3                   	ret
57aa30:	8b 48 4c             	mov    0x4c(%eax),%ecx
57aa33:	88 94 08 9c 75 00 00 	mov    %dl,0x759c(%eax,%ecx,1)
57aa3a:	ff 40 4c             	incl   0x4c(%eax)
57aa3d:	81 78 4c fe 00 00 00 	cmpl   $0xfe,0x4c(%eax)
57aa44:	7c 05                	jl     0x57aa4b
57aa46:	e8 a5 ff ff ff       	call   0x57a9f0
57aa4b:	c3                   	ret
57aa4c:	53                   	push   %ebx
57aa4d:	56                   	push   %esi
57aa4e:	8b f2                	mov    %edx,%esi
57aa50:	8b d8                	mov    %eax,%ebx
57aa52:	8b 83 98 75 00 00    	mov    0x7598(%ebx),%eax
57aa58:	85 c0                	test   %eax,%eax
57aa5a:	7e 1d                	jle    0x57aa79
57aa5c:	8b c8                	mov    %eax,%ecx
57aa5e:	8b d6                	mov    %esi,%edx
57aa60:	d3 e2                	shl    %cl,%edx
57aa62:	8b 8b 94 75 00 00    	mov    0x7594(%ebx),%ecx
57aa68:	23 0c 85 1c 33 6a 00 	and    0x6a331c(,%eax,4),%ecx
57aa6f:	0b d1                	or     %ecx,%edx
57aa71:	89 93 94 75 00 00    	mov    %edx,0x7594(%ebx)
57aa77:	eb 06                	jmp    0x57aa7f
57aa79:	89 b3 94 75 00 00    	mov    %esi,0x7594(%ebx)
57aa7f:	8b 43 28             	mov    0x28(%ebx),%eax
57aa82:	01 83 98 75 00 00    	add    %eax,0x7598(%ebx)
57aa88:	eb 21                	jmp    0x57aaab
57aa8a:	8b 93 94 75 00 00    	mov    0x7594(%ebx),%edx
57aa90:	81 e2 ff 00 00 00    	and    $0xff,%edx
57aa96:	8b c3                	mov    %ebx,%eax
57aa98:	e8 93 ff ff ff       	call   0x57aa30
57aa9d:	c1 ab 94 75 00 00 08 	shrl   $0x8,0x7594(%ebx)
57aaa4:	83 ab 98 75 00 00 08 	subl   $0x8,0x7598(%ebx)
57aaab:	83 bb 98 75 00 00 08 	cmpl   $0x8,0x7598(%ebx)
57aab2:	7d d6                	jge    0x57aa8a
57aab4:	8b 43 38             	mov    0x38(%ebx),%eax
57aab7:	3b 43 2c             	cmp    0x2c(%ebx),%eax
57aaba:	7f 06                	jg     0x57aac2
57aabc:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
57aac0:	74 44                	je     0x57ab06
57aac2:	83 7b 48 00          	cmpl   $0x0,0x48(%ebx)
57aac6:	74 1d                	je     0x57aae5
57aac8:	8b 83 a0 76 00 00    	mov    0x76a0(%ebx),%eax
57aace:	89 43 28             	mov    %eax,0x28(%ebx)
57aad1:	8b c8                	mov    %eax,%ecx
57aad3:	b8 01 00 00 00       	mov    $0x1,%eax
57aad8:	d3 e0                	shl    %cl,%eax
57aada:	48                   	dec    %eax
57aadb:	89 43 2c             	mov    %eax,0x2c(%ebx)
57aade:	33 c0                	xor    %eax,%eax
57aae0:	89 43 48             	mov    %eax,0x48(%ebx)
57aae3:	eb 21                	jmp    0x57ab06
57aae5:	ff 43 28             	incl   0x28(%ebx)
57aae8:	8b 43 28             	mov    0x28(%ebx),%eax
57aaeb:	83 f8 0c             	cmp    $0xc,%eax
57aaee:	75 09                	jne    0x57aaf9
57aaf0:	c7 43 2c 00 10 00 00 	movl   $0x1000,0x2c(%ebx)
57aaf7:	eb 0d                	jmp    0x57ab06
57aaf9:	8b c8                	mov    %eax,%ecx
57aafb:	b8 01 00 00 00       	mov    $0x1,%eax
57ab00:	d3 e0                	shl    %cl,%eax
57ab02:	48                   	dec    %eax
57ab03:	89 43 2c             	mov    %eax,0x2c(%ebx)
57ab06:	3b 73 34             	cmp    0x34(%ebx),%esi
57ab09:	75 33                	jne    0x57ab3e
57ab0b:	eb 21                	jmp    0x57ab2e
57ab0d:	8b 93 94 75 00 00    	mov    0x7594(%ebx),%edx
57ab13:	81 e2 ff 00 00 00    	and    $0xff,%edx
57ab19:	8b c3                	mov    %ebx,%eax
57ab1b:	e8 10 ff ff ff       	call   0x57aa30
57ab20:	c1 ab 94 75 00 00 08 	shrl   $0x8,0x7594(%ebx)
57ab27:	83 ab 98 75 00 00 08 	subl   $0x8,0x7598(%ebx)
57ab2e:	83 bb 98 75 00 00 00 	cmpl   $0x0,0x7598(%ebx)
57ab35:	7f d6                	jg     0x57ab0d
57ab37:	8b c3                	mov    %ebx,%eax
57ab39:	e8 b2 fe ff ff       	call   0x57a9f0
57ab3e:	5e                   	pop    %esi
57ab3f:	5b                   	pop    %ebx
57ab40:	c3                   	ret
57ab41:	8d 40 00             	lea    0x0(%eax),%eax
57ab44:	53                   	push   %ebx
57ab45:	8b d8                	mov    %eax,%ebx
57ab47:	8b c3                	mov    %ebx,%eax
57ab49:	ba 8b 13 00 00       	mov    $0x138b,%edx
57ab4e:	e8 b5 fd ff ff       	call   0x57a908
57ab53:	8b 43 30             	mov    0x30(%ebx),%eax
57ab56:	83 c0 02             	add    $0x2,%eax
57ab59:	89 43 38             	mov    %eax,0x38(%ebx)
57ab5c:	c7 43 48 01 00 00 00 	movl   $0x1,0x48(%ebx)
57ab63:	8b 53 30             	mov    0x30(%ebx),%edx
57ab66:	8b c3                	mov    %ebx,%eax
57ab68:	e8 df fe ff ff       	call   0x57aa4c
57ab6d:	5b                   	pop    %ebx
57ab6e:	c3                   	ret
57ab6f:	90                   	nop
57ab70:	53                   	push   %ebx
57ab71:	56                   	push   %esi
57ab72:	57                   	push   %edi
57ab73:	55                   	push   %ebp
57ab74:	83 c4 f4             	add    $0xfffffff4,%esp
57ab77:	8b d8                	mov    %eax,%ebx
57ab79:	8b 43 24             	mov    0x24(%ebx),%eax
57ab7c:	89 83 a0 76 00 00    	mov    %eax,0x76a0(%ebx)
57ab82:	33 c0                	xor    %eax,%eax
57ab84:	89 43 3c             	mov    %eax,0x3c(%ebx)
57ab87:	33 c0                	xor    %eax,%eax
57ab89:	89 43 44             	mov    %eax,0x44(%ebx)
57ab8c:	33 c0                	xor    %eax,%eax
57ab8e:	89 43 48             	mov    %eax,0x48(%ebx)
57ab91:	c7 43 40 01 00 00 00 	movl   $0x1,0x40(%ebx)
57ab98:	8b 43 24             	mov    0x24(%ebx),%eax
57ab9b:	89 43 28             	mov    %eax,0x28(%ebx)
57ab9e:	8b c8                	mov    %eax,%ecx
57aba0:	b8 01 00 00 00       	mov    $0x1,%eax
57aba5:	d3 e0                	shl    %cl,%eax
57aba7:	48                   	dec    %eax
57aba8:	89 43 2c             	mov    %eax,0x2c(%ebx)
57abab:	8b 4b 24             	mov    0x24(%ebx),%ecx
57abae:	49                   	dec    %ecx
57abaf:	b8 01 00 00 00       	mov    $0x1,%eax
57abb4:	d3 e0                	shl    %cl,%eax
57abb6:	89 43 30             	mov    %eax,0x30(%ebx)
57abb9:	40                   	inc    %eax
57abba:	89 43 34             	mov    %eax,0x34(%ebx)
57abbd:	8b 43 30             	mov    0x30(%ebx),%eax
57abc0:	83 c0 02             	add    $0x2,%eax
57abc3:	89 43 38             	mov    %eax,0x38(%ebx)
57abc6:	33 c0                	xor    %eax,%eax
57abc8:	89 43 4c             	mov    %eax,0x4c(%ebx)
57abcb:	8b c3                	mov    %ebx,%eax
57abcd:	e8 16 fd ff ff       	call   0x57a8e8
57abd2:	8b e8                	mov    %eax,%ebp
57abd4:	33 c0                	xor    %eax,%eax
57abd6:	89 44 24 08          	mov    %eax,0x8(%esp)
57abda:	bf 8b 13 00 00       	mov    $0x138b,%edi
57abdf:	ff 44 24 08          	incl   0x8(%esp)
57abe3:	8b c7                	mov    %edi,%eax
57abe5:	03 c0                	add    %eax,%eax
57abe7:	8b f8                	mov    %eax,%edi
57abe9:	81 ff 00 00 01 00    	cmp    $0x10000,%edi
57abef:	7c ee                	jl     0x57abdf
57abf1:	b8 08 00 00 00       	mov    $0x8,%eax
57abf6:	2b 44 24 08          	sub    0x8(%esp),%eax
57abfa:	89 44 24 08          	mov    %eax,0x8(%esp)
57abfe:	c7 44 24 04 8b 13 00 	movl   $0x138b,0x4(%esp)
57ac05:	00
57ac06:	8b c3                	mov    %ebx,%eax
57ac08:	8b 54 24 04          	mov    0x4(%esp),%edx