444325:	68 00 c4 64 00       	push   $0x64c400
44432a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
444330:	50                   	push   %eax
444331:	83 ec 28             	sub    $0x28,%esp
444334:	53                   	push   %ebx
444335:	56                   	push   %esi
444336:	57                   	push   %edi
444337:	a1 d4 89 72 00       	mov    0x7289d4,%eax
44433c:	33 c5                	xor    %ebp,%eax
44433e:	50                   	push   %eax
44433f:	8d 45 f4             	lea    -0xc(%ebp),%eax
444342:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
444348:	89 65 f0             	mov    %esp,-0x10(%ebp)
44434b:	8b d9                	mov    %ecx,%ebx
44434d:	8b 45 08             	mov    0x8(%ebp),%eax
444350:	8b 4d 0c             	mov    0xc(%ebp),%ecx
444353:	8b 3b                	mov    (%ebx),%edi
444355:	89 45 e0             	mov    %eax,-0x20(%ebp)
444358:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
44435b:	8b c8                	mov    %eax,%ecx
44435d:	2b cf                	sub    %edi,%ecx
44435f:	89 5d cc             	mov    %ebx,-0x34(%ebp)
444362:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
444367:	f7 e9                	imul   %ecx
444369:	8b 4b 04             	mov    0x4(%ebx),%ecx
44436c:	d1 fa                	sar    $1,%edx
44436e:	2b cf                	sub    %edi,%ecx
444370:	8b c2                	mov    %edx,%eax
444372:	c1 e8 1f             	shr    $0x1f,%eax
444375:	03 c2                	add    %edx,%eax
444377:	89 45 e8             	mov    %eax,-0x18(%ebp)
44437a:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
44437f:	f7 e9                	imul   %ecx
444381:	d1 fa                	sar    $1,%edx
444383:	8b c2                	mov    %edx,%eax
444385:	c1 e8 1f             	shr    $0x1f,%eax
444388:	03 c2                	add    %edx,%eax
44438a:	89 45 d8             	mov    %eax,-0x28(%ebp)
44438d:	3d 55 55 55 15       	cmp    $0x15555555,%eax
444392:	0f 84 7a 01 00 00    	je     0x444512
444398:	8b 4b 08             	mov    0x8(%ebx),%ecx
44439b:	8d 70 01             	lea    0x1(%eax),%esi
44439e:	2b cf                	sub    %edi,%ecx
4443a0:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4443a5:	f7 e9                	imul   %ecx
4443a7:	b8 55 55 55 15       	mov    $0x15555555,%eax
4443ac:	d1 fa                	sar    $1,%edx
4443ae:	8b ca                	mov    %edx,%ecx
4443b0:	c1 e9 1f             	shr    $0x1f,%ecx
4443b3:	03 ca                	add    %edx,%ecx
4443b5:	8b d1                	mov    %ecx,%edx
4443b7:	d1 ea                	shr    $1,%edx
4443b9:	2b c2                	sub    %edx,%eax
4443bb:	3b c8                	cmp    %eax,%ecx
4443bd:	76 07                	jbe    0x4443c6
4443bf:	8b c6                	mov    %esi,%eax
4443c1:	89 75 dc             	mov    %esi,-0x24(%ebp)
4443c4:	eb 0b                	jmp    0x4443d1
4443c6:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
4443c9:	3b c6                	cmp    %esi,%eax
4443cb:	0f 42 c6             	cmovb  %esi,%eax
4443ce:	89 45 dc             	mov    %eax,-0x24(%ebp)
4443d1:	3d 55 55 55 15       	cmp    $0x15555555,%eax
4443d6:	0f 87 31 01 00 00    	ja     0x44450d
4443dc:	8d 04 40             	lea    (%eax,%eax,2),%eax
4443df:	c1 e0 02             	shl    $0x2,%eax
4443e2:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4443e5:	3d 00 10 00 00       	cmp    $0x1000,%eax
4443ea:	72 27                	jb     0x444413
4443ec:	8d 48 23             	lea    0x23(%eax),%ecx
4443ef:	3b c8                	cmp    %eax,%ecx
4443f1:	0f 86 16 01 00 00    	jbe    0x44450d
4443f7:	51                   	push   %ecx
4443f8:	e8 45 cc 19 00       	call   0x5e1042
4443fd:	83 c4 04             	add    $0x4,%esp
444400:	85 c0                	test   %eax,%eax
444402:	0f 84 0f 01 00 00    	je     0x444517
444408:	8d 78 23             	lea    0x23(%eax),%edi
44440b:	83 e7 e0             	and    $0xffffffe0,%edi
44440e:	89 47 fc             	mov    %eax,-0x4(%edi)
444411:	eb 16                	jmp    0x444429
444413:	85 c0                	test   %eax,%eax
444415:	74 10                	je     0x444427
444417:	50                   	push   %eax
444418:	e8 25 cc 19 00       	call   0x5e1042
44441d:	83 c4 04             	add    $0x4,%esp
444420:	89 45 ec             	mov    %eax,-0x14(%ebp)
444423:	8b f8                	mov    %eax,%edi
444425:	eb 05                	jmp    0x44442c
444427:	33 ff                	xor    %edi,%edi
444429:	89 7d ec             	mov    %edi,-0x14(%ebp)
44442c:	8b 45 e8             	mov    -0x18(%ebp),%eax
44442f:	ff 75 e4             	push   -0x1c(%ebp)
444432:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
444439:	8d 04 40             	lea    (%eax,%eax,2),%eax
44443c:	8d 04 87             	lea    (%edi,%eax,4),%eax
44443f:	50                   	push   %eax
444440:	8d 70 0c             	lea    0xc(%eax),%esi
444443:	89 45 e8             	mov    %eax,-0x18(%ebp)
444446:	53                   	push   %ebx
444447:	89 75 d0             	mov    %esi,-0x30(%ebp)
44444a:	e8 a1 04 00 00       	call   0x4448f0
44444f:	8b 43 04             	mov    0x4(%ebx),%eax
444452:	83 c4 0c             	add    $0xc,%esp
444455:	8b 55 e0             	mov    -0x20(%ebp),%edx
444458:	8b 0b                	mov    (%ebx),%ecx
44445a:	3b d0                	cmp    %eax,%edx
44445c:	75 04                	jne    0x444462
44445e:	8b f7                	mov    %edi,%esi
444460:	eb 12                	jmp    0x444474
444462:	53                   	push   %ebx
444463:	57                   	push   %edi
444464:	52                   	push   %edx
444465:	51                   	push   %ecx
444466:	e8 25 03 00 00       	call   0x444790
44446b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44446e:	83 c4 10             	add    $0x10,%esp
444471:	8b 43 04             	mov    0x4(%ebx),%eax
444474:	53                   	push   %ebx
444475:	56                   	push   %esi
444476:	50                   	push   %eax
444477:	51                   	push   %ecx
444478:	e8 13 03 00 00       	call   0x444790
44447d:	8b 33                	mov    (%ebx),%esi
44447f:	83 c4 10             	add    $0x10,%esp
444482:	85 f6                	test   %esi,%esi
444484:	74 59                	je     0x4444df
444486:	8b 43 04             	mov    0x4(%ebx),%eax
444489:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44448c:	3b f0                	cmp    %eax,%esi
44448e:	74 11                	je     0x4444a1
444490:	8b ce                	mov    %esi,%ecx
444492:	e8 69 0a 00 00       	call   0x444f00
444497:	83 c6 0c             	add    $0xc,%esi
44449a:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
44449d:	75 f1                	jne    0x444490
44449f:	8b 33                	mov    (%ebx),%esi
4444a1:	8b 4b 08             	mov    0x8(%ebx),%ecx
4444a4:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4444a9:	2b ce                	sub    %esi,%ecx
4444ab:	f7 e9                	imul   %ecx
4444ad:	d1 fa                	sar    $1,%edx
4444af:	8b c2                	mov    %edx,%eax
4444b1:	c1 e8 1f             	shr    $0x1f,%eax
4444b4:	03 c2                	add    %edx,%eax
4444b6:	8d 04 40             	lea    (%eax,%eax,2),%eax
4444b9:	c1 e0 02             	shl    $0x2,%eax
4444bc:	3d 00 10 00 00       	cmp    $0x1000,%eax
4444c1:	72 12                	jb     0x4444d5
4444c3:	8b 4e fc             	mov    -0x4(%esi),%ecx
4444c6:	83 c0 23             	add    $0x23,%eax
4444c9:	2b f1                	sub    %ecx,%esi
4444cb:	83 c6 fc             	add    $0xfffffffc,%esi
4444ce:	83 fe 1f             	cmp    $0x1f,%esi
4444d1:	77 44                	ja     0x444517
4444d3:	8b f1                	mov    %ecx,%esi
4444d5:	50                   	push   %eax
4444d6:	56                   	push   %esi
4444d7:	e8 96 cb 19 00       	call   0x5e1072
4444dc:	83 c4 08             	add    $0x8,%esp
4444df:	8b 45 d8             	mov    -0x28(%ebp),%eax
4444e2:	40                   	inc    %eax
4444e3:	89 3b                	mov    %edi,(%ebx)
4444e5:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4444e8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4444eb:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
4444ee:	89 4b 04             	mov    %ecx,0x4(%ebx)
4444f1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4444f4:	03 cf                	add    %edi,%ecx
4444f6:	89 4b 08             	mov    %ecx,0x8(%ebx)
4444f9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4444fc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
444503:	59                   	pop    %ecx
444504:	5f                   	pop    %edi
444505:	5e                   	pop    %esi
444506:	5b                   	pop    %ebx
444507:	8b e5                	mov    %ebp,%esp
444509:	5d                   	pop    %ebp
44450a:	c2 08 00             	ret    $0x8
44450d:	e8 ce 09 00 00       	call   0x444ee0
444512:	e8 29 0b 00 00       	call   0x445040
444517:	e8 13 8a 1a 00       	call   0x5ecf2f
44451c:	8b 45 d0             	mov    -0x30(%ebp),%eax
44451f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
444522:	50                   	push   %eax
444523:	50                   	push   %eax
444524:	e8 87 09 00 00       	call   0x444eb0
444529:	ff 75 dc             	push   -0x24(%ebp)
44452c:	8b 4d cc             	mov    -0x34(%ebp),%ecx
44452f:	ff 75 ec             	push   -0x14(%ebp)
444532:	e8 19 0f 00 00       	call   0x445450
444537:	6a 00                	push   $0x0
444539:	6a 00                	push   $0x0
44453b:	e8 f2 e4 19 00       	call   0x5e2a32
444540:	cc                   	int3
444541:	cc                   	int3
444542:	cc                   	int3
444543:	cc                   	int3
444544:	cc                   	int3
444545:	cc                   	int3
444546:	cc                   	int3
444547:	cc                   	int3
444548:	cc                   	int3
444549:	cc                   	int3
44454a:	cc                   	int3
44454b:	cc                   	int3
44454c:	cc                   	int3
44454d:	cc                   	int3
44454e:	cc                   	int3
44454f:	cc                   	int3
444550:	55                   	push   %ebp
444551:	8b ec                	mov    %esp,%ebp
444553:	83 ec 14             	sub    $0x14,%esp
444556:	8b 45 08             	mov    0x8(%ebp),%eax
444559:	53                   	push   %ebx
44455a:	89 45 f8             	mov    %eax,-0x8(%ebp)
44455d:	56                   	push   %esi
44455e:	8b f1                	mov    %ecx,%esi
444560:	8b 4d 0c             	mov    0xc(%ebp),%ecx
444563:	89 4d f4             	mov    %ecx,-0xc(%ebp)
444566:	8b c8                	mov    %eax,%ecx
444568:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
44456d:	57                   	push   %edi
44456e:	8b 1e                	mov    (%esi),%ebx
444570:	2b cb                	sub    %ebx,%ecx
444572:	f7 e9                	imul   %ecx
444574:	8b 4e 04             	mov    0x4(%esi),%ecx
444577:	c1 fa 02             	sar    $0x2,%edx
44457a:	2b cb                	sub    %ebx,%ecx
44457c:	8b c2                	mov    %edx,%eax
44457e:	c1 e8 1f             	shr    $0x1f,%eax
444581:	03 c2                	add    %edx,%eax
444583:	89 45 fc             	mov    %eax,-0x4(%ebp)
444586:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
44458b:	f7 e9                	imul   %ecx
44458d:	c1 fa 02             	sar    $0x2,%edx
444590:	8b c2                	mov    %edx,%eax
444592:	c1 e8 1f             	shr    $0x1f,%eax
444595:	03 c2                	add    %edx,%eax
444597:	89 45 ec             	mov    %eax,-0x14(%ebp)
44459a:	3d aa aa aa 0a       	cmp    $0xaaaaaaa,%eax
44459f:	0f 84 35 01 00 00    	je     0x4446da
4445a5:	8b 4e 08             	mov    0x8(%esi),%ecx
4445a8:	8d 78 01             	lea    0x1(%eax),%edi
4445ab:	2b cb                	sub    %ebx,%ecx
4445ad:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4445b2:	f7 e9                	imul   %ecx
4445b4:	b8 aa aa aa 0a       	mov    $0xaaaaaaa,%eax
4445b9:	c1 fa 02             	sar    $0x2,%edx
4445bc:	8b ca                	mov    %edx,%ecx
4445be:	c1 e9 1f             	shr    $0x1f,%ecx
4445c1:	03 ca                	add    %edx,%ecx
4445c3:	8b d1                	mov    %ecx,%edx
4445c5:	d1 ea                	shr    $1,%edx
4445c7:	2b c2                	sub    %edx,%eax
4445c9:	3b c8                	cmp    %eax,%ecx
4445cb:	76 04                	jbe    0x4445d1
4445cd:	8b df                	mov    %edi,%ebx
4445cf:	eb 08                	jmp    0x4445d9
4445d1:	8d 1c 0a             	lea    (%edx,%ecx,1),%ebx
4445d4:	3b df                	cmp    %edi,%ebx
4445d6:	0f 42 df             	cmovb  %edi,%ebx
4445d9:	53                   	push   %ebx
4445da:	8b ce                	mov    %esi,%ecx
4445dc:	e8 7f 0a 00 00       	call   0x445060
4445e1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4445e4:	8b f8                	mov    %eax,%edi
4445e6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4445e9:	89 7d f0             	mov    %edi,-0x10(%ebp)
4445ec:	8d 04 40             	lea    (%eax,%eax,2),%eax
4445ef:	c7 44 c7 10 00 00 00 	movl   $0x0,0x10(%edi,%eax,8)
4445f6:	00
4445f7:	8d 04 c7             	lea    (%edi,%eax,8),%eax
4445fa:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
444601:	0f 10 01             	movups (%ecx),%xmm0
444604:	89 45 fc             	mov    %eax,-0x4(%ebp)
444607:	0f 11 00             	movups %xmm0,(%eax)
44460a:	f3 0f 7e 41 10       	movq   0x10(%ecx),%xmm0
44460f:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
444614:	8b 45 f8             	mov    -0x8(%ebp),%eax
444617:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
44461e:	c7 41 14 0f 00 00 00 	movl   $0xf,0x14(%ecx)
444625:	c6 01 00             	movb   $0x0,(%ecx)
444628:	8b 56 04             	mov    0x4(%esi),%edx
44462b:	8b 0e                	mov    (%esi),%ecx
44462d:	3b c2                	cmp    %edx,%eax
44462f:	75 04                	jne    0x444635
444631:	8b c7                	mov    %edi,%eax
444633:	eb 18                	jmp    0x44464d
444635:	56                   	push   %esi
444636:	57                   	push   %edi
444637:	50                   	push   %eax
444638:	51                   	push   %ecx
444639:	e8 e2 00 00 00       	call   0x444720
44463e:	8b 45 fc             	mov    -0x4(%ebp),%eax
444641:	83 c4 10             	add    $0x10,%esp
444644:	8b 4d f8             	mov    -0x8(%ebp),%ecx
444647:	83 c0 18             	add    $0x18,%eax
44464a:	8b 56 04             	mov    0x4(%esi),%edx
44464d:	56                   	push   %esi
44464e:	50                   	push   %eax
44464f:	52                   	push   %edx
444650:	51                   	push   %ecx
444651:	e8 ca 00 00 00       	call   0x444720
444656:	8b 0e                	mov    (%esi),%ecx
444658:	83 c4 10             	add    $0x10,%esp
44465b:	85 c9                	test   %ecx,%ecx
44465d:	74 52                	je     0x4446b1
44465f:	56                   	push   %esi
444660:	ff 76 04             	push   0x4(%esi)
444663:	51                   	push   %ecx
444664:	e8 47 fc ff ff       	call   0x4442b0
444669:	8b 4e 08             	mov    0x8(%esi),%ecx
44466c:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
444671:	8b 3e                	mov    (%esi),%edi
444673:	83 c4 0c             	add    $0xc,%esp
444676:	2b cf                	sub    %edi,%ecx
444678:	f7 e9                	imul   %ecx
44467a:	c1 fa 02             	sar    $0x2,%edx
44467d:	8b c2                	mov    %edx,%eax
44467f:	c1 e8 1f             	shr    $0x1f,%eax
444682:	03 c2                	add    %edx,%eax
444684:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
444687:	c1 e1 03             	shl    $0x3,%ecx
44468a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
444690:	72 12                	jb     0x4446a4
444692:	8b 57 fc             	mov    -0x4(%edi),%edx
444695:	83 c1 23             	add    $0x23,%ecx
444698:	2b fa                	sub    %edx,%edi
44469a:	8d 47 fc             	lea    -0x4(%edi),%eax
44469d:	83 f8 1f             	cmp    $0x1f,%eax
4446a0:	77 33                	ja     0x4446d5
4446a2:	8b fa                	mov    %edx,%edi
4446a4:	51                   	push   %ecx
4446a5:	57                   	push   %edi
4446a6:	e8 c7 c9 19 00       	call   0x5e1072
4446ab:	8b 7d f0             	mov    -0x10(%ebp),%edi
4446ae:	83 c4 08             	add    $0x8,%esp
4446b1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4446b4:	40                   	inc    %eax
4446b5:	89 3e                	mov    %edi,(%esi)
4446b7:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4446ba:	8b 45 fc             	mov    -0x4(%ebp),%eax
4446bd:	8d 0c cf             	lea    (%edi,%ecx,8),%ecx
4446c0:	89 4e 04             	mov    %ecx,0x4(%esi)
4446c3:	8d 0c 5b             	lea    (%ebx,%ebx,2),%ecx
4446c6:	8d 0c cf             	lea    (%edi,%ecx,8),%ecx
4446c9:	5f                   	pop    %edi
4446ca:	89 4e 08             	mov    %ecx,0x8(%esi)
4446cd:	5e                   	pop    %esi