4107ca:	59                   	pop    %ecx
4107cb:	8b 46 38             	mov    0x38(%esi),%eax
4107ce:	3b 05 80 66 42 00    	cmp    0x426680,%eax
4107d4:	74 07                	je     0x4107dd
4107d6:	50                   	push   %eax
4107d7:	e8 67 e5 ff ff       	call   0x40ed43
4107dc:	59                   	pop    %ecx
4107dd:	8b 46 3c             	mov    0x3c(%esi),%eax
4107e0:	3b 05 84 66 42 00    	cmp    0x426684,%eax
4107e6:	74 07                	je     0x4107ef
4107e8:	50                   	push   %eax
4107e9:	e8 55 e5 ff ff       	call   0x40ed43
4107ee:	59                   	pop    %ecx
4107ef:	8b 46 40             	mov    0x40(%esi),%eax
4107f2:	3b 05 88 66 42 00    	cmp    0x426688,%eax
4107f8:	74 07                	je     0x410801
4107fa:	50                   	push   %eax
4107fb:	e8 43 e5 ff ff       	call   0x40ed43
410800:	59                   	pop    %ecx
410801:	8b 46 44             	mov    0x44(%esi),%eax
410804:	3b 05 8c 66 42 00    	cmp    0x42668c,%eax
41080a:	74 07                	je     0x410813
41080c:	50                   	push   %eax
41080d:	e8 31 e5 ff ff       	call   0x40ed43
410812:	59                   	pop    %ecx
410813:	8b 46 48             	mov    0x48(%esi),%eax
410816:	3b 05 90 66 42 00    	cmp    0x426690,%eax
41081c:	74 07                	je     0x410825
41081e:	50                   	push   %eax
41081f:	e8 1f e5 ff ff       	call   0x40ed43
410824:	59                   	pop    %ecx
410825:	8b 46 4c             	mov    0x4c(%esi),%eax
410828:	3b 05 94 66 42 00    	cmp    0x426694,%eax
41082e:	74 07                	je     0x410837
410830:	50                   	push   %eax
410831:	e8 0d e5 ff ff       	call   0x40ed43
410836:	59                   	pop    %ecx
410837:	5e                   	pop    %esi
410838:	5d                   	pop    %ebp
410839:	c3                   	ret
41083a:	8b ff                	mov    %edi,%edi
41083c:	55                   	push   %ebp
41083d:	8b ec                	mov    %esp,%ebp
41083f:	56                   	push   %esi
410840:	8b 75 08             	mov    0x8(%ebp),%esi
410843:	85 f6                	test   %esi,%esi
410845:	74 59                	je     0x4108a0
410847:	8b 06                	mov    (%esi),%eax
410849:	3b 05 48 66 42 00    	cmp    0x426648,%eax
41084f:	74 07                	je     0x410858
410851:	50                   	push   %eax
410852:	e8 ec e4 ff ff       	call   0x40ed43
410857:	59                   	pop    %ecx
410858:	8b 46 04             	mov    0x4(%esi),%eax
41085b:	3b 05 4c 66 42 00    	cmp    0x42664c,%eax
410861:	74 07                	je     0x41086a
410863:	50                   	push   %eax
410864:	e8 da e4 ff ff       	call   0x40ed43
410869:	59                   	pop    %ecx
41086a:	8b 46 08             	mov    0x8(%esi),%eax
41086d:	3b 05 50 66 42 00    	cmp    0x426650,%eax
410873:	74 07                	je     0x41087c
410875:	50                   	push   %eax
410876:	e8 c8 e4 ff ff       	call   0x40ed43
41087b:	59                   	pop    %ecx
41087c:	8b 46 30             	mov    0x30(%esi),%eax
41087f:	3b 05 78 66 42 00    	cmp    0x426678,%eax
410885:	74 07                	je     0x41088e
410887:	50                   	push   %eax
410888:	e8 b6 e4 ff ff       	call   0x40ed43
41088d:	59                   	pop    %ecx
41088e:	8b 46 34             	mov    0x34(%esi),%eax
410891:	3b 05 7c 66 42 00    	cmp    0x42667c,%eax
410897:	74 07                	je     0x4108a0
410899:	50                   	push   %eax
41089a:	e8 a4 e4 ff ff       	call   0x40ed43
41089f:	59                   	pop    %ecx
4108a0:	5e                   	pop    %esi
4108a1:	5d                   	pop    %ebp
4108a2:	c3                   	ret
4108a3:	8b ff                	mov    %edi,%edi
4108a5:	55                   	push   %ebp
4108a6:	8b ec                	mov    %esp,%ebp
4108a8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4108ab:	53                   	push   %ebx
4108ac:	56                   	push   %esi
4108ad:	8b 75 08             	mov    0x8(%ebp),%esi
4108b0:	57                   	push   %edi
4108b1:	33 ff                	xor    %edi,%edi
4108b3:	8d 04 8e             	lea    (%esi,%ecx,4),%eax
4108b6:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
4108bc:	3b c6                	cmp    %esi,%eax
4108be:	1b db                	sbb    %ebx,%ebx
4108c0:	f7 d3                	not    %ebx
4108c2:	23 d9                	and    %ecx,%ebx
4108c4:	74 10                	je     0x4108d6
4108c6:	ff 36                	push   (%esi)
4108c8:	e8 76 e4 ff ff       	call   0x40ed43
4108cd:	47                   	inc    %edi
4108ce:	8d 76 04             	lea    0x4(%esi),%esi
4108d1:	59                   	pop    %ecx
4108d2:	3b fb                	cmp    %ebx,%edi
4108d4:	75 f0                	jne    0x4108c6
4108d6:	5f                   	pop    %edi
4108d7:	5e                   	pop    %esi
4108d8:	5b                   	pop    %ebx
4108d9:	5d                   	pop    %ebp
4108da:	c3                   	ret
4108db:	8b ff                	mov    %edi,%edi
4108dd:	55                   	push   %ebp
4108de:	8b ec                	mov    %esp,%ebp
4108e0:	56                   	push   %esi
4108e1:	8b 75 08             	mov    0x8(%ebp),%esi
4108e4:	85 f6                	test   %esi,%esi
4108e6:	0f 84 d0 00 00 00    	je     0x4109bc
4108ec:	6a 07                	push   $0x7
4108ee:	56                   	push   %esi
4108ef:	e8 af ff ff ff       	call   0x4108a3
4108f4:	8d 46 1c             	lea    0x1c(%esi),%eax
4108f7:	6a 07                	push   $0x7
4108f9:	50                   	push   %eax
4108fa:	e8 a4 ff ff ff       	call   0x4108a3
4108ff:	8d 46 38             	lea    0x38(%esi),%eax
410902:	6a 0c                	push   $0xc
410904:	50                   	push   %eax
410905:	e8 99 ff ff ff       	call   0x4108a3
41090a:	8d 46 68             	lea    0x68(%esi),%eax
41090d:	6a 0c                	push   $0xc
41090f:	50                   	push   %eax
410910:	e8 8e ff ff ff       	call   0x4108a3
410915:	8d 86 98 00 00 00    	lea    0x98(%esi),%eax
41091b:	6a 02                	push   $0x2
41091d:	50                   	push   %eax
41091e:	e8 80 ff ff ff       	call   0x4108a3
410923:	ff b6 a0 00 00 00    	push   0xa0(%esi)
410929:	e8 15 e4 ff ff       	call   0x40ed43
41092e:	ff b6 a4 00 00 00    	push   0xa4(%esi)
410934:	e8 0a e4 ff ff       	call   0x40ed43
410939:	ff b6 a8 00 00 00    	push   0xa8(%esi)
41093f:	e8 ff e3 ff ff       	call   0x40ed43
410944:	8d 86 b4 00 00 00    	lea    0xb4(%esi),%eax
41094a:	6a 07                	push   $0x7
41094c:	50                   	push   %eax
41094d:	e8 51 ff ff ff       	call   0x4108a3
410952:	8d 86 d0 00 00 00    	lea    0xd0(%esi),%eax
410958:	6a 07                	push   $0x7
41095a:	50                   	push   %eax
41095b:	e8 43 ff ff ff       	call   0x4108a3
410960:	83 c4 44             	add    $0x44,%esp
410963:	8d 86 ec 00 00 00    	lea    0xec(%esi),%eax
410969:	6a 0c                	push   $0xc
41096b:	50                   	push   %eax
41096c:	e8 32 ff ff ff       	call   0x4108a3
410971:	8d 86 1c 01 00 00    	lea    0x11c(%esi),%eax
410977:	6a 0c                	push   $0xc
410979:	50                   	push   %eax
41097a:	e8 24 ff ff ff       	call   0x4108a3
41097f:	8d 86 4c 01 00 00    	lea    0x14c(%esi),%eax
410985:	6a 02                	push   $0x2
410987:	50                   	push   %eax
410988:	e8 16 ff ff ff       	call   0x4108a3
41098d:	ff b6 54 01 00 00    	push   0x154(%esi)
410993:	e8 ab e3 ff ff       	call   0x40ed43
410998:	ff b6 58 01 00 00    	push   0x158(%esi)
41099e:	e8 a0 e3 ff ff       	call   0x40ed43
4109a3:	ff b6 5c 01 00 00    	push   0x15c(%esi)
4109a9:	e8 95 e3 ff ff       	call   0x40ed43
4109ae:	ff b6 60 01 00 00    	push   0x160(%esi)
4109b4:	e8 8a e3 ff ff       	call   0x40ed43
4109b9:	83 c4 28             	add    $0x28,%esp
4109bc:	5e                   	pop    %esi
4109bd:	5d                   	pop    %ebp
4109be:	c3                   	ret
4109bf:	8b ff                	mov    %edi,%edi
4109c1:	55                   	push   %ebp
4109c2:	8b ec                	mov    %esp,%ebp
4109c4:	51                   	push   %ecx
4109c5:	e8 3f de ff ff       	call   0x40e809
4109ca:	8b 48 4c             	mov    0x4c(%eax),%ecx
4109cd:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4109d0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4109d3:	51                   	push   %ecx
4109d4:	50                   	push   %eax
4109d5:	e8 d9 1b 00 00       	call   0x4125b3
4109da:	8b 45 fc             	mov    -0x4(%ebp),%eax
4109dd:	59                   	pop    %ecx
4109de:	59                   	pop    %ecx
4109df:	8b 00                	mov    (%eax),%eax
4109e1:	c9                   	leave
4109e2:	c3                   	ret
4109e3:	8b ff                	mov    %edi,%edi
4109e5:	55                   	push   %ebp
4109e6:	8b ec                	mov    %esp,%ebp
4109e8:	56                   	push   %esi
4109e9:	8b 75 08             	mov    0x8(%ebp),%esi
4109ec:	83 fe e0             	cmp    $0xffffffe0,%esi
4109ef:	77 30                	ja     0x410a21
4109f1:	85 f6                	test   %esi,%esi
4109f3:	75 17                	jne    0x410a0c
4109f5:	46                   	inc    %esi
4109f6:	eb 14                	jmp    0x410a0c
4109f8:	e8 ec b2 ff ff       	call   0x40bce9
4109fd:	85 c0                	test   %eax,%eax
4109ff:	74 20                	je     0x410a21
410a01:	56                   	push   %esi
410a02:	e8 4b 0d 00 00       	call   0x411752
410a07:	59                   	pop    %ecx
410a08:	85 c0                	test   %eax,%eax
410a0a:	74 15                	je     0x410a21
410a0c:	56                   	push   %esi
410a0d:	6a 00                	push   $0x0
410a0f:	ff 35 00 73 42 00    	push   0x427300
410a15:	ff 15 94 c0 41 00    	call   *0x41c094
410a1b:	85 c0                	test   %eax,%eax
410a1d:	74 d9                	je     0x4109f8
410a1f:	eb 0d                	jmp    0x410a2e
410a21:	e8 ad e2 ff ff       	call   0x40ecd3
410a26:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
410a2c:	33 c0                	xor    %eax,%eax
410a2e:	5e                   	pop    %esi
410a2f:	5d                   	pop    %ebp
410a30:	c3                   	ret
410a31:	8b ff                	mov    %edi,%edi
410a33:	55                   	push   %ebp
410a34:	8b ec                	mov    %esp,%ebp
410a36:	a1 64 69 42 00       	mov    0x426964,%eax
410a3b:	56                   	push   %esi
410a3c:	57                   	push   %edi
410a3d:	83 f8 05             	cmp    $0x5,%eax
410a40:	0f 8c 83 00 00 00    	jl     0x410ac9
410a46:	8b 45 08             	mov    0x8(%ebp),%eax
410a49:	a8 01                	test   $0x1,%al
410a4b:	74 15                	je     0x410a62
410a4d:	8b c8                	mov    %eax,%ecx
410a4f:	33 d2                	xor    %edx,%edx
410a51:	66 39 11             	cmp    %dx,(%ecx)
410a54:	74 05                	je     0x410a5b
410a56:	83 c1 02             	add    $0x2,%ecx
410a59:	eb f6                	jmp    0x410a51
410a5b:	2b c8                	sub    %eax,%ecx
410a5d:	e9 ef 00 00 00       	jmp    0x410b51
410a62:	8b f0                	mov    %eax,%esi
410a64:	83 e6 1f             	and    $0x1f,%esi
410a67:	6a 20                	push   $0x20
410a69:	58                   	pop    %eax
410a6a:	2b c6                	sub    %esi,%eax
410a6c:	f7 de                	neg    %esi
410a6e:	1b f6                	sbb    %esi,%esi
410a70:	33 d2                	xor    %edx,%edx
410a72:	23 f0                	and    %eax,%esi
410a74:	8b 45 08             	mov    0x8(%ebp),%eax
410a77:	d1 ee                	shr    $1,%esi
410a79:	8b c8                	mov    %eax,%ecx
410a7b:	8d 3c 70             	lea    (%eax,%esi,2),%edi
410a7e:	3b c7                	cmp    %edi,%eax
410a80:	74 0c                	je     0x410a8e
410a82:	66 39 11             	cmp    %dx,(%ecx)
410a85:	74 07                	je     0x410a8e
410a87:	83 c1 02             	add    $0x2,%ecx
410a8a:	3b cf                	cmp    %edi,%ecx
410a8c:	75 f4                	jne    0x410a82
410a8e:	2b c8                	sub    %eax,%ecx
410a90:	d1 f9                	sar    $1,%ecx
410a92:	3b ce                	cmp    %esi,%ecx
410a94:	0f 85 b9 00 00 00    	jne    0x410b53
410a9a:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
410a9d:	c5 f1 ef c9          	vpxor  %xmm1,%xmm1,%xmm1
410aa1:	c5 f5 75 01          	vpcmpeqw (%ecx),%ymm1,%ymm0
410aa5:	c5 fd d7 c0          	vpmovmskb %ymm0,%eax
410aa9:	85 c0                	test   %eax,%eax
410aab:	75 05                	jne    0x410ab2
410aad:	83 c1 20             	add    $0x20,%ecx
410ab0:	eb ef                	jmp    0x410aa1
410ab2:	66 39 11             	cmp    %dx,(%ecx)
410ab5:	74 05                	je     0x410abc
410ab7:	83 c1 02             	add    $0x2,%ecx
410aba:	eb f6                	jmp    0x410ab2
410abc:	2b 4d 08             	sub    0x8(%ebp),%ecx
410abf:	d1 f9                	sar    $1,%ecx
410ac1:	c5 f8 77             	vzeroupper
410ac4:	e9 8a 00 00 00       	jmp    0x410b53
410ac9:	83 f8 01             	cmp    $0x1,%eax
410acc:	7c 71                	jl     0x410b3f
410ace:	8b 45 08             	mov    0x8(%ebp),%eax
410ad1:	a8 01                	test   $0x1,%al
410ad3:	74 12                	je     0x410ae7
410ad5:	8b c8                	mov    %eax,%ecx
410ad7:	33 d2                	xor    %edx,%edx
410ad9:	66 39 11             	cmp    %dx,(%ecx)
410adc:	0f 84 79 ff ff ff    	je     0x410a5b
410ae2:	83 c1 02             	add    $0x2,%ecx
410ae5:	eb f2                	jmp    0x410ad9
410ae7:	8b f0                	mov    %eax,%esi
410ae9:	83 e6 0f             	and    $0xf,%esi
410aec:	6a 10                	push   $0x10
410aee:	58                   	pop    %eax
410aef:	2b c6                	sub    %esi,%eax
410af1:	f7 de                	neg    %esi
410af3:	1b f6                	sbb    %esi,%esi
410af5:	33 d2                	xor    %edx,%edx
410af7:	23 f0                	and    %eax,%esi
410af9:	8b 45 08             	mov    0x8(%ebp),%eax
410afc:	d1 ee                	shr    $1,%esi
410afe:	8b c8                	mov    %eax,%ecx
410b00:	8d 3c 70             	lea    (%eax,%esi,2),%edi
410b03:	3b c7                	cmp    %edi,%eax
410b05:	74 0c                	je     0x410b13
410b07:	66 39 11             	cmp    %dx,(%ecx)
410b0a:	74 07                	je     0x410b13
410b0c:	83 c1 02             	add    $0x2,%ecx
410b0f:	3b cf                	cmp    %edi,%ecx
410b11:	75 f4                	jne    0x410b07
410b13:	2b c8                	sub    %eax,%ecx
410b15:	d1 f9                	sar    $1,%ecx
410b17:	3b ce                	cmp    %esi,%ecx
410b19:	75 38                	jne    0x410b53
410b1b:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
410b1e:	0f 57 c9             	xorps  %xmm1,%xmm1
410b21:	0f 10 01             	movups (%ecx),%xmm0
410b24:	66 0f 75 c1          	pcmpeqw %xmm1,%xmm0
410b28:	66 0f d7 c0          	pmovmskb %xmm0,%eax
410b2c:	85 c0                	test   %eax,%eax
410b2e:	75 05                	jne    0x410b35
410b30:	83 c1 10             	add    $0x10,%ecx
410b33:	eb ec                	jmp    0x410b21
410b35:	66 39 11             	cmp    %dx,(%ecx)
410b38:	74 14                	je     0x410b4e
410b3a:	83 c1 02             	add    $0x2,%ecx
410b3d:	eb f6                	jmp    0x410b35
410b3f:	8b 4d 08             	mov    0x8(%ebp),%ecx
410b42:	33 d2                	xor    %edx,%edx
410b44:	66 39 11             	cmp    %dx,(%ecx)
410b47:	74 05                	je     0x410b4e
410b49:	83 c1 02             	add    $0x2,%ecx
410b4c:	eb f6                	jmp    0x410b44
410b4e:	2b 4d 08             	sub    0x8(%ebp),%ecx
410b51:	d1 f9                	sar    $1,%ecx
410b53:	5f                   	pop    %edi
410b54:	8b c1                	mov    %ecx,%eax
410b56:	5e                   	pop    %esi
410b57:	5d                   	pop    %ebp
410b58:	c3                   	ret
410b59:	8b ff                	mov    %edi,%edi
410b5b:	55                   	push   %ebp
410b5c:	8b ec                	mov    %esp,%ebp
410b5e:	a1 64 69 42 00       	mov    0x426964,%eax
410b63:	56                   	push   %esi
410b64:	57                   	push   %edi
410b65:	83 f8 05             	cmp    $0x5,%eax
410b68:	0f 8c b7 00 00 00    	jl     0x410c25