4ace74:	3b 59 08             	cmp    0x8(%ecx),%ebx
4ace77:	75 5c                	jne    0x4aced5
4ace79:	8a 4c 07 04          	mov    0x4(%edi,%eax,1),%cl
4ace7d:	83 ff 20             	cmp    $0x20,%edi
4ace80:	88 4d 13             	mov    %cl,0x13(%ebp)
4ace83:	fe c1                	inc    %cl
4ace85:	88 4c 07 04          	mov    %cl,0x4(%edi,%eax,1)
4ace89:	73 21                	jae    0x4aceac
4ace8b:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
4ace8f:	75 0e                	jne    0x4ace9f
4ace91:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4ace96:	8b cf                	mov    %edi,%ecx
4ace98:	d3 eb                	shr    %cl,%ebx
4ace9a:	8b 4d 08             	mov    0x8(%ebp),%ecx
4ace9d:	09 19                	or     %ebx,(%ecx)
4ace9f:	8d 44 90 44          	lea    0x44(%eax,%edx,4),%eax
4acea3:	ba 00 00 00 80       	mov    $0x80000000,%edx
4acea8:	8b cf                	mov    %edi,%ecx
4aceaa:	eb 25                	jmp    0x4aced1
4aceac:	80 7d 13 00          	cmpb   $0x0,0x13(%ebp)
4aceb0:	75 10                	jne    0x4acec2
4aceb2:	8d 4f e0             	lea    -0x20(%edi),%ecx
4aceb5:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4aceba:	d3 eb                	shr    %cl,%ebx
4acebc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4acebf:	09 59 04             	or     %ebx,0x4(%ecx)
4acec2:	8d 84 90 c4 00 00 00 	lea    0xc4(%eax,%edx,4),%eax
4acec9:	8d 4f e0             	lea    -0x20(%edi),%ecx
4acecc:	ba 00 00 00 80       	mov    $0x80000000,%edx
4aced1:	d3 ea                	shr    %cl,%edx
4aced3:	09 10                	or     %edx,(%eax)
4aced5:	8b 55 0c             	mov    0xc(%ebp),%edx
4aced8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4acedb:	8d 44 32 fc          	lea    -0x4(%edx,%esi,1),%eax
4acedf:	89 08                	mov    %ecx,(%eax)
4acee1:	89 4c 01 fc          	mov    %ecx,-0x4(%ecx,%eax,1)
4acee5:	eb 03                	jmp    0x4aceea
4acee7:	8b 55 0c             	mov    0xc(%ebp),%edx
4aceea:	8d 46 01             	lea    0x1(%esi),%eax
4aceed:	89 42 fc             	mov    %eax,-0x4(%edx)
4acef0:	89 44 32 f8          	mov    %eax,-0x8(%edx,%esi,1)
4acef4:	e9 47 01 00 00       	jmp    0x4ad040
4acef9:	33 c0                	xor    %eax,%eax
4acefb:	e9 43 01 00 00       	jmp    0x4ad043
4acf00:	0f 8d 3a 01 00 00    	jge    0x4ad040
4acf06:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4acf09:	29 75 10             	sub    %esi,0x10(%ebp)
4acf0c:	8d 4e 01             	lea    0x1(%esi),%ecx
4acf0f:	89 4b fc             	mov    %ecx,-0x4(%ebx)
4acf12:	8d 5c 33 fc          	lea    -0x4(%ebx,%esi,1),%ebx
4acf16:	8b 75 10             	mov    0x10(%ebp),%esi
4acf19:	89 5d 0c             	mov    %ebx,0xc(%ebp)
4acf1c:	c1 fe 04             	sar    $0x4,%esi
4acf1f:	4e                   	dec    %esi
4acf20:	89 4b fc             	mov    %ecx,-0x4(%ebx)
4acf23:	83 fe 3f             	cmp    $0x3f,%esi
4acf26:	76 03                	jbe    0x4acf2b
4acf28:	6a 3f                	push   $0x3f
4acf2a:	5e                   	pop    %esi
4acf2b:	f6 45 fc 01          	testb  $0x1,-0x4(%ebp)
4acf2f:	0f 85 85 00 00 00    	jne    0x4acfba
4acf35:	8b 75 fc             	mov    -0x4(%ebp),%esi
4acf38:	c1 fe 04             	sar    $0x4,%esi
4acf3b:	4e                   	dec    %esi
4acf3c:	83 fe 3f             	cmp    $0x3f,%esi
4acf3f:	76 03                	jbe    0x4acf44
4acf41:	6a 3f                	push   $0x3f
4acf43:	5e                   	pop    %esi
4acf44:	8b 4f 04             	mov    0x4(%edi),%ecx
4acf47:	3b 4f 08             	cmp    0x8(%edi),%ecx
4acf4a:	75 47                	jne    0x4acf93
4acf4c:	83 fe 20             	cmp    $0x20,%esi
4acf4f:	73 1e                	jae    0x4acf6f
4acf51:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4acf56:	8b ce                	mov    %esi,%ecx
4acf58:	d3 eb                	shr    %cl,%ebx
4acf5a:	8d 74 06 04          	lea    0x4(%esi,%eax,1),%esi
4acf5e:	f7 d3                	not    %ebx
4acf60:	21 5c 90 44          	and    %ebx,0x44(%eax,%edx,4)
4acf64:	fe 0e                	decb   (%esi)
4acf66:	75 28                	jne    0x4acf90
4acf68:	8b 4d 08             	mov    0x8(%ebp),%ecx
4acf6b:	21 19                	and    %ebx,(%ecx)
4acf6d:	eb 21                	jmp    0x4acf90
4acf6f:	8d 4e e0             	lea    -0x20(%esi),%ecx
4acf72:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4acf77:	d3 eb                	shr    %cl,%ebx
4acf79:	8d 4c 06 04          	lea    0x4(%esi,%eax,1),%ecx
4acf7d:	f7 d3                	not    %ebx
4acf7f:	21 9c 90 c4 00 00 00 	and    %ebx,0xc4(%eax,%edx,4)
4acf86:	fe 09                	decb   (%ecx)
4acf88:	75 06                	jne    0x4acf90
4acf8a:	8b 4d 08             	mov    0x8(%ebp),%ecx
4acf8d:	21 59 04             	and    %ebx,0x4(%ecx)
4acf90:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4acf93:	8b 4f 08             	mov    0x8(%edi),%ecx
4acf96:	8b 77 04             	mov    0x4(%edi),%esi
4acf99:	89 71 04             	mov    %esi,0x4(%ecx)
4acf9c:	8b 4f 04             	mov    0x4(%edi),%ecx
4acf9f:	8b 77 08             	mov    0x8(%edi),%esi
4acfa2:	89 71 08             	mov    %esi,0x8(%ecx)
4acfa5:	8b 75 10             	mov    0x10(%ebp),%esi
4acfa8:	03 75 fc             	add    -0x4(%ebp),%esi
4acfab:	89 75 10             	mov    %esi,0x10(%ebp)
4acfae:	c1 fe 04             	sar    $0x4,%esi
4acfb1:	4e                   	dec    %esi
4acfb2:	83 fe 3f             	cmp    $0x3f,%esi
4acfb5:	76 03                	jbe    0x4acfba
4acfb7:	6a 3f                	push   $0x3f
4acfb9:	5e                   	pop    %esi
4acfba:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4acfbd:	8b 7c f1 04          	mov    0x4(%ecx,%esi,8),%edi
4acfc1:	8d 0c f1             	lea    (%ecx,%esi,8),%ecx
4acfc4:	89 7b 04             	mov    %edi,0x4(%ebx)
4acfc7:	89 4b 08             	mov    %ecx,0x8(%ebx)
4acfca:	89 59 04             	mov    %ebx,0x4(%ecx)
4acfcd:	8b 4b 04             	mov    0x4(%ebx),%ecx
4acfd0:	89 59 08             	mov    %ebx,0x8(%ecx)
4acfd3:	8b 4b 04             	mov    0x4(%ebx),%ecx
4acfd6:	3b 4b 08             	cmp    0x8(%ebx),%ecx
4acfd9:	75 5c                	jne    0x4ad037
4acfdb:	8a 4c 06 04          	mov    0x4(%esi,%eax,1),%cl
4acfdf:	83 fe 20             	cmp    $0x20,%esi
4acfe2:	88 4d 0f             	mov    %cl,0xf(%ebp)
4acfe5:	fe c1                	inc    %cl
4acfe7:	88 4c 06 04          	mov    %cl,0x4(%esi,%eax,1)
4acfeb:	73 21                	jae    0x4ad00e
4acfed:	80 7d 0f 00          	cmpb   $0x0,0xf(%ebp)
4acff1:	75 0e                	jne    0x4ad001
4acff3:	bf 00 00 00 80       	mov    $0x80000000,%edi
4acff8:	8b ce                	mov    %esi,%ecx
4acffa:	d3 ef                	shr    %cl,%edi
4acffc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4acfff:	09 39                	or     %edi,(%ecx)
4ad001:	8d 44 90 44          	lea    0x44(%eax,%edx,4),%eax
4ad005:	ba 00 00 00 80       	mov    $0x80000000,%edx
4ad00a:	8b ce                	mov    %esi,%ecx
4ad00c:	eb 25                	jmp    0x4ad033
4ad00e:	80 7d 0f 00          	cmpb   $0x0,0xf(%ebp)
4ad012:	75 10                	jne    0x4ad024
4ad014:	8d 4e e0             	lea    -0x20(%esi),%ecx
4ad017:	bf 00 00 00 80       	mov    $0x80000000,%edi
4ad01c:	d3 ef                	shr    %cl,%edi
4ad01e:	8b 4d 08             	mov    0x8(%ebp),%ecx
4ad021:	09 79 04             	or     %edi,0x4(%ecx)
4ad024:	8d 84 90 c4 00 00 00 	lea    0xc4(%eax,%edx,4),%eax
4ad02b:	8d 4e e0             	lea    -0x20(%esi),%ecx
4ad02e:	ba 00 00 00 80       	mov    $0x80000000,%edx
4ad033:	d3 ea                	shr    %cl,%edx
4ad035:	09 10                	or     %edx,(%eax)
4ad037:	8b 45 10             	mov    0x10(%ebp),%eax
4ad03a:	89 03                	mov    %eax,(%ebx)
4ad03c:	89 44 18 fc          	mov    %eax,-0x4(%eax,%ebx,1)
4ad040:	6a 01                	push   $0x1
4ad042:	58                   	pop    %eax
4ad043:	5f                   	pop    %edi
4ad044:	5e                   	pop    %esi
4ad045:	5b                   	pop    %ebx
4ad046:	c9                   	leave
4ad047:	c3                   	ret
4ad048:	83 3d a0 a7 50 00 ff 	cmpl   $0xffffffff,0x50a7a0
4ad04f:	53                   	push   %ebx
4ad050:	55                   	push   %ebp
4ad051:	56                   	push   %esi
4ad052:	57                   	push   %edi
4ad053:	75 07                	jne    0x4ad05c
4ad055:	be 90 a7 50 00       	mov    $0x50a790,%esi
4ad05a:	eb 1d                	jmp    0x4ad079
4ad05c:	68 20 20 00 00       	push   $0x2020
4ad061:	6a 00                	push   $0x0
4ad063:	ff 35 60 df 51 00    	push   0x51df60
4ad069:	ff 15 88 30 4b 00    	call   *0x4b3088
4ad06f:	8b f0                	mov    %eax,%esi
4ad071:	85 f6                	test   %esi,%esi
4ad073:	0f 84 0c 01 00 00    	je     0x4ad185
4ad079:	8b 2d b4 31 4b 00    	mov    0x4b31b4,%ebp
4ad07f:	6a 04                	push   $0x4
4ad081:	68 00 20 00 00       	push   $0x2000
4ad086:	68 00 00 40 00       	push   $0x400000
4ad08b:	6a 00                	push   $0x0
4ad08d:	ff d5                	call   *%ebp
4ad08f:	8b f8                	mov    %eax,%edi
4ad091:	85 ff                	test   %edi,%edi
4ad093:	0f 84 d5 00 00 00    	je     0x4ad16e
4ad099:	6a 04                	push   $0x4
4ad09b:	bb 00 00 01 00       	mov    $0x10000,%ebx
4ad0a0:	68 00 10 00 00       	push   $0x1000
4ad0a5:	53                   	push   %ebx
4ad0a6:	57                   	push   %edi
4ad0a7:	ff d5                	call   *%ebp
4ad0a9:	85 c0                	test   %eax,%eax
4ad0ab:	0f 84 af 00 00 00    	je     0x4ad160
4ad0b1:	b8 90 a7 50 00       	mov    $0x50a790,%eax
4ad0b6:	3b f0                	cmp    %eax,%esi
4ad0b8:	75 1e                	jne    0x4ad0d8
4ad0ba:	83 3d 90 a7 50 00 00 	cmpl   $0x0,0x50a790
4ad0c1:	75 05                	jne    0x4ad0c8
4ad0c3:	a3 90 a7 50 00       	mov    %eax,0x50a790
4ad0c8:	83 3d 94 a7 50 00 00 	cmpl   $0x0,0x50a794
4ad0cf:	75 1c                	jne    0x4ad0ed
4ad0d1:	a3 94 a7 50 00       	mov    %eax,0x50a794
4ad0d6:	eb 15                	jmp    0x4ad0ed
4ad0d8:	89 06                	mov    %eax,(%esi)
4ad0da:	a1 94 a7 50 00       	mov    0x50a794,%eax
4ad0df:	89 46 04             	mov    %eax,0x4(%esi)
4ad0e2:	89 35 94 a7 50 00    	mov    %esi,0x50a794
4ad0e8:	8b 46 04             	mov    0x4(%esi),%eax
4ad0eb:	89 30                	mov    %esi,(%eax)
4ad0ed:	8d 87 00 00 40 00    	lea    0x400000(%edi),%eax
4ad0f3:	8d 8e 98 00 00 00    	lea    0x98(%esi),%ecx
4ad0f9:	89 46 14             	mov    %eax,0x14(%esi)
4ad0fc:	8d 46 18             	lea    0x18(%esi),%eax
4ad0ff:	89 4e 0c             	mov    %ecx,0xc(%esi)
4ad102:	89 7e 10             	mov    %edi,0x10(%esi)
4ad105:	89 46 08             	mov    %eax,0x8(%esi)
4ad108:	33 ed                	xor    %ebp,%ebp
4ad10a:	b9 f1 00 00 00       	mov    $0xf1,%ecx
4ad10f:	33 d2                	xor    %edx,%edx
4ad111:	83 fd 10             	cmp    $0x10,%ebp
4ad114:	0f 9d c2             	setge  %dl
4ad117:	4a                   	dec    %edx
4ad118:	23 d1                	and    %ecx,%edx
4ad11a:	4a                   	dec    %edx
4ad11b:	45                   	inc    %ebp
4ad11c:	89 10                	mov    %edx,(%eax)
4ad11e:	89 48 04             	mov    %ecx,0x4(%eax)
4ad121:	83 c0 08             	add    $0x8,%eax
4ad124:	81 fd 00 04 00 00    	cmp    $0x400,%ebp
4ad12a:	7c e3                	jl     0x4ad10f
4ad12c:	53                   	push   %ebx
4ad12d:	6a 00                	push   $0x0
4ad12f:	57                   	push   %edi
4ad130:	e8 eb 3d 00 00       	call   0x4b0f20
4ad135:	83 c4 0c             	add    $0xc,%esp
4ad138:	8b 46 10             	mov    0x10(%esi),%eax
4ad13b:	03 c3                	add    %ebx,%eax
4ad13d:	3b f8                	cmp    %eax,%edi
4ad13f:	73 1b                	jae    0x4ad15c
4ad141:	80 8f f8 00 00 00 ff 	orb    $0xff,0xf8(%edi)
4ad148:	8d 47 08             	lea    0x8(%edi),%eax
4ad14b:	89 07                	mov    %eax,(%edi)
4ad14d:	c7 47 04 f0 00 00 00 	movl   $0xf0,0x4(%edi)
4ad154:	81 c7 00 10 00 00    	add    $0x1000,%edi
4ad15a:	eb dc                	jmp    0x4ad138
4ad15c:	8b c6                	mov    %esi,%eax
4ad15e:	eb 27                	jmp    0x4ad187
4ad160:	68 00 80 00 00       	push   $0x8000
4ad165:	6a 00                	push   $0x0
4ad167:	57                   	push   %edi
4ad168:	ff 15 b0 31 4b 00    	call   *0x4b31b0
4ad16e:	81 fe 90 a7 50 00    	cmp    $0x50a790,%esi
4ad174:	74 0f                	je     0x4ad185
4ad176:	56                   	push   %esi
4ad177:	6a 00                	push   $0x0
4ad179:	ff 35 60 df 51 00    	push   0x51df60
4ad17f:	ff 15 90 31 4b 00    	call   *0x4b3190
4ad185:	33 c0                	xor    %eax,%eax
4ad187:	5f                   	pop    %edi
4ad188:	5e                   	pop    %esi
4ad189:	5d                   	pop    %ebp
4ad18a:	5b                   	pop    %ebx
4ad18b:	c3                   	ret
4ad18c:	56                   	push   %esi
4ad18d:	8b 74 24 08          	mov    0x8(%esp),%esi
4ad191:	68 00 80 00 00       	push   $0x8000
4ad196:	6a 00                	push   $0x0
4ad198:	ff 76 10             	push   0x10(%esi)
4ad19b:	ff 15 b0 31 4b 00    	call   *0x4b31b0
4ad1a1:	39 35 b0 c7 50 00    	cmp    %esi,0x50c7b0
4ad1a7:	75 08                	jne    0x4ad1b1
4ad1a9:	8b 46 04             	mov    0x4(%esi),%eax
4ad1ac:	a3 b0 c7 50 00       	mov    %eax,0x50c7b0
4ad1b1:	81 fe 90 a7 50 00    	cmp    $0x50a790,%esi
4ad1b7:	74 20                	je     0x4ad1d9
4ad1b9:	8b 46 04             	mov    0x4(%esi),%eax
4ad1bc:	8b 0e                	mov    (%esi),%ecx
4ad1be:	56                   	push   %esi
4ad1bf:	6a 00                	push   $0x0
4ad1c1:	89 08                	mov    %ecx,(%eax)
4ad1c3:	8b 06                	mov    (%esi),%eax
4ad1c5:	8b 4e 04             	mov    0x4(%esi),%ecx
4ad1c8:	89 48 04             	mov    %ecx,0x4(%eax)
4ad1cb:	ff 35 60 df 51 00    	push   0x51df60
4ad1d1:	ff 15 90 31 4b 00    	call   *0x4b3190
4ad1d7:	5e                   	pop    %esi
4ad1d8:	c3                   	ret
4ad1d9:	83 0d a0 a7 50 00 ff 	orl    $0xffffffff,0x50a7a0
4ad1e0:	5e                   	pop    %esi
4ad1e1:	c3                   	ret
4ad1e2:	55                   	push   %ebp
4ad1e3:	8b ec                	mov    %esp,%ebp
4ad1e5:	51                   	push   %ecx
4ad1e6:	53                   	push   %ebx
4ad1e7:	56                   	push   %esi
4ad1e8:	8b 35 94 a7 50 00    	mov    0x50a794,%esi
4ad1ee:	57                   	push   %edi
4ad1ef:	83 7e 10 ff          	cmpl   $0xffffffff,0x10(%esi)
4ad1f3:	0f 84 94 00 00 00    	je     0x4ad28d
4ad1f9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4ad1fd:	8d be 10 20 00 00    	lea    0x2010(%esi),%edi
4ad203:	bb 00 f0 3f 00       	mov    $0x3ff000,%ebx
4ad208:	81 3f f0 00 00 00    	cmpl   $0xf0,(%edi)
4ad20e:	75 39                	jne    0x4ad249
4ad210:	8b c3                	mov    %ebx,%eax
4ad212:	68 00 40 00 00       	push   $0x4000
4ad217:	03 46 10             	add    0x10(%esi),%eax
4ad21a:	68 00 10 00 00       	push   $0x1000
4ad21f:	50                   	push   %eax
4ad220:	ff 15 b0 31 4b 00    	call   *0x4b31b0
4ad226:	85 c0                	test   %eax,%eax
4ad228:	74 1f                	je     0x4ad249
4ad22a:	83 0f ff             	orl    $0xffffffff,(%edi)
4ad22d:	ff 0d e4 ca 51 00    	decl   0x51cae4
4ad233:	8b 46 0c             	mov    0xc(%esi),%eax
4ad236:	85 c0                	test   %eax,%eax
4ad238:	74 04                	je     0x4ad23e
4ad23a:	3b c7                	cmp    %edi,%eax
4ad23c:	76 03                	jbe    0x4ad241
4ad23e:	89 7e 0c             	mov    %edi,0xc(%esi)
4ad241:	ff 45 fc             	incl   -0x4(%ebp)
4ad244:	ff 4d 08             	decl   0x8(%ebp)
4ad247:	74 0d                	je     0x4ad256
4ad249:	81 eb 00 10 00 00    	sub    $0x1000,%ebx
4ad24f:	83 ef 08             	sub    $0x8,%edi
4ad252:	85 db                	test   %ebx,%ebx
4ad254:	7d b2                	jge    0x4ad208
4ad256:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4ad25a:	8b ce                	mov    %esi,%ecx
4ad25c:	8b 76 04             	mov    0x4(%esi),%esi
4ad25f:	74 2c                	je     0x4ad28d
4ad261:	83 79 18 ff          	cmpl   $0xffffffff,0x18(%ecx)
4ad265:	75 26                	jne    0x4ad28d
4ad267:	6a 01                	push   $0x1
4ad269:	8d 41 20             	lea    0x20(%ecx),%eax
4ad26c:	5a                   	pop    %edx
4ad26d:	83 38 ff             	cmpl   $0xffffffff,(%eax)
4ad270:	75 0c                	jne    0x4ad27e
4ad272:	42                   	inc    %edx
4ad273:	83 c0 08             	add    $0x8,%eax
4ad276:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4ad27c:	7c ef                	jl     0x4ad26d
4ad27e:	81 fa 00 04 00 00    	cmp    $0x400,%edx
4ad284:	75 07                	jne    0x4ad28d
4ad286:	51                   	push   %ecx
4ad287:	e8 00 ff ff ff       	call   0x4ad18c
4ad28c:	59                   	pop    %ecx
4ad28d:	3b 35 94 a7 50 00    	cmp    0x50a794,%esi
4ad293:	74 0a                	je     0x4ad29f
4ad295:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4ad299:	0f 8f 50 ff ff ff    	jg     0x4ad1ef