55ddb1:	23 f3                	and    %ebx,%esi
55ddb3:	03 f7                	add    %edi,%esi
55ddb5:	8b 7c 24 18          	mov    0x18(%esp),%edi
55ddb9:	13 ea                	adc    %edx,%ebp
55ddbb:	8b d1                	mov    %ecx,%edx
55ddbd:	03 72 04             	add    0x4(%edx),%esi
55ddc0:	8b c6                	mov    %esi,%eax
55ddc2:	83 d5 00             	adc    $0x0,%ebp
55ddc5:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55ddca:	0f ac ee 1c          	shrd   $0x1c,%ebp,%esi
55ddce:	83 c7 10             	add    $0x10,%edi
55ddd1:	89 42 04             	mov    %eax,0x4(%edx)
55ddd4:	83 c2 10             	add    $0x10,%edx
55ddd7:	c1 ed 1c             	shr    $0x1c,%ebp
55ddda:	89 7c 24 18          	mov    %edi,0x18(%esp)
55ddde:	89 54 24 10          	mov    %edx,0x10(%esp)
55dde2:	83 ff 40             	cmp    $0x40,%edi
55dde5:	0f 82 45 ff ff ff    	jb     0x55dd30
55ddeb:	5f                   	pop    %edi
55ddec:	5e                   	pop    %esi
55dded:	5d                   	pop    %ebp
55ddee:	5b                   	pop    %ebx
55ddef:	83 c4 20             	add    $0x20,%esp
55ddf2:	c3                   	ret
55ddf3:	cc                   	int3
55ddf4:	cc                   	int3
55ddf5:	cc                   	int3
55ddf6:	cc                   	int3
55ddf7:	cc                   	int3
55ddf8:	cc                   	int3
55ddf9:	cc                   	int3
55ddfa:	cc                   	int3
55ddfb:	cc                   	int3
55ddfc:	cc                   	int3
55ddfd:	cc                   	int3
55ddfe:	cc                   	int3
55ddff:	cc                   	int3
55de00:	8b 44 24 0c          	mov    0xc(%esp),%eax
55de04:	8b 54 24 08          	mov    0x8(%esp),%edx
55de08:	56                   	push   %esi
55de09:	8b 74 24 08          	mov    0x8(%esp),%esi
55de0d:	8d 48 3c             	lea    0x3c(%eax),%ecx
55de10:	57                   	push   %edi
55de11:	8d 7e 3c             	lea    0x3c(%esi),%edi
55de14:	3b f1                	cmp    %ecx,%esi
55de16:	77 04                	ja     0x55de1c
55de18:	3b f8                	cmp    %eax,%edi
55de1a:	73 0b                	jae    0x55de27
55de1c:	8d 4a 3c             	lea    0x3c(%edx),%ecx
55de1f:	3b f1                	cmp    %ecx,%esi
55de21:	77 25                	ja     0x55de48
55de23:	3b fa                	cmp    %edx,%edi
55de25:	72 21                	jb     0x55de48
55de27:	53                   	push   %ebx
55de28:	8b de                	mov    %esi,%ebx
55de2a:	2b d0                	sub    %eax,%edx
55de2c:	2b d8                	sub    %eax,%ebx
55de2e:	bf 10 00 00 00       	mov    $0x10,%edi
55de33:	8b 0c 02             	mov    (%edx,%eax,1),%ecx
55de36:	8d 40 04             	lea    0x4(%eax),%eax
55de39:	2b 48 fc             	sub    -0x4(%eax),%ecx
55de3c:	89 4c 03 fc          	mov    %ecx,-0x4(%ebx,%eax,1)
55de40:	83 ef 01             	sub    $0x1,%edi
55de43:	75 ee                	jne    0x55de33
55de45:	5b                   	pop    %ebx
55de46:	eb 3d                	jmp    0x55de85
55de48:	0f 10 00             	movups (%eax),%xmm0
55de4b:	0f 10 0a             	movups (%edx),%xmm1
55de4e:	66 0f fa c8          	psubd  %xmm0,%xmm1
55de52:	0f 10 40 10          	movups 0x10(%eax),%xmm0
55de56:	0f 11 0e             	movups %xmm1,(%esi)
55de59:	0f 10 4a 10          	movups 0x10(%edx),%xmm1
55de5d:	66 0f fa c8          	psubd  %xmm0,%xmm1
55de61:	0f 10 40 20          	movups 0x20(%eax),%xmm0
55de65:	0f 11 4e 10          	movups %xmm1,0x10(%esi)
55de69:	0f 10 4a 20          	movups 0x20(%edx),%xmm1
55de6d:	66 0f fa c8          	psubd  %xmm0,%xmm1
55de71:	0f 10 40 30          	movups 0x30(%eax),%xmm0
55de75:	0f 11 4e 20          	movups %xmm1,0x20(%esi)
55de79:	0f 10 4a 30          	movups 0x30(%edx),%xmm1
55de7d:	66 0f fa c8          	psubd  %xmm0,%xmm1
55de81:	0f 11 4e 30          	movups %xmm1,0x30(%esi)
55de85:	0f 28 15 90 22 65 00 	movaps 0x652290,%xmm2
55de8c:	33 c9                	xor    %ecx,%ecx
55de8e:	0f 28 1d 80 22 65 00 	movaps 0x652280,%xmm3
55de95:	0f 28 25 a0 20 61 00 	movaps 0x6120a0,%xmm4
55de9c:	0f 28 2d 60 90 64 00 	movaps 0x649060,%xmm5
55dea3:	66 0f 6e c1          	movd   %ecx,%xmm0
55dea7:	8d 41 04             	lea    0x4(%ecx),%eax
55deaa:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
55deaf:	66 0f fe c4          	paddd  %xmm4,%xmm0
55deb3:	66 0f 76 c5          	pcmpeqd %xmm5,%xmm0
55deb7:	0f 28 c8             	movaps %xmm0,%xmm1
55deba:	66 0f db c3          	pand   %xmm3,%xmm0
55debe:	66 0f df ca          	pandn  %xmm2,%xmm1
55dec2:	66 0f eb c8          	por    %xmm0,%xmm1
55dec6:	0f 10 04 8e          	movups (%esi,%ecx,4),%xmm0
55deca:	66 0f fe c8          	paddd  %xmm0,%xmm1
55dece:	66 0f 6e c0          	movd   %eax,%xmm0
55ded2:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
55ded7:	0f 11 0c 8e          	movups %xmm1,(%esi,%ecx,4)
55dedb:	66 0f fe c4          	paddd  %xmm4,%xmm0
55dedf:	66 0f 76 c5          	pcmpeqd %xmm5,%xmm0
55dee3:	0f 28 c8             	movaps %xmm0,%xmm1
55dee6:	66 0f db c3          	pand   %xmm3,%xmm0
55deea:	66 0f df ca          	pandn  %xmm2,%xmm1
55deee:	66 0f eb c8          	por    %xmm0,%xmm1
55def2:	0f 10 44 8e 10       	movups 0x10(%esi,%ecx,4),%xmm0
55def7:	66 0f fe c8          	paddd  %xmm0,%xmm1
55defb:	0f 11 4c 8e 10       	movups %xmm1,0x10(%esi,%ecx,4)
55df00:	83 c1 08             	add    $0x8,%ecx
55df03:	83 f9 10             	cmp    $0x10,%ecx
55df06:	72 9b                	jb     0x55dea3
55df08:	56                   	push   %esi
55df09:	e8 32 03 fd ff       	call   0x52e240
55df0e:	83 c4 04             	add    $0x4,%esp
55df11:	5f                   	pop    %edi
55df12:	5e                   	pop    %esi
55df13:	c3                   	ret
55df14:	cc                   	int3
55df15:	cc                   	int3
55df16:	cc                   	int3
55df17:	cc                   	int3
55df18:	cc                   	int3
55df19:	cc                   	int3
55df1a:	cc                   	int3
55df1b:	cc                   	int3
55df1c:	cc                   	int3
55df1d:	cc                   	int3
55df1e:	cc                   	int3
55df1f:	cc                   	int3
55df20:	b8 80 00 00 00       	mov    $0x80,%eax
55df25:	e8 86 38 07 00       	call   0x5d17b0
55df2a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
55df2f:	33 c4                	xor    %esp,%eax
55df31:	89 44 24 7c          	mov    %eax,0x7c(%esp)
55df35:	53                   	push   %ebx
55df36:	55                   	push   %ebp
55df37:	56                   	push   %esi
55df38:	57                   	push   %edi
55df39:	8b 8c 24 98 00 00 00 	mov    0x98(%esp),%ecx
55df40:	0f 57 c0             	xorps  %xmm0,%xmm0
55df43:	8b 94 24 9c 00 00 00 	mov    0x9c(%esp),%edx
55df4a:	8d 5a 04             	lea    0x4(%edx),%ebx
55df4d:	66 0f 13 44 24 20    	movlpd %xmm0,0x20(%esp)
55df53:	8b 41 20             	mov    0x20(%ecx),%eax
55df56:	03 01                	add    (%ecx),%eax
55df58:	89 44 24 4c          	mov    %eax,0x4c(%esp)
55df5c:	8b 42 20             	mov    0x20(%edx),%eax
55df5f:	03 02                	add    (%edx),%eax
55df61:	89 44 24 6c          	mov    %eax,0x6c(%esp)
55df65:	8b 41 24             	mov    0x24(%ecx),%eax
55df68:	03 41 04             	add    0x4(%ecx),%eax
55df6b:	89 44 24 50          	mov    %eax,0x50(%esp)
55df6f:	8b 42 24             	mov    0x24(%edx),%eax
55df72:	03 03                	add    (%ebx),%eax
55df74:	89 44 24 70          	mov    %eax,0x70(%esp)
55df78:	8b 41 28             	mov    0x28(%ecx),%eax
55df7b:	03 41 08             	add    0x8(%ecx),%eax
55df7e:	89 44 24 54          	mov    %eax,0x54(%esp)
55df82:	8b 42 28             	mov    0x28(%edx),%eax
55df85:	03 42 08             	add    0x8(%edx),%eax
55df88:	89 44 24 74          	mov    %eax,0x74(%esp)
55df8c:	8b 41 2c             	mov    0x2c(%ecx),%eax
55df8f:	03 41 0c             	add    0xc(%ecx),%eax
55df92:	89 44 24 58          	mov    %eax,0x58(%esp)
55df96:	8b 42 2c             	mov    0x2c(%edx),%eax
55df99:	03 42 0c             	add    0xc(%edx),%eax
55df9c:	89 44 24 78          	mov    %eax,0x78(%esp)
55dfa0:	8b 41 30             	mov    0x30(%ecx),%eax
55dfa3:	03 41 10             	add    0x10(%ecx),%eax
55dfa6:	89 44 24 5c          	mov    %eax,0x5c(%esp)
55dfaa:	8b 42 30             	mov    0x30(%edx),%eax
55dfad:	03 42 10             	add    0x10(%edx),%eax
55dfb0:	89 44 24 7c          	mov    %eax,0x7c(%esp)
55dfb4:	8b 41 34             	mov    0x34(%ecx),%eax
55dfb7:	03 41 14             	add    0x14(%ecx),%eax
55dfba:	89 44 24 60          	mov    %eax,0x60(%esp)
55dfbe:	8b 42 34             	mov    0x34(%edx),%eax
55dfc1:	03 42 14             	add    0x14(%edx),%eax
55dfc4:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
55dfcb:	8b 41 38             	mov    0x38(%ecx),%eax
55dfce:	03 41 18             	add    0x18(%ecx),%eax
55dfd1:	89 44 24 64          	mov    %eax,0x64(%esp)
55dfd5:	8b 42 38             	mov    0x38(%edx),%eax
55dfd8:	03 42 18             	add    0x18(%edx),%eax
55dfdb:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
55dfe2:	8b 41 3c             	mov    0x3c(%ecx),%eax
55dfe5:	03 41 1c             	add    0x1c(%ecx),%eax
55dfe8:	89 44 24 68          	mov    %eax,0x68(%esp)
55dfec:	8b 42 3c             	mov    0x3c(%edx),%eax
55dfef:	03 42 1c             	add    0x1c(%edx),%eax
55dff2:	8b b4 24 94 00 00 00 	mov    0x94(%esp),%esi
55dff9:	8b ee                	mov    %esi,%ebp
55dffb:	2b ce                	sub    %esi,%ecx
55dffd:	66 0f 13 44 24 3c    	movlpd %xmm0,0x3c(%esp)
55e003:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
55e00a:	b8 01 00 00 00       	mov    $0x1,%eax
55e00f:	8b 7c 24 24          	mov    0x24(%esp),%edi
55e013:	89 74 24 48          	mov    %esi,0x48(%esp)
55e017:	8b 74 24 3c          	mov    0x3c(%esp),%esi
55e01b:	89 5c 24 34          	mov    %ebx,0x34(%esp)
55e01f:	8b 5c 24 20          	mov    0x20(%esp),%ebx
55e023:	89 4c 24 44          	mov    %ecx,0x44(%esp)
55e027:	8b 4c 24 40          	mov    0x40(%esp),%ecx
55e02b:	89 44 24 28          	mov    %eax,0x28(%esp)
55e02f:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
55e033:	89 44 24 3c          	mov    %eax,0x3c(%esp)
55e037:	0f 57 c0             	xorps  %xmm0,%xmm0
55e03a:	66 0f 13 44 24 20    	movlpd %xmm0,0x20(%esp)
55e040:	85 c0                	test   %eax,%eax
55e042:	0f 8e 9d 00 00 00    	jle    0x55e0e5
55e048:	8b 44 24 2c          	mov    0x2c(%esp),%eax
55e04c:	8b ea                	mov    %edx,%ebp
55e04e:	03 44 24 44          	add    0x44(%esp),%eax
55e052:	8d 54 24 4c          	lea    0x4c(%esp),%edx
55e056:	2b 94 24 98 00 00 00 	sub    0x98(%esp),%edx
55e05d:	89 54 24 30          	mov    %edx,0x30(%esp)
55e061:	8d 54 24 6c          	lea    0x6c(%esp),%edx
55e065:	2b 94 24 9c 00 00 00 	sub    0x9c(%esp),%edx
55e06c:	89 54 24 38          	mov    %edx,0x38(%esp)
55e070:	8b 54 24 28          	mov    0x28(%esp),%edx
55e074:	89 54 24 1c          	mov    %edx,0x1c(%esp)
55e078:	8b 54 24 24          	mov    0x24(%esp),%edx
55e07c:	89 54 24 14          	mov    %edx,0x14(%esp)
55e080:	8b 54 24 20          	mov    0x20(%esp),%edx
55e084:	89 44 24 10          	mov    %eax,0x10(%esp)
55e088:	89 54 24 18          	mov    %edx,0x18(%esp)
55e08c:	0f 1f 40 00          	nopl   0x0(%eax)
55e090:	8b 00                	mov    (%eax),%eax
55e092:	8d 6d 04             	lea    0x4(%ebp),%ebp
55e095:	f7 65 fc             	mull   -0x4(%ebp)
55e098:	01 44 24 18          	add    %eax,0x18(%esp)
55e09c:	8b 44 24 10          	mov    0x10(%esp),%eax
55e0a0:	11 54 24 14          	adc    %edx,0x14(%esp)
55e0a4:	8b 54 24 30          	mov    0x30(%esp),%edx
55e0a8:	8b 04 02             	mov    (%edx,%eax,1),%eax
55e0ab:	8b 54 24 38          	mov    0x38(%esp),%edx
55e0af:	f7 64 2a fc          	mull   -0x4(%edx,%ebp,1)
55e0b3:	03 f0                	add    %eax,%esi
55e0b5:	8b 44 24 10          	mov    0x10(%esp),%eax
55e0b9:	13 ca                	adc    %edx,%ecx
55e0bb:	8b 40 20             	mov    0x20(%eax),%eax
55e0be:	f7 65 1c             	mull   0x1c(%ebp)
55e0c1:	03 d8                	add    %eax,%ebx
55e0c3:	8b 44 24 10          	mov    0x10(%esp),%eax
55e0c7:	13 fa                	adc    %edx,%edi
55e0c9:	83 e8 04             	sub    $0x4,%eax
55e0cc:	83 6c 24 1c 01       	subl   $0x1,0x1c(%esp)
55e0d1:	89 44 24 10          	mov    %eax,0x10(%esp)
55e0d5:	75 b9                	jne    0x55e090
55e0d7:	8b 54 24 14          	mov    0x14(%esp),%edx
55e0db:	8b 44 24 18          	mov    0x18(%esp),%eax
55e0df:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
55e0e3:	eb 08                	jmp    0x55e0ed
55e0e5:	8b 54 24 24          	mov    0x24(%esp),%edx
55e0e9:	8b 44 24 20          	mov    0x20(%esp),%eax
55e0ed:	2b f0                	sub    %eax,%esi
55e0ef:	0f 57 c0             	xorps  %xmm0,%xmm0
55e0f2:	66 0f 13 44 24 20    	movlpd %xmm0,0x20(%esp)
55e0f8:	1b ca                	sbb    %edx,%ecx
55e0fa:	03 d8                	add    %eax,%ebx
55e0fc:	13 fa                	adc    %edx,%edi
55e0fe:	83 7c 24 28 08       	cmpl   $0x8,0x28(%esp)
55e103:	0f 8d 9c 00 00 00    	jge    0x55e1a5
55e109:	8b 6c 24 34          	mov    0x34(%esp),%ebp
55e10d:	8d 44 24 68          	lea    0x68(%esp),%eax
55e111:	8d 54 24 6c          	lea    0x6c(%esp),%edx
55e115:	89 44 24 18          	mov    %eax,0x18(%esp)
55e119:	2b 94 24 9c 00 00 00 	sub    0x9c(%esp),%edx
55e120:	8b 84 24 98 00 00 00 	mov    0x98(%esp),%eax
55e127:	89 54 24 38          	mov    %edx,0x38(%esp)
55e12b:	83 c0 3c             	add    $0x3c,%eax
55e12e:	ba 08 00 00 00       	mov    $0x8,%edx
55e133:	89 44 24 14          	mov    %eax,0x14(%esp)
55e137:	2b 54 24 28          	sub    0x28(%esp),%edx
55e13b:	89 54 24 30          	mov    %edx,0x30(%esp)
55e13f:	8b 54 24 24          	mov    0x24(%esp),%edx
55e143:	89 54 24 10          	mov    %edx,0x10(%esp)
55e147:	8b 54 24 20          	mov    0x20(%esp),%edx
55e14b:	89 54 24 1c          	mov    %edx,0x1c(%esp)
55e14f:	90                   	nop
55e150:	8b 40 e0             	mov    -0x20(%eax),%eax
55e153:	8d 6d 04             	lea    0x4(%ebp),%ebp
55e156:	f7 65 fc             	mull   -0x4(%ebp)
55e159:	2b d8                	sub    %eax,%ebx
55e15b:	8b 44 24 18          	mov    0x18(%esp),%eax
55e15f:	1b fa                	sbb    %edx,%edi
55e161:	8b 54 24 38          	mov    0x38(%esp),%edx
55e165:	8b 00                	mov    (%eax),%eax
55e167:	f7 64 2a fc          	mull   -0x4(%edx,%ebp,1)
55e16b:	01 44 24 1c          	add    %eax,0x1c(%esp)
55e16f:	8b 44 24 14          	mov    0x14(%esp),%eax
55e173:	11 54 24 10          	adc    %edx,0x10(%esp)
55e177:	8b 00                	mov    (%eax),%eax
55e179:	f7 65 1c             	mull   0x1c(%ebp)
55e17c:	03 f0                	add    %eax,%esi
55e17e:	8b 44 24 14          	mov    0x14(%esp),%eax
55e182:	13 ca                	adc    %edx,%ecx
55e184:	83 6c 24 18 04       	subl   $0x4,0x18(%esp)
55e189:	83 e8 04             	sub    $0x4,%eax
55e18c:	83 6c 24 30 01       	subl   $0x1,0x30(%esp)
55e191:	89 44 24 14          	mov    %eax,0x14(%esp)
55e195:	75 b9                	jne    0x55e150
55e197:	8b 54 24 10          	mov    0x10(%esp),%edx
55e19b:	8b 44 24 1c          	mov    0x1c(%esp),%eax
55e19f:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
55e1a3:	eb 08                	jmp    0x55e1ad
55e1a5:	8b 54 24 24          	mov    0x24(%esp),%edx
55e1a9:	8b 44 24 20          	mov    0x20(%esp),%eax
55e1ad:	03 f0                	add    %eax,%esi
55e1af:	13 ca                	adc    %edx,%ecx
55e1b1:	03 d8                	add    %eax,%ebx
55e1b3:	8b c3                	mov    %ebx,%eax
55e1b5:	13 fa                	adc    %edx,%edi
55e1b7:	83 44 24 34 04       	addl   $0x4,0x34(%esp)
55e1bc:	8b 94 24 9c 00 00 00 	mov    0x9c(%esp),%edx
55e1c3:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e1c8:	89 45 00             	mov    %eax,0x0(%ebp)
55e1cb:	8b c6                	mov    %esi,%eax
55e1cd:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e1d2:	89 45 20             	mov    %eax,0x20(%ebp)
55e1d5:	83 c5 04             	add    $0x4,%ebp
55e1d8:	8b 44 24 28          	mov    0x28(%esp),%eax
55e1dc:	0f ac fb 1c          	shrd   $0x1c,%edi,%ebx
55e1e0:	0f ac ce 1c          	shrd   $0x1c,%ecx,%esi
55e1e4:	40                   	inc    %eax
55e1e5:	c1 ef 1c             	shr    $0x1c,%edi
55e1e8:	c1 e9 1c             	shr    $0x1c,%ecx
55e1eb:	83 7c 24 3c 08       	cmpl   $0x8,0x3c(%esp)
55e1f0:	89 44 24 28          	mov    %eax,0x28(%esp)
55e1f4:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
55e1f8:	0f 8c 35 fe ff ff    	jl     0x55e033
55e1fe:	8b 6c 24 48          	mov    0x48(%esp),%ebp
55e202:	33 d2                	xor    %edx,%edx
55e204:	8b 45 20             	mov    0x20(%ebp),%eax
55e207:	03 c6                	add    %esi,%eax
55e209:	13 d1                	adc    %ecx,%edx
55e20b:	03 d8                	add    %eax,%ebx
55e20d:	8b c3                	mov    %ebx,%eax
55e20f:	13 fa                	adc    %edx,%edi
55e211:	03 75 00             	add    0x0(%ebp),%esi
55e214:	83 d1 00             	adc    $0x0,%ecx
55e217:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e21c:	89 45 20             	mov    %eax,0x20(%ebp)
55e21f:	8b c6                	mov    %esi,%eax
55e221:	0f ac ce 1c          	shrd   $0x1c,%ecx,%esi
55e225:	8b 8c 24 8c 00 00 00 	mov    0x8c(%esp),%ecx
55e22c:	25 ff ff ff 0f       	and    $0xfffffff,%eax
55e231:	01 75 04             	add    %esi,0x4(%ebp)