51939a:	0f a4 c1 02          	shld   $0x2,%eax,%ecx
51939e:	c1 e0 02             	shl    $0x2,%eax
5193a1:	03 f8                	add    %eax,%edi
5193a3:	13 d1                	adc    %ecx,%edx
5193a5:	0f a4 fa 01          	shld   $0x1,%edi,%edx
5193a9:	03 ff                	add    %edi,%edi
5193ab:	eb 41                	jmp    0x5193ee
5193ad:	6a 00                	push   $0x0
5193af:	6a 0a                	push   $0xa
5193b1:	52                   	push   %edx
5193b2:	57                   	push   %edi
5193b3:	e8 88 87 0c 00       	call   0x5e1b40
5193b8:	8b c8                	mov    %eax,%ecx
5193ba:	89 55 d8             	mov    %edx,-0x28(%ebp)
5193bd:	8b fa                	mov    %edx,%edi
5193bf:	89 45 d0             	mov    %eax,-0x30(%ebp)
5193c2:	0f a4 ca 02          	shld   $0x2,%ecx,%edx
5193c6:	8b f0                	mov    %eax,%esi
5193c8:	c1 e1 02             	shl    $0x2,%ecx
5193cb:	03 f1                	add    %ecx,%esi
5193cd:	8b 4d ec             	mov    -0x14(%ebp),%ecx
5193d0:	13 fa                	adc    %edx,%edi
5193d2:	8b 55 f8             	mov    -0x8(%ebp),%edx
5193d5:	0f a4 f7 01          	shld   $0x1,%esi,%edi
5193d9:	8b c2                	mov    %edx,%eax
5193db:	03 f6                	add    %esi,%esi
5193dd:	2b ce                	sub    %esi,%ecx
5193df:	1b c7                	sbb    %edi,%eax
5193e1:	0b c8                	or     %eax,%ecx
5193e3:	75 1c                	jne    0x519401
5193e5:	8b 7d d0             	mov    -0x30(%ebp),%edi
5193e8:	8b 55 d8             	mov    -0x28(%ebp),%edx
5193eb:	8b 75 10             	mov    0x10(%ebp),%esi
5193ee:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5193f1:	49                   	dec    %ecx
5193f2:	89 55 f8             	mov    %edx,-0x8(%ebp)
5193f5:	89 7d ec             	mov    %edi,-0x14(%ebp)
5193f8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
5193fb:	85 c9                	test   %ecx,%ecx
5193fd:	7f 81                	jg     0x519380
5193ff:	eb 03                	jmp    0x519404
519401:	8b 4d f4             	mov    -0xc(%ebp),%ecx
519404:	8b 7d ec             	mov    -0x14(%ebp),%edi
519407:	83 7d d4 00          	cmpl   $0x0,-0x2c(%ebp)
51940b:	7d 07                	jge    0x519414
51940d:	f7 df                	neg    %edi
51940f:	83 d2 00             	adc    $0x0,%edx
519412:	f7 da                	neg    %edx
519414:	85 c9                	test   %ecx,%ecx
519416:	75 0c                	jne    0x519424
519418:	8b cf                	mov    %edi,%ecx
51941a:	e8 81 84 0c 00       	call   0x5e18a0
51941f:	e9 9b 00 00 00       	jmp    0x5194bf
519424:	81 f9 33 01 00 00    	cmp    $0x133,%ecx
51942a:	7e 6e                	jle    0x51949a
51942c:	81 f9 56 01 00 00    	cmp    $0x156,%ecx
519432:	7d 3d                	jge    0x519471
519434:	8d 81 cc fe ff ff    	lea    -0x134(%ecx),%eax
51943a:	50                   	push   %eax
51943b:	e8 50 b4 01 00       	call   0x534890
519440:	83 c4 04             	add    $0x4,%esp
519443:	8b cf                	mov    %edi,%ecx
519445:	dd 5d cc             	fstpl  -0x34(%ebp)
519448:	e8 53 84 0c 00       	call   0x5e18a0
51944d:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
519451:	7d 0f                	jge    0x519462
519453:	f2 0f 5e 45 cc       	divsd  -0x34(%ebp),%xmm0
519458:	f2 0f 5e 05 20 c6 6b 	divsd  0x6bc620,%xmm0
51945f:	00
519460:	eb 5d                	jmp    0x5194bf
519462:	f2 0f 59 45 cc       	mulsd  -0x34(%ebp),%xmm0
519467:	f2 0f 59 05 20 c6 6b 	mulsd  0x6bc620,%xmm0
51946e:	00
51946f:	eb 4e                	jmp    0x5194bf
519471:	8b cf                	mov    %edi,%ecx
519473:	e8 28 84 0c 00       	call   0x5e18a0
519478:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
51947c:	7d 0a                	jge    0x519488
51947e:	f2 0f 59 05 40 c5 6b 	mulsd  0x6bc540,%xmm0
519485:	00
519486:	eb 37                	jmp    0x5194bf
519488:	f2 0f 5a c0          	cvtsd2ss %xmm0,%xmm0
51948c:	f3 0f 59 05 18 c6 6b 	mulss  0x6bc618,%xmm0
519493:	00
519494:	f3 0f 5a c0          	cvtss2sd %xmm0,%xmm0
519498:	eb 25                	jmp    0x5194bf
51949a:	51                   	push   %ecx
51949b:	e8 f0 b3 01 00       	call   0x534890
5194a0:	83 c4 04             	add    $0x4,%esp
5194a3:	8b cf                	mov    %edi,%ecx
5194a5:	dd 5d cc             	fstpl  -0x34(%ebp)
5194a8:	e8 f3 83 0c 00       	call   0x5e18a0
5194ad:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
5194b1:	7d 07                	jge    0x5194ba
5194b3:	f2 0f 5e 45 cc       	divsd  -0x34(%ebp),%xmm0
5194b8:	eb 05                	jmp    0x5194bf
5194ba:	f2 0f 59 45 cc       	mulsd  -0x34(%ebp),%xmm0
5194bf:	8b 45 0c             	mov    0xc(%ebp),%eax
5194c2:	8b 55 e4             	mov    -0x1c(%ebp),%edx
5194c5:	8b 4d dc             	mov    -0x24(%ebp),%ecx
5194c8:	f2 0f 11 00          	movsd  %xmm0,(%eax)
5194cc:	8b 45 f0             	mov    -0x10(%ebp),%eax
5194cf:	3b 5d e0             	cmp    -0x20(%ebp),%ebx
5194d2:	75 10                	jne    0x5194e4
5194d4:	85 d2                	test   %edx,%edx
5194d6:	7e 0c                	jle    0x5194e4
5194d8:	85 c9                	test   %ecx,%ecx
5194da:	74 08                	je     0x5194e4
5194dc:	85 c0                	test   %eax,%eax
5194de:	0f 8f 50 fc ff ff    	jg     0x519134
5194e4:	83 f8 02             	cmp    $0x2,%eax
5194e7:	0f 8c 45 fc ff ff    	jl     0x519132
5194ed:	83 f8 03             	cmp    $0x3,%eax
5194f0:	74 08                	je     0x5194fa
5194f2:	85 c9                	test   %ecx,%ecx
5194f4:	0f 84 38 fc ff ff    	je     0x519132
5194fa:	85 d2                	test   %edx,%edx
5194fc:	0f 8e 30 fc ff ff    	jle    0x519132
519502:	5e                   	pop    %esi
519503:	5f                   	pop    %edi
519504:	83 c8 ff             	or     $0xffffffff,%eax
519507:	5b                   	pop    %ebx
519508:	8b e5                	mov    %ebp,%esp
51950a:	5d                   	pop    %ebp
51950b:	c3                   	ret
51950c:	cc                   	int3
51950d:	cc                   	int3
51950e:	cc                   	int3
51950f:	cc                   	int3
519510:	55                   	push   %ebp
519511:	8b ec                	mov    %esp,%ebp
519513:	51                   	push   %ecx
519514:	8b 45 08             	mov    0x8(%ebp),%eax
519517:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
51951e:	85 c0                	test   %eax,%eax
519520:	74 14                	je     0x519536
519522:	8d 4d fc             	lea    -0x4(%ebp),%ecx
519525:	51                   	push   %ecx
519526:	50                   	push   %eax
519527:	e8 74 38 01 00       	call   0x52cda0
51952c:	8b 45 fc             	mov    -0x4(%ebp),%eax
51952f:	83 c4 08             	add    $0x8,%esp
519532:	8b e5                	mov    %ebp,%esp
519534:	5d                   	pop    %ebp
519535:	c3                   	ret
519536:	33 c0                	xor    %eax,%eax
519538:	8b e5                	mov    %ebp,%esp
51953a:	5d                   	pop    %ebp
51953b:	c3                   	ret
51953c:	cc                   	int3
51953d:	cc                   	int3
51953e:	cc                   	int3
51953f:	cc                   	int3
519540:	55                   	push   %ebp
519541:	8b ec                	mov    %esp,%ebp
519543:	83 ec 18             	sub    $0x18,%esp
519546:	8a 45 14             	mov    0x14(%ebp),%al
519549:	33 d2                	xor    %edx,%edx
51954b:	8b 4d 08             	mov    0x8(%ebp),%ecx
51954e:	0f 57 c0             	xorps  %xmm0,%xmm0
519551:	89 4d f8             	mov    %ecx,-0x8(%ebp)
519554:	66 0f 13 45 ec       	movlpd %xmm0,-0x14(%ebp)
519559:	89 55 fc             	mov    %edx,-0x4(%ebp)
51955c:	89 55 f4             	mov    %edx,-0xc(%ebp)
51955f:	53                   	push   %ebx
519560:	56                   	push   %esi
519561:	57                   	push   %edi
519562:	3c 01                	cmp    $0x1,%al
519564:	75 08                	jne    0x51956e
519566:	8b 45 10             	mov    0x10(%ebp),%eax
519569:	8d 7a 01             	lea    0x1(%edx),%edi
51956c:	eb 3a                	jmp    0x5195a8
51956e:	8b 55 10             	mov    0x10(%ebp),%edx
519571:	bf 02 00 00 00       	mov    $0x2,%edi
519576:	0f b6 f0             	movzbl %al,%esi
519579:	b8 03 00 00 00       	mov    $0x3,%eax
51957e:	2b c6                	sub    %esi,%eax
519580:	3b c2                	cmp    %edx,%eax
519582:	7d 0d                	jge    0x519591
519584:	80 3c 08 00          	cmpb   $0x0,(%eax,%ecx,1)
519588:	75 07                	jne    0x519591
51958a:	83 c0 02             	add    $0x2,%eax
51958d:	3b c2                	cmp    %edx,%eax
51958f:	7c f3                	jl     0x519584
519591:	33 db                	xor    %ebx,%ebx
519593:	3b c2                	cmp    %edx,%eax
519595:	0f 9c c3             	setl   %bl
519598:	83 e6 01             	and    $0x1,%esi
51959b:	03 ce                	add    %esi,%ecx
51959d:	89 5d f4             	mov    %ebx,-0xc(%ebp)
5195a0:	83 f0 01             	xor    $0x1,%eax
5195a3:	89 4d 08             	mov    %ecx,0x8(%ebp)
5195a6:	33 d2                	xor    %edx,%edx
5195a8:	8b 5d f8             	mov    -0x8(%ebp),%ebx
5195ab:	03 d8                	add    %eax,%ebx
5195ad:	3b cb                	cmp    %ebx,%ecx
5195af:	73 34                	jae    0x5195e5
5195b1:	0f b6 01             	movzbl (%ecx),%eax
5195b4:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
5195bb:	74 0b                	je     0x5195c8
5195bd:	03 cf                	add    %edi,%ecx
5195bf:	89 4d 08             	mov    %ecx,0x8(%ebp)
5195c2:	3b cb                	cmp    %ebx,%ecx
5195c4:	72 eb                	jb     0x5195b1
5195c6:	eb 1d                	jmp    0x5195e5
5195c8:	3b cb                	cmp    %ebx,%ecx
5195ca:	73 19                	jae    0x5195e5
5195cc:	8a 01                	mov    (%ecx),%al
5195ce:	3c 2d                	cmp    $0x2d,%al
5195d0:	75 0a                	jne    0x5195dc
5195d2:	ba 01 00 00 00       	mov    $0x1,%edx
5195d7:	89 55 fc             	mov    %edx,-0x4(%ebp)
5195da:	eb 04                	jmp    0x5195e0
5195dc:	3c 2b                	cmp    $0x2b,%al
5195de:	75 05                	jne    0x5195e5
5195e0:	03 cf                	add    %edi,%ecx
5195e2:	89 4d 08             	mov    %ecx,0x8(%ebp)
5195e5:	89 4d e8             	mov    %ecx,-0x18(%ebp)
5195e8:	3b cb                	cmp    %ebx,%ecx
5195ea:	73 12                	jae    0x5195fe
5195ec:	0f 1f 40 00          	nopl   0x0(%eax)
5195f0:	80 39 30             	cmpb   $0x30,(%ecx)
5195f3:	75 06                	jne    0x5195fb
5195f5:	03 cf                	add    %edi,%ecx
5195f7:	3b cb                	cmp    %ebx,%ecx
5195f9:	72 f5                	jb     0x5195f0
5195fb:	89 4d 08             	mov    %ecx,0x8(%ebp)
5195fe:	8b 75 ec             	mov    -0x14(%ebp),%esi
519601:	c7 45 10 00 00 00 00 	movl   $0x0,0x10(%ebp)
519608:	3b cb                	cmp    %ebx,%ecx
51960a:	0f 83 95 00 00 00    	jae    0x5196a5
519610:	8b c1                	mov    %ecx,%eax
519612:	8b 4d f0             	mov    -0x10(%ebp),%ecx
519615:	89 45 f8             	mov    %eax,-0x8(%ebp)
519618:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
51961f:	00
519620:	0f be 00             	movsbl (%eax),%eax
519623:	89 45 f0             	mov    %eax,-0x10(%ebp)
519626:	83 c0 d0             	add    $0xffffffd0,%eax
519629:	83 f8 09             	cmp    $0x9,%eax
51962c:	77 39                	ja     0x519667
51962e:	8b 45 f0             	mov    -0x10(%ebp),%eax
519631:	8b d6                	mov    %esi,%edx
519633:	89 75 14             	mov    %esi,0x14(%ebp)
519636:	8b f1                	mov    %ecx,%esi
519638:	0f a4 d6 02          	shld   $0x2,%edx,%esi
51963c:	c1 e2 02             	shl    $0x2,%edx
51963f:	01 55 14             	add    %edx,0x14(%ebp)
519642:	99                   	cltd
519643:	13 ce                	adc    %esi,%ecx
519645:	8b 75 14             	mov    0x14(%ebp),%esi
519648:	0f a4 f1 01          	shld   $0x1,%esi,%ecx
51964c:	03 f6                	add    %esi,%esi
51964e:	03 f0                	add    %eax,%esi
519650:	8b 45 f8             	mov    -0x8(%ebp),%eax
519653:	13 ca                	adc    %edx,%ecx
519655:	83 c6 d0             	add    $0xffffffd0,%esi
519658:	83 d1 ff             	adc    $0xffffffff,%ecx
51965b:	01 7d 10             	add    %edi,0x10(%ebp)
51965e:	03 c7                	add    %edi,%eax
519660:	89 45 f8             	mov    %eax,-0x8(%ebp)
519663:	3b c3                	cmp    %ebx,%eax
519665:	72 b9                	jb     0x519620
519667:	89 4d 14             	mov    %ecx,0x14(%ebp)
51966a:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
519670:	8b 4d 08             	mov    0x8(%ebp),%ecx
519673:	72 35                	jb     0x5196aa
519675:	77 05                	ja     0x51967c
519677:	83 fe ff             	cmp    $0xffffffff,%esi
51967a:	76 2e                	jbe    0x5196aa
51967c:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
519680:	74 11                	je     0x519693
519682:	8b 55 0c             	mov    0xc(%ebp),%edx
519685:	33 c0                	xor    %eax,%eax
519687:	be 00 00 00 80       	mov    $0x80000000,%esi
51968c:	89 02                	mov    %eax,(%edx)
51968e:	89 72 04             	mov    %esi,0x4(%edx)
519691:	eb 30                	jmp    0x5196c3
519693:	8b 55 0c             	mov    0xc(%ebp),%edx
519696:	83 c8 ff             	or     $0xffffffff,%eax
519699:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
51969e:	89 02                	mov    %eax,(%edx)
5196a0:	89 72 04             	mov    %esi,0x4(%edx)
5196a3:	eb 1e                	jmp    0x5196c3
5196a5:	8b 45 f0             	mov    -0x10(%ebp),%eax
5196a8:	eb 06                	jmp    0x5196b0
5196aa:	8b 55 fc             	mov    -0x4(%ebp),%edx
5196ad:	8b 45 14             	mov    0x14(%ebp),%eax
5196b0:	85 d2                	test   %edx,%edx
5196b2:	8b 55 0c             	mov    0xc(%ebp),%edx
5196b5:	74 07                	je     0x5196be
5196b7:	f7 de                	neg    %esi
5196b9:	83 d0 00             	adc    $0x0,%eax
5196bc:	f7 d8                	neg    %eax
5196be:	89 42 04             	mov    %eax,0x4(%edx)
5196c1:	89 32                	mov    %esi,(%edx)
5196c3:	8b 75 10             	mov    0x10(%ebp),%esi
5196c6:	33 c0                	xor    %eax,%eax
5196c8:	89 45 14             	mov    %eax,0x14(%ebp)
5196cb:	85 f6                	test   %esi,%esi
5196cd:	75 0d                	jne    0x5196dc
5196cf:	39 4d e8             	cmp    %ecx,-0x18(%ebp)
5196d2:	75 08                	jne    0x5196dc
5196d4:	83 c8 ff             	or     $0xffffffff,%eax
5196d7:	89 45 14             	mov    %eax,0x14(%ebp)
5196da:	eb 2a                	jmp    0x519706
5196dc:	39 45 f4             	cmp    %eax,-0xc(%ebp)
5196df:	74 0a                	je     0x5196eb
5196e1:	b8 01 00 00 00       	mov    $0x1,%eax
5196e6:	89 45 14             	mov    %eax,0x14(%ebp)
5196e9:	eb 1b                	jmp    0x519706
5196eb:	8d 14 0e             	lea    (%esi,%ecx,1),%edx
5196ee:	3b d3                	cmp    %ebx,%edx
5196f0:	73 14                	jae    0x519706
5196f2:	0f b6 02             	movzbl (%edx),%eax
5196f5:	f6 80 40 1b 6b 00 01 	testb  $0x1,0x6b1b40(%eax)
5196fc:	74 e3                	je     0x5196e1
5196fe:	03 d7                	add    %edi,%edx
519700:	3b d3                	cmp    %ebx,%edx
519702:	72 ee                	jb     0x5196f2
519704:	33 c0                	xor    %eax,%eax
519706:	6b d7 13             	imul   $0x13,%edi,%edx
519709:	3b f2                	cmp    %edx,%esi
51970b:	0f 8c 83 00 00 00    	jl     0x519794
519711:	7e 15                	jle    0x519728
519713:	b8 01 00 00 00       	mov    $0x1,%eax
519718:	8b 5d fc             	mov    -0x4(%ebp),%ebx
51971b:	85 db                	test   %ebx,%ebx
51971d:	74 4a                	je     0x519769
51971f:	33 d2                	xor    %edx,%edx
519721:	be 00 00 00 80       	mov    $0x80000000,%esi
519726:	eb 49                	jmp    0x519771
519728:	33 c0                	xor    %eax,%eax
51972a:	8b d9                	mov    %ecx,%ebx
51972c:	33 f6                	xor    %esi,%esi
51972e:	66 90                	xchg   %ax,%ax
519730:	83 fe 12             	cmp    $0x12,%esi
519733:	7d 18                	jge    0x51974d
519735:	0f be 86 f0 79 6b 00 	movsbl 0x6b79f0(%esi),%eax
51973c:	46                   	inc    %esi
51973d:	0f be 13             	movsbl (%ebx),%edx
519740:	03 df                	add    %edi,%ebx
519742:	2b d0                	sub    %eax,%edx
519744:	8d 04 92             	lea    (%edx,%edx,4),%eax
519747:	03 c0                	add    %eax,%eax
519749:	74 e5                	je     0x519730
51974b:	eb 0e                	jmp    0x51975b
51974d:	85 c0                	test   %eax,%eax
51974f:	75 0c                	jne    0x51975d
519751:	8d 04 ff             	lea    (%edi,%edi,8),%eax