52e4dd:	85 db                	test   %ebx,%ebx
52e4df:	74 18                	je     0x52e4f9
52e4e1:	53                   	push   %ebx
52e4e2:	e8 79 11 fc ff       	call   0x4ef660
52e4e7:	50                   	push   %eax
52e4e8:	57                   	push   %edi
52e4e9:	ff 75 a8             	push   -0x58(%ebp)
52e4ec:	e8 5f e5 00 00       	call   0x53ca50
52e4f1:	83 c4 10             	add    $0x10,%esp
52e4f4:	e9 4c 02 00 00       	jmp    0x52e745
52e4f9:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
52e4fc:	c7 45 9c 01 00 00 00 	movl   $0x1,-0x64(%ebp)
52e503:	33 db                	xor    %ebx,%ebx
52e505:	8b fe                	mov    %esi,%edi
52e507:	66 0f 1f 84 00 00 00 	nopw   0x0(%eax,%eax,1)
52e50e:	00 00
52e510:	8b 74 0f 04          	mov    0x4(%edi,%ecx,1),%esi
52e514:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
52e518:	8b 46 04             	mov    0x4(%esi),%eax
52e51b:	89 45 98             	mov    %eax,-0x68(%ebp)
52e51e:	74 15                	je     0x52e535
52e520:	ff 46 0c             	incl   0xc(%esi)
52e523:	80 7e 0a 00          	cmpb   $0x0,0xa(%esi)
52e527:	75 0c                	jne    0x52e535
52e529:	56                   	push   %esi
52e52a:	e8 a1 8a fc ff       	call   0x4f6fd0
52e52f:	8b 45 98             	mov    -0x68(%ebp),%eax
52e532:	83 c4 04             	add    $0x4,%esp
52e535:	83 fb 0e             	cmp    $0xe,%ebx
52e538:	75 0e                	jne    0x52e548
52e53a:	8b 00                	mov    (%eax),%eax
52e53c:	8b 4e 14             	mov    0x14(%esi),%ecx
52e53f:	03 48 64             	add    0x64(%eax),%ecx
52e542:	89 4c 9d e8          	mov    %ecx,-0x18(%ebp,%ebx,4)
52e546:	eb 10                	jmp    0x52e558
52e548:	8b 40 0c             	mov    0xc(%eax),%eax
52e54b:	8b 40 38             	mov    0x38(%eax),%eax
52e54e:	8b 44 98 28          	mov    0x28(%eax,%ebx,4),%eax
52e552:	0f c8                	bswap  %eax
52e554:	89 44 9d e8          	mov    %eax,-0x18(%ebp,%ebx,4)
52e558:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
52e55c:	74 0f                	je     0x52e56d
52e55e:	83 46 0c ff          	addl   $0xffffffff,0xc(%esi)
52e562:	75 09                	jne    0x52e56d
52e564:	56                   	push   %esi
52e565:	e8 66 a4 02 00       	call   0x5589d0
52e56a:	83 c4 04             	add    $0x4,%esp
52e56d:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
52e570:	43                   	inc    %ebx
52e571:	83 fb 05             	cmp    $0x5,%ebx
52e574:	7c 9a                	jl     0x52e510
52e576:	8b 7d a4             	mov    -0x5c(%ebp),%edi
52e579:	8b 47 20             	mov    0x20(%edi),%eax
52e57c:	25 00 00 00 02       	and    $0x2000000,%eax
52e581:	83 c8 00             	or     $0x0,%eax
52e584:	74 0e                	je     0x52e594
52e586:	0f 57 c0             	xorps  %xmm0,%xmm0
52e589:	33 d2                	xor    %edx,%edx
52e58b:	0f 11 45 e8          	movups %xmm0,-0x18(%ebp)
52e58f:	89 55 f8             	mov    %edx,-0x8(%ebp)
52e592:	eb 03                	jmp    0x52e597
52e594:	8b 55 f8             	mov    -0x8(%ebp),%edx
52e597:	8b 75 ac             	mov    -0x54(%ebp),%esi
52e59a:	8b c1                	mov    %ecx,%eax
52e59c:	8b 5d b0             	mov    -0x50(%ebp),%ebx
52e59f:	8b 4c 06 0c          	mov    0xc(%esi,%eax,1),%ecx
52e5a3:	8b 45 e8             	mov    -0x18(%ebp),%eax
52e5a6:	89 01                	mov    %eax,(%ecx)
52e5a8:	85 d2                	test   %edx,%edx
52e5aa:	74 64                	je     0x52e610
52e5ac:	85 db                	test   %ebx,%ebx
52e5ae:	75 3d                	jne    0x52e5ed
52e5b0:	80 e2 03             	and    $0x3,%dl
52e5b3:	b9 01 00 00 00       	mov    $0x1,%ecx
52e5b8:	0f b6 c2             	movzbl %dl,%eax
52e5bb:	0f 44 c1             	cmove  %ecx,%eax
52e5be:	88 47 4e             	mov    %al,0x4e(%edi)
52e5c1:	8b 55 b4             	mov    -0x4c(%ebp),%edx
52e5c4:	8b 4c 16 0c          	mov    0xc(%esi,%edx,1),%ecx
52e5c8:	8a 47 4e             	mov    0x4e(%edi),%al
52e5cb:	88 41 4d             	mov    %al,0x4d(%ecx)
52e5ce:	8b 4c 16 0c          	mov    0xc(%esi,%edx,1),%ecx
52e5d2:	83 79 50 00          	cmpl   $0x0,0x50(%ecx)
52e5d6:	75 71                	jne    0x52e649
52e5d8:	8b 45 f0             	mov    -0x10(%ebp),%eax
52e5db:	85 c0                	test   %eax,%eax
52e5dd:	79 44                	jns    0x52e623
52e5df:	3d 00 00 00 80       	cmp    $0x80000000,%eax
52e5e4:	75 3b                	jne    0x52e621
52e5e6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
52e5eb:	eb 43                	jmp    0x52e630
52e5ed:	0f b6 47 4e          	movzbl 0x4e(%edi),%eax
52e5f1:	3b d0                	cmp    %eax,%edx
52e5f3:	74 cc                	je     0x52e5c1
52e5f5:	68 18 9c 6b 00       	push   $0x6b9c18
52e5fa:	57                   	push   %edi
52e5fb:	ff 75 a8             	push   -0x58(%ebp)
52e5fe:	e8 4d e4 00 00       	call   0x53ca50
52e603:	83 c4 0c             	add    $0xc,%esp
52e606:	bb 01 00 00 00       	mov    $0x1,%ebx
52e60b:	e9 20 01 00 00       	jmp    0x52e730
52e610:	8b 47 10             	mov    0x10(%edi),%eax
52e613:	8b 55 b4             	mov    -0x4c(%ebp),%edx
52e616:	8b 44 02 0c          	mov    0xc(%edx,%eax,1),%eax
52e61a:	66 83 48 4e 04       	orw    $0x4,0x4e(%eax)
52e61f:	eb a3                	jmp    0x52e5c4
52e621:	f7 d8                	neg    %eax
52e623:	85 c0                	test   %eax,%eax
52e625:	c7 45 a4 30 f8 ff ff 	movl   $0xfffff830,-0x5c(%ebp)
52e62c:	0f 44 45 a4          	cmove  -0x5c(%ebp),%eax
52e630:	89 41 50             	mov    %eax,0x50(%ecx)
52e633:	8b 44 16 0c          	mov    0xc(%esi,%edx,1),%eax
52e637:	ff 70 50             	push   0x50(%eax)
52e63a:	ff 74 16 04          	push   0x4(%esi,%edx,1)
52e63e:	e8 fd f3 fe ff       	call   0x51da40
52e643:	8b 55 b4             	mov    -0x4c(%ebp),%edx
52e646:	83 c4 08             	add    $0x8,%esp
52e649:	8b 44 16 0c          	mov    0xc(%esi,%edx,1),%eax
52e64d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
52e650:	88 48 4c             	mov    %cl,0x4c(%eax)
52e653:	8b 44 16 0c          	mov    0xc(%esi,%edx,1),%eax
52e657:	80 78 4c 00          	cmpb   $0x0,0x4c(%eax)
52e65b:	75 04                	jne    0x52e661
52e65d:	c6 40 4c 01          	movb   $0x1,0x4c(%eax)
52e661:	8b 44 16 0c          	mov    0xc(%esi,%edx,1),%eax
52e665:	80 78 4c 04          	cmpb   $0x4,0x4c(%eax)
52e669:	76 07                	jbe    0x52e672
52e66b:	68 68 ad 6b 00       	push   $0x6bad68
52e670:	eb 88                	jmp    0x52e5fa
52e672:	85 db                	test   %ebx,%ebx
52e674:	75 0f                	jne    0x52e685
52e676:	83 f9 04             	cmp    $0x4,%ecx
52e679:	7c 0a                	jl     0x52e685
52e67b:	8b 47 24             	mov    0x24(%edi),%eax
52e67e:	83 67 20 fd          	andl   $0xfffffffd,0x20(%edi)
52e682:	89 47 24             	mov    %eax,0x24(%edi)
52e685:	8b 47 10             	mov    0x10(%edi),%eax
52e688:	ff 75 a0             	push   -0x60(%ebp)
52e68b:	ff 34 02             	push   (%edx,%eax,1)
52e68e:	68 80 ad 6b 00       	push   $0x6bad80
52e693:	57                   	push   %edi
52e694:	e8 a7 28 00 00       	call   0x530f40
52e699:	8b b7 50 01 00 00    	mov    0x150(%edi),%esi
52e69f:	8d 4d b8             	lea    -0x48(%ebp),%ecx
52e6a2:	6a 00                	push   $0x0
52e6a4:	51                   	push   %ecx
52e6a5:	68 f0 e1 52 00       	push   $0x52e1f0
52e6aa:	50                   	push   %eax
52e6ab:	57                   	push   %edi
52e6ac:	89 45 a0             	mov    %eax,-0x60(%ebp)
52e6af:	c7 87 50 01 00 00 00 	movl   $0x0,0x150(%edi)
52e6b6:	00 00 00
52e6b9:	e8 12 70 fb ff       	call   0x4e56d0
52e6be:	8b d8                	mov    %eax,%ebx
52e6c0:	89 b7 50 01 00 00    	mov    %esi,0x150(%edi)
52e6c6:	8b 45 a0             	mov    -0x60(%ebp),%eax
52e6c9:	83 c4 24             	add    $0x24,%esp
52e6cc:	85 db                	test   %ebx,%ebx
52e6ce:	0f 44 5d c4          	cmove  -0x3c(%ebp),%ebx
52e6d2:	85 c0                	test   %eax,%eax
52e6d4:	74 0a                	je     0x52e6e0
52e6d6:	50                   	push   %eax
52e6d7:	57                   	push   %edi
52e6d8:	e8 93 2c ff ff       	call   0x521370
52e6dd:	83 c4 08             	add    $0x8,%esp
52e6e0:	85 db                	test   %ebx,%ebx
52e6e2:	75 0c                	jne    0x52e6f0
52e6e4:	ff 75 b0             	push   -0x50(%ebp)
52e6e7:	57                   	push   %edi
52e6e8:	e8 43 a5 fe ff       	call   0x518c30
52e6ed:	83 c4 08             	add    $0x8,%esp
52e6f0:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
52e6f4:	74 10                	je     0x52e706
52e6f6:	57                   	push   %edi
52e6f7:	bb 07 00 00 00       	mov    $0x7,%ebx
52e6fc:	e8 2f 98 00 00       	call   0x537f30
52e701:	83 c4 04             	add    $0x4,%esp
52e704:	eb 04                	jmp    0x52e70a
52e706:	85 db                	test   %ebx,%ebx
52e708:	74 0d                	je     0x52e717
52e70a:	8b 47 20             	mov    0x20(%edi),%eax
52e70d:	25 00 00 00 08       	and    $0x8000000,%eax
52e712:	83 c8 00             	or     $0x0,%eax
52e715:	74 16                	je     0x52e72d
52e717:	8b 47 10             	mov    0x10(%edi),%eax
52e71a:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
52e71d:	8b 75 ac             	mov    -0x54(%ebp),%esi
52e720:	8b 44 01 0c          	mov    0xc(%ecx,%eax,1),%eax
52e724:	66 83 48 4e 01       	orw    $0x1,0x4e(%eax)
52e729:	33 db                	xor    %ebx,%ebx
52e72b:	eb 06                	jmp    0x52e733
52e72d:	8b 75 ac             	mov    -0x54(%ebp),%esi
52e730:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
52e733:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
52e737:	74 0c                	je     0x52e745
52e739:	ff 74 0e 04          	push   0x4(%esi,%ecx,1)
52e73d:	e8 8e c9 fe ff       	call   0x51b0d0
52e742:	83 c4 04             	add    $0x4,%esp
52e745:	8b 45 b4             	mov    -0x4c(%ebp),%eax
52e748:	8b 44 06 04          	mov    0x4(%esi,%eax,1),%eax
52e74c:	80 78 09 00          	cmpb   $0x0,0x9(%eax)
52e750:	74 0f                	je     0x52e761
52e752:	83 40 0c ff          	addl   $0xffffffff,0xc(%eax)
52e756:	75 09                	jne    0x52e761
52e758:	50                   	push   %eax
52e759:	e8 72 a2 02 00       	call   0x5589d0
52e75e:	83 c4 04             	add    $0x4,%esp
52e761:	8b 75 b0             	mov    -0x50(%ebp),%esi
52e764:	85 db                	test   %ebx,%ebx
52e766:	74 5a                	je     0x52e7c2
52e768:	83 fb 07             	cmp    $0x7,%ebx
52e76b:	74 08                	je     0x52e775
52e76d:	81 fb 0a 0c 00 00    	cmp    $0xc0a,%ebx
52e773:	75 43                	jne    0x52e7b8
52e775:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
52e779:	75 3d                	jne    0x52e7b8
52e77b:	80 7f 52 00          	cmpb   $0x0,0x52(%edi)
52e77f:	75 37                	jne    0x52e7b8
52e781:	83 bf bc 00 00 00 00 	cmpl   $0x0,0xbc(%edi)
52e788:	c6 47 51 01          	movb   $0x1,0x51(%edi)
52e78c:	7e 0a                	jle    0x52e798
52e78e:	c7 87 10 01 00 00 01 	movl   $0x1,0x110(%edi)
52e795:	00 00 00
52e798:	ff 87 18 01 00 00    	incl   0x118(%edi)
52e79e:	33 c0                	xor    %eax,%eax
52e7a0:	66 89 87 1c 01 00 00 	mov    %ax,0x11c(%edi)
52e7a7:	8b 87 f4 00 00 00    	mov    0xf4(%edi),%eax
52e7ad:	85 c0                	test   %eax,%eax
52e7af:	74 07                	je     0x52e7b8
52e7b1:	c7 40 0c 07 00 00 00 	movl   $0x7,0xc(%eax)
52e7b8:	56                   	push   %esi
52e7b9:	57                   	push   %edi
52e7ba:	e8 f1 97 00 00       	call   0x537fb0
52e7bf:	83 c4 08             	add    $0x8,%esp
52e7c2:	8b c3                	mov    %ebx,%eax
52e7c4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
52e7c7:	c6 87 a5 00 00 00 00 	movb   $0x0,0xa5(%edi)
52e7ce:	33 cd                	xor    %ebp,%ecx
52e7d0:	5f                   	pop    %edi
52e7d1:	5e                   	pop    %esi
52e7d2:	5b                   	pop    %ebx
52e7d3:	e8 02 2d 0b 00       	call   0x5e14da
52e7d8:	8b e5                	mov    %ebp,%esp
52e7da:	5d                   	pop    %ebp
52e7db:	c3                   	ret
52e7dc:	cc                   	int3
52e7dd:	cc                   	int3
52e7de:	cc                   	int3
52e7df:	cc                   	int3
52e7e0:	55                   	push   %ebp
52e7e1:	8b ec                	mov    %esp,%ebp
52e7e3:	81 ec b0 00 00 00    	sub    $0xb0,%esp
52e7e9:	a1 d4 89 72 00       	mov    0x7289d4,%eax
52e7ee:	33 c5                	xor    %ebp,%eax
52e7f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
52e7f3:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
52e7f6:	8b 45 0c             	mov    0xc(%ebp),%eax
52e7f9:	53                   	push   %ebx
52e7fa:	56                   	push   %esi
52e7fb:	8b 75 08             	mov    0x8(%ebp),%esi
52e7fe:	89 8d 60 ff ff ff    	mov    %ecx,-0xa0(%ebp)
52e804:	33 c9                	xor    %ecx,%ecx
52e806:	57                   	push   %edi
52e807:	8b 7d 14             	mov    0x14(%ebp),%edi
52e80a:	8b 1e                	mov    (%esi),%ebx
52e80c:	89 45 84             	mov    %eax,-0x7c(%ebp)
52e80f:	8b 45 10             	mov    0x10(%ebp),%eax
52e812:	89 75 94             	mov    %esi,-0x6c(%ebp)
52e815:	89 45 b8             	mov    %eax,-0x48(%ebp)
52e818:	89 7d d4             	mov    %edi,-0x2c(%ebp)
52e81b:	c7 45 80 00 00 00 00 	movl   $0x0,-0x80(%ebp)
52e822:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
52e829:	c7 85 70 ff ff ff 00 	movl   $0x0,-0x90(%ebp)
52e830:	00 00 00
52e833:	c7 45 b0 ff ff ff ff 	movl   $0xffffffff,-0x50(%ebp)
52e83a:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
52e841:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
52e847:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
52e84d:	88 4d d3             	mov    %cl,-0x2d(%ebp)
52e850:	88 4d c7             	mov    %cl,-0x39(%ebp)
52e853:	89 4d 90             	mov    %ecx,-0x70(%ebp)
52e856:	89 4d ac             	mov    %ecx,-0x54(%ebp)
52e859:	89 8d 54 ff ff ff    	mov    %ecx,-0xac(%ebp)
52e85f:	89 4d 8c             	mov    %ecx,-0x74(%ebp)
52e862:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
52e868:	39 4e 24             	cmp    %ecx,0x24(%esi)
52e86b:	0f 85 14 0e 00 00    	jne    0x52f685
52e871:	38 4b 51             	cmp    %cl,0x51(%ebx)
52e874:	0f 85 0b 0e 00 00    	jne    0x52f685
52e87a:	89 4d 98             	mov    %ecx,-0x68(%ebp)
52e87d:	85 c0                	test   %eax,%eax
52e87f:	74 2c                	je     0x52e8ad
52e881:	f7 40 04 00 02 00 00 	testl  $0x200,0x4(%eax)
52e888:	74 23                	je     0x52e8ad
52e88a:	39 48 34             	cmp    %ecx,0x34(%eax)
52e88d:	75 1e                	jne    0x52e8ad
52e88f:	8b 48 1c             	mov    0x1c(%eax),%ecx
52e892:	50                   	push   %eax
52e893:	53                   	push   %ebx
52e894:	89 4d 90             	mov    %ecx,-0x70(%ebp)
52e897:	c7 40 1c 00 00 00 00 	movl   $0x0,0x1c(%eax)
52e89e:	e8 ed d8 00 00       	call   0x53c190
52e8a3:	83 c4 08             	add    $0x8,%esp
52e8a6:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
52e8ad:	ff 75 84             	push   -0x7c(%ebp)
52e8b0:	56                   	push   %esi
52e8b1:	e8 ca ea 00 00       	call   0x53d380
52e8b6:	8b f8                	mov    %eax,%edi
52e8b8:	83 c4 08             	add    $0x8,%esp
52e8bb:	89 7d d8             	mov    %edi,-0x28(%ebp)
52e8be:	85 ff                	test   %edi,%edi
52e8c0:	0f 84 bc 0d 00 00    	je     0x52f682
52e8c6:	ff 77 48             	push   0x48(%edi)
52e8c9:	53                   	push   %ebx
52e8ca:	e8 91 b1 00 00       	call   0x539a60
52e8cf:	8b c8                	mov    %eax,%ecx
52e8d1:	89 45 c8             	mov    %eax,-0x38(%ebp)
52e8d4:	8b 43 10             	mov    0x10(%ebx),%eax
52e8d7:	03 c9                	add    %ecx,%ecx
52e8d9:	ff 34 c8             	push   (%eax,%ecx,8)
52e8dc:	6a 00                	push   $0x0
52e8de:	ff 37                	push   (%edi)
52e8e0:	6a 12                	push   $0x12
52e8e2:	56                   	push   %esi
52e8e3:	e8 b8 ae fe ff       	call   0x5197a0
52e8e8:	83 c4 1c             	add    $0x1c,%esp
52e8eb:	85 c0                	test   %eax,%eax
52e8ed:	0f 85 8f 0d 00 00    	jne    0x52f682
52e8f3:	8b 47 24             	mov    0x24(%edi),%eax
52e8f6:	c1 e8 07             	shr    $0x7,%eax
52e8f9:	25 01 ff ff ff       	and    $0xffffff01,%eax
52e8fe:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
52e904:	8d 85 5c ff ff ff    	lea    -0xa4(%ebp),%eax
52e90a:	50                   	push   %eax
52e90b:	6a 00                	push   $0x0
52e90d:	6a 7d                	push   $0x7d
52e90f:	57                   	push   %edi
52e910:	56                   	push   %esi
52e911:	e8 5a fd 00 00       	call   0x53e670
52e916:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
52e91c:	8b 47 0c             	mov    0xc(%edi),%eax
52e91f:	57                   	push   %edi
52e920:	56                   	push   %esi
52e921:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
52e927:	e8 b4 f2 01 00       	call   0x54dbe0
52e92c:	83 c4 1c             	add    $0x1c,%esp
52e92f:	85 c0                	test   %eax,%eax
52e931:	0f 85 4b 0d 00 00    	jne    0x52f682
52e937:	ff b5 5c ff ff ff    	push   -0xa4(%ebp)
52e93d:	57                   	push   %edi