58325a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
583260:	50                   	push   %eax
583261:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
583267:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58326c:	33 c5                	xor    %ebp,%eax
58326e:	89 45 f0             	mov    %eax,-0x10(%ebp)
583271:	56                   	push   %esi
583272:	57                   	push   %edi
583273:	50                   	push   %eax
583274:	8d 45 f4             	lea    -0xc(%ebp),%eax
583277:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58327d:	89 4d 88             	mov    %ecx,-0x78(%ebp)
583280:	8b 75 08             	mov    0x8(%ebp),%esi
583283:	0f 57 c0             	xorps  %xmm0,%xmm0
583286:	8b 7d 0c             	mov    0xc(%ebp),%edi
583289:	f2 0f 11 45 80       	movsd  %xmm0,-0x80(%ebp)
58328e:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
583295:	8b 46 08             	mov    0x8(%esi),%eax
583298:	8b 4e 04             	mov    0x4(%esi),%ecx
58329b:	c7 45 bc 0f 00 00 00 	movl   $0xf,-0x44(%ebp)
5832a2:	c6 45 a8 00          	movb   $0x0,-0x58(%ebp)
5832a6:	3b c8                	cmp    %eax,%ecx
5832a8:	74 0c                	je     0x5832b6
5832aa:	2b c1                	sub    %ecx,%eax
5832ac:	50                   	push   %eax
5832ad:	51                   	push   %ecx
5832ae:	8d 4d a8             	lea    -0x58(%ebp),%ecx
5832b1:	e8 8a 1f ec ff       	call   0x445240
5832b6:	6a 01                	push   $0x1
5832b8:	6a 01                	push   $0x1
5832ba:	8d 45 a8             	lea    -0x58(%ebp),%eax
5832bd:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
5832c4:	50                   	push   %eax
5832c5:	8d 8d d8 fe ff ff    	lea    -0x128(%ebp),%ecx
5832cb:	e8 b0 f3 ff ff       	call   0x582680
5832d0:	8d 45 80             	lea    -0x80(%ebp),%eax
5832d3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
5832d7:	50                   	push   %eax
5832d8:	8d 8d d8 fe ff ff    	lea    -0x128(%ebp),%ecx
5832de:	e8 5d ee ff ff       	call   0x582140
5832e3:	8b 08                	mov    (%eax),%ecx
5832e5:	8b 49 04             	mov    0x4(%ecx),%ecx
5832e8:	f6 44 01 0c 06       	testb  $0x6,0xc(%ecx,%eax,1)
5832ed:	0f 84 68 01 00 00    	je     0x58345b
5832f3:	8b 46 08             	mov    0x8(%esi),%eax
5832f6:	8b 4e 04             	mov    0x4(%esi),%ecx
5832f9:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
583300:	c7 45 d4 0f 00 00 00 	movl   $0xf,-0x2c(%ebp)
583307:	c6 45 c0 00          	movb   $0x0,-0x40(%ebp)
58330b:	3b c8                	cmp    %eax,%ecx
58330d:	74 0c                	je     0x58331b
58330f:	2b c1                	sub    %ecx,%eax
583311:	50                   	push   %eax
583312:	51                   	push   %ecx
583313:	8d 4d c0             	lea    -0x40(%ebp),%ecx
583316:	e8 25 1f ec ff       	call   0x445240
58331b:	6a 01                	push   $0x1
58331d:	68 54 03 69 00       	push   $0x690354
583322:	6a 00                	push   $0x0
583324:	8d 4d c0             	lea    -0x40(%ebp),%ecx
583327:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
58332b:	e8 50 04 ed ff       	call   0x453780
583330:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
583337:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
58333e:	0f 10 00             	movups (%eax),%xmm0
583341:	0f 11 45 d8          	movups %xmm0,-0x28(%ebp)
583345:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
58334a:	66 0f d6 45 e8       	movq   %xmm0,-0x18(%ebp)
58334f:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
583356:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
58335d:	c6 00 00             	movb   $0x0,(%eax)
583360:	6a 12                	push   $0x12
583362:	68 c8 35 6c 00       	push   $0x6c35c8
583367:	8d 4d d8             	lea    -0x28(%ebp),%ecx
58336a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
58336e:	e8 4d 1d ec ff       	call   0x4450c0
583373:	0f 10 00             	movups (%eax),%xmm0
583376:	0f 11 45 90          	movups %xmm0,-0x70(%ebp)
58337a:	f3 0f 7e 40 10       	movq   0x10(%eax),%xmm0
58337f:	66 0f d6 45 a0       	movq   %xmm0,-0x60(%ebp)
583384:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
58338b:	c7 40 14 0f 00 00 00 	movl   $0xf,0x14(%eax)
583392:	c6 00 00             	movb   $0x0,(%eax)
583395:	8b 4d 88             	mov    -0x78(%ebp),%ecx
583398:	8d 45 90             	lea    -0x70(%ebp),%eax
58339b:	6a 00                	push   $0x0
58339d:	56                   	push   %esi
58339e:	50                   	push   %eax
58339f:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5833a3:	e8 e8 fb ff ff       	call   0x582f90
5833a8:	8b 55 a4             	mov    -0x5c(%ebp),%edx
5833ab:	88 45 8f             	mov    %al,-0x71(%ebp)
5833ae:	83 fa 10             	cmp    $0x10,%edx
5833b1:	72 2c                	jb     0x5833df
5833b3:	8b 4d 90             	mov    -0x70(%ebp),%ecx
5833b6:	42                   	inc    %edx
5833b7:	8b c1                	mov    %ecx,%eax
5833b9:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5833bf:	72 14                	jb     0x5833d5
5833c1:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5833c4:	83 c2 23             	add    $0x23,%edx
5833c7:	2b c1                	sub    %ecx,%eax
5833c9:	83 c0 fc             	add    $0xfffffffc,%eax
5833cc:	83 f8 1f             	cmp    $0x1f,%eax
5833cf:	0f 87 03 01 00 00    	ja     0x5834d8
5833d5:	52                   	push   %edx
5833d6:	51                   	push   %ecx
5833d7:	e8 96 dc 05 00       	call   0x5e1072
5833dc:	83 c4 08             	add    $0x8,%esp
5833df:	8b 55 ec             	mov    -0x14(%ebp),%edx
5833e2:	83 fa 10             	cmp    $0x10,%edx
5833e5:	72 2c                	jb     0x583413
5833e7:	8b 4d d8             	mov    -0x28(%ebp),%ecx
5833ea:	42                   	inc    %edx
5833eb:	8b c1                	mov    %ecx,%eax
5833ed:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
5833f3:	72 14                	jb     0x583409
5833f5:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5833f8:	83 c2 23             	add    $0x23,%edx
5833fb:	2b c1                	sub    %ecx,%eax
5833fd:	83 c0 fc             	add    $0xfffffffc,%eax
583400:	83 f8 1f             	cmp    $0x1f,%eax
583403:	0f 87 cf 00 00 00    	ja     0x5834d8
583409:	52                   	push   %edx
58340a:	51                   	push   %ecx
58340b:	e8 62 dc 05 00       	call   0x5e1072
583410:	83 c4 08             	add    $0x8,%esp
583413:	8b 55 d4             	mov    -0x2c(%ebp),%edx
583416:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
58341d:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
583424:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
583428:	83 fa 10             	cmp    $0x10,%edx
58342b:	72 50                	jb     0x58347d
58342d:	8b 4d c0             	mov    -0x40(%ebp),%ecx
583430:	42                   	inc    %edx
583431:	8b c1                	mov    %ecx,%eax
583433:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
583439:	72 14                	jb     0x58344f
58343b:	8b 49 fc             	mov    -0x4(%ecx),%ecx
58343e:	83 c2 23             	add    $0x23,%edx
583441:	2b c1                	sub    %ecx,%eax
583443:	83 c0 fc             	add    $0xfffffffc,%eax
583446:	83 f8 1f             	cmp    $0x1f,%eax
583449:	0f 87 89 00 00 00    	ja     0x5834d8
58344f:	52                   	push   %edx
583450:	51                   	push   %ecx
583451:	e8 1c dc 05 00       	call   0x5e1072
583456:	83 c4 08             	add    $0x8,%esp
583459:	eb 22                	jmp    0x58347d
58345b:	f2 0f 10 45 80       	movsd  -0x80(%ebp),%xmm0
583460:	83 ec 18             	sub    $0x18,%esp
583463:	8b cc                	mov    %esp,%ecx
583465:	83 ec 08             	sub    $0x8,%esp
583468:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
58346d:	e8 be c8 ff ff       	call   0x57fd30
583472:	8b cf                	mov    %edi,%ecx
583474:	e8 d7 cc ff ff       	call   0x580150
583479:	c6 45 8f 01          	movb   $0x1,-0x71(%ebp)
58347d:	8d 8d d8 fe ff ff    	lea    -0x128(%ebp),%ecx
583483:	e8 38 08 f1 ff       	call   0x493cc0
583488:	8b 55 bc             	mov    -0x44(%ebp),%edx
58348b:	83 fa 10             	cmp    $0x10,%edx
58348e:	72 28                	jb     0x5834b8
583490:	8b 4d a8             	mov    -0x58(%ebp),%ecx
583493:	42                   	inc    %edx
583494:	8b c1                	mov    %ecx,%eax
583496:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
58349c:	72 10                	jb     0x5834ae
58349e:	8b 49 fc             	mov    -0x4(%ecx),%ecx
5834a1:	83 c2 23             	add    $0x23,%edx
5834a4:	2b c1                	sub    %ecx,%eax
5834a6:	83 c0 fc             	add    $0xfffffffc,%eax
5834a9:	83 f8 1f             	cmp    $0x1f,%eax
5834ac:	77 2f                	ja     0x5834dd
5834ae:	52                   	push   %edx
5834af:	51                   	push   %ecx
5834b0:	e8 bd db 05 00       	call   0x5e1072
5834b5:	83 c4 08             	add    $0x8,%esp
5834b8:	8a 45 8f             	mov    -0x71(%ebp),%al
5834bb:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5834be:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5834c5:	59                   	pop    %ecx
5834c6:	5f                   	pop    %edi
5834c7:	5e                   	pop    %esi
5834c8:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5834cb:	33 cd                	xor    %ebp,%ecx
5834cd:	e8 08 e0 05 00       	call   0x5e14da
5834d2:	8b e5                	mov    %ebp,%esp
5834d4:	5d                   	pop    %ebp
5834d5:	c2 08 00             	ret    $0x8
5834d8:	e8 52 9a 06 00       	call   0x5ecf2f
5834dd:	e8 4d 9a 06 00       	call   0x5ecf2f
5834e2:	cc                   	int3
5834e3:	cc                   	int3
5834e4:	cc                   	int3
5834e5:	cc                   	int3
5834e6:	cc                   	int3
5834e7:	cc                   	int3
5834e8:	cc                   	int3
5834e9:	cc                   	int3
5834ea:	cc                   	int3
5834eb:	cc                   	int3
5834ec:	cc                   	int3
5834ed:	cc                   	int3
5834ee:	cc                   	int3
5834ef:	cc                   	int3
5834f0:	55                   	push   %ebp
5834f1:	8b ec                	mov    %esp,%ebp
5834f3:	83 ec 30             	sub    $0x30,%esp
5834f6:	8b 45 08             	mov    0x8(%ebp),%eax
5834f9:	89 4d d8             	mov    %ecx,-0x28(%ebp)
5834fc:	53                   	push   %ebx
5834fd:	56                   	push   %esi
5834fe:	8b 40 04             	mov    0x4(%eax),%eax
583501:	57                   	push   %edi
583502:	8a 08                	mov    (%eax),%cl
583504:	8d 50 01             	lea    0x1(%eax),%edx
583507:	80 f9 2d             	cmp    $0x2d,%cl
58350a:	88 4d ff             	mov    %cl,-0x1(%ebp)
58350d:	0f 45 d0             	cmovne %eax,%edx
583510:	89 55 e0             	mov    %edx,-0x20(%ebp)
583513:	75 14                	jne    0x583529
583515:	8b 1d 30 2f 6c 00    	mov    0x6c2f30,%ebx
58351b:	8b 0d 34 2f 6c 00    	mov    0x6c2f34,%ecx
583521:	83 c3 01             	add    $0x1,%ebx
583524:	83 d1 00             	adc    $0x0,%ecx
583527:	eb 0c                	jmp    0x583535
583529:	8b 1d 38 2f 6c 00    	mov    0x6c2f38,%ebx
58352f:	8b 0d 3c 2f 6c 00    	mov    0x6c2f3c,%ecx
583535:	ba cd cc cc cc       	mov    $0xcccccccd,%edx
58353a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
58353d:	8b c3                	mov    %ebx,%eax
58353f:	89 5d dc             	mov    %ebx,-0x24(%ebp)
583542:	0f 57 c0             	xorps  %xmm0,%xmm0
583545:	8d 7a ff             	lea    -0x1(%edx),%edi
583548:	f7 e2                	mul    %edx
58354a:	89 45 e8             	mov    %eax,-0x18(%ebp)
58354d:	8b f2                	mov    %edx,%esi
58354f:	8b c3                	mov    %ebx,%eax
583551:	f7 e7                	mul    %edi
583553:	8b f8                	mov    %eax,%edi
583555:	89 55 f8             	mov    %edx,-0x8(%ebp)
583558:	8b c1                	mov    %ecx,%eax
58355a:	b9 cd cc cc cc       	mov    $0xcccccccd,%ecx
58355f:	f7 e1                	mul    %ecx
583561:	8b c8                	mov    %eax,%ecx
583563:	8b da                	mov    %edx,%ebx
583565:	8b 45 e4             	mov    -0x1c(%ebp),%eax
583568:	ba cc cc cc cc       	mov    $0xcccccccc,%edx
58356d:	f7 e2                	mul    %edx
58356f:	03 ce                	add    %esi,%ecx
583571:	89 45 ec             	mov    %eax,-0x14(%ebp)
583574:	8b 75 ec             	mov    -0x14(%ebp),%esi
583577:	83 d3 00             	adc    $0x0,%ebx
58357a:	03 f9                	add    %ecx,%edi
58357c:	89 55 f0             	mov    %edx,-0x10(%ebp)
58357f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
583582:	83 d1 00             	adc    $0x0,%ecx
583585:	89 7d d0             	mov    %edi,-0x30(%ebp)
583588:	33 c0                	xor    %eax,%eax
58358a:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
58358f:	03 d9                	add    %ecx,%ebx
583591:	8b fa                	mov    %edx,%edi
583593:	8b 55 e0             	mov    -0x20(%ebp),%edx
583596:	8b 4d f4             	mov    -0xc(%ebp),%ecx
583599:	13 c0                	adc    %eax,%eax
58359b:	03 f3                	add    %ebx,%esi
58359d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5835a0:	13 f8                	adc    %eax,%edi
5835a2:	8b 45 08             	mov    0x8(%ebp),%eax
5835a5:	0f ac fe 03          	shrd   $0x3,%edi,%esi
5835a9:	c1 ef 03             	shr    $0x3,%edi
5835ac:	89 75 ec             	mov    %esi,-0x14(%ebp)
5835af:	89 7d f0             	mov    %edi,-0x10(%ebp)
5835b2:	3b 50 08             	cmp    0x8(%eax),%edx
5835b5:	0f 83 b5 00 00 00    	jae    0x583670
5835bb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
5835c0:	8a 02                	mov    (%edx),%al
5835c2:	42                   	inc    %edx
5835c3:	89 55 e0             	mov    %edx,-0x20(%ebp)
5835c6:	3c 30                	cmp    $0x30,%al
5835c8:	7c 59                	jl     0x583623
5835ca:	3c 39                	cmp    $0x39,%al
5835cc:	7f 55                	jg     0x583623
5835ce:	0f be c0             	movsbl %al,%eax
5835d1:	83 e8 30             	sub    $0x30,%eax
5835d4:	89 45 f8             	mov    %eax,-0x8(%ebp)
5835d7:	3b df                	cmp    %edi,%ebx
5835d9:	72 5f                	jb     0x58363a
5835db:	77 46                	ja     0x583623
5835dd:	3b ce                	cmp    %esi,%ecx
5835df:	72 59                	jb     0x58363a
5835e1:	3b df                	cmp    %edi,%ebx
5835e3:	77 3e                	ja     0x583623
5835e5:	72 04                	jb     0x5835eb
5835e7:	3b ce                	cmp    %esi,%ecx
5835e9:	77 38                	ja     0x583623
5835eb:	8b 45 08             	mov    0x8(%ebp),%eax
5835ee:	3b 50 08             	cmp    0x8(%eax),%edx
5835f1:	75 30                	jne    0x583623
5835f3:	8b 45 ec             	mov    -0x14(%ebp),%eax
5835f6:	8b 55 f0             	mov    -0x10(%ebp),%edx
5835f9:	0f a4 c2 02          	shld   $0x2,%eax,%edx
5835fd:	c1 e0 02             	shl    $0x2,%eax
583600:	03 f0                	add    %eax,%esi
583602:	8b 45 e4             	mov    -0x1c(%ebp),%eax
583605:	13 fa                	adc    %edx,%edi
583607:	8b 55 dc             	mov    -0x24(%ebp),%edx
58360a:	0f a4 f7 01          	shld   $0x1,%esi,%edi
58360e:	03 f6                	add    %esi,%esi
583610:	2b d6                	sub    %esi,%edx
583612:	1b c7                	sbb    %edi,%eax
583614:	33 ff                	xor    %edi,%edi
583616:	3b f8                	cmp    %eax,%edi
583618:	77 09                	ja     0x583623
58361a:	8b 75 f8             	mov    -0x8(%ebp),%esi
58361d:	72 22                	jb     0x583641
58361f:	3b f2                	cmp    %edx,%esi
583621:	76 1e                	jbe    0x583641
583623:	ff 75 0c             	push   0xc(%ebp)
583626:	8b 4d d8             	mov    -0x28(%ebp),%ecx
583629:	ff 75 08             	push   0x8(%ebp)
58362c:	e8 1f fc ff ff       	call   0x583250
583631:	5f                   	pop    %edi
583632:	5e                   	pop    %esi
583633:	5b                   	pop    %ebx
583634:	8b e5                	mov    %ebp,%esp
583636:	5d                   	pop    %ebp
583637:	c2 08 00             	ret    $0x8
58363a:	89 45 f8             	mov    %eax,-0x8(%ebp)
58363d:	8b f0                	mov    %eax,%esi
58363f:	33 ff                	xor    %edi,%edi
583641:	8b c1                	mov    %ecx,%eax
583643:	8b d3                	mov    %ebx,%edx
583645:	0f a4 c2 02          	shld   $0x2,%eax,%edx
583649:	c1 e0 02             	shl    $0x2,%eax
58364c:	03 c8                	add    %eax,%ecx
58364e:	8b 45 08             	mov    0x8(%ebp),%eax
583651:	13 da                	adc    %edx,%ebx
583653:	8b 55 e0             	mov    -0x20(%ebp),%edx
583656:	0f a4 cb 01          	shld   $0x1,%ecx,%ebx
58365a:	03 c9                	add    %ecx,%ecx
58365c:	03 ce                	add    %esi,%ecx
58365e:	13 df                	adc    %edi,%ebx
583660:	3b 50 08             	cmp    0x8(%eax),%edx
583663:	73 0b                	jae    0x583670
583665:	8b 7d f0             	mov    -0x10(%ebp),%edi
583668:	8b 75 ec             	mov    -0x14(%ebp),%esi
58366b:	e9 50 ff ff ff       	jmp    0x5835c0
583670:	8a 45 ff             	mov    -0x1(%ebp),%al