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
53f718:	41                   	inc    %ecx
53f719:	8b 6c 24 5c          	mov    0x5c(%esp),%ebp
53f71d:	ba 08 00 00 00       	mov    $0x8,%edx
53f722:	2b d1                	sub    %ecx,%edx
53f724:	89 4c 24 24          	mov    %ecx,0x24(%esp)
53f728:	8b 4c 24 18          	mov    0x18(%esp),%ecx
53f72c:	89 54 24 1c          	mov    %edx,0x1c(%esp)
53f730:	ff 74 24 30          	push   0x30(%esp)
53f734:	2b c7                	sub    %edi,%eax
53f736:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
53f73a:	ff 74 24 38          	push   0x38(%esp)
53f73e:	89 44 24 70          	mov    %eax,0x70(%esp)
53f742:	8d 44 24 30          	lea    0x30(%esp),%eax
53f746:	ff 74 24 40          	push   0x40(%esp)
53f74a:	89 5c 24 38          	mov    %ebx,0x38(%esp)
53f74e:	50                   	push   %eax
53f74f:	e8 8c 5a ed ff       	call   0x4151e0
53f754:	33 d2                	xor    %edx,%edx
53f756:	8d 4f ff             	lea    -0x1(%edi),%ecx
53f759:	83 c4 10             	add    $0x10,%esp
53f75c:	89 54 24 14          	mov    %edx,0x14(%esp)
53f760:	03 ef                	add    %edi,%ebp
53f762:	83 f9 07             	cmp    $0x7,%ecx
53f765:	77 6b                	ja     0x53f7d2
53f767:	ff 24 8d c4 fd 53 00 	jmp    *0x53fdc4(,%ecx,4)
53f76e:	0f b6 55 ff          	movzbl -0x1(%ebp),%edx
53f772:	4d                   	dec    %ebp
53f773:	c1 e2 18             	shl    $0x18,%edx
53f776:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f77a:	4d                   	dec    %ebp
53f77b:	c1 e0 10             	shl    $0x10,%eax
53f77e:	0b d0                	or     %eax,%edx
53f780:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f784:	4d                   	dec    %ebp
53f785:	c1 e0 08             	shl    $0x8,%eax
53f788:	0b d0                	or     %eax,%edx
53f78a:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f78e:	4d                   	dec    %ebp
53f78f:	0b d0                	or     %eax,%edx
53f791:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f795:	4d                   	dec    %ebp
53f796:	c1 e0 18             	shl    $0x18,%eax
53f799:	89 44 24 14          	mov    %eax,0x14(%esp)
53f79d:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f7a1:	4d                   	dec    %ebp
53f7a2:	c1 e0 10             	shl    $0x10,%eax
53f7a5:	09 44 24 14          	or     %eax,0x14(%esp)
53f7a9:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
53f7ad:	4d                   	dec    %ebp
53f7ae:	c1 e0 08             	shl    $0x8,%eax
53f7b1:	09 44 24 14          	or     %eax,0x14(%esp)
53f7b5:	8a 45 ff             	mov    -0x1(%ebp),%al
53f7b8:	4d                   	dec    %ebp
53f7b9:	33 54 24 2c          	xor    0x2c(%esp),%edx
53f7bd:	03 ef                	add    %edi,%ebp
53f7bf:	0f b6 c0             	movzbl %al,%eax
53f7c2:	0b 44 24 14          	or     0x14(%esp),%eax
53f7c6:	33 44 24 28          	xor    0x28(%esp),%eax
53f7ca:	03 f7                	add    %edi,%esi
53f7cc:	89 44 24 14          	mov    %eax,0x14(%esp)
53f7d0:	eb 15                	jmp    0x53f7e7
53f7d2:	8b 44 24 28          	mov    0x28(%esp),%eax
53f7d6:	03 ef                	add    %edi,%ebp
53f7d8:	8b 54 24 2c          	mov    0x2c(%esp),%edx
53f7dc:	03 f7                	add    %edi,%esi
53f7de:	89 44 24 14          	mov    %eax,0x14(%esp)
53f7e2:	83 f9 07             	cmp    $0x7,%ecx
53f7e5:	77 59                	ja     0x53f840
53f7e7:	ff 24 8d e4 fd 53 00 	jmp    *0x53fde4(,%ecx,4)
53f7ee:	4e                   	dec    %esi
53f7ef:	8b c2                	mov    %edx,%eax
53f7f1:	c1 e8 18             	shr    $0x18,%eax
53f7f4:	88 06                	mov    %al,(%esi)
53f7f6:	4e                   	dec    %esi
53f7f7:	8b c2                	mov    %edx,%eax
53f7f9:	c1 e8 10             	shr    $0x10,%eax
53f7fc:	88 06                	mov    %al,(%esi)
53f7fe:	4e                   	dec    %esi
53f7ff:	8b c2                	mov    %edx,%eax
53f801:	c1 e8 08             	shr    $0x8,%eax
53f804:	88 06                	mov    %al,(%esi)
53f806:	4e                   	dec    %esi
53f807:	88 16                	mov    %dl,(%esi)
53f809:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f80d:	4e                   	dec    %esi
53f80e:	8b c1                	mov    %ecx,%eax
53f810:	c1 e8 18             	shr    $0x18,%eax
53f813:	88 06                	mov    %al,(%esi)
53f815:	4e                   	dec    %esi
53f816:	8b c1                	mov    %ecx,%eax
53f818:	c1 e8 10             	shr    $0x10,%eax
53f81b:	88 06                	mov    %al,(%esi)
53f81d:	eb 12                	jmp    0x53f831
53f81f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f823:	4e                   	dec    %esi
53f824:	8b c1                	mov    %ecx,%eax
53f826:	c1 e8 10             	shr    $0x10,%eax
53f829:	88 06                	mov    %al,(%esi)
53f82b:	eb 04                	jmp    0x53f831
53f82d:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f831:	4e                   	dec    %esi
53f832:	8b c1                	mov    %ecx,%eax
53f834:	c1 e8 08             	shr    $0x8,%eax
53f837:	88 06                	mov    %al,(%esi)
53f839:	8b 44 24 14          	mov    0x14(%esp),%eax
53f83d:	4e                   	dec    %esi
53f83e:	88 06                	mov    %al,(%esi)
53f840:	8b 4c 24 64          	mov    0x64(%esp),%ecx
53f844:	03 f7                	add    %edi,%esi
53f846:	83 f9 20             	cmp    $0x20,%ecx
53f849:	75 09                	jne    0x53f854
53f84b:	8b cb                	mov    %ebx,%ecx
53f84d:	8b d8                	mov    %eax,%ebx
53f84f:	e9 df 01 00 00       	jmp    0x53fa33
53f854:	83 f9 40             	cmp    $0x40,%ecx
53f857:	75 09                	jne    0x53f862
53f859:	8b c8                	mov    %eax,%ecx
53f85b:	8b da                	mov    %edx,%ebx
53f85d:	e9 d1 01 00 00       	jmp    0x53fa33
53f862:	8b 4c 24 18          	mov    0x18(%esp),%ecx
53f866:	8b c1                	mov    %ecx,%eax
53f868:	c1 e8 08             	shr    $0x8,%eax
53f86b:	88 44 24 45          	mov    %al,0x45(%esp)
53f86f:	8b c1                	mov    %ecx,%eax
53f871:	c1 e8 10             	shr    $0x10,%eax
53f874:	88 44 24 46          	mov    %al,0x46(%esp)
53f878:	8b c3                	mov    %ebx,%eax
53f87a:	c1 e8 08             	shr    $0x8,%eax
53f87d:	88 44 24 49          	mov    %al,0x49(%esp)
53f881:	8b c3                	mov    %ebx,%eax
53f883:	c1 e8 10             	shr    $0x10,%eax
53f886:	88 44 24 4a          	mov    %al,0x4a(%esp)
53f88a:	88 4c 24 44          	mov    %cl,0x44(%esp)
53f88e:	c1 e9 18             	shr    $0x18,%ecx
53f891:	88 4c 24 47          	mov    %cl,0x47(%esp)
53f895:	8b 4c 24 14          	mov    0x14(%esp),%ecx
53f899:	8b c1                	mov    %ecx,%eax
53f89b:	c1 e8 08             	shr    $0x8,%eax
53f89e:	88 44 24 4d          	mov    %al,0x4d(%esp)
53f8a2:	8b c1                	mov    %ecx,%eax
53f8a4:	c1 e8 10             	shr    $0x10,%eax
53f8a7:	88 44 24 4e          	mov    %al,0x4e(%esp)
53f8ab:	8b c2                	mov    %edx,%eax
53f8ad:	c1 e8 08             	shr    $0x8,%eax
53f8b0:	88 44 24 51          	mov    %al,0x51(%esp)
53f8b4:	8b c2                	mov    %edx,%eax
53f8b6:	c1 e8 10             	shr    $0x10,%eax
53f8b9:	88 5c 24 48          	mov    %bl,0x48(%esp)
53f8bd:	c1 eb 18             	shr    $0x18,%ebx
53f8c0:	88 44 24 52          	mov    %al,0x52(%esp)
53f8c4:	33 c0                	xor    %eax,%eax
53f8c6:	88 5c 24 4b          	mov    %bl,0x4b(%esp)
53f8ca:	8b 5c 24 24          	mov    0x24(%esp),%ebx
53f8ce:	88 4c 24 4c          	mov    %cl,0x4c(%esp)
53f8d2:	c1 e9 18             	shr    $0x18,%ecx
53f8d5:	88 54 24 50          	mov    %dl,0x50(%esp)
53f8d9:	c1 ea 18             	shr    $0x18,%edx
53f8dc:	85 db                	test   %ebx,%ebx
53f8de:	88 4c 24 4f          	mov    %cl,0x4f(%esp)
53f8e2:	0f 95 c0             	setne  %al
53f8e5:	88 54 24 53          	mov    %dl,0x53(%esp)
53f8e9:	83 c0 08             	add    $0x8,%eax
53f8ec:	50                   	push   %eax
53f8ed:	8b 44 24 68          	mov    0x68(%esp),%eax
53f8f1:	8b c0                	mov    %eax,%eax
53f8f3:	85 c0                	test   %eax,%eax
53f8f5:	79 03                	jns    0x53f8fa
53f8f7:	83 c0 07             	add    $0x7,%eax
53f8fa:	c1 f8 03             	sar    $0x3,%eax
53f8fd:	8d 4c 24 48          	lea    0x48(%esp),%ecx
53f901:	03 c1                	add    %ecx,%eax
53f903:	50                   	push   %eax
53f904:	8b c1                	mov    %ecx,%eax
53f906:	50                   	push   %eax
53f907:	e8 c4 34 09 00       	call   0x5d2dd0