52638f:	85 f6                	test   %esi,%esi
526391:	7e 2b                	jle    0x5263be
526393:	8d 57 04             	lea    0x4(%edi),%edx
526396:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
52639d:	00 00 00
5263a0:	8b 02                	mov    (%edx),%eax
5263a2:	f7 40 04 00 01 00 00 	testl  $0x100,0x4(%eax)
5263a9:	75 0c                	jne    0x5263b7
5263ab:	41                   	inc    %ecx
5263ac:	83 c2 14             	add    $0x14,%edx
5263af:	3b ce                	cmp    %esi,%ecx
5263b1:	7c ed                	jl     0x5263a0
5263b3:	8b c3                	mov    %ebx,%eax
5263b5:	eb 0e                	jmp    0x5263c5
5263b7:	8d 04 89             	lea    (%ecx,%ecx,4),%eax
5263ba:	8b 5c 87 04          	mov    0x4(%edi,%eax,4),%ebx
5263be:	8b c3                	mov    %ebx,%eax
5263c0:	eb 03                	jmp    0x5263c5
5263c2:	8b 40 0c             	mov    0xc(%eax),%eax
5263c5:	85 c0                	test   %eax,%eax
5263c7:	0f 85 26 ff ff ff    	jne    0x5262f3
5263cd:	33 f6                	xor    %esi,%esi
5263cf:	33 c9                	xor    %ecx,%ecx
5263d1:	33 c0                	xor    %eax,%eax
5263d3:	85 c9                	test   %ecx,%ecx
5263d5:	5f                   	pop    %edi
5263d6:	0f 44 c6             	cmove  %esi,%eax
5263d9:	5e                   	pop    %esi
5263da:	5b                   	pop    %ebx
5263db:	5d                   	pop    %ebp
5263dc:	c3                   	ret
5263dd:	ff 70 08             	push   0x8(%eax)
5263e0:	8b 5d 08             	mov    0x8(%ebp),%ebx
5263e3:	6a 00                	push   $0x0
5263e5:	8b 03                	mov    (%ebx),%eax
5263e7:	0f b6 40 4e          	movzbl 0x4e(%eax),%eax
5263eb:	50                   	push   %eax
5263ec:	53                   	push   %ebx
5263ed:	e8 de 68 00 00       	call   0x52ccd0
5263f2:	83 c4 10             	add    $0x10,%esp
5263f5:	8b f0                	mov    %eax,%esi
5263f7:	eb 4e                	jmp    0x526447
5263f9:	0f bf 48 20          	movswl 0x20(%eax),%ecx
5263fd:	85 c9                	test   %ecx,%ecx
5263ff:	78 cc                	js     0x5263cd
526401:	8b 40 2c             	mov    0x2c(%eax),%eax
526404:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
526407:	8b 40 04             	mov    0x4(%eax),%eax
52640a:	8b 44 88 08          	mov    0x8(%eax,%ecx,4),%eax
52640e:	8b 4d 08             	mov    0x8(%ebp),%ecx
526411:	8b 11                	mov    (%ecx),%edx
526413:	8a 5a 4e             	mov    0x4e(%edx),%bl
526416:	85 c0                	test   %eax,%eax
526418:	74 17                	je     0x526431
52641a:	6a 00                	push   $0x0
52641c:	50                   	push   %eax
52641d:	8d 82 94 01 00 00    	lea    0x194(%edx),%eax
526423:	50                   	push   %eax
526424:	e8 a7 bb fd ff       	call   0x501fd0
526429:	83 c4 0c             	add    $0xc,%esp
52642c:	8b 70 08             	mov    0x8(%eax),%esi
52642f:	eb 03                	jmp    0x526434
526431:	8b 72 08             	mov    0x8(%edx),%esi
526434:	85 f6                	test   %esi,%esi
526436:	74 0c                	je     0x526444
526438:	0f b6 c3             	movzbl %bl,%eax
52643b:	8d 04 80             	lea    (%eax,%eax,4),%eax
52643e:	8d 34 86             	lea    (%esi,%eax,4),%esi
526441:	83 c6 ec             	add    $0xffffffec,%esi
526444:	8b 5d 08             	mov    0x8(%ebp),%ebx
526447:	85 f6                	test   %esi,%esi
526449:	74 84                	je     0x5263cf
52644b:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
52644f:	0f 85 7a ff ff ff    	jne    0x5263cf
526455:	8b 03                	mov    (%ebx),%eax
526457:	ff 36                	push   (%esi)
526459:	56                   	push   %esi
52645a:	0f b6 40 4e          	movzbl 0x4e(%eax),%eax
52645e:	50                   	push   %eax
52645f:	53                   	push   %ebx
526460:	e8 6b 68 00 00       	call   0x52ccd0
526465:	83 c4 10             	add    $0x10,%esp
526468:	85 c0                	test   %eax,%eax
52646a:	0f 85 5f ff ff ff    	jne    0x5263cf
526470:	b9 01 00 00 00       	mov    $0x1,%ecx
526475:	85 c9                	test   %ecx,%ecx
526477:	5f                   	pop    %edi
526478:	0f 44 c6             	cmove  %esi,%eax
52647b:	5e                   	pop    %esi
52647c:	5b                   	pop    %ebx
52647d:	5d                   	pop    %ebp
52647e:	c3                   	ret
52647f:	cc                   	int3
526480:	55                   	push   %ebp
526481:	8b ec                	mov    %esp,%ebp
526483:	56                   	push   %esi
526484:	8b 75 08             	mov    0x8(%ebp),%esi
526487:	57                   	push   %edi
526488:	ff 75 0c             	push   0xc(%ebp)
52648b:	56                   	push   %esi
52648c:	e8 4f fe ff ff       	call   0x5262e0
526491:	8b f8                	mov    %eax,%edi
526493:	83 c4 08             	add    $0x8,%esp
526496:	85 ff                	test   %edi,%edi
526498:	75 05                	jne    0x52649f
52649a:	8b 06                	mov    (%esi),%eax
52649c:	8b 78 08             	mov    0x8(%eax),%edi
52649f:	ff 75 10             	push   0x10(%ebp)
5264a2:	56                   	push   %esi
5264a3:	e8 38 fe ff ff       	call   0x5262e0
5264a8:	83 c4 08             	add    $0x8,%esp
5264ab:	85 c0                	test   %eax,%eax
5264ad:	75 05                	jne    0x5264b4
5264af:	8b 06                	mov    (%esi),%eax
5264b1:	8b 40 08             	mov    0x8(%eax),%eax
5264b4:	ff 30                	push   (%eax)
5264b6:	ff 37                	push   (%edi)
5264b8:	e8 73 77 01 00       	call   0x53dc30
5264bd:	83 c4 08             	add    $0x8,%esp
5264c0:	f7 d8                	neg    %eax
5264c2:	1b c0                	sbb    %eax,%eax
5264c4:	40                   	inc    %eax
5264c5:	5f                   	pop    %edi
5264c6:	5e                   	pop    %esi
5264c7:	5d                   	pop    %ebp
5264c8:	c3                   	ret
5264c9:	cc                   	int3
5264ca:	cc                   	int3
5264cb:	cc                   	int3
5264cc:	cc                   	int3
5264cd:	cc                   	int3
5264ce:	cc                   	int3
5264cf:	cc                   	int3
5264d0:	55                   	push   %ebp
5264d1:	8b ec                	mov    %esp,%ebp
5264d3:	56                   	push   %esi
5264d4:	8b 75 10             	mov    0x10(%ebp),%esi
5264d7:	57                   	push   %edi
5264d8:	8b 7d 0c             	mov    0xc(%ebp),%edi
5264db:	85 ff                	test   %edi,%edi
5264dd:	0f 84 45 02 00 00    	je     0x526728
5264e3:	85 f6                	test   %esi,%esi
5264e5:	0f 84 3d 02 00 00    	je     0x526728
5264eb:	8b 45 08             	mov    0x8(%ebp),%eax
5264ee:	85 c0                	test   %eax,%eax
5264f0:	74 1d                	je     0x52650f
5264f2:	80 3f 99             	cmpb   $0x99,(%edi)
5264f5:	75 18                	jne    0x52650f
5264f7:	56                   	push   %esi
5264f8:	57                   	push   %edi
5264f9:	50                   	push   %eax
5264fa:	e8 01 a2 fd ff       	call   0x500700
5264ff:	83 c4 0c             	add    $0xc,%esp
526502:	85 c0                	test   %eax,%eax
526504:	74 06                	je     0x52650c
526506:	5f                   	pop    %edi
526507:	33 c0                	xor    %eax,%eax
526509:	5e                   	pop    %esi
52650a:	5d                   	pop    %ebp
52650b:	c3                   	ret
52650c:	8b 45 08             	mov    0x8(%ebp),%eax
52650f:	8b 4f 04             	mov    0x4(%edi),%ecx
526512:	53                   	push   %ebx
526513:	8b 5e 04             	mov    0x4(%esi),%ebx
526516:	8b d3                	mov    %ebx,%edx
526518:	0b d1                	or     %ecx,%edx
52651a:	89 55 0c             	mov    %edx,0xc(%ebp)
52651d:	f7 c2 00 04 00 00    	test   $0x400,%edx
526523:	74 15                	je     0x52653a
526525:	23 d9                	and    %ecx,%ebx
526527:	f7 c3 00 04 00 00    	test   $0x400,%ebx
52652d:	74 63                	je     0x526592
52652f:	8b 47 08             	mov    0x8(%edi),%eax
526532:	3b 46 08             	cmp    0x8(%esi),%eax
526535:	e9 9a 01 00 00       	jmp    0x5266d4
52653a:	8a 0f                	mov    (%edi),%cl
52653c:	3a 0e                	cmp    (%esi),%cl
52653e:	0f 85 9d 01 00 00    	jne    0x5266e1
526544:	80 f9 47             	cmp    $0x47,%cl
526547:	0f 84 94 01 00 00    	je     0x5266e1
52654d:	80 f9 a4             	cmp    $0xa4,%cl
526550:	0f 84 b2 00 00 00    	je     0x526608
526556:	80 f9 a6             	cmp    $0xa6,%cl
526559:	0f 84 a9 00 00 00    	je     0x526608
52655f:	8b 47 08             	mov    0x8(%edi),%eax
526562:	85 c0                	test   %eax,%eax
526564:	0f 84 9e 00 00 00    	je     0x526608
52656a:	80 f9 a9             	cmp    $0xa9,%cl
52656d:	74 5b                	je     0x5265ca
52656f:	80 f9 a5             	cmp    $0xa5,%cl
526572:	74 56                	je     0x5265ca
526574:	80 f9 77             	cmp    $0x77,%cl
526577:	0f 84 5d 01 00 00    	je     0x5266da
52657d:	80 f9 6f             	cmp    $0x6f,%cl
526580:	75 1a                	jne    0x52659c
526582:	ff 76 08             	push   0x8(%esi)
526585:	50                   	push   %eax
526586:	e8 f5 93 fb ff       	call   0x4df980
52658b:	83 c4 08             	add    $0x8,%esp
52658e:	85 c0                	test   %eax,%eax
526590:	74 73                	je     0x526605
526592:	5b                   	pop    %ebx
526593:	5f                   	pop    %edi
526594:	b8 02 00 00 00       	mov    $0x2,%eax
526599:	5e                   	pop    %esi
52659a:	5d                   	pop    %ebp
52659b:	c3                   	ret
52659c:	8b 4e 08             	mov    0x8(%esi),%ecx
52659f:	85 c9                	test   %ecx,%ecx
5265a1:	74 65                	je     0x526608
5265a3:	8a 10                	mov    (%eax),%dl
5265a5:	3a 11                	cmp    (%ecx),%dl
5265a7:	75 1a                	jne    0x5265c3
5265a9:	84 d2                	test   %dl,%dl
5265ab:	74 12                	je     0x5265bf
5265ad:	8a 50 01             	mov    0x1(%eax),%dl
5265b0:	3a 51 01             	cmp    0x1(%ecx),%dl
5265b3:	75 0e                	jne    0x5265c3
5265b5:	83 c0 02             	add    $0x2,%eax
5265b8:	83 c1 02             	add    $0x2,%ecx
5265bb:	84 d2                	test   %dl,%dl
5265bd:	75 e4                	jne    0x5265a3
5265bf:	33 c0                	xor    %eax,%eax
5265c1:	eb cb                	jmp    0x52658e
5265c3:	1b c0                	sbb    %eax,%eax
5265c5:	83 c8 01             	or     $0x1,%eax
5265c8:	eb c4                	jmp    0x52658e
5265ca:	ff 76 08             	push   0x8(%esi)
5265cd:	50                   	push   %eax
5265ce:	e8 5d 76 01 00       	call   0x53dc30
5265d3:	83 c4 08             	add    $0x8,%esp
5265d6:	85 c0                	test   %eax,%eax
5265d8:	75 b8                	jne    0x526592
5265da:	8b 47 04             	mov    0x4(%edi),%eax
5265dd:	33 d8                	xor    %eax,%ebx
5265df:	f7 c3 00 00 00 01    	test   $0x1000000,%ebx
5265e5:	75 ab                	jne    0x526592
5265e7:	a9 00 00 00 01       	test   $0x1000000,%eax
5265ec:	74 17                	je     0x526605
5265ee:	6a 01                	push   $0x1
5265f0:	ff 76 2c             	push   0x2c(%esi)
5265f3:	ff 77 2c             	push   0x2c(%edi)
5265f6:	ff 75 08             	push   0x8(%ebp)
5265f9:	e8 32 f4 02 00       	call   0x555a30
5265fe:	83 c4 10             	add    $0x10,%esp
526601:	85 c0                	test   %eax,%eax
526603:	75 8d                	jne    0x526592
526605:	8b 55 0c             	mov    0xc(%ebp),%edx
526608:	8b 47 04             	mov    0x4(%edi),%eax
52660b:	33 46 04             	xor    0x4(%esi),%eax
52660e:	a9 02 02 00 00       	test   $0x202,%eax
526613:	0f 85 79 ff ff ff    	jne    0x526592
526619:	f7 c2 00 40 00 00    	test   $0x4000,%edx
52661f:	0f 85 b5 00 00 00    	jne    0x5266da
526625:	f7 c2 00 08 00 00    	test   $0x800,%edx
52662b:	0f 85 61 ff ff ff    	jne    0x526592
526631:	8b 5d 14             	mov    0x14(%ebp),%ebx
526634:	f6 c2 08             	test   $0x8,%dl
526637:	75 1a                	jne    0x526653
526639:	53                   	push   %ebx
52663a:	ff 76 0c             	push   0xc(%esi)
52663d:	ff 77 0c             	push   0xc(%edi)
526640:	ff 75 08             	push   0x8(%ebp)
526643:	e8 88 fe ff ff       	call   0x5264d0
526648:	83 c4 10             	add    $0x10,%esp
52664b:	85 c0                	test   %eax,%eax
52664d:	0f 85 3f ff ff ff    	jne    0x526592
526653:	53                   	push   %ebx
526654:	ff 76 10             	push   0x10(%esi)
526657:	ff 77 10             	push   0x10(%edi)
52665a:	ff 75 08             	push   0x8(%ebp)
52665d:	e8 6e fe ff ff       	call   0x5264d0
526662:	83 c4 10             	add    $0x10,%esp
526665:	85 c0                	test   %eax,%eax
526667:	0f 85 25 ff ff ff    	jne    0x526592
52666d:	53                   	push   %ebx
52666e:	ff 76 14             	push   0x14(%esi)
526671:	ff 77 14             	push   0x14(%edi)
526674:	e8 b7 11 00 00       	call   0x527830
526679:	83 c4 0c             	add    $0xc,%esp
52667c:	85 c0                	test   %eax,%eax
52667e:	0f 85 0e ff ff ff    	jne    0x526592
526684:	8a 0f                	mov    (%edi),%cl
526686:	80 f9 73             	cmp    $0x73,%cl
526689:	74 4f                	je     0x5266da
52668b:	80 f9 a7             	cmp    $0xa7,%cl
52668e:	74 4a                	je     0x5266da
526690:	f7 45 0c 00 20 00 00 	testl  $0x2000,0xc(%ebp)
526697:	75 41                	jne    0x5266da
526699:	66 8b 47 20          	mov    0x20(%edi),%ax
52669d:	66 3b 46 20          	cmp    0x20(%esi),%ax
5266a1:	0f 85 eb fe ff ff    	jne    0x526592
5266a7:	8a 47 02             	mov    0x2(%edi),%al
5266aa:	3a 46 02             	cmp    0x2(%esi),%al
5266ad:	74 16                	je     0x5266c5
5266af:	80 f9 ac             	cmp    $0xac,%cl
5266b2:	0f 84 da fe ff ff    	je     0x526592
5266b8:	80 f9 a9             	cmp    $0xa9,%cl
5266bb:	75 08                	jne    0x5266c5
5266bd:	85 db                	test   %ebx,%ebx
5266bf:	0f 88 cd fe ff ff    	js     0x526592
5266c5:	80 f9 31             	cmp    $0x31,%cl
5266c8:	74 10                	je     0x5266da
5266ca:	8b 47 1c             	mov    0x1c(%edi),%eax
5266cd:	3b 46 1c             	cmp    0x1c(%esi),%eax
5266d0:	74 08                	je     0x5266da
5266d2:	3b c3                	cmp    %ebx,%eax
5266d4:	0f 85 b8 fe ff ff    	jne    0x526592
5266da:	5b                   	pop    %ebx
5266db:	5f                   	pop    %edi
5266dc:	33 c0                	xor    %eax,%eax
5266de:	5e                   	pop    %esi
5266df:	5d                   	pop    %ebp
5266e0:	c3                   	ret
5266e1:	8b 5d 14             	mov    0x14(%ebp),%ebx
5266e4:	80 f9 6f             	cmp    $0x6f,%cl
5266e7:	75 13                	jne    0x5266fc
5266e9:	53                   	push   %ebx
5266ea:	56                   	push   %esi
5266eb:	ff 77 0c             	push   0xc(%edi)
5266ee:	50                   	push   %eax
5266ef:	e8 dc fd ff ff       	call   0x5264d0
5266f4:	83 c4 10             	add    $0x10,%esp
5266f7:	83 f8 02             	cmp    $0x2,%eax
5266fa:	7c 22                	jl     0x52671e
5266fc:	80 3e 6f             	cmpb   $0x6f,(%esi)
5266ff:	0f 85 8d fe ff ff    	jne    0x526592
526705:	53                   	push   %ebx
526706:	ff 76 0c             	push   0xc(%esi)
526709:	57                   	push   %edi
52670a:	ff 75 08             	push   0x8(%ebp)
52670d:	e8 be fd ff ff       	call   0x5264d0
526712:	83 c4 10             	add    $0x10,%esp
526715:	83 f8 02             	cmp    $0x2,%eax
526718:	0f 8d 74 fe ff ff    	jge    0x526592
52671e:	5b                   	pop    %ebx
52671f:	5f                   	pop    %edi
526720:	b8 01 00 00 00       	mov    $0x1,%eax
526725:	5e                   	pop    %esi
526726:	5d                   	pop    %ebp
526727:	c3                   	ret
526728:	33 c9                	xor    %ecx,%ecx
52672a:	b8 02 00 00 00       	mov    $0x2,%eax
52672f:	3b f7                	cmp    %edi,%esi
526731:	5f                   	pop    %edi
526732:	0f 44 c1             	cmove  %ecx,%eax
526735:	5e                   	pop    %esi
526736:	5d                   	pop    %ebp
526737:	c3                   	ret
526738:	cc                   	int3