46909b:	eb f6                	jmp    0x469093
46909d:	2b c2                	sub    %edx,%eax
46909f:	d1 f8                	sar    $1,%eax
4690a1:	eb 67                	jmp    0x46910a
4690a3:	57                   	push   %edi
4690a4:	8b 7d 0c             	mov    0xc(%ebp),%edi
4690a7:	8b ca                	mov    %edx,%ecx
4690a9:	83 e1 1f             	and    $0x1f,%ecx
4690ac:	6a 20                	push   $0x20
4690ae:	58                   	pop    %eax
4690af:	2b c1                	sub    %ecx,%eax
4690b1:	f7 d9                	neg    %ecx
4690b3:	1b c9                	sbb    %ecx,%ecx
4690b5:	23 c8                	and    %eax,%ecx
4690b7:	d1 e9                	shr    $1,%ecx
4690b9:	3b f9                	cmp    %ecx,%edi
4690bb:	72 02                	jb     0x4690bf
4690bd:	8b f9                	mov    %ecx,%edi
4690bf:	8d 0c 7a             	lea    (%edx,%edi,2),%ecx
4690c2:	33 f6                	xor    %esi,%esi
4690c4:	8b c2                	mov    %edx,%eax
4690c6:	3b d1                	cmp    %ecx,%edx
4690c8:	74 0c                	je     0x4690d6
4690ca:	66 39 30             	cmp    %si,(%eax)
4690cd:	74 07                	je     0x4690d6
4690cf:	83 c0 02             	add    $0x2,%eax
4690d2:	3b c1                	cmp    %ecx,%eax
4690d4:	75 f4                	jne    0x4690ca
4690d6:	2b c2                	sub    %edx,%eax
4690d8:	d1 f8                	sar    $1,%eax
4690da:	3b c7                	cmp    %edi,%eax
4690dc:	5f                   	pop    %edi
4690dd:	75 2b                	jne    0x46910a
4690df:	8d 0c 42             	lea    (%edx,%eax,2),%ecx
4690e2:	c5 f4 57 c9          	vxorps %ymm1,%ymm1,%ymm1
4690e6:	c5 f5 75 01          	vpcmpeqw (%ecx),%ymm1,%ymm0
4690ea:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
4690ee:	85 c0                	test   %eax,%eax
4690f0:	75 05                	jne    0x4690f7
4690f2:	83 c1 20             	add    $0x20,%ecx
4690f5:	eb ef                	jmp    0x4690e6
4690f7:	66 39 31             	cmp    %si,(%ecx)
4690fa:	74 05                	je     0x469101
4690fc:	83 c1 02             	add    $0x2,%ecx
4690ff:	eb f6                	jmp    0x4690f7
469101:	2b ca                	sub    %edx,%ecx
469103:	d1 f9                	sar    $1,%ecx
469105:	c5 f8 77             	vzeroupper
469108:	8b c1                	mov    %ecx,%eax
46910a:	5e                   	pop    %esi
46910b:	5d                   	pop    %ebp
46910c:	c3                   	ret
46910d:	8b ff                	mov    %edi,%edi
46910f:	55                   	push   %ebp
469110:	8b ec                	mov    %esp,%ebp
469112:	8b 55 08             	mov    0x8(%ebp),%edx
469115:	56                   	push   %esi
469116:	f6 c2 01             	test   $0x1,%dl
469119:	74 14                	je     0x46912f
46911b:	8b c2                	mov    %edx,%eax
46911d:	33 f6                	xor    %esi,%esi
46911f:	66 39 30             	cmp    %si,(%eax)
469122:	74 05                	je     0x469129
469124:	83 c0 02             	add    $0x2,%eax
469127:	eb f6                	jmp    0x46911f
469129:	2b c2                	sub    %edx,%eax
46912b:	d1 f8                	sar    $1,%eax
46912d:	eb 67                	jmp    0x469196
46912f:	57                   	push   %edi
469130:	8b 7d 0c             	mov    0xc(%ebp),%edi
469133:	8b ca                	mov    %edx,%ecx
469135:	83 e1 0f             	and    $0xf,%ecx
469138:	6a 10                	push   $0x10
46913a:	58                   	pop    %eax
46913b:	2b c1                	sub    %ecx,%eax
46913d:	f7 d9                	neg    %ecx
46913f:	1b c9                	sbb    %ecx,%ecx
469141:	23 c8                	and    %eax,%ecx
469143:	d1 e9                	shr    $1,%ecx
469145:	3b f9                	cmp    %ecx,%edi
469147:	72 02                	jb     0x46914b
469149:	8b f9                	mov    %ecx,%edi
46914b:	8d 0c 7a             	lea    (%edx,%edi,2),%ecx
46914e:	33 f6                	xor    %esi,%esi
469150:	8b c2                	mov    %edx,%eax
469152:	3b d1                	cmp    %ecx,%edx
469154:	74 0c                	je     0x469162
469156:	66 39 30             	cmp    %si,(%eax)
469159:	74 07                	je     0x469162
46915b:	83 c0 02             	add    $0x2,%eax
46915e:	3b c1                	cmp    %ecx,%eax
469160:	75 f4                	jne    0x469156
469162:	2b c2                	sub    %edx,%eax
469164:	d1 f8                	sar    $1,%eax
469166:	3b c7                	cmp    %edi,%eax
469168:	5f                   	pop    %edi
469169:	75 2b                	jne    0x469196
46916b:	8d 0c 42             	lea    (%edx,%eax,2),%ecx
46916e:	66 0f ef c9          	pxor   %xmm1,%xmm1
469172:	0f 28 c1             	movaps %xmm1,%xmm0
469175:	66 0f 75 01          	pcmpeqw (%ecx),%xmm0
469179:	66 0f d7 c0          	pmovmskb %xmm0,%eax
46917d:	85 c0                	test   %eax,%eax
46917f:	75 05                	jne    0x469186
469181:	83 c1 10             	add    $0x10,%ecx
469184:	eb ec                	jmp    0x469172
469186:	66 39 31             	cmp    %si,(%ecx)
469189:	74 05                	je     0x469190
46918b:	83 c1 02             	add    $0x2,%ecx
46918e:	eb f6                	jmp    0x469186
469190:	2b ca                	sub    %edx,%ecx
469192:	d1 f9                	sar    $1,%ecx
469194:	8b c1                	mov    %ecx,%eax
469196:	5e                   	pop    %esi
469197:	5d                   	pop    %ebp
469198:	c3                   	ret
469199:	8b ff                	mov    %edi,%edi
46919b:	55                   	push   %ebp
46919c:	8b ec                	mov    %esp,%ebp
46919e:	56                   	push   %esi
46919f:	8b 75 08             	mov    0x8(%ebp),%esi
4691a2:	8b d6                	mov    %esi,%edx
4691a4:	57                   	push   %edi
4691a5:	8b 7d 0c             	mov    0xc(%ebp),%edi
4691a8:	83 e2 1f             	and    $0x1f,%edx
4691ab:	6a 20                	push   $0x20
4691ad:	58                   	pop    %eax
4691ae:	2b c2                	sub    %edx,%eax
4691b0:	f7 da                	neg    %edx
4691b2:	1b d2                	sbb    %edx,%edx
4691b4:	23 d0                	and    %eax,%edx
4691b6:	3b fa                	cmp    %edx,%edi
4691b8:	73 02                	jae    0x4691bc
4691ba:	8b d7                	mov    %edi,%edx
4691bc:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
4691bf:	8b c6                	mov    %esi,%eax
4691c1:	3b f1                	cmp    %ecx,%esi
4691c3:	74 0a                	je     0x4691cf
4691c5:	80 38 00             	cmpb   $0x0,(%eax)
4691c8:	74 05                	je     0x4691cf
4691ca:	40                   	inc    %eax
4691cb:	3b c1                	cmp    %ecx,%eax
4691cd:	75 f6                	jne    0x4691c5
4691cf:	2b c6                	sub    %esi,%eax
4691d1:	3b c2                	cmp    %edx,%eax
4691d3:	75 3f                	jne    0x469214
4691d5:	2b fa                	sub    %edx,%edi
4691d7:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
4691da:	8b c7                	mov    %edi,%eax
4691dc:	83 e0 1f             	and    $0x1f,%eax
4691df:	2b f8                	sub    %eax,%edi
4691e1:	c5 f4 57 c9          	vxorps %ymm1,%ymm1,%ymm1
4691e5:	03 f9                	add    %ecx,%edi
4691e7:	eb 0f                	jmp    0x4691f8
4691e9:	c5 f5 74 01          	vpcmpeqb (%ecx),%ymm1,%ymm0
4691ed:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
4691f1:	85 c0                	test   %eax,%eax
4691f3:	75 07                	jne    0x4691fc
4691f5:	83 c1 20             	add    $0x20,%ecx
4691f8:	3b cf                	cmp    %edi,%ecx
4691fa:	75 ed                	jne    0x4691e9
4691fc:	8b 45 0c             	mov    0xc(%ebp),%eax
4691ff:	03 c6                	add    %esi,%eax
469201:	eb 06                	jmp    0x469209
469203:	80 39 00             	cmpb   $0x0,(%ecx)
469206:	74 05                	je     0x46920d
469208:	41                   	inc    %ecx
469209:	3b c8                	cmp    %eax,%ecx
46920b:	75 f6                	jne    0x469203
46920d:	2b ce                	sub    %esi,%ecx
46920f:	c5 f8 77             	vzeroupper
469212:	8b c1                	mov    %ecx,%eax
469214:	5f                   	pop    %edi
469215:	5e                   	pop    %esi
469216:	5d                   	pop    %ebp
469217:	c3                   	ret
469218:	8b ff                	mov    %edi,%edi
46921a:	55                   	push   %ebp
46921b:	8b ec                	mov    %esp,%ebp
46921d:	8b 4d 08             	mov    0x8(%ebp),%ecx
469220:	57                   	push   %edi
469221:	f6 c1 01             	test   $0x1,%cl
469224:	74 23                	je     0x469249
469226:	8b 45 0c             	mov    0xc(%ebp),%eax
469229:	8d 14 41             	lea    (%ecx,%eax,2),%edx
46922c:	8b c1                	mov    %ecx,%eax
46922e:	3b ca                	cmp    %edx,%ecx
469230:	74 0e                	je     0x469240
469232:	33 ff                	xor    %edi,%edi
469234:	66 39 38             	cmp    %di,(%eax)
469237:	74 07                	je     0x469240
469239:	83 c0 02             	add    $0x2,%eax
46923c:	3b c2                	cmp    %edx,%eax
46923e:	75 f4                	jne    0x469234
469240:	2b c1                	sub    %ecx,%eax
469242:	d1 f8                	sar    $1,%eax
469244:	e9 87 00 00 00       	jmp    0x4692d0
469249:	56                   	push   %esi
46924a:	8b f1                	mov    %ecx,%esi
46924c:	83 e6 1f             	and    $0x1f,%esi
46924f:	6a 20                	push   $0x20
469251:	58                   	pop    %eax
469252:	2b c6                	sub    %esi,%eax
469254:	f7 de                	neg    %esi
469256:	1b f6                	sbb    %esi,%esi
469258:	23 f0                	and    %eax,%esi
46925a:	8b 45 0c             	mov    0xc(%ebp),%eax
46925d:	d1 ee                	shr    $1,%esi
46925f:	3b c6                	cmp    %esi,%eax
469261:	73 02                	jae    0x469265
469263:	8b f0                	mov    %eax,%esi
469265:	8d 14 71             	lea    (%ecx,%esi,2),%edx
469268:	33 ff                	xor    %edi,%edi
46926a:	8b c1                	mov    %ecx,%eax
46926c:	3b ca                	cmp    %edx,%ecx
46926e:	74 0c                	je     0x46927c
469270:	66 39 38             	cmp    %di,(%eax)
469273:	74 07                	je     0x46927c
469275:	83 c0 02             	add    $0x2,%eax
469278:	3b c2                	cmp    %edx,%eax
46927a:	75 f4                	jne    0x469270
46927c:	2b c1                	sub    %ecx,%eax
46927e:	d1 f8                	sar    $1,%eax
469280:	3b c6                	cmp    %esi,%eax
469282:	75 4b                	jne    0x4692cf
469284:	8d 14 41             	lea    (%ecx,%eax,2),%edx
469287:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46928a:	2b ce                	sub    %esi,%ecx
46928c:	8b c1                	mov    %ecx,%eax
46928e:	83 e0 1f             	and    $0x1f,%eax
469291:	2b c8                	sub    %eax,%ecx
469293:	c5 f4 57 c9          	vxorps %ymm1,%ymm1,%ymm1
469297:	8d 0c 4a             	lea    (%edx,%ecx,2),%ecx
46929a:	eb 0f                	jmp    0x4692ab
46929c:	c5 f5 75 02          	vpcmpeqw (%edx),%ymm1,%ymm0
4692a0:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
4692a4:	85 c0                	test   %eax,%eax
4692a6:	75 07                	jne    0x4692af
4692a8:	83 c2 20             	add    $0x20,%edx
4692ab:	3b d1                	cmp    %ecx,%edx
4692ad:	75 ed                	jne    0x46929c
4692af:	8b 45 08             	mov    0x8(%ebp),%eax
4692b2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4692b5:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4692b8:	eb 08                	jmp    0x4692c2
4692ba:	66 39 3a             	cmp    %di,(%edx)
4692bd:	74 07                	je     0x4692c6
4692bf:	83 c2 02             	add    $0x2,%edx
4692c2:	3b d1                	cmp    %ecx,%edx
4692c4:	75 f4                	jne    0x4692ba
4692c6:	2b d0                	sub    %eax,%edx
4692c8:	d1 fa                	sar    $1,%edx
4692ca:	c5 f8 77             	vzeroupper
4692cd:	8b c2                	mov    %edx,%eax
4692cf:	5e                   	pop    %esi
4692d0:	5f                   	pop    %edi
4692d1:	5d                   	pop    %ebp
4692d2:	c3                   	ret
4692d3:	8b ff                	mov    %edi,%edi
4692d5:	55                   	push   %ebp
4692d6:	8b ec                	mov    %esp,%ebp
4692d8:	56                   	push   %esi
4692d9:	8b 75 08             	mov    0x8(%ebp),%esi
4692dc:	8b d6                	mov    %esi,%edx
4692de:	57                   	push   %edi
4692df:	8b 7d 0c             	mov    0xc(%ebp),%edi
4692e2:	83 e2 0f             	and    $0xf,%edx
4692e5:	6a 10                	push   $0x10
4692e7:	58                   	pop    %eax
4692e8:	2b c2                	sub    %edx,%eax
4692ea:	f7 da                	neg    %edx
4692ec:	1b d2                	sbb    %edx,%edx
4692ee:	23 d0                	and    %eax,%edx
4692f0:	3b fa                	cmp    %edx,%edi
4692f2:	73 02                	jae    0x4692f6
4692f4:	8b d7                	mov    %edi,%edx
4692f6:	8d 0c 32             	lea    (%edx,%esi,1),%ecx
4692f9:	8b c6                	mov    %esi,%eax
4692fb:	3b f1                	cmp    %ecx,%esi
4692fd:	74 0a                	je     0x469309
4692ff:	80 38 00             	cmpb   $0x0,(%eax)
469302:	74 05                	je     0x469309
469304:	40                   	inc    %eax
469305:	3b c1                	cmp    %ecx,%eax
469307:	75 f6                	jne    0x4692ff
469309:	2b c6                	sub    %esi,%eax
46930b:	3b c2                	cmp    %edx,%eax
46930d:	75 3f                	jne    0x46934e
46930f:	2b fa                	sub    %edx,%edi
469311:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
469314:	8b c7                	mov    %edi,%eax
469316:	66 0f ef c9          	pxor   %xmm1,%xmm1
46931a:	83 e0 0f             	and    $0xf,%eax
46931d:	2b f8                	sub    %eax,%edi
46931f:	03 f9                	add    %ecx,%edi
469321:	eb 12                	jmp    0x469335
469323:	0f 28 c1             	movaps %xmm1,%xmm0
469326:	66 0f 74 01          	pcmpeqb (%ecx),%xmm0
46932a:	66 0f d7 c0          	pmovmskb %xmm0,%eax
46932e:	85 c0                	test   %eax,%eax
469330:	75 07                	jne    0x469339
469332:	83 c1 10             	add    $0x10,%ecx
469335:	3b cf                	cmp    %edi,%ecx
469337:	75 ea                	jne    0x469323
469339:	8b 45 0c             	mov    0xc(%ebp),%eax
46933c:	03 c6                	add    %esi,%eax
46933e:	eb 06                	jmp    0x469346
469340:	80 39 00             	cmpb   $0x0,(%ecx)
469343:	74 05                	je     0x46934a
469345:	41                   	inc    %ecx
469346:	3b c8                	cmp    %eax,%ecx
469348:	75 f6                	jne    0x469340
46934a:	2b ce                	sub    %esi,%ecx
46934c:	8b c1                	mov    %ecx,%eax
46934e:	5f                   	pop    %edi
46934f:	5e                   	pop    %esi
469350:	5d                   	pop    %ebp
469351:	c3                   	ret
469352:	8b ff                	mov    %edi,%edi
469354:	55                   	push   %ebp
469355:	8b ec                	mov    %esp,%ebp
469357:	8b 4d 08             	mov    0x8(%ebp),%ecx
46935a:	57                   	push   %edi
46935b:	f6 c1 01             	test   $0x1,%cl
46935e:	74 23                	je     0x469383
469360:	8b 45 0c             	mov    0xc(%ebp),%eax
469363:	8d 14 41             	lea    (%ecx,%eax,2),%edx
469366:	8b c1                	mov    %ecx,%eax
469368:	3b ca                	cmp    %edx,%ecx
46936a:	74 0e                	je     0x46937a
46936c:	33 ff                	xor    %edi,%edi
46936e:	66 39 38             	cmp    %di,(%eax)
469371:	74 07                	je     0x46937a
469373:	83 c0 02             	add    $0x2,%eax
469376:	3b c2                	cmp    %edx,%eax
469378:	75 f4                	jne    0x46936e
46937a:	2b c1                	sub    %ecx,%eax
46937c:	d1 f8                	sar    $1,%eax
46937e:	e9 87 00 00 00       	jmp    0x46940a
469383:	56                   	push   %esi
469384:	8b f1                	mov    %ecx,%esi
469386:	83 e6 0f             	and    $0xf,%esi
469389:	6a 10                	push   $0x10
46938b:	58                   	pop    %eax
46938c:	2b c6                	sub    %esi,%eax
46938e:	f7 de                	neg    %esi
469390:	1b f6                	sbb    %esi,%esi
469392:	23 f0                	and    %eax,%esi
469394:	8b 45 0c             	mov    0xc(%ebp),%eax
469397:	d1 ee                	shr    $1,%esi