53f31d:	85 ed                	test   %ebp,%ebp
53f31f:	8b 6c 24 24          	mov    0x24(%esp),%ebp
53f323:	74 35                	je     0x53f35a
53f325:	8b 44 24 28          	mov    0x28(%esp),%eax
53f329:	88 55 03             	mov    %dl,0x3(%ebp)
53f32c:	88 18                	mov    %bl,(%eax)
53f32e:	8b c3                	mov    %ebx,%eax
53f330:	c1 e8 08             	shr    $0x8,%eax
53f333:	88 45 00             	mov    %al,0x0(%ebp)
53f336:	8b c3                	mov    %ebx,%eax
53f338:	c1 e8 10             	shr    $0x10,%eax
53f33b:	88 45 01             	mov    %al,0x1(%ebp)
53f33e:	8b c2                	mov    %edx,%eax
53f340:	c1 e8 08             	shr    $0x8,%eax
53f343:	88 45 04             	mov    %al,0x4(%ebp)
53f346:	8b c2                	mov    %edx,%eax
53f348:	c1 eb 18             	shr    $0x18,%ebx
53f34b:	c1 e8 10             	shr    $0x10,%eax
53f34e:	c1 ea 18             	shr    $0x18,%edx
53f351:	88 5d 02             	mov    %bl,0x2(%ebp)
53f354:	88 45 05             	mov    %al,0x5(%ebp)
53f357:	88 55 06             	mov    %dl,0x6(%ebp)
53f35a:	8b 44 24 14          	mov    0x14(%esp),%eax
53f35e:	5f                   	pop    %edi
53f35f:	89 30                	mov    %esi,(%eax)
53f361:	5e                   	pop    %esi
53f362:	5d                   	pop    %ebp
53f363:	5b                   	pop    %ebx
53f364:	8b 4c 24 24          	mov    0x24(%esp),%ecx
53f368:	33 cc                	xor    %esp,%ecx
53f36a:	e8 b7 26 09 00       	call   0x5d1a26
53f36f:	83 c4 28             	add    $0x28,%esp
53f372:	c3                   	ret
53f373:	8b 4c 24 34          	mov    0x34(%esp),%ecx
53f377:	89 37                	mov    %esi,(%edi)
53f379:	5f                   	pop    %edi
53f37a:	5e                   	pop    %esi
53f37b:	5d                   	pop    %ebp
53f37c:	5b                   	pop    %ebx
53f37d:	33 cc                	xor    %esp,%ecx
53f37f:	e8 a2 26 09 00       	call   0x5d1a26
53f384:	83 c4 28             	add    $0x28,%esp
53f387:	c3                   	ret
53f388:	cc                   	int3
53f389:	cc                   	int3
53f38a:	cc                   	int3
53f38b:	cc                   	int3
53f38c:	cc                   	int3
53f38d:	cc                   	int3
53f38e:	cc                   	int3
53f38f:	cc                   	int3
53f390:	b8 08 00 00 00       	mov    $0x8,%eax
53f395:	e8 16 24 09 00       	call   0x5d17b0
53f39a:	8b 44 24 0c          	mov    0xc(%esp),%eax
53f39e:	0f b6 50 04          	movzbl 0x4(%eax),%edx
53f3a2:	56                   	push   %esi
53f3a3:	8d 70 01             	lea    0x1(%eax),%esi
53f3a6:	0f b6 08             	movzbl (%eax),%ecx
53f3a9:	0f b6 06             	movzbl (%esi),%eax
53f3ac:	c1 e0 08             	shl    $0x8,%eax
53f3af:	0b c8                	or     %eax,%ecx
53f3b1:	0f b6 46 01          	movzbl 0x1(%esi),%eax
53f3b5:	c1 e0 10             	shl    $0x10,%eax
53f3b8:	0b c8                	or     %eax,%ecx
53f3ba:	0f b6 46 02          	movzbl 0x2(%esi),%eax
53f3be:	c1 e0 18             	shl    $0x18,%eax
53f3c1:	0b c8                	or     %eax,%ecx
53f3c3:	0f b6 46 04          	movzbl 0x4(%esi),%eax
53f3c7:	c1 e0 08             	shl    $0x8,%eax
53f3ca:	89 4c 24 04          	mov    %ecx,0x4(%esp)
53f3ce:	0b d0                	or     %eax,%edx
53f3d0:	0f b6 46 05          	movzbl 0x5(%esi),%eax
53f3d4:	0f b6 4e 06          	movzbl 0x6(%esi),%ecx
53f3d8:	5e                   	pop    %esi
53f3d9:	ff 74 24 1c          	push   0x1c(%esp)
53f3dd:	c1 e1 08             	shl    $0x8,%ecx
53f3e0:	ff 74 24 1c          	push   0x1c(%esp)
53f3e4:	0b c8                	or     %eax,%ecx
53f3e6:	8d 44 24 08          	lea    0x8(%esp),%eax
53f3ea:	ff 74 24 1c          	push   0x1c(%esp)
53f3ee:	c1 e1 10             	shl    $0x10,%ecx
53f3f1:	0b ca                	or     %edx,%ecx
53f3f3:	83 7c 24 2c 00       	cmpl   $0x0,0x2c(%esp)
53f3f8:	89 4c 24 10          	mov    %ecx,0x10(%esp)
53f3fc:	50                   	push   %eax
53f3fd:	74 07                	je     0x53f406
53f3ff:	e8 dc 5d ed ff       	call   0x4151e0
53f404:	eb 05                	jmp    0x53f40b
53f406:	e8 05 5f ed ff       	call   0x415310
53f40b:	8b 44 24 20          	mov    0x20(%esp),%eax
53f40f:	83 c4 10             	add    $0x10,%esp
53f412:	8b 0c 24             	mov    (%esp),%ecx
53f415:	8d 50 01             	lea    0x1(%eax),%edx
53f418:	88 08                	mov    %cl,(%eax)
53f41a:	8b c1                	mov    %ecx,%eax
53f41c:	c1 e8 08             	shr    $0x8,%eax
53f41f:	88 02                	mov    %al,(%edx)
53f421:	8b c1                	mov    %ecx,%eax
53f423:	c1 e8 10             	shr    $0x10,%eax
53f426:	c1 e9 18             	shr    $0x18,%ecx
53f429:	88 42 01             	mov    %al,0x1(%edx)
53f42c:	88 4a 02             	mov    %cl,0x2(%edx)
53f42f:	8b 4c 24 04          	mov    0x4(%esp),%ecx
53f433:	8b c1                	mov    %ecx,%eax
53f435:	c1 e8 08             	shr    $0x8,%eax
53f438:	88 42 04             	mov    %al,0x4(%edx)
53f43b:	8b c1                	mov    %ecx,%eax
53f43d:	c1 e8 10             	shr    $0x10,%eax
53f440:	88 4a 03             	mov    %cl,0x3(%edx)
53f443:	c1 e9 18             	shr    $0x18,%ecx
53f446:	88 42 05             	mov    %al,0x5(%edx)
53f449:	88 4a 06             	mov    %cl,0x6(%edx)
53f44c:	83 c4 08             	add    $0x8,%esp
53f44f:	c3                   	ret
53f450:	b8 08 00 00 00       	mov    $0x8,%eax
53f455:	e8 56 23 09 00       	call   0x5d17b0
53f45a:	8b 44 24 28          	mov    0x28(%esp),%eax
53f45e:	55                   	push   %ebp
53f45f:	8b 6c 24 18          	mov    0x18(%esp),%ebp
53f463:	56                   	push   %esi
53f464:	8b 30                	mov    (%eax),%esi
53f466:	85 ed                	test   %ebp,%ebp
53f468:	0f 84 e1 01 00 00    	je     0x53f64f
53f46e:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
53f473:	8b 54 24 2c          	mov    0x2c(%esp),%edx
53f477:	53                   	push   %ebx
53f478:	57                   	push   %edi
53f479:	0f 84 e7 00 00 00    	je     0x53f566
53f47f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53f483:	8b 6c 24 20          	mov    0x20(%esp),%ebp
53f487:	2b c5                	sub    %ebp,%eax
53f489:	89 44 24 3c          	mov    %eax,0x3c(%esp)
53f48d:	0f 1f 00             	nopl   (%eax)
53f490:	85 f6                	test   %esi,%esi
53f492:	0f 85 a0 00 00 00    	jne    0x53f538
53f498:	0f b6 02             	movzbl (%edx),%eax
53f49b:	8d 5a 01             	lea    0x1(%edx),%ebx
53f49e:	0f b6 0b             	movzbl (%ebx),%ecx
53f4a1:	0f b6 53 03          	movzbl 0x3(%ebx),%edx
53f4a5:	ff 74 24 30          	push   0x30(%esp)
53f4a9:	c1 e1 08             	shl    $0x8,%ecx
53f4ac:	ff 74 24 30          	push   0x30(%esp)
53f4b0:	0b c8                	or     %eax,%ecx
53f4b2:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
53f4b6:	ff 74 24 30          	push   0x30(%esp)
53f4ba:	c1 e0 10             	shl    $0x10,%eax
53f4bd:	0b c8                	or     %eax,%ecx
53f4bf:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
53f4c3:	c1 e0 18             	shl    $0x18,%eax
53f4c6:	0b c8                	or     %eax,%ecx
53f4c8:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
53f4cc:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53f4d0:	0f b6 4b 06          	movzbl 0x6(%ebx),%ecx
53f4d4:	c1 e0 08             	shl    $0x8,%eax
53f4d7:	0b d0                	or     %eax,%edx
53f4d9:	c1 e1 08             	shl    $0x8,%ecx
53f4dc:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
53f4e0:	0b c8                	or     %eax,%ecx
53f4e2:	8d 44 24 1c          	lea    0x1c(%esp),%eax
53f4e6:	c1 e1 10             	shl    $0x10,%ecx
53f4e9:	0b ca                	or     %edx,%ecx
53f4eb:	50                   	push   %eax
53f4ec:	89 4c 24 24          	mov    %ecx,0x24(%esp)
53f4f0:	e8 eb 5c ed ff       	call   0x4151e0
53f4f5:	8b 54 24 44          	mov    0x44(%esp),%edx
53f4f9:	83 c4 10             	add    $0x10,%esp
53f4fc:	8b 4c 24 10          	mov    0x10(%esp),%ecx
53f500:	8b c1                	mov    %ecx,%eax
53f502:	c1 e8 08             	shr    $0x8,%eax
53f505:	88 03                	mov    %al,(%ebx)
53f507:	8b c1                	mov    %ecx,%eax
53f509:	c1 e8 10             	shr    $0x10,%eax
53f50c:	88 0a                	mov    %cl,(%edx)
53f50e:	c1 e9 18             	shr    $0x18,%ecx
53f511:	88 42 02             	mov    %al,0x2(%edx)
53f514:	88 4a 03             	mov    %cl,0x3(%edx)
53f517:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f51b:	8b c1                	mov    %ecx,%eax
53f51d:	c1 e8 08             	shr    $0x8,%eax
53f520:	88 42 05             	mov    %al,0x5(%edx)
53f523:	8b c1                	mov    %ecx,%eax
53f525:	c1 e8 10             	shr    $0x10,%eax
53f528:	88 4a 04             	mov    %cl,0x4(%edx)
53f52b:	c1 e9 18             	shr    $0x18,%ecx
53f52e:	88 42 06             	mov    %al,0x6(%edx)
53f531:	8b 44 24 3c          	mov    0x3c(%esp),%eax
53f535:	88 4a 07             	mov    %cl,0x7(%edx)
53f538:	8a 04 28             	mov    (%eax,%ebp,1),%al
53f53b:	32 04 16             	xor    (%esi,%edx,1),%al
53f53e:	88 45 00             	mov    %al,0x0(%ebp)
53f541:	45                   	inc    %ebp
53f542:	88 04 16             	mov    %al,(%esi,%edx,1)
53f545:	46                   	inc    %esi
53f546:	8b 44 24 3c          	mov    0x3c(%esp),%eax
53f54a:	83 e6 07             	and    $0x7,%esi
53f54d:	83 6c 24 24 01       	subl   $0x1,0x24(%esp)
53f552:	0f 85 38 ff ff ff    	jne    0x53f490
53f558:	8b 44 24 38          	mov    0x38(%esp),%eax
53f55c:	5f                   	pop    %edi
53f55d:	5b                   	pop    %ebx
53f55e:	89 30                	mov    %esi,(%eax)
53f560:	5e                   	pop    %esi
53f561:	5d                   	pop    %ebp
53f562:	83 c4 08             	add    $0x8,%esp
53f565:	c3                   	ret
53f566:	8b 44 24 20          	mov    0x20(%esp),%eax
53f56a:	89 44 24 3c          	mov    %eax,0x3c(%esp)
53f56e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
53f572:	89 44 24 24          	mov    %eax,0x24(%esp)
53f576:	85 f6                	test   %esi,%esi
53f578:	0f 85 a0 00 00 00    	jne    0x53f61e
53f57e:	0f b6 02             	movzbl (%edx),%eax
53f581:	8d 5a 01             	lea    0x1(%edx),%ebx
53f584:	0f b6 0b             	movzbl (%ebx),%ecx
53f587:	0f b6 53 03          	movzbl 0x3(%ebx),%edx
53f58b:	ff 74 24 30          	push   0x30(%esp)
53f58f:	c1 e1 08             	shl    $0x8,%ecx
53f592:	ff 74 24 30          	push   0x30(%esp)
53f596:	0b c8                	or     %eax,%ecx
53f598:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
53f59c:	ff 74 24 30          	push   0x30(%esp)
53f5a0:	c1 e0 10             	shl    $0x10,%eax
53f5a3:	0b c8                	or     %eax,%ecx
53f5a5:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
53f5a9:	c1 e0 18             	shl    $0x18,%eax
53f5ac:	0b c8                	or     %eax,%ecx
53f5ae:	0f b6 43 04          	movzbl 0x4(%ebx),%eax
53f5b2:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
53f5b6:	0f b6 4b 06          	movzbl 0x6(%ebx),%ecx
53f5ba:	c1 e0 08             	shl    $0x8,%eax
53f5bd:	0b d0                	or     %eax,%edx
53f5bf:	c1 e1 08             	shl    $0x8,%ecx
53f5c2:	0f b6 43 05          	movzbl 0x5(%ebx),%eax
53f5c6:	0b c8                	or     %eax,%ecx
53f5c8:	8d 44 24 1c          	lea    0x1c(%esp),%eax
53f5cc:	c1 e1 10             	shl    $0x10,%ecx
53f5cf:	0b ca                	or     %edx,%ecx
53f5d1:	50                   	push   %eax
53f5d2:	89 4c 24 24          	mov    %ecx,0x24(%esp)
53f5d6:	e8 05 5c ed ff       	call   0x4151e0
53f5db:	8b 54 24 44          	mov    0x44(%esp),%edx
53f5df:	83 c4 10             	add    $0x10,%esp
53f5e2:	8b 4c 24 10          	mov    0x10(%esp),%ecx
53f5e6:	8b c1                	mov    %ecx,%eax
53f5e8:	c1 e8 08             	shr    $0x8,%eax
53f5eb:	88 03                	mov    %al,(%ebx)
53f5ed:	8b c1                	mov    %ecx,%eax
53f5ef:	c1 e8 10             	shr    $0x10,%eax
53f5f2:	88 0a                	mov    %cl,(%edx)
53f5f4:	c1 e9 18             	shr    $0x18,%ecx
53f5f7:	88 42 02             	mov    %al,0x2(%edx)
53f5fa:	88 4a 03             	mov    %cl,0x3(%edx)
53f5fd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f601:	8b c1                	mov    %ecx,%eax
53f603:	c1 e8 08             	shr    $0x8,%eax
53f606:	88 42 05             	mov    %al,0x5(%edx)
53f609:	8b c1                	mov    %ecx,%eax
53f60b:	c1 e8 10             	shr    $0x10,%eax
53f60e:	88 4a 04             	mov    %cl,0x4(%edx)
53f611:	c1 e9 18             	shr    $0x18,%ecx
53f614:	88 42 06             	mov    %al,0x6(%edx)
53f617:	8b 44 24 24          	mov    0x24(%esp),%eax
53f61b:	88 4a 07             	mov    %cl,0x7(%edx)
53f61e:	8a 08                	mov    (%eax),%cl
53f620:	40                   	inc    %eax
53f621:	89 44 24 24          	mov    %eax,0x24(%esp)
53f625:	8a 04 16             	mov    (%esi,%edx,1),%al
53f628:	88 0c 16             	mov    %cl,(%esi,%edx,1)
53f62b:	32 c8                	xor    %al,%cl
53f62d:	8b 44 24 3c          	mov    0x3c(%esp),%eax
53f631:	46                   	inc    %esi
53f632:	83 e6 07             	and    $0x7,%esi
53f635:	88 08                	mov    %cl,(%eax)
53f637:	40                   	inc    %eax
53f638:	89 44 24 3c          	mov    %eax,0x3c(%esp)
53f63c:	8b 44 24 24          	mov    0x24(%esp),%eax
53f640:	83 ed 01             	sub    $0x1,%ebp
53f643:	0f 85 2d ff ff ff    	jne    0x53f576
53f649:	8b 44 24 38          	mov    0x38(%esp),%eax
53f64d:	5f                   	pop    %edi
53f64e:	5b                   	pop    %ebx
53f64f:	89 30                	mov    %esi,(%eax)
53f651:	5e                   	pop    %esi
53f652:	5d                   	pop    %ebp
53f653:	83 c4 08             	add    $0x8,%esp
53f656:	c3                   	ret
53f657:	cc                   	int3
53f658:	cc                   	int3
53f659:	cc                   	int3
53f65a:	cc                   	int3
53f65b:	cc                   	int3
53f65c:	cc                   	int3
53f65d:	cc                   	int3
53f65e:	cc                   	int3
53f65f:	cc                   	int3
53f660:	b8 48 00 00 00       	mov    $0x48,%eax
53f665:	e8 46 21 09 00       	call   0x5d17b0
53f66a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
53f66f:	33 c4                	xor    %esp,%eax
53f671:	89 44 24 44          	mov    %eax,0x44(%esp)
53f675:	8b 44 24 5c          	mov    0x5c(%esp),%eax
53f679:	55                   	push   %ebp
53f67a:	8b 6c 24 58          	mov    0x58(%esp),%ebp
53f67e:	56                   	push   %esi
53f67f:	8b 74 24 58          	mov    0x58(%esp),%esi
53f683:	89 44 24 30          	mov    %eax,0x30(%esp)
53f687:	8b 44 24 68          	mov    0x68(%esp),%eax
53f68b:	57                   	push   %edi
53f68c:	89 44 24 30          	mov    %eax,0x30(%esp)
53f690:	8d 7d 07             	lea    0x7(%ebp),%edi
53f693:	8b 44 24 70          	mov    0x70(%esp),%eax
53f697:	89 44 24 2c          	mov    %eax,0x2c(%esp)
53f69b:	8b 44 24 74          	mov    0x74(%esp),%eax
53f69f:	c1 ef 03             	shr    $0x3,%edi
53f6a2:	89 44 24 3c          	mov    %eax,0x3c(%esp)
53f6a6:	83 fd 40             	cmp    $0x40,%ebp
53f6a9:	0f 8f 02 07 00 00    	jg     0x53fdb1
53f6af:	0f b6 08             	movzbl (%eax),%ecx
53f6b2:	8d 50 01             	lea    0x1(%eax),%edx
53f6b5:	0f b6 02             	movzbl (%edx),%eax
53f6b8:	c1 e0 08             	shl    $0x8,%eax
53f6bb:	0b c8                	or     %eax,%ecx
53f6bd:	0f b6 42 01          	movzbl 0x1(%edx),%eax
53f6c1:	c1 e0 10             	shl    $0x10,%eax
53f6c4:	0b c8                	or     %eax,%ecx
53f6c6:	0f b6 42 02          	movzbl 0x2(%edx),%eax
53f6ca:	c1 e0 18             	shl    $0x18,%eax
53f6cd:	0b c8                	or     %eax,%ecx
53f6cf:	0f b6 42 04          	movzbl 0x4(%edx),%eax
53f6d3:	53                   	push   %ebx
53f6d4:	0f b6 5a 03          	movzbl 0x3(%edx),%ebx
53f6d8:	89 4c 24 18          	mov    %ecx,0x18(%esp)
53f6dc:	0f b6 4a 06          	movzbl 0x6(%edx),%ecx
53f6e0:	c1 e0 08             	shl    $0x8,%eax
53f6e3:	0b d8                	or     %eax,%ebx
53f6e5:	c1 e1 08             	shl    $0x8,%ecx
53f6e8:	0f b6 42 05          	movzbl 0x5(%edx),%eax
53f6ec:	0b c8                	or     %eax,%ecx
53f6ee:	8b 44 24 68          	mov    0x68(%esp),%eax
53f6f2:	c1 e1 10             	shl    $0x10,%ecx
53f6f5:	0b d9                	or     %ecx,%ebx
53f6f7:	3b c7                	cmp    %edi,%eax
53f6f9:	0f 82 78 06 00 00    	jb     0x53fd77
53f6ff:	83 7c 24 7c 00       	cmpl   $0x0,0x7c(%esp)
53f704:	8b cd                	mov    %ebp,%ecx
53f706:	0f 84 3c 03 00 00    	je     0x53fa48
53f70c:	81 e1 07 00 00 80    	and    $0x80000007,%ecx
53f712:	79 05                	jns    0x53f719
53f714:	49                   	dec    %ecx
53f715:	83 c9 f8             	or     $0xfffffff8,%ecx