506404:	e8 b7 c3 02 00       	call   0x5327c0
506409:	83 c4 38             	add    $0x38,%esp
50640c:	c3                   	ret
50640d:	cc                   	int3
50640e:	cc                   	int3
50640f:	cc                   	int3
506410:	b8 34 00 00 00       	mov    $0x34,%eax
506415:	e8 96 b3 0c 00       	call   0x5d17b0
50641a:	8b 44 24 40          	mov    0x40(%esp),%eax
50641e:	0f 57 c0             	xorps  %xmm0,%xmm0
506421:	53                   	push   %ebx
506422:	55                   	push   %ebp
506423:	66 0f 13 44 24 24    	movlpd %xmm0,0x24(%esp)
506429:	8a 00                	mov    (%eax),%al
50642b:	8b 4c 24 28          	mov    0x28(%esp),%ecx
50642f:	8b 5c 24 24          	mov    0x24(%esp),%ebx
506433:	88 44 24 0b          	mov    %al,0xb(%esp)
506437:	56                   	push   %esi
506438:	57                   	push   %edi
506439:	84 c0                	test   %al,%al
50643b:	0f 84 f2 00 00 00    	je     0x506533
506441:	89 5c 24 14          	mov    %ebx,0x14(%esp)
506445:	3c 30                	cmp    $0x30,%al
506447:	0f 8c 0e 01 00 00    	jl     0x50655b
50644d:	3c 39                	cmp    $0x39,%al
50644f:	0f 8f 06 01 00 00    	jg     0x50655b
506455:	8b c3                	mov    %ebx,%eax
506457:	8b d1                	mov    %ecx,%edx
506459:	0f a4 c2 02          	shld   $0x2,%eax,%edx
50645d:	8b f3                	mov    %ebx,%esi
50645f:	8b e9                	mov    %ecx,%ebp
506461:	c1 e0 02             	shl    $0x2,%eax
506464:	bb 00 00 00 00       	mov    $0x0,%ebx
506469:	03 f0                	add    %eax,%esi
50646b:	13 ea                	adc    %edx,%ebp
50646d:	0f be 54 24 13       	movsbl 0x13(%esp),%edx
506472:	0f a4 f5 01          	shld   $0x1,%esi,%ebp
506476:	83 ea 30             	sub    $0x30,%edx
506479:	03 f6                	add    %esi,%esi
50647b:	89 6c 24 18          	mov    %ebp,0x18(%esp)
50647f:	8b c2                	mov    %edx,%eax
506481:	03 c6                	add    %esi,%eax
506483:	89 44 24 28          	mov    %eax,0x28(%esp)
506487:	13 dd                	adc    %ebp,%ebx
506489:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
50648d:	85 db                	test   %ebx,%ebx
50648f:	0f 82 c6 00 00 00    	jb     0x50655b
506495:	77 08                	ja     0x50649f
506497:	3b c2                	cmp    %edx,%eax
506499:	0f 82 bc 00 00 00    	jb     0x50655b
50649f:	ba cd cc cc cc       	mov    $0xcccccccd,%edx
5064a4:	8b c6                	mov    %esi,%eax
5064a6:	8d 5a ff             	lea    -0x1(%edx),%ebx
5064a9:	f7 e2                	mul    %edx
5064ab:	89 44 24 20          	mov    %eax,0x20(%esp)
5064af:	8b fa                	mov    %edx,%edi
5064b1:	8b c6                	mov    %esi,%eax
5064b3:	f7 e3                	mul    %ebx
5064b5:	89 54 24 1c          	mov    %edx,0x1c(%esp)
5064b9:	8b d8                	mov    %eax,%ebx
5064bb:	8b c5                	mov    %ebp,%eax
5064bd:	ba cd cc cc cc       	mov    $0xcccccccd,%edx
5064c2:	f7 e2                	mul    %edx
5064c4:	8b ea                	mov    %edx,%ebp
5064c6:	8b f0                	mov    %eax,%esi
5064c8:	8b 44 24 18          	mov    0x18(%esp),%eax
5064cc:	ba cc cc cc cc       	mov    $0xcccccccc,%edx
5064d1:	f7 e2                	mul    %edx
5064d3:	03 f7                	add    %edi,%esi
5064d5:	89 54 24 20          	mov    %edx,0x20(%esp)
5064d9:	8b 54 24 1c          	mov    0x1c(%esp),%edx
5064dd:	83 d5 00             	adc    $0x0,%ebp
5064e0:	03 de                	add    %esi,%ebx
5064e2:	89 44 24 18          	mov    %eax,0x18(%esp)
5064e6:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
5064ea:	8b 5c 24 20          	mov    0x20(%esp),%ebx
5064ee:	83 d2 00             	adc    $0x0,%edx
5064f1:	33 c0                	xor    %eax,%eax
5064f3:	03 ea                	add    %edx,%ebp
5064f5:	8b 54 24 18          	mov    0x18(%esp),%edx
5064f9:	13 c0                	adc    %eax,%eax
5064fb:	03 d5                	add    %ebp,%edx
5064fd:	13 d8                	adc    %eax,%ebx
5064ff:	0f ac da 03          	shrd   $0x3,%ebx,%edx
506503:	c1 eb 03             	shr    $0x3,%ebx
506506:	3b 54 24 14          	cmp    0x14(%esp),%edx
50650a:	75 4f                	jne    0x50655b
50650c:	3b d9                	cmp    %ecx,%ebx
50650e:	75 4b                	jne    0x50655b
506510:	8b 44 24 50          	mov    0x50(%esp),%eax
506514:	8b 5c 24 28          	mov    0x28(%esp),%ebx
506518:	40                   	inc    %eax
506519:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
50651d:	89 44 24 50          	mov    %eax,0x50(%esp)
506521:	89 5c 24 14          	mov    %ebx,0x14(%esp)
506525:	8a 00                	mov    (%eax),%al
506527:	88 44 24 13          	mov    %al,0x13(%esp)
50652b:	84 c0                	test   %al,%al
50652d:	0f 85 12 ff ff ff    	jne    0x506445
506533:	8b 44 24 48          	mov    0x48(%esp),%eax
506537:	89 5c 24 34          	mov    %ebx,0x34(%esp)
50653b:	89 4c 24 38          	mov    %ecx,0x38(%esp)
50653f:	8b 70 14             	mov    0x14(%eax),%esi
506542:	8b 44 24 4c          	mov    0x4c(%esp),%eax
506546:	05 f8 ef ff ff       	add    $0xffffeff8,%eax
50654b:	83 f8 05             	cmp    $0x5,%eax
50654e:	0f 87 78 01 00 00    	ja     0x5066cc
506554:	ff 24 85 dc 66 50 00 	jmp    *0x5066dc(,%eax,4)
50655b:	68 ad 00 00 00       	push   $0xad
506560:	68 04 aa 62 00       	push   $0x62aa04
506565:	6a 6c                	push   $0x6c
506567:	6a 69                	push   $0x69
506569:	6a 34                	push   $0x34
50656b:	e8 10 2a fd ff       	call   0x4d8f80
506570:	83 c4 14             	add    $0x14,%esp
506573:	5f                   	pop    %edi
506574:	5e                   	pop    %esi
506575:	5d                   	pop    %ebp
506576:	33 c0                	xor    %eax,%eax
506578:	5b                   	pop    %ebx
506579:	83 c4 34             	add    $0x34,%esp
50657c:	c3                   	ret
50657d:	8b 06                	mov    (%esi),%eax
50657f:	85 c0                	test   %eax,%eax
506581:	74 13                	je     0x506596
506583:	6a 64                	push   $0x64
506585:	68 04 aa 62 00       	push   $0x62aa04
50658a:	ff 76 04             	push   0x4(%esi)
50658d:	50                   	push   %eax
50658e:	e8 ad a2 fd ff       	call   0x4e0840
506593:	83 c4 10             	add    $0x10,%esp
506596:	6a 69                	push   $0x69
506598:	68 04 aa 62 00       	push   $0x62aa04
50659d:	6a 01                	push   $0x1
50659f:	e8 ac a1 fd ff       	call   0x4e0750
5065a4:	83 c4 0c             	add    $0xc,%esp
5065a7:	89 06                	mov    %eax,(%esi)
5065a9:	85 c0                	test   %eax,%eax
5065ab:	75 1f                	jne    0x5065cc
5065ad:	6a 6c                	push   $0x6c
5065af:	68 04 aa 62 00       	push   $0x62aa04
5065b4:	6a 41                	push   $0x41
5065b6:	6a 6b                	push   $0x6b
5065b8:	6a 34                	push   $0x34
5065ba:	e8 c1 29 fd ff       	call   0x4d8f80
5065bf:	83 c4 14             	add    $0x14,%esp
5065c2:	33 c0                	xor    %eax,%eax
5065c4:	5f                   	pop    %edi
5065c5:	5e                   	pop    %esi
5065c6:	5d                   	pop    %ebp
5065c7:	5b                   	pop    %ebx
5065c8:	83 c4 34             	add    $0x34,%esp
5065cb:	c3                   	ret
5065cc:	5f                   	pop    %edi
5065cd:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
5065d4:	b8 01 00 00 00       	mov    $0x1,%eax
5065d9:	5e                   	pop    %esi
5065da:	5d                   	pop    %ebp
5065db:	5b                   	pop    %ebx
5065dc:	83 c4 34             	add    $0x34,%esp
5065df:	c3                   	ret
5065e0:	8b 46 08             	mov    0x8(%esi),%eax
5065e3:	85 c0                	test   %eax,%eax
5065e5:	74 13                	je     0x5065fa
5065e7:	6a 64                	push   $0x64
5065e9:	68 04 aa 62 00       	push   $0x62aa04
5065ee:	ff 76 0c             	push   0xc(%esi)
5065f1:	50                   	push   %eax
5065f2:	e8 49 a2 fd ff       	call   0x4e0840
5065f7:	83 c4 10             	add    $0x10,%esp
5065fa:	6a 69                	push   $0x69
5065fc:	68 04 aa 62 00       	push   $0x62aa04
506601:	6a 01                	push   $0x1
506603:	e8 48 a1 fd ff       	call   0x4e0750
506608:	83 c4 0c             	add    $0xc,%esp
50660b:	89 46 08             	mov    %eax,0x8(%esi)
50660e:	85 c0                	test   %eax,%eax
506610:	74 9b                	je     0x5065ad
506612:	5f                   	pop    %edi
506613:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
50661a:	b8 01 00 00 00       	mov    $0x1,%eax
50661f:	5e                   	pop    %esi
506620:	5d                   	pop    %ebp
506621:	5b                   	pop    %ebx
506622:	83 c4 34             	add    $0x34,%esp
506625:	c3                   	ret
506626:	85 c9                	test   %ecx,%ecx
506628:	75 09                	jne    0x506633
50662a:	83 fb 01             	cmp    $0x1,%ebx
50662d:	0f 86 40 ff ff ff    	jbe    0x506573
506633:	8b d3                	mov    %ebx,%edx
506635:	8b c1                	mov    %ecx,%eax
506637:	83 c2 ff             	add    $0xffffffff,%edx
50663a:	83 d0 ff             	adc    $0xffffffff,%eax
50663d:	23 d3                	and    %ebx,%edx
50663f:	23 c1                	and    %ecx,%eax
506641:	0b d0                	or     %eax,%edx
506643:	0f 85 2a ff ff ff    	jne    0x506573
506649:	5f                   	pop    %edi
50664a:	89 5e 10             	mov    %ebx,0x10(%esi)
50664d:	8d 42 01             	lea    0x1(%edx),%eax
506650:	89 4e 14             	mov    %ecx,0x14(%esi)
506653:	5e                   	pop    %esi
506654:	5d                   	pop    %ebp
506655:	5b                   	pop    %ebx
506656:	83 c4 34             	add    $0x34,%esp
506659:	c3                   	ret
50665a:	85 c9                	test   %ecx,%ecx
50665c:	77 0f                	ja     0x50666d
50665e:	0f 82 0f ff ff ff    	jb     0x506573
506664:	83 fb 01             	cmp    $0x1,%ebx
506667:	0f 82 06 ff ff ff    	jb     0x506573
50666d:	5f                   	pop    %edi
50666e:	89 5e 18             	mov    %ebx,0x18(%esi)
506671:	b8 01 00 00 00       	mov    $0x1,%eax
506676:	89 4e 1c             	mov    %ecx,0x1c(%esi)
506679:	5e                   	pop    %esi
50667a:	5d                   	pop    %ebp
50667b:	5b                   	pop    %ebx
50667c:	83 c4 34             	add    $0x34,%esp
50667f:	c3                   	ret
506680:	85 c9                	test   %ecx,%ecx
506682:	77 0f                	ja     0x506693
506684:	0f 82 e9 fe ff ff    	jb     0x506573
50668a:	83 fb 01             	cmp    $0x1,%ebx
50668d:	0f 82 e0 fe ff ff    	jb     0x506573
506693:	5f                   	pop    %edi
506694:	89 5e 20             	mov    %ebx,0x20(%esi)
506697:	b8 01 00 00 00       	mov    $0x1,%eax
50669c:	89 4e 24             	mov    %ecx,0x24(%esi)
50669f:	5e                   	pop    %esi
5066a0:	5d                   	pop    %ebp
5066a1:	5b                   	pop    %ebx
5066a2:	83 c4 34             	add    $0x34,%esp
5066a5:	c3                   	ret
5066a6:	85 c9                	test   %ecx,%ecx
5066a8:	77 0f                	ja     0x5066b9
5066aa:	0f 82 c3 fe ff ff    	jb     0x506573
5066b0:	83 fb 01             	cmp    $0x1,%ebx
5066b3:	0f 82 ba fe ff ff    	jb     0x506573
5066b9:	5f                   	pop    %edi
5066ba:	89 5e 28             	mov    %ebx,0x28(%esi)
5066bd:	b8 01 00 00 00       	mov    $0x1,%eax
5066c2:	89 4e 2c             	mov    %ecx,0x2c(%esi)
5066c5:	5e                   	pop    %esi
5066c6:	5d                   	pop    %ebp
5066c7:	5b                   	pop    %ebx
5066c8:	83 c4 34             	add    $0x34,%esp
5066cb:	c3                   	ret
5066cc:	5f                   	pop    %edi
5066cd:	5e                   	pop    %esi
5066ce:	5d                   	pop    %ebp
5066cf:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
5066d4:	5b                   	pop    %ebx
5066d5:	83 c4 34             	add    $0x34,%esp
5066d8:	c3                   	ret
5066d9:	0f 1f 00             	nopl   (%eax)
5066dc:	7d 65                	jge    0x506743
5066de:	50                   	push   %eax
5066df:	00 e0                	add    %ah,%al
5066e1:	65 50                	gs push %eax
5066e3:	00 26                	add    %ah,(%esi)
5066e5:	66 50                	push   %ax
5066e7:	00 5a 66             	add    %bl,0x66(%edx)
5066ea:	50                   	push   %eax
5066eb:	00 80 66 50 00 a6    	add    %al,-0x59ffaf9a(%eax)
5066f1:	66 50                	push   %ax
5066f3:	00 cc                	add    %cl,%ah
5066f5:	cc                   	int3
5066f6:	cc                   	int3
5066f7:	cc                   	int3
5066f8:	cc                   	int3
5066f9:	cc                   	int3
5066fa:	cc                   	int3
5066fb:	cc                   	int3
5066fc:	cc                   	int3
5066fd:	cc                   	int3
5066fe:	cc                   	int3
5066ff:	cc                   	int3
506700:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
506705:	75 06                	jne    0x50670d
506707:	b8 01 00 00 00       	mov    $0x1,%eax
50670c:	c3                   	ret
50670d:	56                   	push   %esi
50670e:	8b 74 24 14          	mov    0x14(%esp),%esi
506712:	85 f6                	test   %esi,%esi
506714:	79 04                	jns    0x50671a
506716:	33 c0                	xor    %eax,%eax
506718:	5e                   	pop    %esi
506719:	c3                   	ret
50671a:	53                   	push   %ebx
50671b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
50671f:	55                   	push   %ebp
506720:	8b 6c 24 10          	mov    0x10(%esp),%ebp
506724:	8b 45 00             	mov    0x0(%ebp),%eax
506727:	85 c0                	test   %eax,%eax
506729:	74 12                	je     0x50673d
50672b:	6a 64                	push   $0x64
50672d:	68 04 aa 62 00       	push   $0x62aa04
506732:	ff 33                	push   (%ebx)
506734:	50                   	push   %eax
506735:	e8 06 a1 fd ff       	call   0x4e0840
50673a:	83 c4 10             	add    $0x10,%esp
50673d:	85 f6                	test   %esi,%esi
50673f:	7e 16                	jle    0x506757
506741:	6a 67                	push   $0x67
506743:	68 04 aa 62 00       	push   $0x62aa04
506748:	56                   	push   %esi
506749:	ff 74 24 24          	push   0x24(%esp)
50674d:	e8 1e b9 fd ff       	call   0x4e2070
506752:	83 c4 10             	add    $0x10,%esp
506755:	eb 11                	jmp    0x506768
506757:	6a 69                	push   $0x69
506759:	68 04 aa 62 00       	push   $0x62aa04
50675e:	6a 01                	push   $0x1
506760:	e8 eb 9f fd ff       	call   0x4e0750
506765:	83 c4 0c             	add    $0xc,%esp
506768:	89 45 00             	mov    %eax,0x0(%ebp)
50676b:	85 c0                	test   %eax,%eax
50676d:	75 1b                	jne    0x50678a
50676f:	6a 6c                	push   $0x6c
506771:	68 04 aa 62 00       	push   $0x62aa04
506776:	6a 41                	push   $0x41
506778:	6a 6b                	push   $0x6b
50677a:	6a 34                	push   $0x34
50677c:	e8 ff 27 fd ff       	call   0x4d8f80
506781:	83 c4 14             	add    $0x14,%esp
506784:	33 c0                	xor    %eax,%eax
506786:	5d                   	pop    %ebp
506787:	5b                   	pop    %ebx
506788:	5e                   	pop    %esi
506789:	c3                   	ret
50678a:	5d                   	pop    %ebp
50678b:	89 33                	mov    %esi,(%ebx)
50678d:	b8 01 00 00 00       	mov    $0x1,%eax
506792:	5b                   	pop    %ebx
506793:	5e                   	pop    %esi
506794:	c3                   	ret
506795:	cc                   	int3
506796:	cc                   	int3
506797:	cc                   	int3
506798:	cc                   	int3
506799:	cc                   	int3
50679a:	cc                   	int3
50679b:	cc                   	int3
50679c:	cc                   	int3
50679d:	cc                   	int3
50679e:	cc                   	int3
50679f:	cc                   	int3
5067a0:	6a 28                	push   $0x28