52dd4c:	73 16                	jae    0x52dd64
52dd4e:	8b c1                	mov    %ecx,%eax
52dd50:	83 e1 1f             	and    $0x1f,%ecx
52dd53:	c1 e8 05             	shr    $0x5,%eax
52dd56:	8b 44 84 2c          	mov    0x2c(%esp,%eax,4),%eax
52dd5a:	d3 e8                	shr    %cl,%eax
52dd5c:	83 e0 01             	and    $0x1,%eax
52dd5f:	c1 e0 02             	shl    $0x2,%eax
52dd62:	0b d8                	or     %eax,%ebx
52dd64:	8d 4a 35             	lea    0x35(%edx),%ecx
52dd67:	81 f9 be 01 00 00    	cmp    $0x1be,%ecx
52dd6d:	73 16                	jae    0x52dd85
52dd6f:	8b c1                	mov    %ecx,%eax
52dd71:	83 e1 1f             	and    $0x1f,%ecx
52dd74:	c1 e8 05             	shr    $0x5,%eax
52dd77:	8b 44 84 2c          	mov    0x2c(%esp,%eax,4),%eax
52dd7b:	d3 e8                	shr    %cl,%eax
52dd7d:	83 e0 01             	and    $0x1,%eax
52dd80:	c1 e0 03             	shl    $0x3,%eax
52dd83:	0b d8                	or     %eax,%ebx
52dd85:	8d 4a 47             	lea    0x47(%edx),%ecx
52dd88:	81 f9 be 01 00 00    	cmp    $0x1be,%ecx
52dd8e:	73 16                	jae    0x52dda6
52dd90:	8b c1                	mov    %ecx,%eax
52dd92:	83 e1 1f             	and    $0x1f,%ecx
52dd95:	c1 e8 05             	shr    $0x5,%eax
52dd98:	8b 44 84 2c          	mov    0x2c(%esp,%eax,4),%eax
52dd9c:	d3 e8                	shr    %cl,%eax
52dd9e:	83 e0 01             	and    $0x1,%eax
52dda1:	c1 e0 04             	shl    $0x4,%eax
52dda4:	0b d8                	or     %eax,%ebx
52dda6:	8b c3                	mov    %ebx,%eax
52dda8:	69 f5 00 0c 00 00    	imul   $0xc00,%ebp,%esi
52ddae:	c1 f8 04             	sar    $0x4,%eax
52ddb1:	48                   	dec    %eax
52ddb2:	33 d8                	xor    %eax,%ebx
52ddb4:	89 44 24 28          	mov    %eax,0x28(%esp)
52ddb8:	68 c0 00 00 00       	push   $0xc0
52ddbd:	03 b4 24 34 01 00 00 	add    0x134(%esp),%esi
52ddc4:	8d 44 24 68          	lea    0x68(%esp),%eax
52ddc8:	6a 00                	push   $0x0
52ddca:	50                   	push   %eax
52ddcb:	83 e3 0f             	and    $0xf,%ebx
52ddce:	e8 9d 4e 0a 00       	call   0x5d2c70
52ddd3:	83 c4 0c             	add    $0xc,%esp
52ddd6:	bd 10 00 00 00       	mov    $0x10,%ebp
52dddb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
52dde0:	8d 43 ff             	lea    -0x1(%ebx),%eax
52dde3:	f7 d3                	not    %ebx
52dde5:	8b c8                	mov    %eax,%ecx
52dde7:	c1 eb 1f             	shr    $0x1f,%ebx
52ddea:	c1 e9 1f             	shr    $0x1f,%ecx
52dded:	22 cb                	and    %bl,%cl
52ddef:	89 44 24 24          	mov    %eax,0x24(%esp)
52ddf3:	f6 d9                	neg    %cl
52ddf5:	33 c0                	xor    %eax,%eax
52ddf7:	0f b6 d9             	movzbl %cl,%ebx
52ddfa:	8b fb                	mov    %ebx,%edi
52ddfc:	f7 d7                	not    %edi
52ddfe:	66 90                	xchg   %ax,%ax
52de00:	8a 16                	mov    (%esi),%dl
52de02:	46                   	inc    %esi
52de03:	89 5c 24 20          	mov    %ebx,0x20(%esp)
52de07:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
52de0b:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
52de0f:	8b 4c 24 20          	mov    0x20(%esp),%ecx
52de13:	22 ca                	and    %dl,%cl
52de15:	08 4c 04 64          	or     %cl,0x64(%esp,%eax,1)
52de19:	40                   	inc    %eax
52de1a:	3d c0 00 00 00       	cmp    $0xc0,%eax
52de1f:	72 df                	jb     0x52de00
52de21:	8b 5c 24 24          	mov    0x24(%esp),%ebx
52de25:	83 ed 01             	sub    $0x1,%ebp
52de28:	75 b6                	jne    0x52dde0
52de2a:	8b 74 24 28          	mov    0x28(%esp),%esi
52de2e:	8d 84 24 a4 00 00 00 	lea    0xa4(%esp),%eax
52de35:	56                   	push   %esi
52de36:	50                   	push   %eax
52de37:	8d 44 24 6c          	lea    0x6c(%esp),%eax
52de3b:	50                   	push   %eax
52de3c:	e8 cf 02 00 00       	call   0x52e110
52de41:	8d 84 24 f0 00 00 00 	lea    0xf0(%esp),%eax
52de48:	56                   	push   %esi
52de49:	50                   	push   %eax
52de4a:	e8 41 02 00 00       	call   0x52e090
52de4f:	8b 74 24 28          	mov    0x28(%esp),%esi
52de53:	83 c4 14             	add    $0x14,%esp
52de56:	8b 6c 24 10          	mov    0x10(%esp),%ebp
52de5a:	83 fe 12             	cmp    $0x12,%esi
52de5d:	0f 85 80 00 00 00    	jne    0x52dee3
52de63:	85 ed                	test   %ebp,%ebp
52de65:	75 7c                	jne    0x52dee3
52de67:	8b 5c 24 18          	mov    0x18(%esp),%ebx
52de6b:	8d 44 24 64          	lea    0x64(%esp),%eax
52de6f:	50                   	push   %eax
52de70:	8d 84 24 a8 00 00 00 	lea    0xa8(%esp),%eax
52de77:	50                   	push   %eax
52de78:	8d 73 40             	lea    0x40(%ebx),%esi
52de7b:	56                   	push   %esi
52de7c:	e8 cf f4 02 00       	call   0x55d350
52de81:	8d 44 24 70          	lea    0x70(%esp),%eax
52de85:	50                   	push   %eax
52de86:	8d 84 24 b4 00 00 00 	lea    0xb4(%esp),%eax
52de8d:	50                   	push   %eax
52de8e:	53                   	push   %ebx
52de8f:	e8 6c ff 02 00       	call   0x55de00
52de94:	53                   	push   %ebx
52de95:	8d 83 c0 00 00 00    	lea    0xc0(%ebx),%eax
52de9b:	56                   	push   %esi
52de9c:	50                   	push   %eax
52de9d:	e8 7e 00 03 00       	call   0x55df20
52dea2:	0f 10 05 e8 8e 64 00 	movups 0x648ee8,%xmm0
52dea9:	8b 74 24 38          	mov    0x38(%esp),%esi
52dead:	83 c4 24             	add    $0x24,%esp
52deb0:	0f 11 83 80 00 00 00 	movups %xmm0,0x80(%ebx)
52deb7:	0f 10 05 f8 8e 64 00 	movups 0x648ef8,%xmm0
52debe:	0f 11 83 90 00 00 00 	movups %xmm0,0x90(%ebx)
52dec5:	0f 10 05 08 8f 64 00 	movups 0x648f08,%xmm0
52decc:	0f 11 83 a0 00 00 00 	movups %xmm0,0xa0(%ebx)
52ded3:	0f 10 05 18 8f 64 00 	movups 0x648f18,%xmm0
52deda:	0f 11 83 b0 00 00 00 	movups %xmm0,0xb0(%ebx)
52dee1:	eb 24                	jmp    0x52df07
52dee3:	83 fd 04             	cmp    $0x4,%ebp
52dee6:	75 0a                	jne    0x52def2
52dee8:	83 fe 01             	cmp    $0x1,%esi
52deeb:	74 05                	je     0x52def2
52deed:	8d 45 fd             	lea    -0x3(%ebp),%eax
52def0:	eb 02                	jmp    0x52def4
52def2:	33 c0                	xor    %eax,%eax
52def4:	8b 5c 24 18          	mov    0x18(%esp),%ebx
52def8:	50                   	push   %eax
52def9:	8d 44 24 68          	lea    0x68(%esp),%eax
52defd:	50                   	push   %eax
52defe:	53                   	push   %ebx
52deff:	e8 2c f1 ff ff       	call   0x52d030
52df04:	83 c4 0c             	add    $0xc,%esp
52df07:	45                   	inc    %ebp
52df08:	89 6c 24 10          	mov    %ebp,0x10(%esp)
52df0c:	83 fd 05             	cmp    $0x5,%ebp
52df0f:	0f 82 eb fd ff ff    	jb     0x52dd00
52df15:	83 ee 01             	sub    $0x1,%esi
52df18:	89 74 24 14          	mov    %esi,0x14(%esp)
52df1c:	0f 85 c3 fd ff ff    	jne    0x52dce5
52df22:	8d 44 24 64          	lea    0x64(%esp),%eax
52df26:	68 c0 00 00 00       	push   $0xc0
52df2b:	50                   	push   %eax
52df2c:	e8 af 3a ed ff       	call   0x4019e0
52df31:	8d 44 24 34          	lea    0x34(%esp),%eax
52df35:	6a 38                	push   $0x38
52df37:	50                   	push   %eax
52df38:	e8 a3 3a ed ff       	call   0x4019e0
52df3d:	8b 8c 24 34 01 00 00 	mov    0x134(%esp),%ecx
52df44:	83 c4 10             	add    $0x10,%esp
52df47:	5f                   	pop    %edi
52df48:	5e                   	pop    %esi
52df49:	5d                   	pop    %ebp
52df4a:	5b                   	pop    %ebx
52df4b:	33 cc                	xor    %esp,%ecx
52df4d:	e8 d4 3a 0a 00       	call   0x5d1a26
52df52:	81 c4 18 01 00 00    	add    $0x118,%esp
52df58:	c3                   	ret
52df59:	cc                   	int3
52df5a:	cc                   	int3
52df5b:	cc                   	int3
52df5c:	cc                   	int3
52df5d:	cc                   	int3
52df5e:	cc                   	int3
52df5f:	cc                   	int3
52df60:	8b 44 24 0c          	mov    0xc(%esp),%eax
52df64:	8b 54 24 04          	mov    0x4(%esp),%edx
52df68:	56                   	push   %esi
52df69:	8b 74 24 0c          	mov    0xc(%esp),%esi
52df6d:	8d 48 3c             	lea    0x3c(%eax),%ecx
52df70:	57                   	push   %edi
52df71:	8d 7a 3c             	lea    0x3c(%edx),%edi
52df74:	3b d1                	cmp    %ecx,%edx
52df76:	77 04                	ja     0x52df7c
52df78:	3b f8                	cmp    %eax,%edi
52df7a:	73 0b                	jae    0x52df87
52df7c:	8d 4e 3c             	lea    0x3c(%esi),%ecx
52df7f:	3b d1                	cmp    %ecx,%edx
52df81:	77 22                	ja     0x52dfa5
52df83:	3b fe                	cmp    %esi,%edi
52df85:	72 1e                	jb     0x52dfa5
52df87:	2b f0                	sub    %eax,%esi
52df89:	bf 10 00 00 00       	mov    $0x10,%edi
52df8e:	2b d0                	sub    %eax,%edx
52df90:	8b 0c 06             	mov    (%esi,%eax,1),%ecx
52df93:	8d 40 04             	lea    0x4(%eax),%eax
52df96:	03 48 fc             	add    -0x4(%eax),%ecx
52df99:	89 4c 02 fc          	mov    %ecx,-0x4(%edx,%eax,1)
52df9d:	83 ef 01             	sub    $0x1,%edi
52dfa0:	75 ee                	jne    0x52df90
52dfa2:	5f                   	pop    %edi
52dfa3:	5e                   	pop    %esi
52dfa4:	c3                   	ret
52dfa5:	0f 10 0e             	movups (%esi),%xmm1
52dfa8:	5f                   	pop    %edi
52dfa9:	0f 10 00             	movups (%eax),%xmm0
52dfac:	66 0f fe c8          	paddd  %xmm0,%xmm1
52dfb0:	0f 10 40 10          	movups 0x10(%eax),%xmm0
52dfb4:	0f 11 0a             	movups %xmm1,(%edx)
52dfb7:	0f 10 4e 10          	movups 0x10(%esi),%xmm1
52dfbb:	66 0f fe c8          	paddd  %xmm0,%xmm1
52dfbf:	0f 10 40 20          	movups 0x20(%eax),%xmm0
52dfc3:	0f 11 4a 10          	movups %xmm1,0x10(%edx)
52dfc7:	0f 10 4e 20          	movups 0x20(%esi),%xmm1
52dfcb:	66 0f fe c8          	paddd  %xmm0,%xmm1
52dfcf:	0f 10 40 30          	movups 0x30(%eax),%xmm0
52dfd3:	0f 11 4a 20          	movups %xmm1,0x20(%edx)
52dfd7:	0f 10 4e 30          	movups 0x30(%esi),%xmm1
52dfdb:	5e                   	pop    %esi
52dfdc:	66 0f fe c8          	paddd  %xmm0,%xmm1
52dfe0:	0f 11 4a 30          	movups %xmm1,0x30(%edx)
52dfe4:	c3                   	ret
52dfe5:	cc                   	int3
52dfe6:	cc                   	int3
52dfe7:	cc                   	int3
52dfe8:	cc                   	int3
52dfe9:	cc                   	int3
52dfea:	cc                   	int3
52dfeb:	cc                   	int3
52dfec:	cc                   	int3
52dfed:	cc                   	int3
52dfee:	cc                   	int3
52dfef:	cc                   	int3
52dff0:	69 4c 24 08 ff ff ff 	imul   $0xfffffff,0x8(%esp),%ecx
52dff7:	0f
52dff8:	0f 28 25 a0 20 61 00 	movaps 0x6120a0,%xmm4
52dfff:	0f 28 2d 60 90 64 00 	movaps 0x649060,%xmm5
52e006:	8b 54 24 04          	mov    0x4(%esp),%edx
52e00a:	66 0f 6e c1          	movd   %ecx,%xmm0
52e00e:	2b 4c 24 08          	sub    0x8(%esp),%ecx
52e012:	66 0f 70 d0 00       	pshufd $0x0,%xmm0,%xmm2
52e017:	66 0f 6e c1          	movd   %ecx,%xmm0
52e01b:	33 c9                	xor    %ecx,%ecx
52e01d:	66 0f 70 d8 00       	pshufd $0x0,%xmm0,%xmm3
52e022:	66 0f 6e c1          	movd   %ecx,%xmm0
52e026:	8d 41 04             	lea    0x4(%ecx),%eax
52e029:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
52e02e:	66 0f fe c4          	paddd  %xmm4,%xmm0
52e032:	66 0f 76 c5          	pcmpeqd %xmm5,%xmm0
52e036:	0f 28 c8             	movaps %xmm0,%xmm1
52e039:	66 0f db c3          	pand   %xmm3,%xmm0
52e03d:	66 0f df ca          	pandn  %xmm2,%xmm1
52e041:	66 0f eb c8          	por    %xmm0,%xmm1
52e045:	0f 10 04 8a          	movups (%edx,%ecx,4),%xmm0
52e049:	66 0f fe c8          	paddd  %xmm0,%xmm1
52e04d:	66 0f 6e c0          	movd   %eax,%xmm0
52e051:	66 0f 70 c0 00       	pshufd $0x0,%xmm0,%xmm0
52e056:	0f 11 0c 8a          	movups %xmm1,(%edx,%ecx,4)
52e05a:	66 0f fe c4          	paddd  %xmm4,%xmm0
52e05e:	66 0f 76 c5          	pcmpeqd %xmm5,%xmm0
52e062:	0f 28 c8             	movaps %xmm0,%xmm1
52e065:	66 0f db c3          	pand   %xmm3,%xmm0
52e069:	66 0f df ca          	pandn  %xmm2,%xmm1
52e06d:	66 0f eb c8          	por    %xmm0,%xmm1
52e071:	0f 10 44 8a 10       	movups 0x10(%edx,%ecx,4),%xmm0
52e076:	66 0f fe c8          	paddd  %xmm0,%xmm1
52e07a:	0f 11 4c 8a 10       	movups %xmm1,0x10(%edx,%ecx,4)
52e07f:	83 c1 08             	add    $0x8,%ecx
52e082:	83 f9 10             	cmp    $0x10,%ecx
52e085:	72 9b                	jb     0x52e022
52e087:	c3                   	ret
52e088:	cc                   	int3
52e089:	cc                   	int3
52e08a:	cc                   	int3
52e08b:	cc                   	int3
52e08c:	cc                   	int3
52e08d:	cc                   	int3
52e08e:	cc                   	int3
52e08f:	cc                   	int3
52e090:	b8 4c 00 00 00       	mov    $0x4c,%eax
52e095:	e8 16 37 0a 00       	call   0x5d17b0
52e09a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
52e09f:	33 c4                	xor    %esp,%eax
52e0a1:	89 44 24 48          	mov    %eax,0x48(%esp)
52e0a5:	53                   	push   %ebx
52e0a6:	55                   	push   %ebp
52e0a7:	56                   	push   %esi
52e0a8:	8b 74 24 5c          	mov    0x5c(%esp),%esi
52e0ac:	8d 44 24 14          	lea    0x14(%esp),%eax
52e0b0:	57                   	push   %edi
52e0b1:	56                   	push   %esi
52e0b2:	68 a8 8e 64 00       	push   $0x648ea8
52e0b7:	50                   	push   %eax
52e0b8:	e8 43 fd 02 00       	call   0x55de00
52e0bd:	8b 44 24 70          	mov    0x70(%esp),%eax
52e0c1:	8d 6c 24 24          	lea    0x24(%esp),%ebp
52e0c5:	8b d8                	mov    %eax,%ebx
52e0c7:	83 c4 0c             	add    $0xc,%esp
52e0ca:	f7 d3                	not    %ebx
52e0cc:	2b ee                	sub    %esi,%ebp
52e0ce:	bf 10 00 00 00       	mov    $0x10,%edi
52e0d3:	89 44 24 14          	mov    %eax,0x14(%esp)
52e0d7:	8d 76 04             	lea    0x4(%esi),%esi
52e0da:	89 5c 24 10          	mov    %ebx,0x10(%esp)
52e0de:	8b 54 24 10          	mov    0x10(%esp),%edx
52e0e2:	8b 44 24 14          	mov    0x14(%esp),%eax
52e0e6:	23 56 fc             	and    -0x4(%esi),%edx
52e0e9:	8b 4c 2e fc          	mov    -0x4(%esi,%ebp,1),%ecx
52e0ed:	23 c8                	and    %eax,%ecx
52e0ef:	8b 44 24 64          	mov    0x64(%esp),%eax
52e0f3:	0b ca                	or     %edx,%ecx
52e0f5:	89 4e fc             	mov    %ecx,-0x4(%esi)
52e0f8:	83 ef 01             	sub    $0x1,%edi
52e0fb:	75 d6                	jne    0x52e0d3
52e0fd:	8b 4c 24 58          	mov    0x58(%esp),%ecx
52e101:	5f                   	pop    %edi
52e102:	5e                   	pop    %esi
52e103:	5d                   	pop    %ebp
52e104:	5b                   	pop    %ebx
52e105:	33 cc                	xor    %esp,%ecx
52e107:	e8 1a 39 0a 00       	call   0x5d1a26
52e10c:	83 c4 4c             	add    $0x4c,%esp
52e10f:	c3                   	ret
52e110:	8b 44 24 08          	mov    0x8(%esp),%eax
52e114:	53                   	push   %ebx
52e115:	8b 5c 24 10          	mov    0x10(%esp),%ebx
52e119:	56                   	push   %esi
52e11a:	8b 74 24 0c          	mov    0xc(%esp),%esi
52e11e:	8d 50 3c             	lea    0x3c(%eax),%edx
52e121:	66 0f 6e c3          	movd   %ebx,%xmm0
52e125:	66 0f 70 e0 00       	pshufd $0x0,%xmm0,%xmm4
52e12a:	8d 4e 3c             	lea    0x3c(%esi),%ecx
52e12d:	3b c1                	cmp    %ecx,%eax
52e12f:	77 2e                	ja     0x52e15f
52e131:	3b d6                	cmp    %esi,%edx
52e133:	72 2a                	jb     0x52e15f
52e135:	57                   	push   %edi
52e136:	2b f0                	sub    %eax,%esi
52e138:	bf 10 00 00 00       	mov    $0x10,%edi
52e13d:	0f 1f 00             	nopl   (%eax)
52e140:	8b 14 30             	mov    (%eax,%esi,1),%edx
52e143:	8d 40 04             	lea    0x4(%eax),%eax
52e146:	8b 48 fc             	mov    -0x4(%eax),%ecx
52e149:	33 ca                	xor    %edx,%ecx
52e14b:	23 cb                	and    %ebx,%ecx
52e14d:	33 d1                	xor    %ecx,%edx
52e14f:	89 54 30 fc          	mov    %edx,-0x4(%eax,%esi,1)
52e153:	31 48 fc             	xor    %ecx,-0x4(%eax)
52e156:	83 ef 01             	sub    $0x1,%edi
52e159:	75 e5                	jne    0x52e140
52e15b:	5f                   	pop    %edi
52e15c:	5e                   	pop    %esi
52e15d:	5b                   	pop    %ebx
52e15e:	c3                   	ret
52e15f:	2b f0                	sub    %eax,%esi
52e161:	b9 04 00 00 00       	mov    $0x4,%ecx
52e166:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)