570e22:	83 c4 04             	add    $0x4,%esp
570e25:	89 46 04             	mov    %eax,0x4(%esi)
570e28:	85 c0                	test   %eax,%eax
570e2a:	74 42                	je     0x570e6e
570e2c:	8b 06                	mov    (%esi),%eax
570e2e:	85 c0                	test   %eax,%eax
570e30:	75 0b                	jne    0x570e3d
570e32:	e8 59 aa f7 ff       	call   0x4eb890
570e37:	89 06                	mov    %eax,(%esi)
570e39:	85 c0                	test   %eax,%eax
570e3b:	74 31                	je     0x570e6e
570e3d:	53                   	push   %ebx
570e3e:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
570e42:	51                   	push   %ecx
570e43:	50                   	push   %eax
570e44:	e8 d7 aa f9 ff       	call   0x50b920
570e49:	83 c4 0c             	add    $0xc,%esp
570e4c:	85 c0                	test   %eax,%eax
570e4e:	74 1e                	je     0x570e6e
570e50:	56                   	push   %esi
570e51:	55                   	push   %ebp
570e52:	e8 f9 42 f7 ff       	call   0x4e5150
570e57:	83 c4 08             	add    $0x8,%esp
570e5a:	85 c0                	test   %eax,%eax
570e5c:	74 10                	je     0x570e6e
570e5e:	5f                   	pop    %edi
570e5f:	8b c6                	mov    %esi,%eax
570e61:	5e                   	pop    %esi
570e62:	5d                   	pop    %ebp
570e63:	5b                   	pop    %ebx
570e64:	c3                   	ret
570e65:	8b 44 24 1c          	mov    0x1c(%esp),%eax
570e69:	5f                   	pop    %edi
570e6a:	5e                   	pop    %esi
570e6b:	5d                   	pop    %ebp
570e6c:	5b                   	pop    %ebx
570e6d:	c3                   	ret
570e6e:	68 9c 98 65 00       	push   $0x65989c
570e73:	56                   	push   %esi
570e74:	e8 47 b4 f7 ff       	call   0x4ec2c0
570e79:	83 c4 08             	add    $0x8,%esp
570e7c:	33 c0                	xor    %eax,%eax
570e7e:	5f                   	pop    %edi
570e7f:	5e                   	pop    %esi
570e80:	5d                   	pop    %ebp
570e81:	5b                   	pop    %ebx
570e82:	c3                   	ret
570e83:	cc                   	int3
570e84:	cc                   	int3
570e85:	cc                   	int3
570e86:	cc                   	int3
570e87:	cc                   	int3
570e88:	cc                   	int3
570e89:	cc                   	int3
570e8a:	cc                   	int3
570e8b:	cc                   	int3
570e8c:	cc                   	int3
570e8d:	cc                   	int3
570e8e:	cc                   	int3
570e8f:	cc                   	int3
570e90:	53                   	push   %ebx
570e91:	56                   	push   %esi
570e92:	57                   	push   %edi
570e93:	8b 7c 24 18          	mov    0x18(%esp),%edi
570e97:	8d 47 07             	lea    0x7(%edi),%eax
570e9a:	99                   	cltd
570e9b:	83 e2 07             	and    $0x7,%edx
570e9e:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
570ea1:	c1 fb 03             	sar    $0x3,%ebx
570ea4:	81 e7 07 00 00 80    	and    $0x80000007,%edi
570eaa:	79 05                	jns    0x570eb1
570eac:	4f                   	dec    %edi
570ead:	83 cf f8             	or     $0xfffffff8,%edi
570eb0:	47                   	inc    %edi
570eb1:	68 14 98 65 00       	push   $0x659814
570eb6:	e8 55 ae f7 ff       	call   0x4ebd10
570ebb:	8b f0                	mov    %eax,%esi
570ebd:	83 c4 04             	add    $0x4,%esp
570ec0:	85 f6                	test   %esi,%esi
570ec2:	74 39                	je     0x570efd
570ec4:	8b 46 04             	mov    0x4(%esi),%eax
570ec7:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
570ecd:	85 c0                	test   %eax,%eax
570ecf:	75 0c                	jne    0x570edd
570ed1:	e8 ca a8 f7 ff       	call   0x4eb7a0
570ed6:	89 46 04             	mov    %eax,0x4(%esi)
570ed9:	85 c0                	test   %eax,%eax
570edb:	74 12                	je     0x570eef
570edd:	53                   	push   %ebx
570ede:	ff 74 24 18          	push   0x18(%esp)
570ee2:	50                   	push   %eax
570ee3:	e8 38 aa f9 ff       	call   0x50b920
570ee8:	83 c4 0c             	add    $0xc,%esp
570eeb:	85 c0                	test   %eax,%eax
570eed:	75 14                	jne    0x570f03
570eef:	68 14 98 65 00       	push   $0x659814
570ef4:	56                   	push   %esi
570ef5:	e8 c6 b3 f7 ff       	call   0x4ec2c0
570efa:	83 c4 08             	add    $0x8,%esp
570efd:	5f                   	pop    %edi
570efe:	5e                   	pop    %esi
570eff:	33 c0                	xor    %eax,%eax
570f01:	5b                   	pop    %ebx
570f02:	c3                   	ret
570f03:	8b 46 04             	mov    0x4(%esi),%eax
570f06:	83 60 0c f8          	andl   $0xfffffff8,0xc(%eax)
570f0a:	8b 46 04             	mov    0x4(%esi),%eax
570f0d:	83 48 0c 08          	orl    $0x8,0xc(%eax)
570f11:	85 ff                	test   %edi,%edi
570f13:	7e 22                	jle    0x570f37
570f15:	8b 46 04             	mov    0x4(%esi),%eax
570f18:	8b cf                	mov    %edi,%ecx
570f1a:	8b 50 08             	mov    0x8(%eax),%edx
570f1d:	b8 ff 00 00 00       	mov    $0xff,%eax
570f22:	d3 f8                	sar    %cl,%eax
570f24:	f6 d0                	not    %al
570f26:	20 44 1a ff          	and    %al,-0x1(%edx,%ebx,1)
570f2a:	b8 08 00 00 00       	mov    $0x8,%eax
570f2f:	8b 4e 04             	mov    0x4(%esi),%ecx
570f32:	2b c7                	sub    %edi,%eax
570f34:	09 41 0c             	or     %eax,0xc(%ecx)
570f37:	8b 44 24 10          	mov    0x10(%esp),%eax
570f3b:	5f                   	pop    %edi
570f3c:	89 30                	mov    %esi,(%eax)
570f3e:	b8 01 00 00 00       	mov    $0x1,%eax
570f43:	5e                   	pop    %esi
570f44:	5b                   	pop    %ebx
570f45:	c3                   	ret
570f46:	cc                   	int3
570f47:	cc                   	int3
570f48:	cc                   	int3
570f49:	cc                   	int3
570f4a:	cc                   	int3
570f4b:	cc                   	int3
570f4c:	cc                   	int3
570f4d:	cc                   	int3
570f4e:	cc                   	int3
570f4f:	cc                   	int3
570f50:	b8 04 00 00 00       	mov    $0x4,%eax
570f55:	e8 56 08 06 00       	call   0x5d17b0
570f5a:	55                   	push   %ebp
570f5b:	8b 6c 24 10          	mov    0x10(%esp),%ebp
570f5f:	56                   	push   %esi
570f60:	8b 74 24 1c          	mov    0x1c(%esp),%esi
570f64:	56                   	push   %esi
570f65:	ff 74 24 1c          	push   0x1c(%esp)
570f69:	55                   	push   %ebp
570f6a:	e8 41 02 00 00       	call   0x5711b0
570f6f:	83 c4 0c             	add    $0xc,%esp
570f72:	85 c0                	test   %eax,%eax
570f74:	78 12                	js     0x570f88
570f76:	50                   	push   %eax
570f77:	55                   	push   %ebp
570f78:	ff 74 24 18          	push   0x18(%esp)
570f7c:	e8 0f ff ff ff       	call   0x570e90
570f81:	83 c4 0c             	add    $0xc,%esp
570f84:	5e                   	pop    %esi
570f85:	5d                   	pop    %ebp
570f86:	59                   	pop    %ecx
570f87:	c3                   	ret
570f88:	53                   	push   %ebx
570f89:	68 14 98 65 00       	push   $0x659814
570f8e:	e8 7d ad f7 ff       	call   0x4ebd10
570f93:	8b d8                	mov    %eax,%ebx
570f95:	83 c4 04             	add    $0x4,%esp
570f98:	85 db                	test   %ebx,%ebx
570f9a:	75 05                	jne    0x570fa1
570f9c:	5b                   	pop    %ebx
570f9d:	5e                   	pop    %esi
570f9e:	5d                   	pop    %ebp
570f9f:	59                   	pop    %ecx
570fa0:	c3                   	ret
570fa1:	57                   	push   %edi
570fa2:	68 d0 97 65 00       	push   $0x6597d0
570fa7:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
570fad:	e8 5e ad f7 ff       	call   0x4ebd10
570fb2:	83 c4 04             	add    $0x4,%esp
570fb5:	89 43 04             	mov    %eax,0x4(%ebx)
570fb8:	85 c0                	test   %eax,%eax
570fba:	0f 84 3c 01 00 00    	je     0x5710fc
570fc0:	83 38 00             	cmpl   $0x0,(%eax)
570fc3:	75 12                	jne    0x570fd7
570fc5:	e8 d6 a7 f7 ff       	call   0x4eb7a0
570fca:	8b 4b 04             	mov    0x4(%ebx),%ecx
570fcd:	89 01                	mov    %eax,(%ecx)
570fcf:	85 c0                	test   %eax,%eax
570fd1:	0f 84 25 01 00 00    	je     0x5710fc
570fd7:	8b 43 04             	mov    0x4(%ebx),%eax
570fda:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
570fde:	75 13                	jne    0x570ff3
570fe0:	e8 bb a7 f7 ff       	call   0x4eb7a0
570fe5:	8b 4b 04             	mov    0x4(%ebx),%ecx
570fe8:	89 41 04             	mov    %eax,0x4(%ecx)
570feb:	85 c0                	test   %eax,%eax
570fed:	0f 84 09 01 00 00    	je     0x5710fc
570ff3:	8b fe                	mov    %esi,%edi
570ff5:	85 f6                	test   %esi,%esi
570ff7:	7e 13                	jle    0x57100c
570ff9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
571000:	80 7c 2f ff 00       	cmpb   $0x0,-0x1(%edi,%ebp,1)
571005:	75 05                	jne    0x57100c
571007:	4f                   	dec    %edi
571008:	85 ff                	test   %edi,%edi
57100a:	7f f4                	jg     0x571000
57100c:	8b 43 04             	mov    0x4(%ebx),%eax
57100f:	57                   	push   %edi
571010:	55                   	push   %ebp
571011:	ff 30                	push   (%eax)
571013:	e8 08 a9 f9 ff       	call   0x50b920
571018:	83 c4 0c             	add    $0xc,%esp
57101b:	85 c0                	test   %eax,%eax
57101d:	0f 84 d9 00 00 00    	je     0x5710fc
571023:	8b 43 04             	mov    0x4(%ebx),%eax
571026:	8b 00                	mov    (%eax),%eax
571028:	83 60 0c f8          	andl   $0xfffffff8,0xc(%eax)
57102c:	8b 43 04             	mov    0x4(%ebx),%eax
57102f:	8b 00                	mov    (%eax),%eax
571031:	83 48 0c 08          	orl    $0x8,0xc(%eax)
571035:	85 ff                	test   %edi,%edi
571037:	7e 38                	jle    0x571071
571039:	0f b6 44 2f ff       	movzbl -0x1(%edi,%ebp,1),%eax
57103e:	ba 01 00 00 00       	mov    $0x1,%edx
571043:	89 44 24 10          	mov    %eax,0x10(%esp)
571047:	a8 7f                	test   $0x7f,%al
571049:	74 13                	je     0x57105e
57104b:	8b f8                	mov    %eax,%edi
57104d:	0f 1f 00             	nopl   (%eax)
571050:	42                   	inc    %edx
571051:	b8 ff 00 00 00       	mov    $0xff,%eax
571056:	8b ca                	mov    %edx,%ecx
571058:	d3 e8                	shr    %cl,%eax
57105a:	85 c7                	test   %eax,%edi
57105c:	75 f2                	jne    0x571050
57105e:	8b 43 04             	mov    0x4(%ebx),%eax
571061:	bf 08 00 00 00       	mov    $0x8,%edi
571066:	8b 08                	mov    (%eax),%ecx
571068:	8b c7                	mov    %edi,%eax
57106a:	2b c2                	sub    %edx,%eax
57106c:	09 41 0c             	or     %eax,0xc(%ecx)
57106f:	eb 05                	jmp    0x571076
571071:	bf 08 00 00 00       	mov    $0x8,%edi
571076:	8b 6c 24 20          	mov    0x20(%esp),%ebp
57107a:	85 f6                	test   %esi,%esi
57107c:	7e 0e                	jle    0x57108c
57107e:	66 90                	xchg   %ax,%ax
571080:	80 7c 2e ff ff       	cmpb   $0xff,-0x1(%esi,%ebp,1)
571085:	75 05                	jne    0x57108c
571087:	4e                   	dec    %esi
571088:	85 f6                	test   %esi,%esi
57108a:	7f f4                	jg     0x571080
57108c:	8b 43 04             	mov    0x4(%ebx),%eax
57108f:	56                   	push   %esi
571090:	55                   	push   %ebp
571091:	ff 70 04             	push   0x4(%eax)
571094:	e8 87 a8 f9 ff       	call   0x50b920
571099:	83 c4 0c             	add    $0xc,%esp
57109c:	85 c0                	test   %eax,%eax
57109e:	74 5c                	je     0x5710fc
5710a0:	8b 43 04             	mov    0x4(%ebx),%eax
5710a3:	8b 40 04             	mov    0x4(%eax),%eax
5710a6:	83 60 0c f8          	andl   $0xfffffff8,0xc(%eax)
5710aa:	8b 43 04             	mov    0x4(%ebx),%eax
5710ad:	8b 40 04             	mov    0x4(%eax),%eax
5710b0:	83 48 0c 08          	orl    $0x8,0xc(%eax)
5710b4:	85 f6                	test   %esi,%esi
5710b6:	7e 33                	jle    0x5710eb
5710b8:	0f b6 74 2e ff       	movzbl -0x1(%esi,%ebp,1),%esi
5710bd:	b9 01 00 00 00       	mov    $0x1,%ecx
5710c2:	8b c6                	mov    %esi,%eax
5710c4:	83 e0 7f             	and    $0x7f,%eax
5710c7:	3c 7f                	cmp    $0x7f,%al
5710c9:	74 15                	je     0x5710e0
5710cb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5710d0:	41                   	inc    %ecx
5710d1:	ba ff 00 00 00       	mov    $0xff,%edx
5710d6:	d3 ea                	shr    %cl,%edx
5710d8:	8b c2                	mov    %edx,%eax
5710da:	23 c6                	and    %esi,%eax
5710dc:	3b c2                	cmp    %edx,%eax
5710de:	75 f0                	jne    0x5710d0
5710e0:	8b 43 04             	mov    0x4(%ebx),%eax
5710e3:	2b f9                	sub    %ecx,%edi
5710e5:	8b 40 04             	mov    0x4(%eax),%eax
5710e8:	09 78 0c             	or     %edi,0xc(%eax)
5710eb:	8b 44 24 18          	mov    0x18(%esp),%eax
5710ef:	5f                   	pop    %edi
5710f0:	89 18                	mov    %ebx,(%eax)
5710f2:	b8 01 00 00 00       	mov    $0x1,%eax
5710f7:	5b                   	pop    %ebx
5710f8:	5e                   	pop    %esi
5710f9:	5d                   	pop    %ebp
5710fa:	59                   	pop    %ecx
5710fb:	c3                   	ret
5710fc:	68 14 98 65 00       	push   $0x659814
571101:	53                   	push   %ebx
571102:	e8 b9 b1 f7 ff       	call   0x4ec2c0
571107:	83 c4 08             	add    $0x8,%esp
57110a:	33 c0                	xor    %eax,%eax
57110c:	5f                   	pop    %edi
57110d:	5b                   	pop    %ebx
57110e:	5e                   	pop    %esi
57110f:	5d                   	pop    %ebp
571110:	59                   	pop    %ecx
571111:	c3                   	ret
571112:	cc                   	int3
571113:	cc                   	int3
571114:	cc                   	int3
571115:	cc                   	int3
571116:	cc                   	int3
571117:	cc                   	int3
571118:	cc                   	int3
571119:	cc                   	int3
57111a:	cc                   	int3
57111b:	cc                   	int3
57111c:	cc                   	int3
57111d:	cc                   	int3
57111e:	cc                   	int3
57111f:	cc                   	int3
571120:	53                   	push   %ebx
571121:	56                   	push   %esi
571122:	57                   	push   %edi
571123:	ff 74 24 18          	push   0x18(%esp)
571127:	8b 7c 24 18          	mov    0x18(%esp),%edi
57112b:	57                   	push   %edi
57112c:	ff 74 24 18          	push   0x18(%esp)
571130:	e8 0b fc ff ff       	call   0x570d40
571135:	8b d8                	mov    %eax,%ebx
571137:	83 c4 0c             	add    $0xc,%esp
57113a:	85 db                	test   %ebx,%ebx
57113c:	74 5d                	je     0x57119b
57113e:	8b 4b 04             	mov    0x4(%ebx),%ecx
571141:	85 c9                	test   %ecx,%ecx
571143:	74 56                	je     0x57119b
571145:	8b 01                	mov    (%ecx),%eax
571147:	85 c0                	test   %eax,%eax
571149:	75 05                	jne    0x571150
57114b:	39 41 04             	cmp    %eax,0x4(%ecx)
57114e:	75 4b                	jne    0x57119b
571150:	83 f8 01             	cmp    $0x1,%eax
571153:	75 07                	jne    0x57115c
571155:	8b 41 04             	mov    0x4(%ecx),%eax
571158:	85 c0                	test   %eax,%eax
57115a:	75 41                	jne    0x57119d
57115c:	e8 bf 3e f7 ff       	call   0x4e5020
571161:	8b f0                	mov    %eax,%esi
571163:	85 f6                	test   %esi,%esi
571165:	74 34                	je     0x57119b
571167:	83 ef 01             	sub    $0x1,%edi
57116a:	74 0c                	je     0x571178
57116c:	83 ef 01             	sub    $0x1,%edi