55e44b:	8b c6                	mov    %esi,%eax
55e44d:	c1 e9 1c             	shr    $0x1c,%ecx
55e450:	03 dd                	add    %ebp,%ebx
55e452:	8b ea                	mov    %edx,%ebp
55e454:	13 e9                	adc    %ecx,%ebp
55e456:	8b 4c 24 30          	mov    0x30(%esp),%ecx
55e45a:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e45f:	0f ac fe 1c          	shrd   $0x1c,%edi,%esi
55e463:	89 41 18             	mov    %eax,0x18(%ecx)
55e466:	8b c3                	mov    %ebx,%eax
55e468:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e46d:	c1 ef 1c             	shr    $0x1c,%edi
55e470:	89 41 38             	mov    %eax,0x38(%ecx)
55e473:	8b 4c 24 34          	mov    0x34(%esp),%ecx
55e477:	8b 44 24 38          	mov    0x38(%esp),%eax
55e47b:	f7 61 1c             	mull   0x1c(%ecx)
55e47e:	03 c6                	add    %esi,%eax
55e480:	8b ca                	mov    %edx,%ecx
55e482:	8b 54 24 34          	mov    0x34(%esp),%edx
55e486:	13 cf                	adc    %edi,%ecx
55e488:	89 44 24 18          	mov    %eax,0x18(%esp)
55e48c:	8b 44 24 38          	mov    0x38(%esp),%eax
55e490:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
55e494:	f7 62 3c             	mull   0x3c(%edx)
55e497:	0f ac eb 1c          	shrd   $0x1c,%ebp,%ebx
55e49b:	8b f0                	mov    %eax,%esi
55e49d:	c1 ed 1c             	shr    $0x1c,%ebp
55e4a0:	03 f3                	add    %ebx,%esi
55e4a2:	8b 5c 24 18          	mov    0x18(%esp),%ebx
55e4a6:	8b c3                	mov    %ebx,%eax
55e4a8:	13 d5                	adc    %ebp,%edx
55e4aa:	8b 6c 24 30          	mov    0x30(%esp),%ebp
55e4ae:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e4b3:	0f ac cb 1c          	shrd   $0x1c,%ecx,%ebx
55e4b7:	89 45 1c             	mov    %eax,0x1c(%ebp)
55e4ba:	8b c6                	mov    %esi,%eax
55e4bc:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e4c1:	c1 e9 1c             	shr    $0x1c,%ecx
55e4c4:	0f ac d6 1c          	shrd   $0x1c,%edx,%esi
55e4c8:	89 45 3c             	mov    %eax,0x3c(%ebp)
55e4cb:	33 c0                	xor    %eax,%eax
55e4cd:	c1 ea 1c             	shr    $0x1c,%edx
55e4d0:	03 fe                	add    %esi,%edi
55e4d2:	13 c2                	adc    %edx,%eax
55e4d4:	03 df                	add    %edi,%ebx
55e4d6:	5f                   	pop    %edi
55e4d7:	13 c8                	adc    %eax,%ecx
55e4d9:	8b c3                	mov    %ebx,%eax
55e4db:	0f ac cb 1c          	shrd   $0x1c,%ecx,%ebx
55e4df:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e4e4:	03 5c 24 1c          	add    0x1c(%esp),%ebx
55e4e8:	03 74 24 20          	add    0x20(%esp),%esi
55e4ec:	89 45 20             	mov    %eax,0x20(%ebp)
55e4ef:	8b c6                	mov    %esi,%eax
55e4f1:	83 d2 00             	adc    $0x0,%edx
55e4f4:	89 5d 24             	mov    %ebx,0x24(%ebp)
55e4f7:	0f ac d6 1c          	shrd   $0x1c,%edx,%esi
55e4fb:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e500:	03 74 24 24          	add    0x24(%esp),%esi
55e504:	89 75 04             	mov    %esi,0x4(%ebp)
55e507:	5e                   	pop    %esi
55e508:	89 45 00             	mov    %eax,0x0(%ebp)
55e50b:	5d                   	pop    %ebp
55e50c:	5b                   	pop    %ebx
55e50d:	83 c4 1c             	add    $0x1c,%esp
55e510:	c3                   	ret
55e511:	cc                   	int3
55e512:	cc                   	int3
55e513:	cc                   	int3
55e514:	cc                   	int3
55e515:	cc                   	int3
55e516:	cc                   	int3
55e517:	cc                   	int3
55e518:	cc                   	int3
55e519:	cc                   	int3
55e51a:	cc                   	int3
55e51b:	cc                   	int3
55e51c:	cc                   	int3
55e51d:	cc                   	int3
55e51e:	cc                   	int3
55e51f:	cc                   	int3
55e520:	8b 44 24 08          	mov    0x8(%esp),%eax
55e524:	50                   	push   %eax
55e525:	50                   	push   %eax
55e526:	ff 74 24 0c          	push   0xc(%esp)
55e52a:	e8 f1 f9 ff ff       	call   0x55df20
55e52f:	83 c4 0c             	add    $0xc,%esp
55e532:	c3                   	ret
55e533:	cc                   	int3
55e534:	cc                   	int3
55e535:	cc                   	int3
55e536:	cc                   	int3
55e537:	cc                   	int3
55e538:	cc                   	int3
55e539:	cc                   	int3
55e53a:	cc                   	int3
55e53b:	cc                   	int3
55e53c:	cc                   	int3
55e53d:	cc                   	int3
55e53e:	cc                   	int3
55e53f:	cc                   	int3
55e540:	b8 14 00 00 00       	mov    $0x14,%eax
55e545:	e8 66 32 07 00       	call   0x5d17b0
55e54a:	8b 44 24 20          	mov    0x20(%esp),%eax
55e54e:	0f 57 c0             	xorps  %xmm0,%xmm0
55e551:	8b 4c 24 18          	mov    0x18(%esp),%ecx
55e555:	53                   	push   %ebx
55e556:	55                   	push   %ebp
55e557:	8b 6c 24 24          	mov    0x24(%esp),%ebp
55e55b:	8d 50 04             	lea    0x4(%eax),%edx
55e55e:	8b dd                	mov    %ebp,%ebx
55e560:	66 0f 13 44 24 14    	movlpd %xmm0,0x14(%esp)
55e566:	2b d8                	sub    %eax,%ebx
55e568:	c7 44 24 08 07 00 00 	movl   $0x7,0x8(%esp)
55e56f:	00
55e570:	89 5c 24 0c          	mov    %ebx,0xc(%esp)
55e574:	8b d9                	mov    %ecx,%ebx
55e576:	2b d8                	sub    %eax,%ebx
55e578:	2b e9                	sub    %ecx,%ebp
55e57a:	56                   	push   %esi
55e57b:	8b 74 24 18          	mov    0x18(%esp),%esi
55e57f:	57                   	push   %edi
55e580:	89 5c 24 18          	mov    %ebx,0x18(%esp)
55e584:	8b f9                	mov    %ecx,%edi
55e586:	8b 5c 24 20          	mov    0x20(%esp),%ebx
55e58a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
55e590:	8b 04 2f             	mov    (%edi,%ebp,1),%eax
55e593:	8d 52 08             	lea    0x8(%edx),%edx
55e596:	33 c9                	xor    %ecx,%ecx
55e598:	8d 7f 08             	lea    0x8(%edi),%edi
55e59b:	03 42 f4             	add    -0xc(%edx),%eax
55e59e:	13 c9                	adc    %ecx,%ecx
55e5a0:	03 f0                	add    %eax,%esi
55e5a2:	8b 44 24 14          	mov    0x14(%esp),%eax
55e5a6:	13 d9                	adc    %ecx,%ebx
55e5a8:	89 77 f8             	mov    %esi,-0x8(%edi)
55e5ab:	8b 4c 24 18          	mov    0x18(%esp),%ecx
55e5af:	33 f6                	xor    %esi,%esi
55e5b1:	8b 44 10 f8          	mov    -0x8(%eax,%edx,1),%eax
55e5b5:	03 c3                	add    %ebx,%eax
55e5b7:	13 f6                	adc    %esi,%esi
55e5b9:	03 42 f8             	add    -0x8(%edx),%eax
55e5bc:	89 44 11 f8          	mov    %eax,-0x8(%ecx,%edx,1)
55e5c0:	83 d6 00             	adc    $0x0,%esi
55e5c3:	33 db                	xor    %ebx,%ebx
55e5c5:	83 6c 24 10 01       	subl   $0x1,0x10(%esp)
55e5ca:	75 c4                	jne    0x55e590
55e5cc:	8b 4c 24 28          	mov    0x28(%esp),%ecx
55e5d0:	b8 14 24 65 00       	mov    $0x652414,%eax
55e5d5:	2b c1                	sub    %ecx,%eax
55e5d7:	89 74 24 18          	mov    %esi,0x18(%esp)
55e5db:	0f 57 c0             	xorps  %xmm0,%xmm0
55e5de:	89 44 24 10          	mov    %eax,0x10(%esp)
55e5e2:	8b f0                	mov    %eax,%esi
55e5e4:	8d 69 04             	lea    0x4(%ecx),%ebp
55e5e7:	66 0f 13 44 24 1c    	movlpd %xmm0,0x1c(%esp)
55e5ed:	8b 5c 24 20          	mov    0x20(%esp),%ebx
55e5f1:	8b fd                	mov    %ebp,%edi
55e5f3:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55e5f7:	89 6c 24 14          	mov    %ebp,0x14(%esp)
55e5fb:	33 ed                	xor    %ebp,%ebp
55e5fd:	0f 1f 00             	nopl   (%eax)
55e600:	8b 4f fc             	mov    -0x4(%edi),%ecx
55e603:	8d 7f 08             	lea    0x8(%edi),%edi
55e606:	33 d2                	xor    %edx,%edx
55e608:	2b 8d 14 24 65 00    	sub    0x652414(%ebp),%ecx
55e60e:	1b d2                	sbb    %edx,%edx
55e610:	03 c1                	add    %ecx,%eax
55e612:	89 47 f4             	mov    %eax,-0xc(%edi)
55e615:	13 da                	adc    %edx,%ebx
55e617:	8b c3                	mov    %ebx,%eax
55e619:	8b c8                	mov    %eax,%ecx
55e61b:	c1 f8 1f             	sar    $0x1f,%eax
55e61e:	2b 4c 3e f8          	sub    -0x8(%esi,%edi,1),%ecx
55e622:	83 d8 00             	sbb    $0x0,%eax
55e625:	01 4f f8             	add    %ecx,-0x8(%edi)
55e628:	83 d0 00             	adc    $0x0,%eax
55e62b:	83 c5 08             	add    $0x8,%ebp
55e62e:	8b d8                	mov    %eax,%ebx
55e630:	c1 fb 1f             	sar    $0x1f,%ebx
55e633:	83 fd 38             	cmp    $0x38,%ebp
55e636:	72 c8                	jb     0x55e600
55e638:	8b 5c 24 18          	mov    0x18(%esp),%ebx
55e63c:	0f 57 c0             	xorps  %xmm0,%xmm0
55e63f:	8b 6c 24 14          	mov    0x14(%esp),%ebp
55e643:	03 d8                	add    %eax,%ebx
55e645:	66 0f 13 44 24 1c    	movlpd %xmm0,0x1c(%esp)
55e64b:	33 ff                	xor    %edi,%edi
55e64d:	8b 74 24 20          	mov    0x20(%esp),%esi
55e651:	8b 54 24 1c          	mov    0x1c(%esp),%edx
55e655:	8b 8f 14 24 65 00    	mov    0x652414(%edi),%ecx
55e65b:	8d 6d 08             	lea    0x8(%ebp),%ebp
55e65e:	33 c0                	xor    %eax,%eax
55e660:	23 cb                	and    %ebx,%ecx
55e662:	03 4d f4             	add    -0xc(%ebp),%ecx
55e665:	13 c0                	adc    %eax,%eax
55e667:	03 d1                	add    %ecx,%edx
55e669:	89 55 f4             	mov    %edx,-0xc(%ebp)
55e66c:	13 f0                	adc    %eax,%esi
55e66e:	8b 44 24 10          	mov    0x10(%esp),%eax
55e672:	33 d2                	xor    %edx,%edx
55e674:	8b 4c 28 f8          	mov    -0x8(%eax,%ebp,1),%ecx
55e678:	8b c6                	mov    %esi,%eax
55e67a:	23 cb                	and    %ebx,%ecx
55e67c:	c1 f8 1f             	sar    $0x1f,%eax
55e67f:	03 ce                	add    %esi,%ecx
55e681:	13 d0                	adc    %eax,%edx
55e683:	01 4d f8             	add    %ecx,-0x8(%ebp)
55e686:	83 d2 00             	adc    $0x0,%edx
55e689:	83 c7 08             	add    $0x8,%edi
55e68c:	8b f2                	mov    %edx,%esi
55e68e:	c1 fe 1f             	sar    $0x1f,%esi
55e691:	83 ff 38             	cmp    $0x38,%edi
55e694:	72 bf                	jb     0x55e655
55e696:	5f                   	pop    %edi
55e697:	5e                   	pop    %esi
55e698:	5d                   	pop    %ebp
55e699:	5b                   	pop    %ebx
55e69a:	83 c4 14             	add    $0x14,%esp
55e69d:	c3                   	ret
55e69e:	cc                   	int3
55e69f:	cc                   	int3
55e6a0:	b8 80 00 00 00       	mov    $0x80,%eax
55e6a5:	e8 06 31 07 00       	call   0x5d17b0
55e6aa:	a1 c0 14 69 00       	mov    0x6914c0,%eax
55e6af:	33 c4                	xor    %esp,%eax
55e6b1:	89 44 24 7c          	mov    %eax,0x7c(%esp)
55e6b5:	56                   	push   %esi
55e6b6:	8b b4 24 90 00 00 00 	mov    0x90(%esp),%esi
55e6bd:	57                   	push   %edi
55e6be:	8b bc 24 8c 00 00 00 	mov    0x8c(%esp),%edi
55e6c5:	89 7c 24 08          	mov    %edi,0x8(%esp)
55e6c9:	85 f6                	test   %esi,%esi
55e6cb:	75 41                	jne    0x55e70e
55e6cd:	0f 10 05 d8 23 65 00 	movups 0x6523d8,%xmm0
55e6d4:	0f 11 07             	movups %xmm0,(%edi)
55e6d7:	0f 10 05 e8 23 65 00 	movups 0x6523e8,%xmm0
55e6de:	0f 11 47 10          	movups %xmm0,0x10(%edi)
55e6e2:	0f 10 05 f8 23 65 00 	movups 0x6523f8,%xmm0
55e6e9:	0f 11 47 20          	movups %xmm0,0x20(%edi)
55e6ed:	f3 0f 7e 05 08 24 65 	movq   0x652408,%xmm0
55e6f4:	00
55e6f5:	66 0f d6 47 30       	movq   %xmm0,0x30(%edi)
55e6fa:	5f                   	pop    %edi
55e6fb:	5e                   	pop    %esi
55e6fc:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
55e700:	33 cc                	xor    %esp,%ecx
55e702:	e8 1f 33 07 00       	call   0x5d1a26
55e707:	81 c4 80 00 00 00    	add    $0x80,%esp
55e70d:	c3                   	ret
55e70e:	b8 25 49 92 24       	mov    $0x24924925,%eax
55e713:	8b ce                	mov    %esi,%ecx
55e715:	f7 e6                	mul    %esi
55e717:	53                   	push   %ebx
55e718:	8b 9c 24 94 00 00 00 	mov    0x94(%esp),%ebx
55e71f:	2b ca                	sub    %edx,%ecx
55e721:	d1 e9                	shr    $1,%ecx
55e723:	03 ca                	add    %edx,%ecx
55e725:	c1 e9 05             	shr    $0x5,%ecx
55e728:	55                   	push   %ebp
55e729:	8d 04 cd 00 00 00 00 	lea    0x0(,%ecx,8),%eax
55e730:	2b c1                	sub    %ecx,%eax
55e732:	c1 e0 03             	shl    $0x3,%eax
55e735:	3b c6                	cmp    %esi,%eax
55e737:	8d 68 c8             	lea    -0x38(%eax),%ebp
55e73a:	0f 45 e8             	cmovne %eax,%ebp
55e73d:	8b c6                	mov    %esi,%eax
55e73f:	2b c5                	sub    %ebp,%eax
55e741:	03 dd                	add    %ebp,%ebx
55e743:	50                   	push   %eax
55e744:	8d 44 24 20          	lea    0x20(%esp),%eax
55e748:	53                   	push   %ebx
55e749:	50                   	push   %eax
55e74a:	e8 b1 05 00 00       	call   0x55ed00
55e74f:	83 c4 0c             	add    $0xc,%esp
55e752:	83 fe 38             	cmp    $0x38,%esi
55e755:	75 2f                	jne    0x55e786
55e757:	68 a0 23 65 00       	push   $0x6523a0
55e75c:	8d 44 24 20          	lea    0x20(%esp),%eax
55e760:	50                   	push   %eax
55e761:	57                   	push   %edi
55e762:	e8 19 03 00 00       	call   0x55ea80
55e767:	68 4c 24 65 00       	push   $0x65244c
55e76c:	57                   	push   %edi
55e76d:	57                   	push   %edi
55e76e:	e8 0d 03 00 00       	call   0x55ea80
55e773:	8d 44 24 34          	lea    0x34(%esp),%eax
55e777:	56                   	push   %esi
55e778:	50                   	push   %eax
55e779:	e8 62 32 ea ff       	call   0x4019e0
55e77e:	83 c4 20             	add    $0x20,%esp
55e781:	e9 1e 01 00 00       	jmp    0x55e8a4
55e786:	85 ed                	test   %ebp,%ebp
55e788:	0f 84 d6 00 00 00    	je     0x55e864
55e78e:	66 90                	xchg   %ax,%ax
55e790:	8d 44 24 1c          	lea    0x1c(%esp),%eax
55e794:	83 ed 38             	sub    $0x38,%ebp
55e797:	68 4c 24 65 00       	push   $0x65244c
55e79c:	50                   	push   %eax
55e79d:	50                   	push   %eax
55e79e:	8d 5b c8             	lea    -0x38(%ebx),%ebx
55e7a1:	e8 da 02 00 00       	call   0x55ea80
55e7a6:	83 c4 0c             	add    $0xc,%esp
55e7a9:	33 d2                	xor    %edx,%edx
55e7ab:	33 ff                	xor    %edi,%edi
55e7ad:	0f 1f 00             	nopl   (%eax)
55e7b0:	33 f6                	xor    %esi,%esi
55e7b2:	33 c9                	xor    %ecx,%ecx
55e7b4:	83 fa 38             	cmp    $0x38,%edx
55e7b7:	73 11                	jae    0x55e7ca
55e7b9:	0f b6 04 13          	movzbl (%ebx,%edx,1),%eax
55e7bd:	42                   	inc    %edx
55e7be:	d3 e0                	shl    %cl,%eax
55e7c0:	83 c1 08             	add    $0x8,%ecx
55e7c3:	0b f0                	or     %eax,%esi
55e7c5:	83 f9 20             	cmp    $0x20,%ecx
55e7c8:	72 ea                	jb     0x55e7b4
55e7ca:	89 74 bc 54          	mov    %esi,0x54(%esp,%edi,4)
55e7ce:	47                   	inc    %edi
55e7cf:	83 ff 0e             	cmp    $0xe,%edi
55e7d2:	72 dc                	jb     0x55e7b0
55e7d4:	8d 44 24 54          	lea    0x54(%esp),%eax
55e7d8:	68 a0 23 65 00       	push   $0x6523a0
55e7dd:	50                   	push   %eax
55e7de:	50                   	push   %eax
55e7df:	e8 9c 02 00 00       	call   0x55ea80
55e7e4:	8d 44 24 60          	lea    0x60(%esp),%eax
55e7e8:	68 4c 24 65 00       	push   $0x65244c
55e7ed:	50                   	push   %eax
55e7ee:	50                   	push   %eax
55e7ef:	e8 8c 02 00 00       	call   0x55ea80
55e7f4:	0f 57 c0             	xorps  %xmm0,%xmm0
55e7f7:	83 c4 18             	add    $0x18,%esp
55e7fa:	66 0f 13 44 24 14    	movlpd %xmm0,0x14(%esp)
55e800:	33 f6                	xor    %esi,%esi
55e802:	8b 7c 24 18          	mov    0x18(%esp),%edi
55e806:	8b 54 24 14          	mov    0x14(%esp),%edx
55e80a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
55e810:	8b 44 34 54          	mov    0x54(%esp,%esi,1),%eax
55e814:	33 c9                	xor    %ecx,%ecx
55e816:	03 44 34 1c          	add    0x1c(%esp,%esi,1),%eax
55e81a:	13 c9                	adc    %ecx,%ecx
55e81c:	03 d0                	add    %eax,%edx
55e81e:	8b 44 34 58          	mov    0x58(%esp,%esi,1),%eax
55e822:	13 f9                	adc    %ecx,%edi
55e824:	89 54 34 1c          	mov    %edx,0x1c(%esp,%esi,1)
55e828:	33 d2                	xor    %edx,%edx
55e82a:	03 c7                	add    %edi,%eax
55e82c:	13 d2                	adc    %edx,%edx
55e82e:	01 44 34 20          	add    %eax,0x20(%esp,%esi,1)