5f9fa7:	d1 f9                	sar    $1,%ecx
5f9fa9:	c5 f8 77             	vzeroupper
5f9fac:	e9 8a 00 00 00       	jmp    0x5fa03b
5f9fb1:	83 f8 01             	cmp    $0x1,%eax
5f9fb4:	7c 71                	jl     0x5fa027
5f9fb6:	8b 45 08             	mov    0x8(%ebp),%eax
5f9fb9:	a8 01                	test   $0x1,%al
5f9fbb:	74 12                	je     0x5f9fcf
5f9fbd:	8b c8                	mov    %eax,%ecx
5f9fbf:	33 d2                	xor    %edx,%edx
5f9fc1:	66 39 11             	cmp    %dx,(%ecx)
5f9fc4:	0f 84 79 ff ff ff    	je     0x5f9f43
5f9fca:	83 c1 02             	add    $0x2,%ecx
5f9fcd:	eb f2                	jmp    0x5f9fc1
5f9fcf:	8b f0                	mov    %eax,%esi
5f9fd1:	83 e6 0f             	and    $0xf,%esi
5f9fd4:	6a 10                	push   $0x10
5f9fd6:	58                   	pop    %eax
5f9fd7:	2b c6                	sub    %esi,%eax
5f9fd9:	f7 de                	neg    %esi
5f9fdb:	1b f6                	sbb    %esi,%esi
5f9fdd:	33 d2                	xor    %edx,%edx
5f9fdf:	23 f0                	and    %eax,%esi
5f9fe1:	8b 45 08             	mov    0x8(%ebp),%eax
5f9fe4:	d1 ee                	shr    $1,%esi
5f9fe6:	8b c8                	mov    %eax,%ecx
5f9fe8:	8d 3c 70             	lea    (%eax,%esi,2),%edi
5f9feb:	3b c7                	cmp    %edi,%eax
5f9fed:	74 0c                	je     0x5f9ffb
5f9fef:	66 39 11             	cmp    %dx,(%ecx)
5f9ff2:	74 07                	je     0x5f9ffb
5f9ff4:	83 c1 02             	add    $0x2,%ecx
5f9ff7:	3b cf                	cmp    %edi,%ecx
5f9ff9:	75 f4                	jne    0x5f9fef
5f9ffb:	2b c8                	sub    %eax,%ecx
5f9ffd:	d1 f9                	sar    $1,%ecx
5f9fff:	3b ce                	cmp    %esi,%ecx
5fa001:	75 38                	jne    0x5fa03b
5fa003:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
5fa006:	0f 57 c9             	xorps  %xmm1,%xmm1
5fa009:	0f 10 01             	movups (%ecx),%xmm0
5fa00c:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
5fa010:	66 0f d7 c0          	pmovmskb %xmm0,%eax
5fa014:	85 c0                	test   %eax,%eax
5fa016:	75 05                	jne    0x5fa01d
5fa018:	83 c1 10             	add    $0x10,%ecx
5fa01b:	eb ec                	jmp    0x5fa009
5fa01d:	66 39 11             	cmp    %dx,(%ecx)
5fa020:	74 14                	je     0x5fa036
5fa022:	83 c1 02             	add    $0x2,%ecx
5fa025:	eb f6                	jmp    0x5fa01d
5fa027:	8b 4d 08             	mov    0x8(%ebp),%ecx
5fa02a:	33 d2                	xor    %edx,%edx
5fa02c:	66 39 11             	cmp    %dx,(%ecx)
5fa02f:	74 05                	je     0x5fa036
5fa031:	83 c1 02             	add    $0x2,%ecx
5fa034:	eb f6                	jmp    0x5fa02c
5fa036:	2b 4d 08             	sub    0x8(%ebp),%ecx
5fa039:	d1 f9                	sar    $1,%ecx
5fa03b:	5f                   	pop    %edi
5fa03c:	8b c1                	mov    %ecx,%eax
5fa03e:	5e                   	pop    %esi
5fa03f:	5d                   	pop    %ebp
5fa040:	c3                   	ret
5fa041:	8b ff                	mov    %edi,%edi
5fa043:	55                   	push   %ebp
5fa044:	8b ec                	mov    %esp,%ebp
5fa046:	a1 c0 0b 73 00       	mov    0x730bc0,%eax
5fa04b:	56                   	push   %esi
5fa04c:	57                   	push   %edi
5fa04d:	83 f8 05             	cmp    $0x5,%eax
5fa050:	0f 8c b7 00 00 00    	jl     0x5fa10d
5fa056:	8b 4d 08             	mov    0x8(%ebp),%ecx
5fa059:	f6 c1 01             	test   $0x1,%cl
5fa05c:	74 21                	je     0x5fa07f
5fa05e:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa061:	8b f1                	mov    %ecx,%esi
5fa063:	8d 14 41             	lea    (%ecx,%eax,2),%edx
5fa066:	3b f2                	cmp    %edx,%esi
5fa068:	74 0e                	je     0x5fa078
5fa06a:	33 c0                	xor    %eax,%eax
5fa06c:	66 39 01             	cmp    %ax,(%ecx)
5fa06f:	74 07                	je     0x5fa078
5fa071:	83 c1 02             	add    $0x2,%ecx
5fa074:	3b ca                	cmp    %edx,%ecx
5fa076:	75 f4                	jne    0x5fa06c
5fa078:	2b ce                	sub    %esi,%ecx
5fa07a:	e9 6a 01 00 00       	jmp    0x5fa1e9
5fa07f:	8b d1                	mov    %ecx,%edx
5fa081:	83 e2 1f             	and    $0x1f,%edx
5fa084:	6a 20                	push   $0x20
5fa086:	58                   	pop    %eax
5fa087:	2b c2                	sub    %edx,%eax
5fa089:	f7 da                	neg    %edx
5fa08b:	1b d2                	sbb    %edx,%edx
5fa08d:	23 d0                	and    %eax,%edx
5fa08f:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa092:	d1 ea                	shr    $1,%edx
5fa094:	3b c2                	cmp    %edx,%eax
5fa096:	73 02                	jae    0x5fa09a
5fa098:	8b d0                	mov    %eax,%edx
5fa09a:	8b 75 08             	mov    0x8(%ebp),%esi
5fa09d:	8d 3c 51             	lea    (%ecx,%edx,2),%edi
5fa0a0:	33 c0                	xor    %eax,%eax
5fa0a2:	3b f7                	cmp    %edi,%esi
5fa0a4:	74 0c                	je     0x5fa0b2
5fa0a6:	66 39 01             	cmp    %ax,(%ecx)
5fa0a9:	74 07                	je     0x5fa0b2
5fa0ab:	83 c1 02             	add    $0x2,%ecx
5fa0ae:	3b cf                	cmp    %edi,%ecx
5fa0b0:	75 f4                	jne    0x5fa0a6
5fa0b2:	2b ce                	sub    %esi,%ecx
5fa0b4:	d1 f9                	sar    $1,%ecx
5fa0b6:	3b ca                	cmp    %edx,%ecx
5fa0b8:	0f 85 2d 01 00 00    	jne    0x5fa1eb
5fa0be:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa0c1:	8d 3c 4e             	lea    (%esi,%ecx,2),%edi
5fa0c4:	2b c2                	sub    %edx,%eax
5fa0c6:	83 e0 e0             	and    $0xffffffe0,%eax
5fa0c9:	03 c1                	add    %ecx,%eax
5fa0cb:	c5 f1 ef c9          	vpxor  %xmm1,%xmm1,%xmm1
5fa0cf:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5fa0d2:	eb 0f                	jmp    0x5fa0e3
5fa0d4:	c5 f5 75 07          	vpcmpeqw (%edi),%ymm1,%ymm0
5fa0d8:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
5fa0dc:	85 c0                	test   %eax,%eax
5fa0de:	75 07                	jne    0x5fa0e7
5fa0e0:	83 c7 20             	add    $0x20,%edi
5fa0e3:	3b f9                	cmp    %ecx,%edi
5fa0e5:	75 ed                	jne    0x5fa0d4
5fa0e7:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa0ea:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5fa0ed:	3b f9                	cmp    %ecx,%edi
5fa0ef:	74 0e                	je     0x5fa0ff
5fa0f1:	33 c0                	xor    %eax,%eax
5fa0f3:	66 39 07             	cmp    %ax,(%edi)
5fa0f6:	74 07                	je     0x5fa0ff
5fa0f8:	83 c7 02             	add    $0x2,%edi
5fa0fb:	3b f9                	cmp    %ecx,%edi
5fa0fd:	75 f4                	jne    0x5fa0f3
5fa0ff:	8b cf                	mov    %edi,%ecx
5fa101:	2b ce                	sub    %esi,%ecx
5fa103:	d1 f9                	sar    $1,%ecx
5fa105:	c5 f8 77             	vzeroupper
5fa108:	e9 de 00 00 00       	jmp    0x5fa1eb
5fa10d:	83 f8 01             	cmp    $0x1,%eax
5fa110:	0f 8c b4 00 00 00    	jl     0x5fa1ca
5fa116:	8b 4d 08             	mov    0x8(%ebp),%ecx
5fa119:	f6 c1 01             	test   $0x1,%cl
5fa11c:	74 27                	je     0x5fa145
5fa11e:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa121:	8b f1                	mov    %ecx,%esi
5fa123:	8d 14 41             	lea    (%ecx,%eax,2),%edx
5fa126:	3b f2                	cmp    %edx,%esi
5fa128:	0f 84 4a ff ff ff    	je     0x5fa078
5fa12e:	33 c0                	xor    %eax,%eax
5fa130:	66 39 01             	cmp    %ax,(%ecx)
5fa133:	0f 84 3f ff ff ff    	je     0x5fa078
5fa139:	83 c1 02             	add    $0x2,%ecx
5fa13c:	3b ca                	cmp    %edx,%ecx
5fa13e:	75 f0                	jne    0x5fa130
5fa140:	e9 33 ff ff ff       	jmp    0x5fa078
5fa145:	8b d1                	mov    %ecx,%edx
5fa147:	83 e2 0f             	and    $0xf,%edx
5fa14a:	6a 10                	push   $0x10
5fa14c:	58                   	pop    %eax
5fa14d:	2b c2                	sub    %edx,%eax
5fa14f:	f7 da                	neg    %edx
5fa151:	1b d2                	sbb    %edx,%edx
5fa153:	23 d0                	and    %eax,%edx
5fa155:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa158:	d1 ea                	shr    $1,%edx
5fa15a:	3b c2                	cmp    %edx,%eax
5fa15c:	73 02                	jae    0x5fa160
5fa15e:	8b d0                	mov    %eax,%edx
5fa160:	8b 75 08             	mov    0x8(%ebp),%esi
5fa163:	8d 3c 51             	lea    (%ecx,%edx,2),%edi
5fa166:	33 c0                	xor    %eax,%eax
5fa168:	3b f7                	cmp    %edi,%esi
5fa16a:	74 0c                	je     0x5fa178
5fa16c:	66 39 01             	cmp    %ax,(%ecx)
5fa16f:	74 07                	je     0x5fa178
5fa171:	83 c1 02             	add    $0x2,%ecx
5fa174:	3b cf                	cmp    %edi,%ecx
5fa176:	75 f4                	jne    0x5fa16c
5fa178:	2b ce                	sub    %esi,%ecx
5fa17a:	d1 f9                	sar    $1,%ecx
5fa17c:	3b ca                	cmp    %edx,%ecx
5fa17e:	75 6b                	jne    0x5fa1eb
5fa180:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa183:	8d 3c 4e             	lea    (%esi,%ecx,2),%edi
5fa186:	2b c2                	sub    %edx,%eax
5fa188:	0f 57 c9             	xorps  %xmm1,%xmm1
5fa18b:	83 e0 f0             	and    $0xfffffff0,%eax
5fa18e:	03 c1                	add    %ecx,%eax
5fa190:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5fa193:	eb 12                	jmp    0x5fa1a7
5fa195:	0f 10 07             	movups (%edi),%xmm0
5fa198:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
5fa19c:	66 0f d7 c0          	pmovmskb %xmm0,%eax
5fa1a0:	85 c0                	test   %eax,%eax
5fa1a2:	75 07                	jne    0x5fa1ab
5fa1a4:	83 c7 10             	add    $0x10,%edi
5fa1a7:	3b f9                	cmp    %ecx,%edi
5fa1a9:	75 ea                	jne    0x5fa195
5fa1ab:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa1ae:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
5fa1b1:	3b f9                	cmp    %ecx,%edi
5fa1b3:	74 0e                	je     0x5fa1c3
5fa1b5:	33 c0                	xor    %eax,%eax
5fa1b7:	66 39 07             	cmp    %ax,(%edi)
5fa1ba:	74 07                	je     0x5fa1c3
5fa1bc:	83 c7 02             	add    $0x2,%edi
5fa1bf:	3b f9                	cmp    %ecx,%edi
5fa1c1:	75 f4                	jne    0x5fa1b7
5fa1c3:	8b cf                	mov    %edi,%ecx
5fa1c5:	e9 ae fe ff ff       	jmp    0x5fa078
5fa1ca:	8b 55 08             	mov    0x8(%ebp),%edx
5fa1cd:	8b ca                	mov    %edx,%ecx
5fa1cf:	8b 45 0c             	mov    0xc(%ebp),%eax
5fa1d2:	8d 34 42             	lea    (%edx,%eax,2),%esi
5fa1d5:	3b d6                	cmp    %esi,%edx
5fa1d7:	74 0e                	je     0x5fa1e7
5fa1d9:	33 c0                	xor    %eax,%eax
5fa1db:	66 39 01             	cmp    %ax,(%ecx)
5fa1de:	74 07                	je     0x5fa1e7
5fa1e0:	83 c1 02             	add    $0x2,%ecx
5fa1e3:	3b ce                	cmp    %esi,%ecx
5fa1e5:	75 f4                	jne    0x5fa1db
5fa1e7:	2b ca                	sub    %edx,%ecx
5fa1e9:	d1 f9                	sar    $1,%ecx
5fa1eb:	5f                   	pop    %edi
5fa1ec:	8b c1                	mov    %ecx,%eax
5fa1ee:	5e                   	pop    %esi
5fa1ef:	5d                   	pop    %ebp
5fa1f0:	c3                   	ret
5fa1f1:	8b ff                	mov    %edi,%edi
5fa1f3:	55                   	push   %ebp
5fa1f4:	8b ec                	mov    %esp,%ebp
5fa1f6:	51                   	push   %ecx
5fa1f7:	8b 55 08             	mov    0x8(%ebp),%edx
5fa1fa:	53                   	push   %ebx
5fa1fb:	56                   	push   %esi
5fa1fc:	8b 75 0c             	mov    0xc(%ebp),%esi
5fa1ff:	57                   	push   %edi
5fa200:	85 d2                	test   %edx,%edx
5fa202:	0f 84 b9 01 00 00    	je     0x5fa3c1
5fa208:	85 f6                	test   %esi,%esi
5fa20a:	0f 84 b1 01 00 00    	je     0x5fa3c1
5fa210:	8b 3e                	mov    (%esi),%edi
5fa212:	33 c9                	xor    %ecx,%ecx
5fa214:	85 ff                	test   %edi,%edi
5fa216:	0f 94 c1             	sete   %cl
5fa219:	33 c0                	xor    %eax,%eax
5fa21b:	39 46 04             	cmp    %eax,0x4(%esi)
5fa21e:	0f 94 c0             	sete   %al
5fa221:	3b c8                	cmp    %eax,%ecx
5fa223:	0f 85 98 01 00 00    	jne    0x5fa3c1
5fa229:	33 c9                	xor    %ecx,%ecx
5fa22b:	33 db                	xor    %ebx,%ebx
5fa22d:	39 5e 08             	cmp    %ebx,0x8(%esi)
5fa230:	0f 94 c1             	sete   %cl
5fa233:	33 c0                	xor    %eax,%eax
5fa235:	39 5e 0c             	cmp    %ebx,0xc(%esi)
5fa238:	0f 94 c0             	sete   %al
5fa23b:	3b c8                	cmp    %eax,%ecx
5fa23d:	0f 85 7e 01 00 00    	jne    0x5fa3c1
5fa243:	33 c9                	xor    %ecx,%ecx
5fa245:	39 5e 10             	cmp    %ebx,0x10(%esi)
5fa248:	0f 94 c1             	sete   %cl
5fa24b:	33 c0                	xor    %eax,%eax
5fa24d:	39 5e 14             	cmp    %ebx,0x14(%esi)
5fa250:	0f 94 c0             	sete   %al
5fa253:	3b c8                	cmp    %eax,%ecx
5fa255:	0f 85 66 01 00 00    	jne    0x5fa3c1
5fa25b:	33 c9                	xor    %ecx,%ecx
5fa25d:	39 5e 18             	cmp    %ebx,0x18(%esi)
5fa260:	0f 94 c1             	sete   %cl
5fa263:	33 c0                	xor    %eax,%eax
5fa265:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
5fa268:	0f 94 c0             	sete   %al
5fa26b:	3b c8                	cmp    %eax,%ecx
5fa26d:	0f 85 4e 01 00 00    	jne    0x5fa3c1
5fa273:	33 c9                	xor    %ecx,%ecx
5fa275:	8b c2                	mov    %edx,%eax
5fa277:	41                   	inc    %ecx
5fa278:	66 39 18             	cmp    %bx,(%eax)
5fa27b:	74 08                	je     0x5fa285
5fa27d:	83 c0 02             	add    $0x2,%eax
5fa280:	83 e9 01             	sub    $0x1,%ecx
5fa283:	75 f3                	jne    0x5fa278
5fa285:	66 83 38 3a          	cmpw   $0x3a,(%eax)
5fa289:	89 45 fc             	mov    %eax,-0x4(%ebp)
5fa28c:	75 3d                	jne    0x5fa2cb
5fa28e:	85 ff                	test   %edi,%edi
5fa290:	74 34                	je     0x5fa2c6
5fa292:	83 7e 04 03          	cmpl   $0x3,0x4(%esi)
5fa296:	73 1c                	jae    0x5fa2b4
5fa298:	ff 75 10             	push   0x10(%ebp)
5fa29b:	56                   	push   %esi
5fa29c:	e8 41 01 00 00       	call   0x5fa3e2
5fa2a1:	59                   	pop    %ecx
5fa2a2:	59                   	pop    %ecx
5fa2a3:	e8 51 2d ff ff       	call   0x5ecff9
5fa2a8:	6a 22                	push   $0x22
5fa2aa:	59                   	pop    %ecx
5fa2ab:	89 08                	mov    %ecx,(%eax)
5fa2ad:	8b c1                	mov    %ecx,%eax
5fa2af:	e9 29 01 00 00       	jmp    0x5fa3dd
5fa2b4:	6a 02                	push   $0x2
5fa2b6:	52                   	push   %edx
5fa2b7:	ff 76 04             	push   0x4(%esi)
5fa2ba:	57                   	push   %edi
5fa2bb:	e8 b7 cd ff ff       	call   0x5f7077
5fa2c0:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fa2c3:	83 c4 10             	add    $0x10,%esp
5fa2c6:	8d 50 02             	lea    0x2(%eax),%edx
5fa2c9:	eb 09                	jmp    0x5fa2d4
5fa2cb:	85 ff                	test   %edi,%edi
5fa2cd:	74 05                	je     0x5fa2d4
5fa2cf:	33 c0                	xor    %eax,%eax
5fa2d1:	66 89 07             	mov    %ax,(%edi)
5fa2d4:	0f b7 02             	movzwl (%edx),%eax
5fa2d7:	8b fa                	mov    %edx,%edi
5fa2d9:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5fa2dc:	eb 20                	jmp    0x5fa2fe
5fa2de:	66 83 f8 2f          	cmp    $0x2f,%ax
5fa2e2:	74 11                	je     0x5fa2f5
5fa2e4:	66 83 f8 5c          	cmp    $0x5c,%ax
5fa2e8:	74 0b                	je     0x5fa2f5
5fa2ea:	66 83 f8 2e          	cmp    $0x2e,%ax
5fa2ee:	75 08                	jne    0x5fa2f8
5fa2f0:	89 7d fc             	mov    %edi,-0x4(%ebp)
5fa2f3:	eb 03                	jmp    0x5fa2f8
5fa2f5:	8d 5f 02             	lea    0x2(%edi),%ebx
5fa2f8:	83 c7 02             	add    $0x2,%edi
5fa2fb:	0f b7 07             	movzwl (%edi),%eax
5fa2fe:	66 85 c0             	test   %ax,%ax
5fa301:	75 db                	jne    0x5fa2de
5fa303:	85 db                	test   %ebx,%ebx
5fa305:	74 25                	je     0x5fa32c
5fa307:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
5fa30b:	74 1b                	je     0x5fa328
5fa30d:	8b c3                	mov    %ebx,%eax
5fa30f:	2b c2                	sub    %edx,%eax
5fa311:	d1 f8                	sar    $1,%eax
5fa313:	39 46 0c             	cmp    %eax,0xc(%esi)
5fa316:	76 80                	jbe    0x5fa298
5fa318:	50                   	push   %eax
5fa319:	52                   	push   %edx