528292:	8b 72 54             	mov    0x54(%edx),%esi
528295:	85 c6                	test   %eax,%esi
528297:	75 17                	jne    0x5282b0
528299:	0f ab ce             	bts    %ecx,%esi
52829c:	89 72 54             	mov    %esi,0x54(%edx)
52829f:	83 f9 01             	cmp    $0x1,%ecx
5282a2:	75 0c                	jne    0x5282b0
5282a4:	52                   	push   %edx
5282a5:	e8 e6 99 00 00       	call   0x531c90
5282aa:	8b 4d b0             	mov    -0x50(%ebp),%ecx
5282ad:	83 c4 04             	add    $0x4,%esp
5282b0:	ff 33                	push   (%ebx)
5282b2:	6a 00                	push   $0x0
5282b4:	ff 73 1c             	push   0x1c(%ebx)
5282b7:	51                   	push   %ecx
5282b8:	57                   	push   %edi
5282b9:	e8 12 5c 01 00       	call   0x53ded0
5282be:	8b 55 d8             	mov    -0x28(%ebp),%edx
5282c1:	83 c4 14             	add    $0x14,%esp
5282c4:	83 fa 01             	cmp    $0x1,%edx
5282c7:	75 76                	jne    0x52833f
5282c9:	8b 45 a8             	mov    -0x58(%ebp),%eax
5282cc:	8b 40 04             	mov    0x4(%eax),%eax
5282cf:	66 83 78 20 00       	cmpw   $0x0,0x20(%eax)
5282d4:	7d 69                	jge    0x52833f
5282d6:	8b 45 d0             	mov    -0x30(%ebp),%eax
5282d9:	6a 11                	push   $0x11
5282db:	50                   	push   %eax
5282dc:	e8 3f 97 01 00       	call   0x541a20
5282e1:	6a 60                	push   $0x60
5282e3:	53                   	push   %ebx
5282e4:	ff 75 b0             	push   -0x50(%ebp)
5282e7:	8b f0                	mov    %eax,%esi
5282e9:	ff 75 c4             	push   -0x3c(%ebp)
5282ec:	57                   	push   %edi
5282ed:	e8 5e 96 00 00       	call   0x531950
5282f2:	ff 33                	push   (%ebx)
5282f4:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
5282fb:	68 28 91 6b 00       	push   $0x6b9128
528300:	6a 00                	push   $0x0
528302:	57                   	push   %edi
528303:	e8 d8 18 02 00       	call   0x549be0
528308:	8b 5d d0             	mov    -0x30(%ebp),%ebx
52830b:	83 c4 2c             	add    $0x2c,%esp
52830e:	8b 53 6c             	mov    0x6c(%ebx),%edx
528311:	85 f6                	test   %esi,%esi
528313:	79 03                	jns    0x528318
528315:	8d 72 ff             	lea    -0x1(%edx),%esi
528318:	8b 03                	mov    (%ebx),%eax
52831a:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52831e:	74 0d                	je     0x52832d
528320:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
528325:	89 50 08             	mov    %edx,0x8(%eax)
528328:	e9 20 05 00 00       	jmp    0x52884d
52832d:	8b 43 68             	mov    0x68(%ebx),%eax
528330:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
528333:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
528337:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52833a:	e9 0e 05 00 00       	jmp    0x52884d
52833f:	b8 01 00 00 00       	mov    $0x1,%eax
528344:	33 ff                	xor    %edi,%edi
528346:	89 45 c8             	mov    %eax,-0x38(%ebp)
528349:	85 d2                	test   %edx,%edx
52834b:	0f 8e d3 00 00 00    	jle    0x528424
528351:	33 f6                	xor    %esi,%esi
528353:	85 c0                	test   %eax,%eax
528355:	0f 84 39 04 00 00    	je     0x528794
52835b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
52835e:	8b 50 0c             	mov    0xc(%eax),%edx
528361:	8a 1a                	mov    (%edx),%bl
528363:	8a c3                	mov    %bl,%al
528365:	3c ad                	cmp    $0xad,%al
528367:	75 03                	jne    0x52836c
528369:	8a 42 02             	mov    0x2(%edx),%al
52836c:	3c ae                	cmp    $0xae,%al
52836e:	75 07                	jne    0x528377
528370:	8b 4a 14             	mov    0x14(%edx),%ecx
528373:	8b 01                	mov    (%ecx),%eax
528375:	eb 0c                	jmp    0x528383
528377:	3c 88                	cmp    $0x88,%al
528379:	75 25                	jne    0x5283a0
52837b:	8b 4a 14             	mov    0x14(%edx),%ecx
52837e:	8b 41 1c             	mov    0x1c(%ecx),%eax
528381:	8b 00                	mov    (%eax),%eax
528383:	83 f8 01             	cmp    $0x1,%eax
528386:	7e 18                	jle    0x5283a0
528388:	80 fb 88             	cmp    $0x88,%bl
52838b:	74 0c                	je     0x528399
52838d:	80 7a 02 88          	cmpb   $0x88,0x2(%edx)
528391:	74 06                	je     0x528399
528393:	8b 54 0e 04          	mov    0x4(%esi,%ecx,1),%edx
528397:	eb 07                	jmp    0x5283a0
528399:	8b 41 1c             	mov    0x1c(%ecx),%eax
52839c:	8b 54 30 04          	mov    0x4(%eax,%esi,1),%edx
5283a0:	8b 45 a8             	mov    -0x58(%ebp),%eax
5283a3:	8b 44 30 04          	mov    0x4(%eax,%esi,1),%eax
5283a7:	0f bf 40 20          	movswl 0x20(%eax),%eax
5283ab:	85 c0                	test   %eax,%eax
5283ad:	78 0f                	js     0x5283be
5283af:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5283b2:	8b 45 b8             	mov    -0x48(%ebp),%eax
5283b5:	8b 40 04             	mov    0x4(%eax),%eax
5283b8:	8a 5c 88 0d          	mov    0xd(%eax,%ecx,4),%bl
5283bc:	eb 02                	jmp    0x5283c0
5283be:	b3 44                	mov    $0x44,%bl
5283c0:	52                   	push   %edx
5283c1:	e8 ea b1 ff ff       	call   0x5235b0
5283c6:	83 c4 04             	add    $0x4,%esp
5283c9:	3c 40                	cmp    $0x40,%al
5283cb:	7e 1b                	jle    0x5283e8
5283cd:	80 fb 40             	cmp    $0x40,%bl
5283d0:	7e 11                	jle    0x5283e3
5283d2:	3c 43                	cmp    $0x43,%al
5283d4:	7d 09                	jge    0x5283df
5283d6:	80 fb 43             	cmp    $0x43,%bl
5283d9:	7d 04                	jge    0x5283df
5283db:	b0 41                	mov    $0x41,%al
5283dd:	eb 0e                	jmp    0x5283ed
5283df:	b0 43                	mov    $0x43,%al
5283e1:	eb 0a                	jmp    0x5283ed
5283e3:	0f be c0             	movsbl %al,%eax
5283e6:	eb 03                	jmp    0x5283eb
5283e8:	0f be c3             	movsbl %bl,%eax
5283eb:	0c 40                	or     $0x40,%al
5283ed:	0f be c0             	movsbl %al,%eax
5283f0:	83 e8 41             	sub    $0x41,%eax
5283f3:	74 12                	je     0x528407
5283f5:	83 e8 01             	sub    $0x1,%eax
5283f8:	74 0d                	je     0x528407
5283fa:	33 c0                	xor    %eax,%eax
5283fc:	80 fb 43             	cmp    $0x43,%bl
5283ff:	0f 9d c0             	setge  %al
528402:	89 45 c8             	mov    %eax,-0x38(%ebp)
528405:	eb 03                	jmp    0x52840a
528407:	8b 45 c8             	mov    -0x38(%ebp),%eax
52840a:	8b 55 d8             	mov    -0x28(%ebp),%edx
52840d:	47                   	inc    %edi
52840e:	83 c6 14             	add    $0x14,%esi
528411:	3b fa                	cmp    %edx,%edi
528413:	0f 8c 3a ff ff ff    	jl     0x528353
528419:	85 c0                	test   %eax,%eax
52841b:	0f 84 73 03 00 00    	je     0x528794
528421:	8b 5d b8             	mov    -0x48(%ebp),%ebx
528424:	8b 5b 08             	mov    0x8(%ebx),%ebx
528427:	89 5d bc             	mov    %ebx,-0x44(%ebp)
52842a:	85 db                	test   %ebx,%ebx
52842c:	0f 84 62 03 00 00    	je     0x528794
528432:	33 ff                	xor    %edi,%edi
528434:	85 ff                	test   %edi,%edi
528436:	0f 85 14 04 00 00    	jne    0x528850
52843c:	0f b7 43 34          	movzwl 0x34(%ebx),%eax
528440:	8b c8                	mov    %eax,%ecx
528442:	3b ca                	cmp    %edx,%ecx
528444:	0f 8c 34 03 00 00    	jl     0x52877e
52844a:	39 7b 24             	cmp    %edi,0x24(%ebx)
52844d:	0f 85 2b 03 00 00    	jne    0x52877e
528453:	83 f8 3f             	cmp    $0x3f,%eax
528456:	0f 83 22 03 00 00    	jae    0x52877e
52845c:	f6 45 10 04          	testb  $0x4,0x10(%ebp)
528460:	74 1a                	je     0x52847c
528462:	0f b7 43 32          	movzwl 0x32(%ebx),%eax
528466:	3b c2                	cmp    %edx,%eax
528468:	0f 8f 10 03 00 00    	jg     0x52877e
52846e:	3b ca                	cmp    %edx,%ecx
528470:	7e 0a                	jle    0x52847c
528472:	80 7b 36 00          	cmpb   $0x0,0x36(%ebx)
528476:	0f 84 02 03 00 00    	je     0x52877e
52847c:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
528483:	0f 57 c0             	xorps  %xmm0,%xmm0
528486:	66 0f 13 45 98       	movlpd %xmm0,-0x68(%ebp)
52848b:	85 d2                	test   %edx,%edx
52848d:	0f 8e ac 01 00 00    	jle    0x52863f
528493:	8b 45 9c             	mov    -0x64(%ebp),%eax
528496:	33 f6                	xor    %esi,%esi
528498:	89 45 c0             	mov    %eax,-0x40(%ebp)
52849b:	8b 45 98             	mov    -0x68(%ebp),%eax
52849e:	89 75 a4             	mov    %esi,-0x5c(%ebp)
5284a1:	89 45 b4             	mov    %eax,-0x4c(%ebp)
5284a4:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5284a7:	8b 48 0c             	mov    0xc(%eax),%ecx
5284aa:	8a 19                	mov    (%ecx),%bl
5284ac:	8a c3                	mov    %bl,%al
5284ae:	3c ad                	cmp    $0xad,%al
5284b0:	75 03                	jne    0x5284b5
5284b2:	8a 41 02             	mov    0x2(%ecx),%al
5284b5:	3c ae                	cmp    $0xae,%al
5284b7:	75 07                	jne    0x5284c0
5284b9:	8b 51 14             	mov    0x14(%ecx),%edx
5284bc:	8b 02                	mov    (%edx),%eax
5284be:	eb 0c                	jmp    0x5284cc
5284c0:	3c 88                	cmp    $0x88,%al
5284c2:	75 25                	jne    0x5284e9
5284c4:	8b 51 14             	mov    0x14(%ecx),%edx
5284c7:	8b 42 1c             	mov    0x1c(%edx),%eax
5284ca:	8b 00                	mov    (%eax),%eax
5284cc:	83 f8 01             	cmp    $0x1,%eax
5284cf:	7e 18                	jle    0x5284e9
5284d1:	80 fb 88             	cmp    $0x88,%bl
5284d4:	74 0c                	je     0x5284e2
5284d6:	80 79 02 88          	cmpb   $0x88,0x2(%ecx)
5284da:	74 06                	je     0x5284e2
5284dc:	8b 4c 16 04          	mov    0x4(%esi,%edx,1),%ecx
5284e0:	eb 07                	jmp    0x5284e9
5284e2:	8b 42 1c             	mov    0x1c(%edx),%eax
5284e5:	8b 4c 30 04          	mov    0x4(%eax,%esi,1),%ecx
5284e9:	f7 41 04 00 01 00 00 	testl  $0x100,0x4(%ecx)
5284f0:	8b 45 a8             	mov    -0x58(%ebp),%eax
5284f3:	8b 74 30 04          	mov    0x4(%eax,%esi,1),%esi
5284f7:	74 06                	je     0x5284ff
5284f9:	51                   	push   %ecx
5284fa:	ff 75 dc             	push   -0x24(%ebp)
5284fd:	eb 29                	jmp    0x528528
5284ff:	85 f6                	test   %esi,%esi
528501:	74 0f                	je     0x528512
528503:	f7 46 04 00 01 00 00 	testl  $0x100,0x4(%esi)
52850a:	74 06                	je     0x528512
52850c:	56                   	push   %esi
52850d:	ff 75 dc             	push   -0x24(%ebp)
528510:	eb 16                	jmp    0x528528
528512:	8b 5d dc             	mov    -0x24(%ebp),%ebx
528515:	51                   	push   %ecx
528516:	53                   	push   %ebx
528517:	e8 c4 dd ff ff       	call   0x5262e0
52851c:	83 c4 08             	add    $0x8,%esp
52851f:	89 45 c8             	mov    %eax,-0x38(%ebp)
528522:	85 c0                	test   %eax,%eax
528524:	75 0d                	jne    0x528533
528526:	56                   	push   %esi
528527:	53                   	push   %ebx
528528:	e8 b3 dd ff ff       	call   0x5262e0
52852d:	83 c4 08             	add    $0x8,%esp
528530:	89 45 c8             	mov    %eax,-0x38(%ebp)
528533:	0f b7 4e 20          	movzwl 0x20(%esi),%ecx
528537:	33 ff                	xor    %edi,%edi
528539:	8b 75 bc             	mov    -0x44(%ebp),%esi
52853c:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
52853f:	8b 5e 04             	mov    0x4(%esi),%ebx
528542:	66 39 0b             	cmp    %cx,(%ebx)
528545:	75 3b                	jne    0x528582
528547:	85 c0                	test   %eax,%eax
528549:	74 43                	je     0x52858e
52854b:	8b 10                	mov    (%eax),%edx
52854d:	8b 46 20             	mov    0x20(%esi),%eax
528550:	8b 34 b8             	mov    (%eax,%edi,4),%esi
528553:	2b f2                	sub    %edx,%esi
528555:	0f b6 02             	movzbl (%edx),%eax
528558:	0f b6 0c 16          	movzbl (%esi,%edx,1),%ecx
52855c:	3b c1                	cmp    %ecx,%eax
52855e:	75 07                	jne    0x528567
528560:	85 c0                	test   %eax,%eax
528562:	74 2a                	je     0x52858e
528564:	42                   	inc    %edx
528565:	eb ee                	jmp    0x528555
528567:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
52856e:	0f b6 80 20 2a 6b 00 	movzbl 0x6b2a20(%eax),%eax
528575:	2b c1                	sub    %ecx,%eax
528577:	75 03                	jne    0x52857c
528579:	42                   	inc    %edx
52857a:	eb d9                	jmp    0x528555
52857c:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
52857f:	8b 75 bc             	mov    -0x44(%ebp),%esi
528582:	8b 45 c8             	mov    -0x38(%ebp),%eax
528585:	47                   	inc    %edi
528586:	83 c3 02             	add    $0x2,%ebx
528589:	3b 7d d8             	cmp    -0x28(%ebp),%edi
52858c:	7c b4                	jl     0x528542
52858e:	8b 5d d8             	mov    -0x28(%ebp),%ebx
528591:	3b fb                	cmp    %ebx,%edi
528593:	74 50                	je     0x5285e5
528595:	33 d2                	xor    %edx,%edx
528597:	8b c7                	mov    %edi,%eax
528599:	0f ab c2             	bts    %eax,%edx
52859c:	33 f6                	xor    %esi,%esi
52859e:	83 f8 20             	cmp    $0x20,%eax
5285a1:	0f 43 f2             	cmovae %edx,%esi
5285a4:	33 d6                	xor    %esi,%edx
5285a6:	83 f8 40             	cmp    $0x40,%eax
5285a9:	8b ca                	mov    %edx,%ecx
5285ab:	0f 43 f2             	cmovae %edx,%esi
5285ae:	23 4d b4             	and    -0x4c(%ebp),%ecx
5285b1:	8b c6                	mov    %esi,%eax
5285b3:	23 45 c0             	and    -0x40(%ebp),%eax
5285b6:	0b c8                	or     %eax,%ecx
5285b8:	75 2b                	jne    0x5285e5
5285ba:	09 55 b4             	or     %edx,-0x4c(%ebp)
5285bd:	09 75 c0             	or     %esi,-0x40(%ebp)
5285c0:	8b 4d a0             	mov    -0x60(%ebp),%ecx
5285c3:	85 c9                	test   %ecx,%ecx
5285c5:	74 06                	je     0x5285cd
5285c7:	8b 45 b8             	mov    -0x48(%ebp),%eax
5285ca:	89 3c 81             	mov    %edi,(%ecx,%eax,4)
5285cd:	8b 7d b8             	mov    -0x48(%ebp),%edi
5285d0:	8b 75 a4             	mov    -0x5c(%ebp),%esi
5285d3:	47                   	inc    %edi
5285d4:	83 c6 14             	add    $0x14,%esi
5285d7:	89 7d b8             	mov    %edi,-0x48(%ebp)
5285da:	89 75 a4             	mov    %esi,-0x5c(%ebp)
5285dd:	3b fb                	cmp    %ebx,%edi
5285df:	0f 8c bf fe ff ff    	jl     0x5284a4
5285e5:	8b 5d bc             	mov    -0x44(%ebp),%ebx
5285e8:	8b 55 d8             	mov    -0x28(%ebp),%edx
5285eb:	8b 75 c0             	mov    -0x40(%ebp),%esi
5285ee:	8b 7d cc             	mov    -0x34(%ebp),%edi
5285f1:	8b c2                	mov    %edx,%eax
5285f3:	33 c9                	xor    %ecx,%ecx
5285f5:	33 d2                	xor    %edx,%edx
5285f7:	0f ab c1             	bts    %eax,%ecx
5285fa:	83 f8 20             	cmp    $0x20,%eax
5285fd:	0f 43 d1             	cmovae %ecx,%edx
528600:	33 ca                	xor    %edx,%ecx
528602:	83 f8 40             	cmp    $0x40,%eax
528605:	0f 43 d1             	cmovae %ecx,%edx
528608:	83 c1 ff             	add    $0xffffffff,%ecx
52860b:	83 d2 ff             	adc    $0xffffffff,%edx
52860e:	39 4d b4             	cmp    %ecx,-0x4c(%ebp)
528611:	0f 85 64 01 00 00    	jne    0x52877b
528617:	3b f2                	cmp    %edx,%esi
528619:	0f 85 5c 01 00 00    	jne    0x52877b
52861f:	8b 7d d0             	mov    -0x30(%ebp),%edi
528622:	8b 77 6c             	mov    0x6c(%edi),%esi
528625:	39 77 70             	cmp    %esi,0x70(%edi)
528628:	7f 20                	jg     0x52864a
52862a:	6a 00                	push   $0x0
52862c:	6a 00                	push   $0x0
52862e:	6a 00                	push   $0x0
528630:	6a 11                	push   $0x11
528632:	57                   	push   %edi
528633:	e8 c8 de fd ff       	call   0x506500
528638:	83 c4 14             	add    $0x14,%esp
52863b:	8b f0                	mov    %eax,%esi
52863d:	eb 3e                	jmp    0x52867d
52863f:	8b 45 98             	mov    -0x68(%ebp),%eax
528642:	8b 75 9c             	mov    -0x64(%ebp),%esi
528645:	89 45 b4             	mov    %eax,-0x4c(%ebp)
528648:	eb a7                	jmp    0x5285f1
52864a:	8d 46 01             	lea    0x1(%esi),%eax
52864d:	89 47 6c             	mov    %eax,0x6c(%edi)
528650:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
528653:	8b 47 68             	mov    0x68(%edi),%eax
528656:	c7 04 88 11 00 00 00 	movl   $0x11,(%eax,%ecx,4)
52865d:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
528664:	00
528665:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
52866c:	00
52866d:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
528674:	00
528675:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52867c:	00
52867d:	ff 33                	push   (%ebx)
52867f:	68 58 91 6b 00       	push   $0x6b9158