5bc20f:	8d 48 23             	lea    0x23(%eax),%ecx
5bc212:	3b c8                	cmp    %eax,%ecx
5bc214:	76 2a                	jbe    0x5bc240
5bc216:	51                   	push   %ecx
5bc217:	e8 09 50 01 00       	call   0x5d1225
5bc21c:	8b c8                	mov    %eax,%ecx
5bc21e:	83 c4 04             	add    $0x4,%esp
5bc221:	85 c9                	test   %ecx,%ecx
5bc223:	74 0b                	je     0x5bc230
5bc225:	8d 41 23             	lea    0x23(%ecx),%eax
5bc228:	83 e0 e0             	and    $0xffffffe0,%eax
5bc22b:	89 48 fc             	mov    %ecx,-0x4(%eax)
5bc22e:	5d                   	pop    %ebp
5bc22f:	c3                   	ret
5bc230:	e9 bb 9f 01 00       	jmp    0x5d61f0
5bc235:	50                   	push   %eax
5bc236:	e8 ea 4f 01 00       	call   0x5d1225
5bc23b:	83 c4 04             	add    $0x4,%esp
5bc23e:	5d                   	pop    %ebp
5bc23f:	c3                   	ret
5bc240:	e9 ab b3 e8 ff       	jmp    0x4475f0
5bc245:	cc                   	int3
5bc246:	cc                   	int3
5bc247:	cc                   	int3
5bc248:	cc                   	int3
5bc249:	cc                   	int3
5bc24a:	cc                   	int3
5bc24b:	cc                   	int3
5bc24c:	cc                   	int3
5bc24d:	cc                   	int3
5bc24e:	cc                   	int3
5bc24f:	cc                   	int3
5bc250:	55                   	push   %ebp
5bc251:	8b ec                	mov    %esp,%ebp
5bc253:	8b 45 0c             	mov    0xc(%ebp),%eax
5bc256:	8b 00                	mov    (%eax),%eax
5bc258:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
5bc25d:	77 41                	ja     0x5bc2a0
5bc25f:	c1 e0 03             	shl    $0x3,%eax
5bc262:	85 c0                	test   %eax,%eax
5bc264:	75 02                	jne    0x5bc268
5bc266:	5d                   	pop    %ebp
5bc267:	c3                   	ret
5bc268:	3d 00 10 00 00       	cmp    $0x1000,%eax
5bc26d:	72 26                	jb     0x5bc295
5bc26f:	8d 48 23             	lea    0x23(%eax),%ecx
5bc272:	3b c8                	cmp    %eax,%ecx
5bc274:	76 2a                	jbe    0x5bc2a0
5bc276:	51                   	push   %ecx
5bc277:	e8 a9 4f 01 00       	call   0x5d1225
5bc27c:	8b c8                	mov    %eax,%ecx
5bc27e:	83 c4 04             	add    $0x4,%esp
5bc281:	85 c9                	test   %ecx,%ecx
5bc283:	74 0b                	je     0x5bc290
5bc285:	8d 41 23             	lea    0x23(%ecx),%eax
5bc288:	83 e0 e0             	and    $0xffffffe0,%eax
5bc28b:	89 48 fc             	mov    %ecx,-0x4(%eax)
5bc28e:	5d                   	pop    %ebp
5bc28f:	c3                   	ret
5bc290:	e9 5b 9f 01 00       	jmp    0x5d61f0
5bc295:	50                   	push   %eax
5bc296:	e8 8a 4f 01 00       	call   0x5d1225
5bc29b:	83 c4 04             	add    $0x4,%esp
5bc29e:	5d                   	pop    %ebp
5bc29f:	c3                   	ret
5bc2a0:	e9 4b b3 e8 ff       	jmp    0x4475f0
5bc2a5:	cc                   	int3
5bc2a6:	cc                   	int3
5bc2a7:	cc                   	int3
5bc2a8:	cc                   	int3
5bc2a9:	cc                   	int3
5bc2aa:	cc                   	int3
5bc2ab:	cc                   	int3
5bc2ac:	cc                   	int3
5bc2ad:	cc                   	int3
5bc2ae:	cc                   	int3
5bc2af:	cc                   	int3
5bc2b0:	55                   	push   %ebp
5bc2b1:	8b ec                	mov    %esp,%ebp
5bc2b3:	83 ec 08             	sub    $0x8,%esp
5bc2b6:	53                   	push   %ebx
5bc2b7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5bc2ba:	56                   	push   %esi
5bc2bb:	57                   	push   %edi
5bc2bc:	8b f9                	mov    %ecx,%edi
5bc2be:	89 7d fc             	mov    %edi,-0x4(%ebp)
5bc2c1:	8b 0f                	mov    (%edi),%ecx
5bc2c3:	8b 57 08             	mov    0x8(%edi),%edx
5bc2c6:	2b d1                	sub    %ecx,%edx
5bc2c8:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5bc2cb:	c1 fa 05             	sar    $0x5,%edx
5bc2ce:	3b da                	cmp    %edx,%ebx
5bc2d0:	0f 86 f0 00 00 00    	jbe    0x5bc3c6
5bc2d6:	81 fb ff ff ff 07    	cmp    $0x7ffffff,%ebx
5bc2dc:	0f 87 4f 01 00 00    	ja     0x5bc431
5bc2e2:	8b f2                	mov    %edx,%esi
5bc2e4:	b8 ff ff ff 07       	mov    $0x7ffffff,%eax
5bc2e9:	d1 ee                	shr    $1,%esi
5bc2eb:	2b c6                	sub    %esi,%eax
5bc2ed:	3b d0                	cmp    %eax,%edx
5bc2ef:	76 07                	jbe    0x5bc2f8
5bc2f1:	be ff ff ff 07       	mov    $0x7ffffff,%esi
5bc2f6:	eb 07                	jmp    0x5bc2ff
5bc2f8:	03 f2                	add    %edx,%esi
5bc2fa:	3b f3                	cmp    %ebx,%esi
5bc2fc:	0f 42 f3             	cmovb  %ebx,%esi
5bc2ff:	85 c9                	test   %ecx,%ecx
5bc301:	74 43                	je     0x5bc346
5bc303:	c1 e2 05             	shl    $0x5,%edx
5bc306:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5bc30c:	72 1a                	jb     0x5bc328
5bc30e:	8b 41 fc             	mov    -0x4(%ecx),%eax
5bc311:	83 c2 23             	add    $0x23,%edx
5bc314:	2b c8                	sub    %eax,%ecx
5bc316:	89 45 0c             	mov    %eax,0xc(%ebp)
5bc319:	8d 41 fc             	lea    -0x4(%ecx),%eax
5bc31c:	83 f8 1f             	cmp    $0x1f,%eax
5bc31f:	0f 87 11 01 00 00    	ja     0x5bc436
5bc325:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5bc328:	52                   	push   %edx
5bc329:	51                   	push   %ecx
5bc32a:	e8 26 4f 01 00       	call   0x5d1255
5bc32f:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
5bc335:	83 c4 08             	add    $0x8,%esp
5bc338:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
5bc33f:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
5bc346:	81 fe ff ff ff 07    	cmp    $0x7ffffff,%esi
5bc34c:	0f 87 e9 00 00 00    	ja     0x5bc43b
5bc352:	c1 e6 05             	shl    $0x5,%esi
5bc355:	85 f6                	test   %esi,%esi
5bc357:	75 04                	jne    0x5bc35d
5bc359:	33 c0                	xor    %eax,%eax
5bc35b:	eb 3a                	jmp    0x5bc397
5bc35d:	81 fe 00 10 00 00    	cmp    $0x1000,%esi
5bc363:	72 29                	jb     0x5bc38e
5bc365:	8d 46 23             	lea    0x23(%esi),%eax
5bc368:	3b c6                	cmp    %esi,%eax
5bc36a:	0f 86 cb 00 00 00    	jbe    0x5bc43b
5bc370:	50                   	push   %eax
5bc371:	e8 af 4e 01 00       	call   0x5d1225
5bc376:	8b c8                	mov    %eax,%ecx
5bc378:	83 c4 04             	add    $0x4,%esp
5bc37b:	85 c9                	test   %ecx,%ecx
5bc37d:	0f 84 b3 00 00 00    	je     0x5bc436
5bc383:	8d 41 23             	lea    0x23(%ecx),%eax
5bc386:	83 e0 e0             	and    $0xffffffe0,%eax
5bc389:	89 48 fc             	mov    %ecx,-0x4(%eax)
5bc38c:	eb 09                	jmp    0x5bc397
5bc38e:	56                   	push   %esi
5bc38f:	e8 91 4e 01 00       	call   0x5d1225
5bc394:	83 c4 04             	add    $0x4,%esp
5bc397:	c1 e3 05             	shl    $0x5,%ebx
5bc39a:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
5bc39d:	53                   	push   %ebx
5bc39e:	ff 75 08             	push   0x8(%ebp)
5bc3a1:	89 07                	mov    %eax,(%edi)
5bc3a3:	89 47 04             	mov    %eax,0x4(%edi)
5bc3a6:	50                   	push   %eax
5bc3a7:	89 45 0c             	mov    %eax,0xc(%ebp)
5bc3aa:	89 4f 08             	mov    %ecx,0x8(%edi)
5bc3ad:	e8 1e 6a 01 00       	call   0x5d2dd0
5bc3b2:	8b 45 0c             	mov    0xc(%ebp),%eax
5bc3b5:	83 c4 0c             	add    $0xc,%esp
5bc3b8:	03 c3                	add    %ebx,%eax
5bc3ba:	89 47 04             	mov    %eax,0x4(%edi)
5bc3bd:	5f                   	pop    %edi
5bc3be:	5e                   	pop    %esi
5bc3bf:	5b                   	pop    %ebx
5bc3c0:	8b e5                	mov    %ebp,%esp
5bc3c2:	5d                   	pop    %ebp
5bc3c3:	c2 08 00             	ret    $0x8
5bc3c6:	8b 47 04             	mov    0x4(%edi),%eax
5bc3c9:	2b c1                	sub    %ecx,%eax
5bc3cb:	c1 f8 05             	sar    $0x5,%eax
5bc3ce:	89 45 0c             	mov    %eax,0xc(%ebp)
5bc3d1:	3b d8                	cmp    %eax,%ebx
5bc3d3:	76 3b                	jbe    0x5bc410
5bc3d5:	8b 7d 08             	mov    0x8(%ebp),%edi
5bc3d8:	8b f0                	mov    %eax,%esi
5bc3da:	c1 e6 05             	shl    $0x5,%esi
5bc3dd:	56                   	push   %esi
5bc3de:	57                   	push   %edi
5bc3df:	51                   	push   %ecx
5bc3e0:	e8 eb 69 01 00       	call   0x5d2dd0
5bc3e5:	2b 5d 0c             	sub    0xc(%ebp),%ebx
5bc3e8:	03 fe                	add    %esi,%edi
5bc3ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
5bc3ed:	c1 e3 05             	shl    $0x5,%ebx
5bc3f0:	53                   	push   %ebx
5bc3f1:	57                   	push   %edi
5bc3f2:	8b 70 04             	mov    0x4(%eax),%esi
5bc3f5:	56                   	push   %esi
5bc3f6:	e8 d5 69 01 00       	call   0x5d2dd0
5bc3fb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5bc3fe:	8d 04 33             	lea    (%ebx,%esi,1),%eax
5bc401:	83 c4 18             	add    $0x18,%esp
5bc404:	89 41 04             	mov    %eax,0x4(%ecx)
5bc407:	5f                   	pop    %edi
5bc408:	5e                   	pop    %esi
5bc409:	5b                   	pop    %ebx
5bc40a:	8b e5                	mov    %ebp,%esp
5bc40c:	5d                   	pop    %ebp
5bc40d:	c2 08 00             	ret    $0x8
5bc410:	c1 e3 05             	shl    $0x5,%ebx
5bc413:	53                   	push   %ebx
5bc414:	ff 75 08             	push   0x8(%ebp)
5bc417:	51                   	push   %ecx
5bc418:	e8 b3 69 01 00       	call   0x5d2dd0
5bc41d:	8b 45 f8             	mov    -0x8(%ebp),%eax
5bc420:	83 c4 0c             	add    $0xc,%esp
5bc423:	03 c3                	add    %ebx,%eax
5bc425:	89 47 04             	mov    %eax,0x4(%edi)
5bc428:	5f                   	pop    %edi
5bc429:	5e                   	pop    %esi
5bc42a:	5b                   	pop    %ebx
5bc42b:	8b e5                	mov    %ebp,%esp
5bc42d:	5d                   	pop    %ebp
5bc42e:	c2 08 00             	ret    $0x8
5bc431:	e8 6a 03 ea ff       	call   0x45c7a0
5bc436:	e8 b5 9d 01 00       	call   0x5d61f0
5bc43b:	e8 b0 b1 e8 ff       	call   0x4475f0
5bc440:	cc                   	int3
5bc441:	cc                   	int3
5bc442:	cc                   	int3
5bc443:	cc                   	int3
5bc444:	cc                   	int3
5bc445:	cc                   	int3
5bc446:	cc                   	int3
5bc447:	cc                   	int3
5bc448:	cc                   	int3
5bc449:	cc                   	int3
5bc44a:	cc                   	int3
5bc44b:	cc                   	int3
5bc44c:	cc                   	int3
5bc44d:	cc                   	int3
5bc44e:	cc                   	int3
5bc44f:	cc                   	int3
5bc450:	55                   	push   %ebp
5bc451:	8b ec                	mov    %esp,%ebp
5bc453:	53                   	push   %ebx
5bc454:	57                   	push   %edi
5bc455:	8b 7d 0c             	mov    0xc(%ebp),%edi
5bc458:	8b d9                	mov    %ecx,%ebx
5bc45a:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
5bc460:	77 76                	ja     0x5bc4d8
5bc462:	83 ff 0f             	cmp    $0xf,%edi
5bc465:	77 21                	ja     0x5bc488
5bc467:	57                   	push   %edi
5bc468:	ff 75 08             	push   0x8(%ebp)
5bc46b:	89 7b 10             	mov    %edi,0x10(%ebx)
5bc46e:	53                   	push   %ebx
5bc46f:	c7 43 14 0f 00 00 00 	movl   $0xf,0x14(%ebx)
5bc476:	e8 55 69 01 00       	call   0x5d2dd0
5bc47b:	83 c4 0c             	add    $0xc,%esp
5bc47e:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
5bc482:	5f                   	pop    %edi
5bc483:	5b                   	pop    %ebx
5bc484:	5d                   	pop    %ebp
5bc485:	c2 08 00             	ret    $0x8
5bc488:	8b c7                	mov    %edi,%eax
5bc48a:	83 c8 0f             	or     $0xf,%eax
5bc48d:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
5bc492:	76 07                	jbe    0x5bc49b
5bc494:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
5bc499:	eb 0a                	jmp    0x5bc4a5
5bc49b:	b9 16 00 00 00       	mov    $0x16,%ecx
5bc4a0:	3b c1                	cmp    %ecx,%eax
5bc4a2:	0f 42 c1             	cmovb  %ecx,%eax
5bc4a5:	89 45 0c             	mov    %eax,0xc(%ebp)
5bc4a8:	8d 45 0c             	lea    0xc(%ebp),%eax
5bc4ab:	56                   	push   %esi
5bc4ac:	50                   	push   %eax
5bc4ad:	53                   	push   %ebx
5bc4ae:	e8 dd a9 e8 ff       	call   0x446e90
5bc4b3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5bc4b6:	8b f0                	mov    %eax,%esi
5bc4b8:	57                   	push   %edi
5bc4b9:	ff 75 08             	push   0x8(%ebp)
5bc4bc:	89 33                	mov    %esi,(%ebx)
5bc4be:	56                   	push   %esi
5bc4bf:	89 7b 10             	mov    %edi,0x10(%ebx)
5bc4c2:	89 4b 14             	mov    %ecx,0x14(%ebx)
5bc4c5:	e8 06 69 01 00       	call   0x5d2dd0
5bc4ca:	83 c4 14             	add    $0x14,%esp
5bc4cd:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
5bc4d1:	5e                   	pop    %esi
5bc4d2:	5f                   	pop    %edi
5bc4d3:	5b                   	pop    %ebx
5bc4d4:	5d                   	pop    %ebp
5bc4d5:	c2 08 00             	ret    $0x8
5bc4d8:	e8 33 b1 e8 ff       	call   0x447610
5bc4dd:	cc                   	int3
5bc4de:	cc                   	int3
5bc4df:	cc                   	int3
5bc4e0:	55                   	push   %ebp
5bc4e1:	8b ec                	mov    %esp,%ebp
5bc4e3:	6a ff                	push   $0xffffffff
5bc4e5:	68 00 fe 5f 00       	push   $0x5ffe00
5bc4ea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5bc4f0:	50                   	push   %eax
5bc4f1:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
5bc4f8:	83 ec 1c             	sub    $0x1c,%esp
5bc4fb:	53                   	push   %ebx
5bc4fc:	56                   	push   %esi
5bc4fd:	57                   	push   %edi
5bc4fe:	89 65 f0             	mov    %esp,-0x10(%ebp)
5bc501:	8b f9                	mov    %ecx,%edi
5bc503:	89 7d d8             	mov    %edi,-0x28(%ebp)
5bc506:	8b 17                	mov    (%edi),%edx
5bc508:	8b 45 08             	mov    0x8(%ebp),%eax
5bc50b:	2b c2                	sub    %edx,%eax
5bc50d:	c1 f8 02             	sar    $0x2,%eax
5bc510:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5bc513:	8b 47 04             	mov    0x4(%edi),%eax
5bc516:	2b c2                	sub    %edx,%eax
5bc518:	c1 f8 02             	sar    $0x2,%eax
5bc51b:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
5bc520:	0f 84 d4 00 00 00    	je     0x5bc5fa
5bc526:	8d 58 01             	lea    0x1(%eax),%ebx
5bc529:	89 5d e0             	mov    %ebx,-0x20(%ebp)
5bc52c:	8b 4f 08             	mov    0x8(%edi),%ecx
5bc52f:	2b ca                	sub    %edx,%ecx
5bc531:	c1 f9 02             	sar    $0x2,%ecx
5bc534:	8b d1                	mov    %ecx,%edx
5bc536:	d1 ea                	shr    $1,%edx
5bc538:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
5bc53d:	2b c2                	sub    %edx,%eax
5bc53f:	3b c8                	cmp    %eax,%ecx
5bc541:	76 07                	jbe    0x5bc54a
5bc543:	be ff ff ff 3f       	mov    $0x3fffffff,%esi
5bc548:	eb 08                	jmp    0x5bc552
5bc54a:	8d 34 0a             	lea    (%edx,%ecx,1),%esi
5bc54d:	3b f3                	cmp    %ebx,%esi
5bc54f:	0f 42 f3             	cmovb  %ebx,%esi
5bc552:	89 75 e8             	mov    %esi,-0x18(%ebp)
5bc555:	89 75 ec             	mov    %esi,-0x14(%ebp)
5bc558:	8d 45 ec             	lea    -0x14(%ebp),%eax
5bc55b:	50                   	push   %eax
5bc55c:	57                   	push   %edi
5bc55d:	e8 2e fc ff ff       	call   0x5bc190
5bc562:	83 c4 08             	add    $0x8,%esp
5bc565:	8b d8                	mov    %eax,%ebx
5bc567:	89 5d dc             	mov    %ebx,-0x24(%ebp)
5bc56a:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5bc571:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5bc574:	8d 04 83             	lea    (%ebx,%eax,4),%eax
5bc577:	89 45 ec             	mov    %eax,-0x14(%ebp)
5bc57a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5bc57d:	8b 09                	mov    (%ecx),%ecx
5bc57f:	89 08                	mov    %ecx,(%eax)