414def:	c5 f4 57 c9          	vxorps %ymm1,%ymm1,%ymm1
414df3:	03 f9                	add    %ecx,%edi
414df5:	eb 0f                	jmp    0x414e06
414df7:	c5 f5 74 01          	vpcmpeqb (%ecx),%ymm1,%ymm0
414dfb:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
414dff:	85 c0                	test   %eax,%eax
414e01:	75 07                	jne    0x414e0a
414e03:	83 c1 20             	add    $0x20,%ecx
414e06:	3b cf                	cmp    %edi,%ecx
414e08:	75 ed                	jne    0x414df7
414e0a:	8b 45 0c             	mov    0xc(%ebp),%eax
414e0d:	03 c6                	add    %esi,%eax
414e0f:	eb 06                	jmp    0x414e17
414e11:	80 39 00             	cmpb   $0x0,(%ecx)
414e14:	74 05                	je     0x414e1b
414e16:	41                   	inc    %ecx
414e17:	3b c8                	cmp    %eax,%ecx
414e19:	75 f6                	jne    0x414e11
414e1b:	2b ce                	sub    %esi,%ecx
414e1d:	c5 f8 77             	vzeroupper
414e20:	e9 94 00 00 00       	jmp    0x414eb9
414e25:	83 f8 01             	cmp    $0x1,%eax
414e28:	7c 75                	jl     0x414e9f
414e2a:	8b 75 08             	mov    0x8(%ebp),%esi
414e2d:	8b d6                	mov    %esi,%edx
414e2f:	83 e2 0f             	and    $0xf,%edx
414e32:	6a 10                	push   $0x10
414e34:	58                   	pop    %eax
414e35:	2b c2                	sub    %edx,%eax
414e37:	f7 da                	neg    %edx
414e39:	1b d2                	sbb    %edx,%edx
414e3b:	23 d0                	and    %eax,%edx
414e3d:	8b 45 0c             	mov    0xc(%ebp),%eax
414e40:	3b c2                	cmp    %edx,%eax
414e42:	73 02                	jae    0x414e46
414e44:	8b d0                	mov    %eax,%edx
414e46:	8d 3c 32             	lea    (%edx,%esi,1),%edi
414e49:	8b ce                	mov    %esi,%ecx
414e4b:	3b f7                	cmp    %edi,%esi
414e4d:	74 0a                	je     0x414e59
414e4f:	80 39 00             	cmpb   $0x0,(%ecx)
414e52:	74 05                	je     0x414e59
414e54:	41                   	inc    %ecx
414e55:	3b cf                	cmp    %edi,%ecx
414e57:	75 f6                	jne    0x414e4f
414e59:	2b ce                	sub    %esi,%ecx
414e5b:	3b ca                	cmp    %edx,%ecx
414e5d:	75 5a                	jne    0x414eb9
414e5f:	8b f8                	mov    %eax,%edi
414e61:	03 ce                	add    %esi,%ecx
414e63:	2b fa                	sub    %edx,%edi
414e65:	66 0f ef c9          	pxor   %xmm1,%xmm1
414e69:	8b c7                	mov    %edi,%eax
414e6b:	83 e0 0f             	and    $0xf,%eax
414e6e:	2b f8                	sub    %eax,%edi
414e70:	03 f9                	add    %ecx,%edi
414e72:	eb 12                	jmp    0x414e86
414e74:	0f 28 01             	movaps (%ecx),%xmm0
414e77:	66 0f 74 c1          	pcmpeqb %xmm1,%xmm0
414e7b:	66 0f d7 c0          	pmovmskb %xmm0,%eax
414e7f:	85 c0                	test   %eax,%eax
414e81:	75 07                	jne    0x414e8a
414e83:	83 c1 10             	add    $0x10,%ecx
414e86:	3b cf                	cmp    %edi,%ecx
414e88:	75 ea                	jne    0x414e74
414e8a:	8b 45 0c             	mov    0xc(%ebp),%eax
414e8d:	03 c6                	add    %esi,%eax
414e8f:	eb 06                	jmp    0x414e97
414e91:	80 39 00             	cmpb   $0x0,(%ecx)
414e94:	74 05                	je     0x414e9b
414e96:	41                   	inc    %ecx
414e97:	3b c8                	cmp    %eax,%ecx
414e99:	75 f6                	jne    0x414e91
414e9b:	2b ce                	sub    %esi,%ecx
414e9d:	eb 1a                	jmp    0x414eb9
414e9f:	8b 55 08             	mov    0x8(%ebp),%edx
414ea2:	8b ca                	mov    %edx,%ecx
414ea4:	8b 45 0c             	mov    0xc(%ebp),%eax
414ea7:	03 c2                	add    %edx,%eax
414ea9:	3b d0                	cmp    %eax,%edx
414eab:	74 0a                	je     0x414eb7
414ead:	80 39 00             	cmpb   $0x0,(%ecx)
414eb0:	74 05                	je     0x414eb7
414eb2:	41                   	inc    %ecx
414eb3:	3b c8                	cmp    %eax,%ecx
414eb5:	75 f6                	jne    0x414ead
414eb7:	2b ca                	sub    %edx,%ecx
414eb9:	5f                   	pop    %edi
414eba:	8b c1                	mov    %ecx,%eax
414ebc:	5e                   	pop    %esi
414ebd:	5d                   	pop    %ebp
414ebe:	c3                   	ret
414ebf:	8b ff                	mov    %edi,%edi
414ec1:	55                   	push   %ebp
414ec2:	8b ec                	mov    %esp,%ebp
414ec4:	51                   	push   %ecx
414ec5:	a1 48 96 83 02       	mov    0x2839648,%eax
414eca:	8b 4d 08             	mov    0x8(%ebp),%ecx
414ecd:	56                   	push   %esi
414ece:	57                   	push   %edi
414ecf:	83 f8 05             	cmp    $0x5,%eax
414ed2:	0f 8c bc 00 00 00    	jl     0x414f94
414ed8:	f6 c1 01             	test   $0x1,%cl
414edb:	74 27                	je     0x414f04
414edd:	8b 45 0c             	mov    0xc(%ebp),%eax
414ee0:	8b d1                	mov    %ecx,%edx
414ee2:	8d 04 41             	lea    (%ecx,%eax,2),%eax
414ee5:	3b c8                	cmp    %eax,%ecx
414ee7:	0f 84 7d 01 00 00    	je     0x41506a
414eed:	33 ff                	xor    %edi,%edi
414eef:	66 39 3a             	cmp    %di,(%edx)
414ef2:	0f 84 72 01 00 00    	je     0x41506a
414ef8:	83 c2 02             	add    $0x2,%edx
414efb:	3b d0                	cmp    %eax,%edx
414efd:	75 f0                	jne    0x414eef
414eff:	e9 66 01 00 00       	jmp    0x41506a
414f04:	8b f1                	mov    %ecx,%esi
414f06:	83 e6 1f             	and    $0x1f,%esi
414f09:	6a 20                	push   $0x20
414f0b:	58                   	pop    %eax
414f0c:	2b c6                	sub    %esi,%eax
414f0e:	f7 de                	neg    %esi
414f10:	1b f6                	sbb    %esi,%esi
414f12:	23 f0                	and    %eax,%esi
414f14:	8b 45 0c             	mov    0xc(%ebp),%eax
414f17:	d1 ee                	shr    $1,%esi
414f19:	3b c6                	cmp    %esi,%eax
414f1b:	73 02                	jae    0x414f1f
414f1d:	8b f0                	mov    %eax,%esi
414f1f:	8d 14 71             	lea    (%ecx,%esi,2),%edx
414f22:	33 ff                	xor    %edi,%edi
414f24:	89 55 fc             	mov    %edx,-0x4(%ebp)
414f27:	8b d1                	mov    %ecx,%edx
414f29:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
414f2c:	74 0d                	je     0x414f3b
414f2e:	66 39 3a             	cmp    %di,(%edx)
414f31:	74 08                	je     0x414f3b
414f33:	83 c2 02             	add    $0x2,%edx
414f36:	3b 55 fc             	cmp    -0x4(%ebp),%edx
414f39:	75 f3                	jne    0x414f2e
414f3b:	2b d1                	sub    %ecx,%edx
414f3d:	d1 fa                	sar    $1,%edx
414f3f:	3b d6                	cmp    %esi,%edx
414f41:	0f 85 27 01 00 00    	jne    0x41506e
414f47:	8d 14 51             	lea    (%ecx,%edx,2),%edx
414f4a:	8b c8                	mov    %eax,%ecx
414f4c:	2b ce                	sub    %esi,%ecx
414f4e:	8b c1                	mov    %ecx,%eax
414f50:	83 e0 1f             	and    $0x1f,%eax
414f53:	2b c8                	sub    %eax,%ecx
414f55:	c5 f4 57 c9          	vxorps %ymm1,%ymm1,%ymm1
414f59:	8d 0c 4a             	lea    (%edx,%ecx,2),%ecx
414f5c:	eb 0f                	jmp    0x414f6d
414f5e:	c5 f5 75 02          	vpcmpeqw (%edx),%ymm1,%ymm0
414f62:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
414f66:	85 c0                	test   %eax,%eax
414f68:	75 07                	jne    0x414f71
414f6a:	83 c2 20             	add    $0x20,%edx
414f6d:	3b d1                	cmp    %ecx,%edx
414f6f:	75 ed                	jne    0x414f5e
414f71:	8b 45 08             	mov    0x8(%ebp),%eax
414f74:	8b 4d 0c             	mov    0xc(%ebp),%ecx
414f77:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
414f7a:	eb 08                	jmp    0x414f84
414f7c:	66 39 3a             	cmp    %di,(%edx)
414f7f:	74 07                	je     0x414f88
414f81:	83 c2 02             	add    $0x2,%edx
414f84:	3b d1                	cmp    %ecx,%edx
414f86:	75 f4                	jne    0x414f7c
414f88:	2b d0                	sub    %eax,%edx
414f8a:	d1 fa                	sar    $1,%edx
414f8c:	c5 f8 77             	vzeroupper
414f8f:	e9 da 00 00 00       	jmp    0x41506e
414f94:	83 f8 01             	cmp    $0x1,%eax
414f97:	0f 8c b3 00 00 00    	jl     0x415050
414f9d:	f6 c1 01             	test   $0x1,%cl
414fa0:	74 27                	je     0x414fc9
414fa2:	8b 45 0c             	mov    0xc(%ebp),%eax
414fa5:	8b d1                	mov    %ecx,%edx
414fa7:	8d 04 41             	lea    (%ecx,%eax,2),%eax
414faa:	3b c8                	cmp    %eax,%ecx
414fac:	0f 84 b8 00 00 00    	je     0x41506a
414fb2:	33 ff                	xor    %edi,%edi
414fb4:	66 39 3a             	cmp    %di,(%edx)
414fb7:	0f 84 ad 00 00 00    	je     0x41506a
414fbd:	83 c2 02             	add    $0x2,%edx
414fc0:	3b d0                	cmp    %eax,%edx
414fc2:	75 f0                	jne    0x414fb4
414fc4:	e9 a1 00 00 00       	jmp    0x41506a
414fc9:	8b f1                	mov    %ecx,%esi
414fcb:	83 e6 0f             	and    $0xf,%esi
414fce:	6a 10                	push   $0x10
414fd0:	58                   	pop    %eax
414fd1:	2b c6                	sub    %esi,%eax
414fd3:	f7 de                	neg    %esi
414fd5:	1b f6                	sbb    %esi,%esi
414fd7:	23 f0                	and    %eax,%esi
414fd9:	8b 45 0c             	mov    0xc(%ebp),%eax
414fdc:	d1 ee                	shr    $1,%esi
414fde:	3b c6                	cmp    %esi,%eax
414fe0:	73 02                	jae    0x414fe4
414fe2:	8b f0                	mov    %eax,%esi
414fe4:	8d 14 71             	lea    (%ecx,%esi,2),%edx
414fe7:	33 ff                	xor    %edi,%edi
414fe9:	89 55 fc             	mov    %edx,-0x4(%ebp)
414fec:	8b d1                	mov    %ecx,%edx
414fee:	3b 4d fc             	cmp    -0x4(%ebp),%ecx
414ff1:	74 0d                	je     0x415000
414ff3:	66 39 3a             	cmp    %di,(%edx)
414ff6:	74 08                	je     0x415000
414ff8:	83 c2 02             	add    $0x2,%edx
414ffb:	3b 55 fc             	cmp    -0x4(%ebp),%edx
414ffe:	75 f3                	jne    0x414ff3
415000:	2b d1                	sub    %ecx,%edx
415002:	d1 fa                	sar    $1,%edx
415004:	3b d6                	cmp    %esi,%edx
415006:	75 66                	jne    0x41506e
415008:	8d 14 51             	lea    (%ecx,%edx,2),%edx
41500b:	66 0f ef c9          	pxor   %xmm1,%xmm1
41500f:	8b c8                	mov    %eax,%ecx
415011:	2b ce                	sub    %esi,%ecx
415013:	8b c1                	mov    %ecx,%eax
415015:	83 e0 0f             	and    $0xf,%eax
415018:	2b c8                	sub    %eax,%ecx
41501a:	8d 0c 4a             	lea    (%edx,%ecx,2),%ecx
41501d:	eb 12                	jmp    0x415031
41501f:	0f 28 02             	movaps (%edx),%xmm0
415022:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
415026:	66 0f d7 c0          	pmovmskb %xmm0,%eax
41502a:	85 c0                	test   %eax,%eax
41502c:	75 07                	jne    0x415035
41502e:	83 c2 10             	add    $0x10,%edx
415031:	3b d1                	cmp    %ecx,%edx
415033:	75 ea                	jne    0x41501f
415035:	8b 45 08             	mov    0x8(%ebp),%eax
415038:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41503b:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
41503e:	eb 08                	jmp    0x415048
415040:	66 39 3a             	cmp    %di,(%edx)
415043:	74 07                	je     0x41504c
415045:	83 c2 02             	add    $0x2,%edx
415048:	3b d1                	cmp    %ecx,%edx
41504a:	75 f4                	jne    0x415040
41504c:	2b d0                	sub    %eax,%edx
41504e:	eb 1c                	jmp    0x41506c
415050:	8b 45 0c             	mov    0xc(%ebp),%eax
415053:	8b d1                	mov    %ecx,%edx
415055:	8d 04 41             	lea    (%ecx,%eax,2),%eax
415058:	3b c8                	cmp    %eax,%ecx
41505a:	74 0e                	je     0x41506a
41505c:	33 ff                	xor    %edi,%edi
41505e:	66 39 3a             	cmp    %di,(%edx)
415061:	74 07                	je     0x41506a
415063:	83 c2 02             	add    $0x2,%edx
415066:	3b d0                	cmp    %eax,%edx
415068:	75 f4                	jne    0x41505e
41506a:	2b d1                	sub    %ecx,%edx
41506c:	d1 fa                	sar    $1,%edx
41506e:	5f                   	pop    %edi
41506f:	8b c2                	mov    %edx,%eax
415071:	5e                   	pop    %esi
415072:	8b e5                	mov    %ebp,%esp
415074:	5d                   	pop    %ebp
415075:	c3                   	ret
415076:	e8 42 7b 00 00       	call   0x41cbbd
41507b:	85 c0                	test   %eax,%eax
41507d:	74 08                	je     0x415087
41507f:	6a 16                	push   $0x16
415081:	e8 92 7b 00 00       	call   0x41cc18
415086:	59                   	pop    %ecx
415087:	f6 05 30 bb 43 00 02 	testb  $0x2,0x43bb30
41508e:	74 21                	je     0x4150b1
415090:	6a 17                	push   $0x17
415092:	e8 3b 11 01 00       	call   0x4261d2
415097:	85 c0                	test   %eax,%eax
415099:	74 05                	je     0x4150a0
41509b:	6a 07                	push   $0x7
41509d:	59                   	pop    %ecx
41509e:	cd 29                	int    $0x29
4150a0:	6a 01                	push   $0x1
4150a2:	68 15 00 00 40       	push   $0x40000015
4150a7:	6a 03                	push   $0x3
4150a9:	e8 6a 6a ff ff       	call   0x40bb18
4150ae:	83 c4 0c             	add    $0xc,%esp
4150b1:	6a 03                	push   $0x3
4150b3:	e8 db 0a 00 00       	call   0x415b93
4150b8:	cc                   	int3
4150b9:	8b ff                	mov    %edi,%edi
4150bb:	55                   	push   %ebp
4150bc:	8b ec                	mov    %esp,%ebp
4150be:	57                   	push   %edi
4150bf:	8b 7d 08             	mov    0x8(%ebp),%edi
4150c2:	85 ff                	test   %edi,%edi
4150c4:	75 0b                	jne    0x4150d1
4150c6:	ff 75 0c             	push   0xc(%ebp)
4150c9:	e8 7c fc ff ff       	call   0x414d4a
4150ce:	59                   	pop    %ecx
4150cf:	eb 24                	jmp    0x4150f5
4150d1:	56                   	push   %esi
4150d2:	8b 75 0c             	mov    0xc(%ebp),%esi
4150d5:	85 f6                	test   %esi,%esi
4150d7:	75 09                	jne    0x4150e2
4150d9:	57                   	push   %edi
4150da:	e8 31 fc ff ff       	call   0x414d10
4150df:	59                   	pop    %ecx
4150e0:	eb 10                	jmp    0x4150f2
4150e2:	83 fe e0             	cmp    $0xffffffe0,%esi
4150e5:	76 25                	jbe    0x41510c
4150e7:	e8 7f f9 ff ff       	call   0x414a6b
4150ec:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
4150f2:	33 c0                	xor    %eax,%eax
4150f4:	5e                   	pop    %esi
4150f5:	5f                   	pop    %edi
4150f6:	5d                   	pop    %ebp
4150f7:	c3                   	ret
4150f8:	e8 92 29 00 00       	call   0x417a8f
4150fd:	85 c0                	test   %eax,%eax
4150ff:	74 e6                	je     0x4150e7
415101:	56                   	push   %esi
415102:	e8 1c 06 00 00       	call   0x415723
415107:	59                   	pop    %ecx
415108:	85 c0                	test   %eax,%eax
41510a:	74 db                	je     0x4150e7
41510c:	56                   	push   %esi
41510d:	57                   	push   %edi
41510e:	6a 00                	push   $0x0
415110:	ff 35 dc 9f 83 02    	push   0x2839fdc
415116:	ff 15 d4 71 42 00    	call   *0x4271d4
41511c:	85 c0                	test   %eax,%eax
41511e:	74 d8                	je     0x4150f8
415120:	eb d2                	jmp    0x4150f4
415122:	8b ff                	mov    %edi,%edi
415124:	55                   	push   %ebp
415125:	8b ec                	mov    %esp,%ebp
415127:	8b 45 08             	mov    0x8(%ebp),%eax
41512a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41512d:	8b 55 0c             	mov    0xc(%ebp),%edx
415130:	89 10                	mov    %edx,(%eax)
415132:	89 48 04             	mov    %ecx,0x4(%eax)
415135:	85 c9                	test   %ecx,%ecx
415137:	74 02                	je     0x41513b
415139:	89 11                	mov    %edx,(%ecx)
41513b:	5d                   	pop    %ebp
41513c:	c3                   	ret
41513d:	8b ff                	mov    %edi,%edi
41513f:	55                   	push   %ebp
415140:	8b ec                	mov    %esp,%ebp
415142:	8b 45 08             	mov    0x8(%ebp),%eax
415145:	8b 4d 10             	mov    0x10(%ebp),%ecx
415148:	8b 55 0c             	mov    0xc(%ebp),%edx