4f51cc:	55                   	push   %ebp
4f51cd:	8b 6c 24 44          	mov    0x44(%esp),%ebp
4f51d1:	83 fb 10             	cmp    $0x10,%ebx
4f51d4:	0f 82 97 00 00 00    	jb     0x4f5271
4f51da:	bf f8 ff ff ff       	mov    $0xfffffff8,%edi
4f51df:	8b c3                	mov    %ebx,%eax
4f51e1:	2b fe                	sub    %esi,%edi
4f51e3:	c1 e8 04             	shr    $0x4,%eax
4f51e6:	89 44 24 20          	mov    %eax,0x20(%esp)
4f51ea:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
4f51f0:	ff 74 24 18          	push   0x18(%esp)
4f51f4:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4f51f8:	50                   	push   %eax
4f51f9:	56                   	push   %esi
4f51fa:	ff 54 24 20          	call   *0x20(%esp)
4f51fe:	83 c4 0c             	add    $0xc,%esp
4f5201:	8d 46 10             	lea    0x10(%esi),%eax
4f5204:	80 40 ff 01          	addb   $0x1,-0x1(%eax)
4f5208:	8d 40 ff             	lea    -0x1(%eax),%eax
4f520b:	75 07                	jne    0x4f5214
4f520d:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
4f5210:	85 c9                	test   %ecx,%ecx
4f5212:	75 f0                	jne    0x4f5204
4f5214:	8b 4d 00             	mov    0x0(%ebp),%ecx
4f5217:	8b 45 04             	mov    0x4(%ebp),%eax
4f521a:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4f521e:	33 44 24 2c          	xor    0x2c(%esp),%eax
4f5222:	33 4c 24 28          	xor    0x28(%esp),%ecx
4f5226:	ff 74 24 18          	push   0x18(%esp)
4f522a:	89 42 04             	mov    %eax,0x4(%edx)
4f522d:	89 0a                	mov    %ecx,(%edx)
4f522f:	31 46 14             	xor    %eax,0x14(%esi)
4f5232:	31 4e 10             	xor    %ecx,0x10(%esi)
4f5235:	8b 4d 08             	mov    0x8(%ebp),%ecx
4f5238:	8b 45 0c             	mov    0xc(%ebp),%eax
4f523b:	33 44 24 38          	xor    0x38(%esp),%eax
4f523f:	33 4c 24 34          	xor    0x34(%esp),%ecx
4f5243:	89 42 0c             	mov    %eax,0xc(%edx)
4f5246:	89 4a 08             	mov    %ecx,0x8(%edx)
4f5249:	31 46 1c             	xor    %eax,0x1c(%esi)
4f524c:	8d 46 10             	lea    0x10(%esi),%eax
4f524f:	31 4e 18             	xor    %ecx,0x18(%esi)
4f5252:	50                   	push   %eax
4f5253:	50                   	push   %eax
4f5254:	ff 54 24 20          	call   *0x20(%esp)
4f5258:	83 44 24 28 10       	addl   $0x10,0x28(%esp)
4f525d:	83 c4 0c             	add    $0xc,%esp
4f5260:	83 c5 10             	add    $0x10,%ebp
4f5263:	83 eb 10             	sub    $0x10,%ebx
4f5266:	83 6c 24 20 01       	subl   $0x1,0x20(%esp)
4f526b:	75 83                	jne    0x4f51f0
4f526d:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4f5271:	85 db                	test   %ebx,%ebx
4f5273:	74 4f                	je     0x4f52c4
4f5275:	ff 74 24 18          	push   0x18(%esp)
4f5279:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4f527d:	50                   	push   %eax
4f527e:	56                   	push   %esi
4f527f:	ff 54 24 20          	call   *0x20(%esp)
4f5283:	83 c4 0c             	add    $0xc,%esp
4f5286:	85 db                	test   %ebx,%ebx
4f5288:	74 25                	je     0x4f52af
4f528a:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4f528e:	8b c1                	mov    %ecx,%eax
4f5290:	8d 56 10             	lea    0x10(%esi),%edx
4f5293:	2b e8                	sub    %eax,%ebp
4f5295:	2b f8                	sub    %eax,%edi
4f5297:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4f529a:	8d 49 01             	lea    0x1(%ecx),%ecx
4f529d:	32 41 ff             	xor    -0x1(%ecx),%al
4f52a0:	8d 52 01             	lea    0x1(%edx),%edx
4f52a3:	88 44 0f ff          	mov    %al,-0x1(%edi,%ecx,1)
4f52a7:	30 42 ff             	xor    %al,-0x1(%edx)
4f52aa:	83 eb 01             	sub    $0x1,%ebx
4f52ad:	75 e8                	jne    0x4f5297
4f52af:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4f52b3:	8d 46 10             	lea    0x10(%esi),%eax
4f52b6:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4f52ba:	55                   	push   %ebp
4f52bb:	50                   	push   %eax
4f52bc:	50                   	push   %eax
4f52bd:	ff d3                	call   *%ebx
4f52bf:	83 c4 0c             	add    $0xc,%esp
4f52c2:	eb 08                	jmp    0x4f52cc
4f52c4:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4f52c8:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4f52cc:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4f52d0:	83 f9 10             	cmp    $0x10,%ecx
4f52d3:	73 16                	jae    0x4f52eb
4f52d5:	b8 10 00 00 00       	mov    $0x10,%eax
4f52da:	2b c1                	sub    %ecx,%eax
4f52dc:	50                   	push   %eax
4f52dd:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4f52e0:	6a 00                	push   $0x0
4f52e2:	50                   	push   %eax
4f52e3:	e8 88 d9 0d 00       	call   0x5d2c70
4f52e8:	83 c4 0c             	add    $0xc,%esp
4f52eb:	55                   	push   %ebp
4f52ec:	8d 44 24 2c          	lea    0x2c(%esp),%eax
4f52f0:	50                   	push   %eax
4f52f1:	56                   	push   %esi
4f52f2:	ff d3                	call   *%ebx
4f52f4:	8b 44 24 34          	mov    0x34(%esp),%eax
4f52f8:	83 c4 0c             	add    $0xc,%esp
4f52fb:	31 46 10             	xor    %eax,0x10(%esi)
4f52fe:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4f5302:	31 46 14             	xor    %eax,0x14(%esi)
4f5305:	8b 44 24 30          	mov    0x30(%esp),%eax
4f5309:	31 46 18             	xor    %eax,0x18(%esi)
4f530c:	8b 44 24 34          	mov    0x34(%esp),%eax
4f5310:	31 46 1c             	xor    %eax,0x1c(%esi)
4f5313:	8a 44 24 13          	mov    0x13(%esp),%al
4f5317:	8b 4c 24 38          	mov    0x38(%esp),%ecx
4f531b:	5d                   	pop    %ebp
4f531c:	5f                   	pop    %edi
4f531d:	88 06                	mov    %al,(%esi)
4f531f:	33 c0                	xor    %eax,%eax
4f5321:	5e                   	pop    %esi
4f5322:	5b                   	pop    %ebx
4f5323:	33 cc                	xor    %esp,%ecx
4f5325:	e8 fc c6 0d 00       	call   0x5d1a26
4f532a:	83 c4 2c             	add    $0x2c,%esp
4f532d:	c3                   	ret
4f532e:	cc                   	int3
4f532f:	cc                   	int3
4f5330:	b8 34 00 00 00       	mov    $0x34,%eax
4f5335:	e8 76 c4 0d 00       	call   0x5d17b0
4f533a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4f533f:	33 c4                	xor    %esp,%eax
4f5341:	89 44 24 30          	mov    %eax,0x30(%esp)
4f5345:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4f5349:	53                   	push   %ebx
4f534a:	8b 5c 24 48          	mov    0x48(%esp),%ebx
4f534e:	55                   	push   %ebp
4f534f:	56                   	push   %esi
4f5350:	8b 74 24 44          	mov    0x44(%esp),%esi
4f5354:	89 44 24 14          	mov    %eax,0x14(%esp)
4f5358:	8b 44 24 4c          	mov    0x4c(%esp),%eax
4f535c:	89 44 24 10          	mov    %eax,0x10(%esp)
4f5360:	8b 44 24 54          	mov    0x54(%esp),%eax
4f5364:	8d 6e 10             	lea    0x10(%esi),%ebp
4f5367:	8a 16                	mov    (%esi),%dl
4f5369:	8b 4e 28             	mov    0x28(%esi),%ecx
4f536c:	89 44 24 20          	mov    %eax,0x20(%esp)
4f5370:	8b 46 2c             	mov    0x2c(%esi),%eax
4f5373:	88 54 24 0f          	mov    %dl,0xf(%esp)
4f5377:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
4f537b:	89 44 24 18          	mov    %eax,0x18(%esp)
4f537f:	57                   	push   %edi
4f5380:	f6 c2 40             	test   $0x40,%dl
4f5383:	75 0c                	jne    0x4f5391
4f5385:	50                   	push   %eax
4f5386:	55                   	push   %ebp
4f5387:	56                   	push   %esi
4f5388:	ff d1                	call   *%ecx
4f538a:	8a 54 24 1f          	mov    0x1f(%esp),%dl
4f538e:	83 c4 0c             	add    $0xc,%esp
4f5391:	0f b6 c2             	movzbl %dl,%eax
4f5394:	33 c9                	xor    %ecx,%ecx
4f5396:	83 e0 07             	and    $0x7,%eax
4f5399:	ba 0f 00 00 00       	mov    $0xf,%edx
4f539e:	2b d0                	sub    %eax,%edx
4f53a0:	88 06                	mov    %al,(%esi)
4f53a2:	89 54 24 2c          	mov    %edx,0x2c(%esp)
4f53a6:	8b fd                	mov    %ebp,%edi
4f53a8:	83 fa 0f             	cmp    $0xf,%edx
4f53ab:	73 16                	jae    0x4f53c3
4f53ad:	0f 1f 00             	nopl   (%eax)
4f53b0:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4f53b4:	0b c8                	or     %eax,%ecx
4f53b6:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4f53ba:	42                   	inc    %edx
4f53bb:	c1 e1 08             	shl    $0x8,%ecx
4f53be:	83 fa 0f             	cmp    $0xf,%edx
4f53c1:	72 ed                	jb     0x4f53b0
4f53c3:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4f53c7:	0b c8                	or     %eax,%ecx
4f53c9:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4f53cd:	3b cb                	cmp    %ebx,%ecx
4f53cf:	74 16                	je     0x4f53e7
4f53d1:	5f                   	pop    %edi
4f53d2:	5e                   	pop    %esi
4f53d3:	5d                   	pop    %ebp
4f53d4:	83 c8 ff             	or     $0xffffffff,%eax
4f53d7:	5b                   	pop    %ebx
4f53d8:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4f53dc:	33 cc                	xor    %esp,%ecx
4f53de:	e8 43 c6 0d 00       	call   0x5d1a26
4f53e3:	83 c4 34             	add    $0x34,%esp
4f53e6:	c3                   	ret
4f53e7:	8b eb                	mov    %ebx,%ebp
4f53e9:	c1 ed 04             	shr    $0x4,%ebp
4f53ec:	85 ed                	test   %ebp,%ebp
4f53ee:	74 38                	je     0x4f5428
4f53f0:	57                   	push   %edi
4f53f1:	56                   	push   %esi
4f53f2:	ff 74 24 24          	push   0x24(%esp)
4f53f6:	55                   	push   %ebp
4f53f7:	ff 74 24 24          	push   0x24(%esp)
4f53fb:	ff 74 24 2c          	push   0x2c(%esp)
4f53ff:	ff 54 24 3c          	call   *0x3c(%esp)
4f5403:	c1 e5 04             	shl    $0x4,%ebp
4f5406:	83 c4 18             	add    $0x18,%esp
4f5409:	01 6c 24 18          	add    %ebp,0x18(%esp)
4f540d:	01 6c 24 14          	add    %ebp,0x14(%esp)
4f5411:	2b dd                	sub    %ebp,%ebx
4f5413:	74 78                	je     0x4f548d
4f5415:	c1 ed 04             	shr    $0x4,%ebp
4f5418:	55                   	push   %ebp
4f5419:	56                   	push   %esi
4f541a:	e8 41 08 00 00       	call   0x4f5c60
4f541f:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4f5423:	83 c4 08             	add    $0x8,%esp
4f5426:	eb 12                	jmp    0x4f543a
4f5428:	8b 44 24 14          	mov    0x14(%esp),%eax
4f542c:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4f5430:	89 44 24 14          	mov    %eax,0x14(%esp)
4f5434:	8b c3                	mov    %ebx,%eax
4f5436:	85 c0                	test   %eax,%eax
4f5438:	74 53                	je     0x4f548d
4f543a:	ff 74 24 1c          	push   0x1c(%esp)
4f543e:	8d 44 24 34          	lea    0x34(%esp),%eax
4f5442:	50                   	push   %eax
4f5443:	56                   	push   %esi
4f5444:	ff 54 24 2c          	call   *0x2c(%esp)
4f5448:	83 c4 0c             	add    $0xc,%esp
4f544b:	85 db                	test   %ebx,%ebx
4f544d:	74 29                	je     0x4f5478
4f544f:	8b 54 24 14          	mov    0x14(%esp),%edx
4f5453:	8d 4c 24 30          	lea    0x30(%esp),%ecx
4f5457:	8b c1                	mov    %ecx,%eax
4f5459:	2b e8                	sub    %eax,%ebp
4f545b:	2b d0                	sub    %eax,%edx
4f545d:	0f 1f 00             	nopl   (%eax)
4f5460:	8a 04 29             	mov    (%ecx,%ebp,1),%al
4f5463:	8d 49 01             	lea    0x1(%ecx),%ecx
4f5466:	32 41 ff             	xor    -0x1(%ecx),%al
4f5469:	8d 7f 01             	lea    0x1(%edi),%edi
4f546c:	88 44 0a ff          	mov    %al,-0x1(%edx,%ecx,1)
4f5470:	30 47 ff             	xor    %al,-0x1(%edi)
4f5473:	83 eb 01             	sub    $0x1,%ebx
4f5476:	75 e8                	jne    0x4f5460
4f5478:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4f547c:	8d 46 10             	lea    0x10(%esi),%eax
4f547f:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4f5483:	53                   	push   %ebx
4f5484:	50                   	push   %eax
4f5485:	50                   	push   %eax
4f5486:	ff d5                	call   *%ebp
4f5488:	83 c4 0c             	add    $0xc,%esp
4f548b:	eb 08                	jmp    0x4f5495
4f548d:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4f5491:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4f5495:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4f5499:	83 f9 10             	cmp    $0x10,%ecx
4f549c:	73 16                	jae    0x4f54b4
4f549e:	b8 10 00 00 00       	mov    $0x10,%eax
4f54a3:	2b c1                	sub    %ecx,%eax
4f54a5:	50                   	push   %eax
4f54a6:	8d 04 31             	lea    (%ecx,%esi,1),%eax
4f54a9:	6a 00                	push   $0x0
4f54ab:	50                   	push   %eax
4f54ac:	e8 bf d7 0d 00       	call   0x5d2c70
4f54b1:	83 c4 0c             	add    $0xc,%esp
4f54b4:	53                   	push   %ebx
4f54b5:	8d 44 24 34          	lea    0x34(%esp),%eax
4f54b9:	50                   	push   %eax
4f54ba:	56                   	push   %esi
4f54bb:	ff d5                	call   *%ebp
4f54bd:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4f54c1:	83 c4 0c             	add    $0xc,%esp
4f54c4:	31 46 10             	xor    %eax,0x10(%esi)
4f54c7:	8b 44 24 34          	mov    0x34(%esp),%eax
4f54cb:	31 46 14             	xor    %eax,0x14(%esi)
4f54ce:	8b 44 24 38          	mov    0x38(%esp),%eax
4f54d2:	31 46 18             	xor    %eax,0x18(%esi)
4f54d5:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4f54d9:	31 46 1c             	xor    %eax,0x1c(%esi)
4f54dc:	8a 44 24 13          	mov    0x13(%esp),%al
4f54e0:	8b 4c 24 40          	mov    0x40(%esp),%ecx
4f54e4:	5f                   	pop    %edi
4f54e5:	88 06                	mov    %al,(%esi)
4f54e7:	33 c0                	xor    %eax,%eax
4f54e9:	5e                   	pop    %esi
4f54ea:	5d                   	pop    %ebp
4f54eb:	5b                   	pop    %ebx
4f54ec:	33 cc                	xor    %esp,%ecx
4f54ee:	e8 33 c5 0d 00       	call   0x5d1a26
4f54f3:	83 c4 34             	add    $0x34,%esp
4f54f6:	c3                   	ret
4f54f7:	cc                   	int3
4f54f8:	cc                   	int3
4f54f9:	cc                   	int3
4f54fa:	cc                   	int3
4f54fb:	cc                   	int3
4f54fc:	cc                   	int3
4f54fd:	cc                   	int3
4f54fe:	cc                   	int3
4f54ff:	cc                   	int3
4f5500:	b8 44 00 00 00       	mov    $0x44,%eax
4f5505:	e8 a6 c2 0d 00       	call   0x5d17b0
4f550a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
4f550f:	33 c4                	xor    %esp,%eax
4f5511:	89 44 24 40          	mov    %eax,0x40(%esp)
4f5515:	53                   	push   %ebx
4f5516:	8b 5c 24 54          	mov    0x54(%esp),%ebx
4f551a:	55                   	push   %ebp
4f551b:	56                   	push   %esi
4f551c:	8b 74 24 54          	mov    0x54(%esp),%esi
4f5520:	89 74 24 20          	mov    %esi,0x20(%esp)
4f5524:	89 5c 24 24          	mov    %ebx,0x24(%esp)
4f5528:	8a 16                	mov    (%esi),%dl
4f552a:	8b 4e 28             	mov    0x28(%esi),%ecx
4f552d:	8b 46 2c             	mov    0x2c(%esi),%eax
4f5530:	88 54 24 0f          	mov    %dl,0xf(%esp)
4f5534:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4f5538:	89 44 24 10          	mov    %eax,0x10(%esp)
4f553c:	f6 c2 40             	test   $0x40,%dl
4f553f:	75 17                	jne    0x4f5558
4f5541:	50                   	push   %eax
4f5542:	8d 46 10             	lea    0x10(%esi),%eax
4f5545:	50                   	push   %eax
4f5546:	56                   	push   %esi
4f5547:	ff d1                	call   *%ecx
4f5549:	8a 54 24 1b          	mov    0x1b(%esp),%dl
4f554d:	83 c4 0c             	add    $0xc,%esp
4f5550:	83 46 20 01          	addl   $0x1,0x20(%esi)
4f5554:	83 56 24 00          	adcl   $0x0,0x24(%esi)
4f5558:	0f b6 c2             	movzbl %dl,%eax
4f555b:	33 c9                	xor    %ecx,%ecx
4f555d:	83 e0 07             	and    $0x7,%eax
4f5560:	ba 0f 00 00 00       	mov    $0xf,%edx
4f5565:	2b d0                	sub    %eax,%edx
4f5567:	88 06                	mov    %al,(%esi)
4f5569:	89 54 24 38          	mov    %edx,0x38(%esp)
4f556d:	83 fa 0f             	cmp    $0xf,%edx
4f5570:	73 13                	jae    0x4f5585
4f5572:	0f b6 04 16          	movzbl (%esi,%edx,1),%eax
4f5576:	0b c8                	or     %eax,%ecx
4f5578:	c6 04 16 00          	movb   $0x0,(%esi,%edx,1)
4f557c:	42                   	inc    %edx
4f557d:	c1 e1 08             	shl    $0x8,%ecx
4f5580:	83 fa 0f             	cmp    $0xf,%edx
4f5583:	72 ed                	jb     0x4f5572
4f5585:	0f b6 46 0f          	movzbl 0xf(%esi),%eax
4f5589:	8b 6c 24 60          	mov    0x60(%esp),%ebp
4f558d:	0b c8                	or     %eax,%ecx
4f558f:	c6 46 0f 01          	movb   $0x1,0xf(%esi)
4f5593:	3b cd                	cmp    %ebp,%ecx
4f5595:	74 15                	je     0x4f55ac