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)
55e832:	83 d2 00             	adc    $0x0,%edx
55e835:	83 c6 08             	add    $0x8,%esi
55e838:	33 ff                	xor    %edi,%edi
55e83a:	83 fe 38             	cmp    $0x38,%esi
55e83d:	72 d1                	jb     0x55e810
55e83f:	52                   	push   %edx
55e840:	68 14 24 65 00       	push   $0x652414
55e845:	8d 44 24 24          	lea    0x24(%esp),%eax
55e849:	68 14 24 65 00       	push   $0x652414
55e84e:	50                   	push   %eax
55e84f:	50                   	push   %eax
55e850:	e8 9b 03 00 00       	call   0x55ebf0
55e855:	83 c4 14             	add    $0x14,%esp
55e858:	85 ed                	test   %ebp,%ebp
55e85a:	0f 85 30 ff ff ff    	jne    0x55e790
55e860:	8b 7c 24 10          	mov    0x10(%esp),%edi
55e864:	0f 10 44 24 1c       	movups 0x1c(%esp),%xmm0
55e869:	8d 44 24 1c          	lea    0x1c(%esp),%eax
55e86d:	6a 38                	push   $0x38
55e86f:	0f 11 07             	movups %xmm0,(%edi)
55e872:	50                   	push   %eax
55e873:	0f 10 44 24 34       	movups 0x34(%esp),%xmm0
55e878:	0f 11 47 10          	movups %xmm0,0x10(%edi)
55e87c:	0f 10 44 24 44       	movups 0x44(%esp),%xmm0
55e881:	0f 11 47 20          	movups %xmm0,0x20(%edi)
55e885:	f3 0f 7e 44 24 54    	movq   0x54(%esp),%xmm0
55e88b:	66 0f d6 47 30       	movq   %xmm0,0x30(%edi)
55e890:	e8 4b 31 ea ff       	call   0x4019e0
55e895:	8d 44 24 5c          	lea    0x5c(%esp),%eax
55e899:	6a 38                	push   $0x38
55e89b:	50                   	push   %eax
55e89c:	e8 3f 31 ea ff       	call   0x4019e0
55e8a1:	83 c4 10             	add    $0x10,%esp
55e8a4:	8b 8c 24 8c 00 00 00 	mov    0x8c(%esp),%ecx
55e8ab:	5d                   	pop    %ebp
55e8ac:	5b                   	pop    %ebx
55e8ad:	5f                   	pop    %edi
55e8ae:	5e                   	pop    %esi
55e8af:	33 cc                	xor    %esp,%ecx
55e8b1:	e8 70 31 07 00       	call   0x5d1a26
55e8b6:	81 c4 80 00 00 00    	add    $0x80,%esp
55e8bc:	c3                   	ret
55e8bd:	cc                   	int3
55e8be:	cc                   	int3
55e8bf:	cc                   	int3
55e8c0:	6a 38                	push   $0x38
55e8c2:	ff 74 24 08          	push   0x8(%esp)
55e8c6:	e8 15 31 ea ff       	call   0x4019e0
55e8cb:	83 c4 08             	add    $0x8,%esp
55e8ce:	c3                   	ret
55e8cf:	cc                   	int3
55e8d0:	8b 44 24 04          	mov    0x4(%esp),%eax
55e8d4:	33 d2                	xor    %edx,%edx
55e8d6:	56                   	push   %esi
55e8d7:	8b 74 24 0c          	mov    0xc(%esp),%esi
55e8db:	83 c0 02             	add    $0x2,%eax
55e8de:	66 90                	xchg   %ax,%ax
55e8e0:	0f b6 0c 96          	movzbl (%esi,%edx,4),%ecx
55e8e4:	8d 40 04             	lea    0x4(%eax),%eax
55e8e7:	88 48 fa             	mov    %cl,-0x6(%eax)
55e8ea:	8b 0c 96             	mov    (%esi,%edx,4),%ecx
55e8ed:	c1 e9 08             	shr    $0x8,%ecx
55e8f0:	88 48 fb             	mov    %cl,-0x5(%eax)
55e8f3:	0f b6 4c 96 02       	movzbl 0x2(%esi,%edx,4),%ecx
55e8f8:	88 48 fc             	mov    %cl,-0x4(%eax)
55e8fb:	0f b6 4c 96 03       	movzbl 0x3(%esi,%edx,4),%ecx
55e900:	42                   	inc    %edx
55e901:	88 48 fd             	mov    %cl,-0x3(%eax)
55e904:	83 fa 0e             	cmp    $0xe,%edx
55e907:	72 d7                	jb     0x55e8e0
55e909:	5e                   	pop    %esi
55e90a:	c3                   	ret
55e90b:	cc                   	int3
55e90c:	cc                   	int3
55e90d:	cc                   	int3
55e90e:	cc                   	int3
55e90f:	cc                   	int3
55e910:	b8 18 00 00 00       	mov    $0x18,%eax
55e915:	e8 96 2e 07 00       	call   0x5d17b0
55e91a:	8b 54 24 20          	mov    0x20(%esp),%edx
55e91e:	0f 57 c0             	xorps  %xmm0,%xmm0
55e921:	53                   	push   %ebx
55e922:	55                   	push   %ebp
55e923:	56                   	push   %esi
55e924:	8b 02                	mov    (%edx),%eax
55e926:	83 e0 01             	and    $0x1,%eax
55e929:	66 0f 13 44 24 1c    	movlpd %xmm0,0x1c(%esp)
55e92f:	8b 5c 24 20          	mov    0x20(%esp),%ebx
55e933:	f7 d8                	neg    %eax
55e935:	8b 74 24 1c          	mov    0x1c(%esp),%esi
55e939:	89 44 24 0c          	mov    %eax,0xc(%esp)
55e93d:	8b c2                	mov    %edx,%eax
55e93f:	57                   	push   %edi
55e940:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
55e944:	2b c7                	sub    %edi,%eax
55e946:	89 44 24 18          	mov    %eax,0x18(%esp)
55e94a:	b8 14 24 65 00       	mov    $0x652414,%eax
55e94f:	2b c7                	sub    %edi,%eax
55e951:	c7 44 24 30 07 00 00 	movl   $0x7,0x30(%esp)
55e958:	00
55e959:	89 44 24 14          	mov    %eax,0x14(%esp)
55e95d:	b8 14 24 65 00       	mov    $0x652414,%eax
55e962:	2b c2                	sub    %edx,%eax
55e964:	8d 6f 04             	lea    0x4(%edi),%ebp
55e967:	8b 7c 24 10          	mov    0x10(%esp),%edi
55e96b:	89 44 24 1c          	mov    %eax,0x1c(%esp)
55e96f:	90                   	nop
55e970:	8b 0c 10             	mov    (%eax,%edx,1),%ecx
55e973:	8d 52 08             	lea    0x8(%edx),%edx
55e976:	33 c0                	xor    %eax,%eax
55e978:	8d 6d 08             	lea    0x8(%ebp),%ebp
55e97b:	23 cf                	and    %edi,%ecx
55e97d:	03 4a f8             	add    -0x8(%edx),%ecx
55e980:	13 c0                	adc    %eax,%eax
55e982:	03 f1                	add    %ecx,%esi
55e984:	8b 4c 24 18          	mov    0x18(%esp),%ecx
55e988:	13 d8                	adc    %eax,%ebx
55e98a:	89 75 f4             	mov    %esi,-0xc(%ebp)
55e98d:	8b 44 24 14          	mov    0x14(%esp),%eax
55e991:	33 f6                	xor    %esi,%esi
55e993:	8b 44 28 f8          	mov    -0x8(%eax,%ebp,1),%eax
55e997:	23 c7                	and    %edi,%eax
55e999:	03 44 29 f8          	add    -0x8(%ecx,%ebp,1),%eax
55e99d:	13 f6                	adc    %esi,%esi
55e99f:	03 c3                	add    %ebx,%eax
55e9a1:	89 45 f8             	mov    %eax,-0x8(%ebp)
55e9a4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55e9a8:	83 d6 00             	adc    $0x0,%esi
55e9ab:	33 db                	xor    %ebx,%ebx
55e9ad:	83 6c 24 30 01       	subl   $0x1,0x30(%esp)
55e9b2:	75 bc                	jne    0x55e970
55e9b4:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
55e9b8:	b9 1f 00 00 00       	mov    $0x1f,%ecx
55e9bd:	33 c0                	xor    %eax,%eax
55e9bf:	66 0f 6e d1          	movd   %ecx,%xmm2
55e9c3:	b9 01 00 00 00       	mov    $0x1,%ecx
55e9c8:	66 0f 6e d9          	movd   %ecx,%xmm3
55e9cc:	0f 1f 40 00          	nopl   0x0(%eax)
55e9d0:	0f 10 4c 87 04       	movups 0x4(%edi,%eax,4),%xmm1
55e9d5:	0f 10 04 87          	movups (%edi,%eax,4),%xmm0
55e9d9:	66 0f f2 ca          	pslld  %xmm2,%xmm1
55e9dd:	66 0f d2 c3          	psrld  %xmm3,%xmm0
55e9e1:	66 0f eb c8          	por    %xmm0,%xmm1
55e9e5:	0f 11 0c 87          	movups %xmm1,(%edi,%eax,4)
55e9e9:	83 c0 04             	add    $0x4,%eax
55e9ec:	83 f8 0c             	cmp    $0xc,%eax
55e9ef:	72 df                	jb     0x55e9d0
55e9f1:	83 f8 0d             	cmp    $0xd,%eax
55e9f4:	73 17                	jae    0x55ea0d
55e9f6:	8b 0c 87             	mov    (%edi,%eax,4),%ecx
55e9f9:	8b 54 87 04          	mov    0x4(%edi,%eax,4),%edx
55e9fd:	c1 e2 1f             	shl    $0x1f,%edx
55ea00:	d1 e9                	shr    $1,%ecx
55ea02:	0b d1                	or     %ecx,%edx
55ea04:	89 14 87             	mov    %edx,(%edi,%eax,4)
55ea07:	40                   	inc    %eax
55ea08:	83 f8 0d             	cmp    $0xd,%eax
55ea0b:	72 e9                	jb     0x55e9f6
55ea0d:	8d 0c 87             	lea    (%edi,%eax,4),%ecx
55ea10:	8b c3                	mov    %ebx,%eax
55ea12:	0f a4 f0 1f          	shld   $0x1f,%esi,%eax
55ea16:	8b 01                	mov    (%ecx),%eax
55ea18:	c1 e6 1f             	shl    $0x1f,%esi
55ea1b:	d1 e8                	shr    $1,%eax
55ea1d:	0b f0                	or     %eax,%esi
55ea1f:	5f                   	pop    %edi
55ea20:	89 31                	mov    %esi,(%ecx)
55ea22:	5e                   	pop    %esi
55ea23:	5d                   	pop    %ebp
55ea24:	5b                   	pop    %ebx
55ea25:	83 c4 18             	add    $0x18,%esp
55ea28:	c3                   	ret
55ea29:	cc                   	int3
55ea2a:	cc                   	int3
55ea2b:	cc                   	int3