5bcf9c:	56                   	push   %esi
5bcf9d:	57                   	push   %edi
5bcf9e:	89 65 f0             	mov    %esp,-0x10(%ebp)
5bcfa1:	8b f9                	mov    %ecx,%edi
5bcfa3:	89 7d e8             	mov    %edi,-0x18(%ebp)
5bcfa6:	8b 5f 04             	mov    0x4(%edi),%ebx
5bcfa9:	2b 1f                	sub    (%edi),%ebx
5bcfab:	c1 fb 02             	sar    $0x2,%ebx
5bcfae:	8b 45 08             	mov    0x8(%ebp),%eax
5bcfb1:	8b 00                	mov    (%eax),%eax
5bcfb3:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
5bcfb8:	0f 87 cb 00 00 00    	ja     0x5bd089
5bcfbe:	c1 e0 02             	shl    $0x2,%eax
5bcfc1:	85 c0                	test   %eax,%eax
5bcfc3:	75 07                	jne    0x5bcfcc
5bcfc5:	33 f6                	xor    %esi,%esi
5bcfc7:	89 75 ec             	mov    %esi,-0x14(%ebp)
5bcfca:	eb 3f                	jmp    0x5bd00b
5bcfcc:	3d 00 10 00 00       	cmp    $0x1000,%eax
5bcfd1:	72 2a                	jb     0x5bcffd
5bcfd3:	8d 48 23             	lea    0x23(%eax),%ecx
5bcfd6:	3b c8                	cmp    %eax,%ecx
5bcfd8:	0f 86 ab 00 00 00    	jbe    0x5bd089
5bcfde:	51                   	push   %ecx
5bcfdf:	e8 41 42 01 00       	call   0x5d1225
5bcfe4:	83 c4 04             	add    $0x4,%esp
5bcfe7:	85 c0                	test   %eax,%eax
5bcfe9:	0f 84 9f 00 00 00    	je     0x5bd08e
5bcfef:	8d 70 23             	lea    0x23(%eax),%esi
5bcff2:	83 e6 e0             	and    $0xffffffe0,%esi
5bcff5:	89 46 fc             	mov    %eax,-0x4(%esi)
5bcff8:	89 75 ec             	mov    %esi,-0x14(%ebp)
5bcffb:	eb 0e                	jmp    0x5bd00b
5bcffd:	50                   	push   %eax
5bcffe:	e8 22 42 01 00       	call   0x5d1225
5bd003:	83 c4 04             	add    $0x4,%esp
5bd006:	8b f0                	mov    %eax,%esi
5bd008:	89 45 ec             	mov    %eax,-0x14(%ebp)
5bd00b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5bd012:	8b 57 04             	mov    0x4(%edi),%edx
5bd015:	8b 0f                	mov    (%edi),%ecx
5bd017:	2b d1                	sub    %ecx,%edx
5bd019:	52                   	push   %edx
5bd01a:	51                   	push   %ecx
5bd01b:	56                   	push   %esi
5bd01c:	e8 af 5d 01 00       	call   0x5d2dd0
5bd021:	83 c4 0c             	add    $0xc,%esp
5bd024:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5bd02b:	8b 45 08             	mov    0x8(%ebp),%eax
5bd02e:	8b 00                	mov    (%eax),%eax
5bd030:	89 45 08             	mov    %eax,0x8(%ebp)
5bd033:	8b 07                	mov    (%edi),%eax
5bd035:	85 c0                	test   %eax,%eax
5bd037:	74 2c                	je     0x5bd065
5bd039:	8b 4f 08             	mov    0x8(%edi),%ecx
5bd03c:	2b c8                	sub    %eax,%ecx
5bd03e:	83 e1 fc             	and    $0xfffffffc,%ecx
5bd041:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5bd047:	72 12                	jb     0x5bd05b
5bd049:	83 c1 23             	add    $0x23,%ecx
5bd04c:	8b 50 fc             	mov    -0x4(%eax),%edx
5bd04f:	2b c2                	sub    %edx,%eax
5bd051:	83 c0 fc             	add    $0xfffffffc,%eax
5bd054:	83 f8 1f             	cmp    $0x1f,%eax
5bd057:	77 35                	ja     0x5bd08e
5bd059:	8b c2                	mov    %edx,%eax
5bd05b:	51                   	push   %ecx
5bd05c:	50                   	push   %eax
5bd05d:	e8 f3 41 01 00       	call   0x5d1255
5bd062:	83 c4 08             	add    $0x8,%esp
5bd065:	89 37                	mov    %esi,(%edi)
5bd067:	8d 04 9e             	lea    (%esi,%ebx,4),%eax
5bd06a:	89 47 04             	mov    %eax,0x4(%edi)
5bd06d:	8b 45 08             	mov    0x8(%ebp),%eax
5bd070:	8d 04 86             	lea    (%esi,%eax,4),%eax
5bd073:	89 47 08             	mov    %eax,0x8(%edi)
5bd076:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5bd079:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5bd080:	5f                   	pop    %edi
5bd081:	5e                   	pop    %esi
5bd082:	5b                   	pop    %ebx
5bd083:	8b e5                	mov    %ebp,%esp
5bd085:	5d                   	pop    %ebp
5bd086:	c2 04 00             	ret    $0x4
5bd089:	e8 62 a5 e8 ff       	call   0x4475f0
5bd08e:	e8 5d 91 01 00       	call   0x5d61f0
5bd093:	8b 45 08             	mov    0x8(%ebp),%eax
5bd096:	ff 30                	push   (%eax)
5bd098:	ff 75 ec             	push   -0x14(%ebp)
5bd09b:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5bd09e:	e8 2d 33 00 00       	call   0x5c03d0
5bd0a3:	6a 00                	push   $0x0
5bd0a5:	6a 00                	push   $0x0
5bd0a7:	e8 93 6a 01 00       	call   0x5d3b3f
5bd0ac:	cc                   	int3
5bd0ad:	cc                   	int3
5bd0ae:	cc                   	int3
5bd0af:	cc                   	int3
5bd0b0:	cc                   	int3
5bd0b1:	cc                   	int3
5bd0b2:	cc                   	int3
5bd0b3:	cc                   	int3
5bd0b4:	cc                   	int3
5bd0b5:	cc                   	int3
5bd0b6:	cc                   	int3
5bd0b7:	cc                   	int3
5bd0b8:	cc                   	int3
5bd0b9:	cc                   	int3
5bd0ba:	cc                   	int3
5bd0bb:	cc                   	int3
5bd0bc:	cc                   	int3
5bd0bd:	cc                   	int3
5bd0be:	cc                   	int3
5bd0bf:	cc                   	int3
5bd0c0:	55                   	push   %ebp
5bd0c1:	8b ec                	mov    %esp,%ebp
5bd0c3:	6a ff                	push   $0xffffffff
5bd0c5:	68 60 fe 5f 00       	push   $0x5ffe60
5bd0ca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5bd0d0:	50                   	push   %eax
5bd0d1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5bd0d8:	83 ec 0c             	sub    $0xc,%esp
5bd0db:	53                   	push   %ebx
5bd0dc:	56                   	push   %esi
5bd0dd:	57                   	push   %edi
5bd0de:	89 65 f0             	mov    %esp,-0x10(%ebp)
5bd0e1:	8b f9                	mov    %ecx,%edi
5bd0e3:	89 7d e8             	mov    %edi,-0x18(%ebp)
5bd0e6:	8b 5f 04             	mov    0x4(%edi),%ebx
5bd0e9:	2b 1f                	sub    (%edi),%ebx
5bd0eb:	c1 fb 03             	sar    $0x3,%ebx
5bd0ee:	8b 45 08             	mov    0x8(%ebp),%eax
5bd0f1:	8b 00                	mov    (%eax),%eax
5bd0f3:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
5bd0f8:	0f 87 cb 00 00 00    	ja     0x5bd1c9
5bd0fe:	c1 e0 03             	shl    $0x3,%eax
5bd101:	85 c0                	test   %eax,%eax
5bd103:	75 07                	jne    0x5bd10c
5bd105:	33 f6                	xor    %esi,%esi
5bd107:	89 75 ec             	mov    %esi,-0x14(%ebp)
5bd10a:	eb 3f                	jmp    0x5bd14b
5bd10c:	3d 00 10 00 00       	cmp    $0x1000,%eax
5bd111:	72 2a                	jb     0x5bd13d
5bd113:	8d 48 23             	lea    0x23(%eax),%ecx
5bd116:	3b c8                	cmp    %eax,%ecx
5bd118:	0f 86 ab 00 00 00    	jbe    0x5bd1c9
5bd11e:	51                   	push   %ecx
5bd11f:	e8 01 41 01 00       	call   0x5d1225
5bd124:	83 c4 04             	add    $0x4,%esp
5bd127:	85 c0                	test   %eax,%eax
5bd129:	0f 84 9f 00 00 00    	je     0x5bd1ce
5bd12f:	8d 70 23             	lea    0x23(%eax),%esi
5bd132:	83 e6 e0             	and    $0xffffffe0,%esi
5bd135:	89 46 fc             	mov    %eax,-0x4(%esi)
5bd138:	89 75 ec             	mov    %esi,-0x14(%ebp)
5bd13b:	eb 0e                	jmp    0x5bd14b
5bd13d:	50                   	push   %eax
5bd13e:	e8 e2 40 01 00       	call   0x5d1225
5bd143:	83 c4 04             	add    $0x4,%esp
5bd146:	8b f0                	mov    %eax,%esi
5bd148:	89 45 ec             	mov    %eax,-0x14(%ebp)
5bd14b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5bd152:	8b 57 04             	mov    0x4(%edi),%edx
5bd155:	8b 0f                	mov    (%edi),%ecx
5bd157:	2b d1                	sub    %ecx,%edx
5bd159:	52                   	push   %edx
5bd15a:	51                   	push   %ecx
5bd15b:	56                   	push   %esi
5bd15c:	e8 6f 5c 01 00       	call   0x5d2dd0
5bd161:	83 c4 0c             	add    $0xc,%esp
5bd164:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
5bd16b:	8b 45 08             	mov    0x8(%ebp),%eax
5bd16e:	8b 00                	mov    (%eax),%eax
5bd170:	89 45 08             	mov    %eax,0x8(%ebp)
5bd173:	8b 07                	mov    (%edi),%eax
5bd175:	85 c0                	test   %eax,%eax
5bd177:	74 2c                	je     0x5bd1a5
5bd179:	8b 4f 08             	mov    0x8(%edi),%ecx
5bd17c:	2b c8                	sub    %eax,%ecx
5bd17e:	83 e1 f8             	and    $0xfffffff8,%ecx
5bd181:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
5bd187:	72 12                	jb     0x5bd19b
5bd189:	83 c1 23             	add    $0x23,%ecx
5bd18c:	8b 50 fc             	mov    -0x4(%eax),%edx
5bd18f:	2b c2                	sub    %edx,%eax
5bd191:	83 c0 fc             	add    $0xfffffffc,%eax
5bd194:	83 f8 1f             	cmp    $0x1f,%eax
5bd197:	77 35                	ja     0x5bd1ce
5bd199:	8b c2                	mov    %edx,%eax
5bd19b:	51                   	push   %ecx
5bd19c:	50                   	push   %eax
5bd19d:	e8 b3 40 01 00       	call   0x5d1255
5bd1a2:	83 c4 08             	add    $0x8,%esp
5bd1a5:	89 37                	mov    %esi,(%edi)
5bd1a7:	8d 04 de             	lea    (%esi,%ebx,8),%eax
5bd1aa:	89 47 04             	mov    %eax,0x4(%edi)
5bd1ad:	8b 45 08             	mov    0x8(%ebp),%eax
5bd1b0:	8d 04 c6             	lea    (%esi,%eax,8),%eax
5bd1b3:	89 47 08             	mov    %eax,0x8(%edi)
5bd1b6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5bd1b9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5bd1c0:	5f                   	pop    %edi
5bd1c1:	5e                   	pop    %esi
5bd1c2:	5b                   	pop    %ebx
5bd1c3:	8b e5                	mov    %ebp,%esp
5bd1c5:	5d                   	pop    %ebp
5bd1c6:	c2 04 00             	ret    $0x4
5bd1c9:	e8 22 a4 e8 ff       	call   0x4475f0
5bd1ce:	e8 1d 90 01 00       	call   0x5d61f0
5bd1d3:	8b 45 08             	mov    0x8(%ebp),%eax
5bd1d6:	ff 30                	push   (%eax)
5bd1d8:	ff 75 ec             	push   -0x14(%ebp)
5bd1db:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5bd1de:	e8 6d 32 00 00       	call   0x5c0450
5bd1e3:	6a 00                	push   $0x0
5bd1e5:	6a 00                	push   $0x0
5bd1e7:	e8 53 69 01 00       	call   0x5d3b3f
5bd1ec:	cc                   	int3
5bd1ed:	cc                   	int3
5bd1ee:	cc                   	int3
5bd1ef:	cc                   	int3
5bd1f0:	cc                   	int3
5bd1f1:	cc                   	int3
5bd1f2:	cc                   	int3
5bd1f3:	cc                   	int3
5bd1f4:	cc                   	int3
5bd1f5:	cc                   	int3
5bd1f6:	cc                   	int3
5bd1f7:	cc                   	int3
5bd1f8:	cc                   	int3
5bd1f9:	cc                   	int3
5bd1fa:	cc                   	int3
5bd1fb:	cc                   	int3
5bd1fc:	cc                   	int3
5bd1fd:	cc                   	int3
5bd1fe:	cc                   	int3
5bd1ff:	cc                   	int3
5bd200:	55                   	push   %ebp
5bd201:	8b ec                	mov    %esp,%ebp
5bd203:	8b 55 14             	mov    0x14(%ebp),%edx
5bd206:	83 ec 3c             	sub    $0x3c,%esp
5bd209:	53                   	push   %ebx
5bd20a:	8b 5d 08             	mov    0x8(%ebp),%ebx
5bd20d:	56                   	push   %esi
5bd20e:	57                   	push   %edi
5bd20f:	8b 7d 0c             	mov    0xc(%ebp),%edi
5bd212:	8b c7                	mov    %edi,%eax
5bd214:	2b c3                	sub    %ebx,%eax
5bd216:	83 e0 e0             	and    $0xffffffe0,%eax
5bd219:	3d 00 04 00 00       	cmp    $0x400,%eax
5bd21e:	7e 71                	jle    0x5bd291
5bd220:	8b 75 10             	mov    0x10(%ebp),%esi
5bd223:	85 f6                	test   %esi,%esi
5bd225:	0f 8e c4 00 00 00    	jle    0x5bd2ef
5bd22b:	52                   	push   %edx
5bd22c:	57                   	push   %edi
5bd22d:	8d 45 e4             	lea    -0x1c(%ebp),%eax
5bd230:	53                   	push   %ebx
5bd231:	50                   	push   %eax
5bd232:	e8 59 f9 ff ff       	call   0x5bcb90
5bd237:	8b 55 e8             	mov    -0x18(%ebp),%edx
5bd23a:	8b c6                	mov    %esi,%eax
5bd23c:	c1 f8 02             	sar    $0x2,%eax
5bd23f:	8b cf                	mov    %edi,%ecx
5bd241:	d1 fe                	sar    $1,%esi
5bd243:	83 c4 10             	add    $0x10,%esp
5bd246:	03 f0                	add    %eax,%esi
5bd248:	2b ca                	sub    %edx,%ecx
5bd24a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5bd24d:	83 e1 e0             	and    $0xffffffe0,%ecx
5bd250:	2b c3                	sub    %ebx,%eax
5bd252:	83 e0 e0             	and    $0xffffffe0,%eax
5bd255:	3b c1                	cmp    %ecx,%eax
5bd257:	8b 45 14             	mov    0x14(%ebp),%eax
5bd25a:	50                   	push   %eax
5bd25b:	56                   	push   %esi
5bd25c:	7d 12                	jge    0x5bd270
5bd25e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5bd261:	50                   	push   %eax
5bd262:	53                   	push   %ebx
5bd263:	e8 98 ff ff ff       	call   0x5bd200
5bd268:	8b 5d e8             	mov    -0x18(%ebp),%ebx
5bd26b:	89 5d 08             	mov    %ebx,0x8(%ebp)
5bd26e:	eb 0d                	jmp    0x5bd27d
5bd270:	57                   	push   %edi
5bd271:	52                   	push   %edx
5bd272:	e8 89 ff ff ff       	call   0x5bd200
5bd277:	8b 7d e4             	mov    -0x1c(%ebp),%edi
5bd27a:	89 7d 0c             	mov    %edi,0xc(%ebp)
5bd27d:	8b 55 14             	mov    0x14(%ebp),%edx
5bd280:	8b c7                	mov    %edi,%eax
5bd282:	2b c3                	sub    %ebx,%eax
5bd284:	83 c4 10             	add    $0x10,%esp
5bd287:	83 e0 e0             	and    $0xffffffe0,%eax
5bd28a:	3d 00 04 00 00       	cmp    $0x400,%eax
5bd28f:	7f 92                	jg     0x5bd223
5bd291:	3b df                	cmp    %edi,%ebx
5bd293:	0f 84 28 02 00 00    	je     0x5bd4c1
5bd299:	8d 43 20             	lea    0x20(%ebx),%eax
5bd29c:	89 45 f8             	mov    %eax,-0x8(%ebp)
5bd29f:	3b c7                	cmp    %edi,%eax
5bd2a1:	0f 84 1a 02 00 00    	je     0x5bd4c1
5bd2a7:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5bd2aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5bd2b0:	8b f0                	mov    %eax,%esi
5bd2b2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5bd2b5:	8d 45 c4             	lea    -0x3c(%ebp),%eax
5bd2b8:	b9 08 00 00 00       	mov    $0x8,%ecx
5bd2bd:	8d 7d c4             	lea    -0x3c(%ebp),%edi
5bd2c0:	53                   	push   %ebx
5bd2c1:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5bd2c3:	50                   	push   %eax
5bd2c4:	ff d2                	call   *%edx
5bd2c6:	83 c4 08             	add    $0x8,%esp
5bd2c9:	84 c0                	test   %al,%al
5bd2cb:	0f 84 8e 01 00 00    	je     0x5bd45f
5bd2d1:	8b 45 f8             	mov    -0x8(%ebp),%eax
5bd2d4:	8b c8                	mov    %eax,%ecx
5bd2d6:	2b cb                	sub    %ebx,%ecx
5bd2d8:	51                   	push   %ecx
5bd2d9:	2b c1                	sub    %ecx,%eax
5bd2db:	83 c0 20             	add    $0x20,%eax
5bd2de:	53                   	push   %ebx
5bd2df:	50                   	push   %eax
5bd2e0:	e8 eb 5a 01 00       	call   0x5d2dd0
5bd2e5:	83 c4 0c             	add    $0xc,%esp
5bd2e8:	8b fb                	mov    %ebx,%edi
5bd2ea:	e9 af 01 00 00       	jmp    0x5bd49e
5bd2ef:	8b cf                	mov    %edi,%ecx
5bd2f1:	2b cb                	sub    %ebx,%ecx
5bd2f3:	c1 f9 05             	sar    $0x5,%ecx
5bd2f6:	8b c1                	mov    %ecx,%eax
5bd2f8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5bd2fb:	d1 f8                	sar    $1,%eax
5bd2fd:	85 c0                	test   %eax,%eax
5bd2ff:	0f 8e fa 00 00 00    	jle    0x5bd3ff
5bd305:	49                   	dec    %ecx
5bd306:	8b f0                	mov    %eax,%esi
5bd308:	89 4d ec             	mov    %ecx,-0x14(%ebp)
5bd30b:	d1 f9                	sar    $1,%ecx
5bd30d:	c1 e6 05             	shl    $0x5,%esi
5bd310:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5bd313:	03 f3                	add    %ebx,%esi
5bd315:	83 ee 20             	sub    $0x20,%esi
5bd318:	8d 7d c4             	lea    -0x3c(%ebp),%edi
5bd31b:	48                   	dec    %eax
5bd31c:	89 75 e8             	mov    %esi,-0x18(%ebp)
5bd31f:	b9 08 00 00 00       	mov    $0x8,%ecx
5bd324:	89 45 fc             	mov    %eax,-0x4(%ebp)
5bd327:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)