64541e:	cc                   	int3
64541f:	cc                   	int3
645420:	55                   	push   %ebp
645421:	8b ec                	mov    %esp,%ebp
645423:	8b 45 08             	mov    0x8(%ebp),%eax
645426:	0f af 45 0c          	imul   0xc(%ebp),%eax
64542a:	83 e8 00             	sub    $0x0,%eax
64542d:	74 17                	je     0x645446
64542f:	83 e8 01             	sub    $0x1,%eax
645432:	74 09                	je     0x64543d
645434:	b8 02 00 00 00       	mov    $0x2,%eax
645439:	5d                   	pop    %ebp
64543a:	c2 08 00             	ret    $0x8
64543d:	b8 01 00 00 00       	mov    $0x1,%eax
645442:	5d                   	pop    %ebp
645443:	c2 08 00             	ret    $0x8
645446:	33 c0                	xor    %eax,%eax
645448:	5d                   	pop    %ebp
645449:	c2 08 00             	ret    $0x8
64544c:	cc                   	int3
64544d:	cc                   	int3
64544e:	cc                   	int3
64544f:	cc                   	int3
645450:	55                   	push   %ebp
645451:	8b ec                	mov    %esp,%ebp
645453:	56                   	push   %esi
645454:	8b f1                	mov    %ecx,%esi
645456:	57                   	push   %edi
645457:	8d 7e 50             	lea    0x50(%esi),%edi
64545a:	c6 07 00             	movb   $0x0,(%edi)
64545d:	8b 8e b0 00 00 00    	mov    0xb0(%esi),%ecx
645463:	6a 01                	push   $0x1
645465:	83 c1 70             	add    $0x70,%ecx
645468:	e8 43 40 df ff       	call   0x4394b0
64546d:	8b c8                	mov    %eax,%ecx
64546f:	e8 0c 6a ff ff       	call   0x63be80
645474:	33 c9                	xor    %ecx,%ecx
645476:	c7 46 18 01 00 00 00 	movl   $0x1,0x18(%esi)
64547d:	3d f4 01 00 00       	cmp    $0x1f4,%eax
645482:	0f 9e c1             	setle  %cl
645485:	89 4e 1c             	mov    %ecx,0x1c(%esi)
645488:	83 e9 00             	sub    $0x0,%ecx
64548b:	74 20                	je     0x6454ad
64548d:	57                   	push   %edi
64548e:	8b ce                	mov    %esi,%ecx
645490:	e8 3b 00 00 00       	call   0x6454d0
645495:	8b 4d 08             	mov    0x8(%ebp),%ecx
645498:	8a 17                	mov    (%edi),%dl
64549a:	88 11                	mov    %dl,(%ecx)
64549c:	b9 01 00 00 00       	mov    $0x1,%ecx
6454a1:	80 3f 00             	cmpb   $0x0,(%edi)
6454a4:	5f                   	pop    %edi
6454a5:	0f 44 c1             	cmove  %ecx,%eax
6454a8:	5e                   	pop    %esi
6454a9:	5d                   	pop    %ebp
6454aa:	c2 04 00             	ret    $0x4
6454ad:	8b 4d 08             	mov    0x8(%ebp),%ecx
6454b0:	33 c0                	xor    %eax,%eax
6454b2:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
6454b8:	5f                   	pop    %edi
6454b9:	5e                   	pop    %esi
6454ba:	c6 01 01             	movb   $0x1,(%ecx)
6454bd:	5d                   	pop    %ebp
6454be:	c2 04 00             	ret    $0x4
6454c1:	cc                   	int3
6454c2:	cc                   	int3
6454c3:	cc                   	int3
6454c4:	cc                   	int3
6454c5:	cc                   	int3
6454c6:	cc                   	int3
6454c7:	cc                   	int3
6454c8:	cc                   	int3
6454c9:	cc                   	int3
6454ca:	cc                   	int3
6454cb:	cc                   	int3
6454cc:	cc                   	int3
6454cd:	cc                   	int3
6454ce:	cc                   	int3
6454cf:	cc                   	int3
6454d0:	55                   	push   %ebp
6454d1:	8b ec                	mov    %esp,%ebp
6454d3:	83 ec 08             	sub    $0x8,%esp
6454d6:	56                   	push   %esi
6454d7:	8b f1                	mov    %ecx,%esi
6454d9:	57                   	push   %edi
6454da:	8b 96 84 00 00 00    	mov    0x84(%esi),%edx
6454e0:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
6454e6:	e8 55 c3 f9 ff       	call   0x5e1840
6454eb:	f2 0f 59 05 60 c5 6b 	mulsd  0x6bc560,%xmm0
6454f2:	00
6454f3:	e8 f1 c1 f9 ff       	call   0x5e16e9
6454f8:	52                   	push   %edx
6454f9:	50                   	push   %eax
6454fa:	52                   	push   %edx
6454fb:	50                   	push   %eax
6454fc:	e8 ff c5 f9 ff       	call   0x5e1b00
645501:	39 96 94 00 00 00    	cmp    %edx,0x94(%esi)
645507:	72 0e                	jb     0x645517
645509:	77 08                	ja     0x645513
64550b:	39 86 90 00 00 00    	cmp    %eax,0x90(%esi)
645511:	76 04                	jbe    0x645517
645513:	32 c9                	xor    %cl,%cl
645515:	eb 02                	jmp    0x645519
645517:	b1 01                	mov    $0x1,%cl
645519:	8b 45 08             	mov    0x8(%ebp),%eax
64551c:	bf 01 00 00 00       	mov    $0x1,%edi
645521:	88 08                	mov    %cl,(%eax)
645523:	84 c9                	test   %cl,%cl
645525:	0f 84 1c 02 00 00    	je     0x645747
64552b:	83 3e 03             	cmpl   $0x3,(%esi)
64552e:	53                   	push   %ebx
64552f:	74 22                	je     0x645553
645531:	83 3e 04             	cmpl   $0x4,(%esi)
645534:	74 1d                	je     0x645553
645536:	8b 9e 98 00 00 00    	mov    0x98(%esi),%ebx
64553c:	8b cb                	mov    %ebx,%ecx
64553e:	8b 96 9c 00 00 00    	mov    0x9c(%esi),%edx
645544:	e8 f7 c2 f9 ff       	call   0x5e1840
645549:	f2 0f 59 05 60 c5 6b 	mulsd  0x6bc560,%xmm0
645550:	00
645551:	eb 1b                	jmp    0x64556e
645553:	8b 9e 98 00 00 00    	mov    0x98(%esi),%ebx
645559:	8b cb                	mov    %ebx,%ecx
64555b:	8b 96 9c 00 00 00    	mov    0x9c(%esi),%edx
645561:	e8 da c2 f9 ff       	call   0x5e1840
645566:	f2 0f 59 05 e0 9e 6a 	mulsd  0x6a9ee0,%xmm0
64556d:	00
64556e:	e8 76 c1 f9 ff       	call   0x5e16e9
645573:	8b 4e 68             	mov    0x68(%esi),%ecx
645576:	89 55 08             	mov    %edx,0x8(%ebp)
645579:	8b d3                	mov    %ebx,%edx
64557b:	03 d0                	add    %eax,%edx
64557d:	89 45 fc             	mov    %eax,-0x4(%ebp)
645580:	89 55 f8             	mov    %edx,-0x8(%ebp)
645583:	8b 96 9c 00 00 00    	mov    0x9c(%esi),%edx
645589:	8b c2                	mov    %edx,%eax
64558b:	13 45 08             	adc    0x8(%ebp),%eax
64558e:	39 46 6c             	cmp    %eax,0x6c(%esi)
645591:	72 3a                	jb     0x6455cd
645593:	77 05                	ja     0x64559a
645595:	3b 4d f8             	cmp    -0x8(%ebp),%ecx
645598:	76 33                	jbe    0x6455cd
64559a:	33 db                	xor    %ebx,%ebx
64559c:	c7 86 a8 00 00 00 00 	movl   $0x0,0xa8(%esi)
6455a3:	00 00 00
6455a6:	83 eb 00             	sub    $0x0,%ebx
6455a9:	0f 84 4a 01 00 00    	je     0x6456f9
6455af:	2b df                	sub    %edi,%ebx
6455b1:	0f 84 f2 00 00 00    	je     0x6456a9
6455b7:	2b df                	sub    %edi,%ebx
6455b9:	0f 85 70 01 00 00    	jne    0x64572f
6455bf:	8b 06                	mov    (%esi),%eax
6455c1:	83 f8 04             	cmp    $0x4,%eax
6455c4:	77 60                	ja     0x645626
6455c6:	ff 24 85 54 57 64 00 	jmp    *0x645754(,%eax,4)
6455cd:	03 4d fc             	add    -0x4(%ebp),%ecx
6455d0:	8b 46 6c             	mov    0x6c(%esi),%eax
6455d3:	13 45 08             	adc    0x8(%ebp),%eax
6455d6:	3b c2                	cmp    %edx,%eax
6455d8:	77 0a                	ja     0x6455e4
6455da:	72 04                	jb     0x6455e0
6455dc:	3b cb                	cmp    %ebx,%ecx
6455de:	73 04                	jae    0x6455e4
6455e0:	8b df                	mov    %edi,%ebx
6455e2:	eb b8                	jmp    0x64559c
6455e4:	bb 02 00 00 00       	mov    $0x2,%ebx
6455e9:	39 3e                	cmp    %edi,(%esi)
6455eb:	75 af                	jne    0x64559c
6455ed:	ff 86 a8 00 00 00    	incl   0xa8(%esi)
6455f3:	e8 e8 0d ff ff       	call   0x6363e0
6455f8:	ff b6 a8 00 00 00    	push   0xa8(%esi)
6455fe:	68 9c 28 6e 00       	push   $0x6e289c
645603:	8b 08                	mov    (%eax),%ecx
645605:	50                   	push   %eax
645606:	ff 51 04             	call   *0x4(%ecx)
645609:	83 c4 0c             	add    $0xc,%esp
64560c:	eb 98                	jmp    0x6455a6
64560e:	6a 10                	push   $0x10
645610:	33 ff                	xor    %edi,%edi
645612:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
645618:	68 74 29 6e 00       	push   $0x6e2974
64561d:	e9 05 01 00 00       	jmp    0x645727
645622:	33 ff                	xor    %edi,%edi
645624:	89 3e                	mov    %edi,(%esi)
645626:	6a 10                	push   $0x10
645628:	68 74 29 6e 00       	push   $0x6e2974
64562d:	e9 f5 00 00 00       	jmp    0x645727
645632:	83 be a8 00 00 00 02 	cmpl   $0x2,0xa8(%esi)
645639:	7c e9                	jl     0x645624
64563b:	83 be ac 00 00 00 03 	cmpl   $0x3,0xac(%esi)
645642:	75 24                	jne    0x645668
645644:	33 ff                	xor    %edi,%edi
645646:	c7 06 04 00 00 00    	movl   $0x4,(%esi)
64564c:	c7 86 ac 00 00 00 04 	movl   $0x4,0xac(%esi)
645653:	00 00 00
645656:	e8 85 0d ff ff       	call   0x6363e0
64565b:	ff b6 a8 00 00 00    	push   0xa8(%esi)
645661:	68 f8 28 6e 00       	push   $0x6e28f8
645666:	eb 25                	jmp    0x64568d
645668:	bf 02 00 00 00       	mov    $0x2,%edi
64566d:	c7 06 03 00 00 00    	movl   $0x3,(%esi)
645673:	c7 86 ac 00 00 00 03 	movl   $0x3,0xac(%esi)
64567a:	00 00 00
64567d:	e8 5e 0d ff ff       	call   0x6363e0
645682:	ff b6 a8 00 00 00    	push   0xa8(%esi)
645688:	68 34 29 6e 00       	push   $0x6e2934
64568d:	8b 08                	mov    (%eax),%ecx
64568f:	50                   	push   %eax
645690:	ff 51 04             	call   *0x4(%ecx)
645693:	83 c4 0c             	add    $0xc,%esp
645696:	c7 86 a8 00 00 00 00 	movl   $0x0,0xa8(%esi)
64569d:	00 00 00
6456a0:	6a 10                	push   $0x10
6456a2:	68 74 29 6e 00       	push   $0x6e2974
6456a7:	eb 7e                	jmp    0x645727
6456a9:	8b 06                	mov    (%esi),%eax
6456ab:	83 f8 04             	cmp    $0x4,%eax
6456ae:	77 40                	ja     0x6456f0
6456b0:	ff 24 85 68 57 64 00 	jmp    *0x645768(,%eax,4)
6456b7:	6a 13                	push   $0x13
6456b9:	33 ff                	xor    %edi,%edi
6456bb:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
6456c1:	68 e4 28 6e 00       	push   $0x6e28e4
6456c6:	eb 5f                	jmp    0x645727
6456c8:	6a 13                	push   $0x13
6456ca:	bf 02 00 00 00       	mov    $0x2,%edi
6456cf:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
6456d5:	68 e4 28 6e 00       	push   $0x6e28e4
6456da:	eb 4b                	jmp    0x645727
6456dc:	bf 02 00 00 00       	mov    $0x2,%edi
6456e1:	6a 13                	push   $0x13
6456e3:	89 3e                	mov    %edi,(%esi)
6456e5:	68 e4 28 6e 00       	push   $0x6e28e4
6456ea:	eb 3b                	jmp    0x645727
6456ec:	33 ff                	xor    %edi,%edi
6456ee:	89 3e                	mov    %edi,(%esi)
6456f0:	6a 13                	push   $0x13
6456f2:	68 e4 28 6e 00       	push   $0x6e28e4
6456f7:	eb 2e                	jmp    0x645727
6456f9:	8b 06                	mov    (%esi),%eax
6456fb:	83 e8 03             	sub    $0x3,%eax
6456fe:	74 19                	je     0x645719
645700:	83 e8 01             	sub    $0x1,%eax
645703:	74 10                	je     0x645715
645705:	8b 06                	mov    (%esi),%eax
645707:	8b ce                	mov    %esi,%ecx
645709:	50                   	push   %eax
64570a:	6a 02                	push   $0x2
64570c:	e8 0f fd ff ff       	call   0x645420
645711:	8b f8                	mov    %eax,%edi
645713:	eb 09                	jmp    0x64571e
645715:	33 ff                	xor    %edi,%edi
645717:	eb 05                	jmp    0x64571e
645719:	bf 02 00 00 00       	mov    $0x2,%edi
64571e:	6a 13                	push   $0x13
645720:	89 3e                	mov    %edi,(%esi)
645722:	68 d0 28 6e 00       	push   $0x6e28d0
645727:	8d 4e 38             	lea    0x38(%esi),%ecx
64572a:	e8 61 34 df ff       	call   0x438b90
64572f:	8b 46 68             	mov    0x68(%esi),%eax
645732:	89 86 98 00 00 00    	mov    %eax,0x98(%esi)
645738:	8b 46 6c             	mov    0x6c(%esi),%eax
64573b:	89 86 9c 00 00 00    	mov    %eax,0x9c(%esi)
645741:	8b 06                	mov    (%esi),%eax
645743:	89 46 14             	mov    %eax,0x14(%esi)
645746:	5b                   	pop    %ebx
645747:	8b c7                	mov    %edi,%eax
645749:	5f                   	pop    %edi
64574a:	5e                   	pop    %esi
64574b:	8b e5                	mov    %ebp,%esp
64574d:	5d                   	pop    %ebp
64574e:	c2 04 00             	ret    $0x4
645751:	0f 1f 00             	nopl   (%eax)
645754:	22 56 64             	and    0x64(%esi),%dl
645757:	00 32                	add    %dh,(%edx)
645759:	56                   	push   %esi
64575a:	64 00 24 56          	add    %ah,%fs:(%esi,%edx,2)
64575e:	64 00 0e             	add    %cl,%fs:(%esi)
645761:	56                   	push   %esi
645762:	64 00 22             	add    %ah,%fs:(%edx)
645765:	56                   	push   %esi
645766:	64 00 dc             	fs add %bl,%ah
645769:	56                   	push   %esi
64576a:	64 00 ec             	fs add %ch,%ah
64576d:	56                   	push   %esi
64576e:	64 00 ec             	fs add %ch,%ah
645771:	56                   	push   %esi
645772:	64 00 b7 56 64 00 c8 	add    %dh,%fs:-0x37ff9baa(%edi)
645779:	56                   	push   %esi
64577a:	64 00 cc             	fs add %cl,%ah
64577d:	cc                   	int3
64577e:	cc                   	int3
64577f:	cc                   	int3
645780:	55                   	push   %ebp
645781:	8b ec                	mov    %esp,%ebp
645783:	51                   	push   %ecx
645784:	8b 45 0c             	mov    0xc(%ebp),%eax
645787:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
64578e:	56                   	push   %esi
64578f:	83 f8 04             	cmp    $0x4,%eax
645792:	77 5b                	ja     0x6457ef
645794:	ff 24 85 18 58 64 00 	jmp    *0x645818(,%eax,4)
64579b:	8b 4d 08             	mov    0x8(%ebp),%ecx
64579e:	68 88 29 6e 00       	push   $0x6e2988
6457a3:	e8 68 2f df ff       	call   0x438710
6457a8:	8b 45 08             	mov    0x8(%ebp),%eax
6457ab:	5e                   	pop    %esi
6457ac:	8b e5                	mov    %ebp,%esp
6457ae:	5d                   	pop    %ebp
6457af:	c3                   	ret
6457b0:	8b 4d 08             	mov    0x8(%ebp),%ecx
6457b3:	68 90 29 6e 00       	push   $0x6e2990
6457b8:	e8 53 2f df ff       	call   0x438710
6457bd:	8b 45 08             	mov    0x8(%ebp),%eax
6457c0:	5e                   	pop    %esi
6457c1:	8b e5                	mov    %ebp,%esp
6457c3:	5d                   	pop    %ebp
6457c4:	c3                   	ret
6457c5:	8b 4d 08             	mov    0x8(%ebp),%ecx
6457c8:	68 98 29 6e 00       	push   $0x6e2998
6457cd:	e8 3e 2f df ff       	call   0x438710
6457d2:	8b 45 08             	mov    0x8(%ebp),%eax
6457d5:	5e                   	pop    %esi
6457d6:	8b e5                	mov    %ebp,%esp
6457d8:	5d                   	pop    %ebp
6457d9:	c3                   	ret
6457da:	8b 4d 08             	mov    0x8(%ebp),%ecx
6457dd:	68 a8 29 6e 00       	push   $0x6e29a8
6457e2:	e8 29 2f df ff       	call   0x438710
6457e7:	8b 45 08             	mov    0x8(%ebp),%eax
6457ea:	5e                   	pop    %esi
6457eb:	8b e5                	mov    %ebp,%esp
6457ed:	5d                   	pop    %ebp
6457ee:	c3                   	ret
6457ef:	8b 75 08             	mov    0x8(%ebp),%esi
6457f2:	8b ce                	mov    %esi,%ecx
6457f4:	6a 03                	push   $0x3
6457f6:	68 b4 29 6e 00       	push   $0x6e29b4
6457fb:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
645802:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
645809:	c6 06 00             	movb   $0x0,(%esi)
64580c:	e8 7f 33 df ff       	call   0x438b90
645811:	8b c6                	mov    %esi,%eax
645813:	5e                   	pop    %esi
645814:	8b e5                	mov    %ebp,%esp
645816:	5d                   	pop    %ebp
645817:	c3                   	ret
645818:	b0 57                	mov    $0x57,%al
64581a:	64 00 ef             	fs add %ch,%bh
64581d:	57                   	push   %edi