41aeab:	0f 9f c0             	setg   %al
41aeae:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
41aeb5:	85 c9                	test   %ecx,%ecx
41aeb7:	75 56                	jne    0x41af0f
41aeb9:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
41aebd:	0f b6 46 01          	movzbl 0x1(%esi),%eax
41aec1:	2b c8                	sub    %eax,%ecx
41aec3:	74 0e                	je     0x41aed3
41aec5:	33 c0                	xor    %eax,%eax
41aec7:	85 c9                	test   %ecx,%ecx
41aec9:	0f 9f c0             	setg   %al
41aecc:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
41aed3:	85 c9                	test   %ecx,%ecx
41aed5:	75 38                	jne    0x41af0f
41aed7:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
41aedb:	0f b6 46 02          	movzbl 0x2(%esi),%eax
41aedf:	2b c8                	sub    %eax,%ecx
41aee1:	74 0e                	je     0x41aef1
41aee3:	33 c0                	xor    %eax,%eax
41aee5:	85 c9                	test   %ecx,%ecx
41aee7:	0f 9f c0             	setg   %al
41aeea:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
41aef1:	85 c9                	test   %ecx,%ecx
41aef3:	75 1a                	jne    0x41af0f
41aef5:	0f b6 4a 03          	movzbl 0x3(%edx),%ecx
41aef9:	0f b6 46 03          	movzbl 0x3(%esi),%eax
41aefd:	2b c8                	sub    %eax,%ecx
41aeff:	74 0e                	je     0x41af0f
41af01:	33 c0                	xor    %eax,%eax
41af03:	85 c9                	test   %ecx,%ecx
41af05:	0f 9f c0             	setg   %al
41af08:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
41af0f:	8b c1                	mov    %ecx,%eax
41af11:	e9 8c 00 00 00       	jmp    0x41afa2
41af16:	8b 55 08             	mov    0x8(%ebp),%edx
41af19:	8b 75 0c             	mov    0xc(%ebp),%esi
41af1c:	0f b6 0a             	movzbl (%edx),%ecx
41af1f:	0f b6 06             	movzbl (%esi),%eax
41af22:	2b c8                	sub    %eax,%ecx
41af24:	74 0e                	je     0x41af34
41af26:	33 c0                	xor    %eax,%eax
41af28:	85 c9                	test   %ecx,%ecx
41af2a:	0f 9f c0             	setg   %al
41af2d:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
41af34:	85 c9                	test   %ecx,%ecx
41af36:	75 d7                	jne    0x41af0f
41af38:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
41af3c:	0f b6 46 01          	movzbl 0x1(%esi),%eax
41af40:	2b c8                	sub    %eax,%ecx
41af42:	74 0e                	je     0x41af52
41af44:	33 c0                	xor    %eax,%eax
41af46:	85 c9                	test   %ecx,%ecx
41af48:	0f 9f c0             	setg   %al
41af4b:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
41af52:	85 c9                	test   %ecx,%ecx
41af54:	75 b9                	jne    0x41af0f
41af56:	0f b6 4a 02          	movzbl 0x2(%edx),%ecx
41af5a:	0f b6 46 02          	movzbl 0x2(%esi),%eax
41af5e:	eb 9d                	jmp    0x41aefd
41af60:	8b 55 08             	mov    0x8(%ebp),%edx
41af63:	8b 75 0c             	mov    0xc(%ebp),%esi
41af66:	0f b6 0a             	movzbl (%edx),%ecx
41af69:	0f b6 06             	movzbl (%esi),%eax
41af6c:	2b c8                	sub    %eax,%ecx
41af6e:	74 0e                	je     0x41af7e
41af70:	33 c0                	xor    %eax,%eax
41af72:	85 c9                	test   %ecx,%ecx
41af74:	0f 9f c0             	setg   %al
41af77:	8d 0c 45 ff ff ff ff 	lea    -0x1(,%eax,2),%ecx
41af7e:	85 c9                	test   %ecx,%ecx
41af80:	75 8d                	jne    0x41af0f
41af82:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
41af86:	0f b6 46 01          	movzbl 0x1(%esi),%eax
41af8a:	e9 6e ff ff ff       	jmp    0x41aefd
41af8f:	8b 45 08             	mov    0x8(%ebp),%eax
41af92:	0f b6 08             	movzbl (%eax),%ecx
41af95:	8b 45 0c             	mov    0xc(%ebp),%eax
41af98:	0f b6 00             	movzbl (%eax),%eax
41af9b:	e9 5d ff ff ff       	jmp    0x41aefd
41afa0:	33 c0                	xor    %eax,%eax
41afa2:	5f                   	pop    %edi
41afa3:	5e                   	pop    %esi
41afa4:	5d                   	pop    %ebp
41afa5:	c3                   	ret
41afa6:	8b ff                	mov    %edi,%edi
41afa8:	85 a1 41 00 e3 a5    	test   %esp,-0x5a1cffbf(%ecx)
41afae:	41                   	inc    %ecx
41afaf:	00 69 aa             	add    %ch,-0x56(%ecx)
41afb2:	41                   	inc    %ecx
41afb3:	00 99 a5 41 00 f5    	add    %bl,-0xaffbe5b(%ecx)
41afb9:	a0 41 00 43 a5       	mov    0xa5430041,%al
41afbe:	41                   	inc    %ecx
41afbf:	00 c9                	add    %cl,%cl
41afc1:	a9 41 00 3c ae       	test   $0xae3c0041,%eax
41afc6:	41                   	inc    %ecx
41afc7:	00 55 a0             	add    %dl,-0x60(%ebp)
41afca:	41                   	inc    %ecx
41afcb:	00 a3 a4 41 00 29    	add    %ah,0x290041a4(%ebx)
41afd1:	a9 41 00 9c ad       	test   $0xad9c0041,%eax
41afd6:	41                   	inc    %ecx
41afd7:	00 b5 9f 41 00 03    	add    %dh,0x300419f(%ebp)
41afdd:	a4                   	movsb  %ds:(%esi),%es:(%edi)
41afde:	41                   	inc    %ecx
41afdf:	00 89 a8 41 00 fc    	add    %cl,-0x3ffbe58(%ecx)
41afe5:	ac                   	lods   %ds:(%esi),%al
41afe6:	41                   	inc    %ecx
41afe7:	00 15 9f 41 00 63    	add    %dl,0x6300419f
41afed:	a3 41 00 e9 a7       	mov    %eax,0xa7e90041
41aff2:	41                   	inc    %ecx
41aff3:	00 5c ac 41          	add    %bl,0x41(%esp,%ebp,4)
41aff7:	00 75 9e             	add    %dh,-0x62(%ebp)
41affa:	41                   	inc    %ecx
41affb:	00 c3                	add    %al,%bl
41affd:	a2 41 00 49 a7       	mov    %al,0xa7490041
41b002:	41                   	inc    %ecx
41b003:	00 bc ab 41 00 d5 9d 	add    %bh,-0x622affbf(%ebx,%ebp,4)
41b00a:	41                   	inc    %ecx
41b00b:	00 23                	add    %ah,(%ebx)
41b00d:	a2 41 00 a9 a6       	mov    %al,0xa6a90041
41b012:	41                   	inc    %ecx
41b013:	00 1c ab             	add    %bl,(%ebx,%ebp,4)
41b016:	41                   	inc    %ecx
41b017:	00 35 9d 41 00 8f    	add    %dh,0x8f00419d
41b01d:	a1 41 00 09 a6       	mov    0xa6090041,%eax
41b022:	41                   	inc    %ecx
41b023:	00 7c aa 41          	add    %bh,0x41(%edx,%ebp,4)
41b027:	00 cc                	add    %cl,%ah
41b029:	cc                   	int3
41b02a:	cc                   	int3
41b02b:	cc                   	int3
41b02c:	cc                   	int3
41b02d:	cc                   	int3
41b02e:	cc                   	int3
41b02f:	cc                   	int3
41b030:	55                   	push   %ebp
41b031:	8b ec                	mov    %esp,%ebp
41b033:	57                   	push   %edi
41b034:	83 3d 64 69 42 00 01 	cmpl   $0x1,0x426964
41b03b:	0f 82 fd 00 00 00    	jb     0x41b13e
41b041:	8b 7d 08             	mov    0x8(%ebp),%edi
41b044:	77 77                	ja     0x41b0bd
41b046:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
41b04a:	8b c2                	mov    %edx,%eax
41b04c:	c1 e2 08             	shl    $0x8,%edx
41b04f:	0b d0                	or     %eax,%edx
41b051:	66 0f 6e da          	movd   %edx,%xmm3
41b055:	f2 0f 70 db 00       	pshuflw $0x0,%xmm3,%xmm3
41b05a:	0f 16 db             	movlhps %xmm3,%xmm3
41b05d:	b9 0f 00 00 00       	mov    $0xf,%ecx
41b062:	23 cf                	and    %edi,%ecx
41b064:	83 c8 ff             	or     $0xffffffff,%eax
41b067:	d3 e0                	shl    %cl,%eax
41b069:	2b f9                	sub    %ecx,%edi
41b06b:	33 d2                	xor    %edx,%edx
41b06d:	f3 0f 6f 0f          	movdqu (%edi),%xmm1
41b071:	66 0f ef d2          	pxor   %xmm2,%xmm2
41b075:	66 0f 74 d1          	pcmpeqb %xmm1,%xmm2
41b079:	66 0f 74 cb          	pcmpeqb %xmm3,%xmm1
41b07d:	66 0f d7 ca          	pmovmskb %xmm2,%ecx
41b081:	23 c8                	and    %eax,%ecx
41b083:	75 18                	jne    0x41b09d
41b085:	66 0f d7 c9          	pmovmskb %xmm1,%ecx
41b089:	23 c8                	and    %eax,%ecx
41b08b:	0f bd c1             	bsr    %ecx,%eax
41b08e:	03 c7                	add    %edi,%eax
41b090:	85 c9                	test   %ecx,%ecx
41b092:	0f 45 d0             	cmovne %eax,%edx
41b095:	83 c8 ff             	or     $0xffffffff,%eax
41b098:	83 c7 10             	add    $0x10,%edi
41b09b:	eb d0                	jmp    0x41b06d
41b09d:	53                   	push   %ebx
41b09e:	66 0f d7 d9          	pmovmskb %xmm1,%ebx
41b0a2:	23 d8                	and    %eax,%ebx
41b0a4:	d1 e1                	shl    $1,%ecx
41b0a6:	33 c0                	xor    %eax,%eax
41b0a8:	2b c1                	sub    %ecx,%eax
41b0aa:	23 c8                	and    %eax,%ecx
41b0ac:	49                   	dec    %ecx
41b0ad:	23 cb                	and    %ebx,%ecx
41b0af:	5b                   	pop    %ebx
41b0b0:	0f bd c1             	bsr    %ecx,%eax
41b0b3:	03 c7                	add    %edi,%eax
41b0b5:	85 c9                	test   %ecx,%ecx
41b0b7:	0f 44 c2             	cmove  %edx,%eax
41b0ba:	5f                   	pop    %edi
41b0bb:	c9                   	leave
41b0bc:	c3                   	ret
41b0bd:	0f b6 55 0c          	movzbl 0xc(%ebp),%edx
41b0c1:	85 d2                	test   %edx,%edx
41b0c3:	74 39                	je     0x41b0fe
41b0c5:	33 c0                	xor    %eax,%eax
41b0c7:	f7 c7 0f 00 00 00    	test   $0xf,%edi
41b0cd:	74 15                	je     0x41b0e4
41b0cf:	0f b6 0f             	movzbl (%edi),%ecx
41b0d2:	3b ca                	cmp    %edx,%ecx
41b0d4:	0f 44 c7             	cmove  %edi,%eax
41b0d7:	85 c9                	test   %ecx,%ecx
41b0d9:	74 20                	je     0x41b0fb
41b0db:	47                   	inc    %edi
41b0dc:	f7 c7 0f 00 00 00    	test   $0xf,%edi
41b0e2:	75 eb                	jne    0x41b0cf
41b0e4:	66 0f 6e c2          	movd   %edx,%xmm0
41b0e8:	83 c7 10             	add    $0x10,%edi
41b0eb:	66 0f 3a 63 47 f0 40 	pcmpistri $0x40,-0x10(%edi),%xmm0
41b0f2:	8d 4c 39 f0          	lea    -0x10(%ecx,%edi,1),%ecx
41b0f6:	0f 42 c1             	cmovb  %ecx,%eax
41b0f9:	75 ed                	jne    0x41b0e8
41b0fb:	5f                   	pop    %edi
41b0fc:	c9                   	leave
41b0fd:	c3                   	ret
41b0fe:	b8 f0 ff ff ff       	mov    $0xfffffff0,%eax
41b103:	23 c7                	and    %edi,%eax
41b105:	66 0f ef c0          	pxor   %xmm0,%xmm0
41b109:	66 0f 74 00          	pcmpeqb (%eax),%xmm0
41b10d:	b9 0f 00 00 00       	mov    $0xf,%ecx
41b112:	23 cf                	and    %edi,%ecx
41b114:	ba ff ff ff ff       	mov    $0xffffffff,%edx
41b119:	d3 e2                	shl    %cl,%edx
41b11b:	66 0f d7 f8          	pmovmskb %xmm0,%edi
41b11f:	23 fa                	and    %edx,%edi
41b121:	75 14                	jne    0x41b137
41b123:	66 0f ef c0          	pxor   %xmm0,%xmm0
41b127:	66 0f 74 40 10       	pcmpeqb 0x10(%eax),%xmm0
41b12c:	83 c0 10             	add    $0x10,%eax
41b12f:	66 0f d7 f8          	pmovmskb %xmm0,%edi
41b133:	85 ff                	test   %edi,%edi
41b135:	74 ec                	je     0x41b123
41b137:	0f bc d7             	bsf    %edi,%edx
41b13a:	03 c2                	add    %edx,%eax
41b13c:	eb bd                	jmp    0x41b0fb
41b13e:	8b 7d 08             	mov    0x8(%ebp),%edi
41b141:	33 c0                	xor    %eax,%eax
41b143:	83 c9 ff             	or     $0xffffffff,%ecx
41b146:	f2 ae                	repnz scas %es:(%edi),%al
41b148:	83 c1 01             	add    $0x1,%ecx
41b14b:	f7 d9                	neg    %ecx
41b14d:	83 ef 01             	sub    $0x1,%edi
41b150:	8a 45 0c             	mov    0xc(%ebp),%al
41b153:	fd                   	std
41b154:	f2 ae                	repnz scas %es:(%edi),%al
41b156:	83 c7 01             	add    $0x1,%edi
41b159:	38 07                	cmp    %al,(%edi)
41b15b:	74 04                	je     0x41b161
41b15d:	33 c0                	xor    %eax,%eax
41b15f:	eb 02                	jmp    0x41b163
41b161:	8b c7                	mov    %edi,%eax
41b163:	fc                   	cld
41b164:	5f                   	pop    %edi
41b165:	c9                   	leave
41b166:	c3                   	ret
41b167:	8b ff                	mov    %edi,%edi
41b169:	55                   	push   %ebp
41b16a:	8b ec                	mov    %esp,%ebp
41b16c:	56                   	push   %esi
41b16d:	8b 75 14             	mov    0x14(%ebp),%esi
41b170:	85 f6                	test   %esi,%esi
41b172:	75 04                	jne    0x41b178
41b174:	33 c0                	xor    %eax,%eax
41b176:	eb 70                	jmp    0x41b1e8
41b178:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b17b:	85 c9                	test   %ecx,%ecx
41b17d:	75 13                	jne    0x41b192
41b17f:	e8 4f 3b ff ff       	call   0x40ecd3
41b184:	6a 16                	push   $0x16
41b186:	5e                   	pop    %esi
41b187:	89 30                	mov    %esi,(%eax)
41b189:	e8 88 3a ff ff       	call   0x40ec16
41b18e:	8b c6                	mov    %esi,%eax
41b190:	eb 56                	jmp    0x41b1e8
41b192:	57                   	push   %edi
41b193:	8b 7d 10             	mov    0x10(%ebp),%edi
41b196:	85 ff                	test   %edi,%edi
41b198:	74 17                	je     0x41b1b1
41b19a:	39 75 0c             	cmp    %esi,0xc(%ebp)
41b19d:	72 12                	jb     0x41b1b1
41b19f:	8d 04 36             	lea    (%esi,%esi,1),%eax
41b1a2:	50                   	push   %eax
41b1a3:	57                   	push   %edi
41b1a4:	51                   	push   %ecx
41b1a5:	e8 26 ea fe ff       	call   0x409bd0
41b1aa:	83 c4 0c             	add    $0xc,%esp
41b1ad:	33 c0                	xor    %eax,%eax
41b1af:	eb 36                	jmp    0x41b1e7
41b1b1:	ff 75 0c             	push   0xc(%ebp)
41b1b4:	6a 00                	push   $0x0
41b1b6:	51                   	push   %ecx
41b1b7:	e8 2f 00 00 00       	call   0x41b1eb
41b1bc:	83 c4 0c             	add    $0xc,%esp
41b1bf:	85 ff                	test   %edi,%edi
41b1c1:	75 09                	jne    0x41b1cc
41b1c3:	e8 0b 3b ff ff       	call   0x40ecd3
41b1c8:	6a 16                	push   $0x16
41b1ca:	eb 0c                	jmp    0x41b1d8
41b1cc:	39 75 0c             	cmp    %esi,0xc(%ebp)
41b1cf:	73 13                	jae    0x41b1e4
41b1d1:	e8 fd 3a ff ff       	call   0x40ecd3
41b1d6:	6a 22                	push   $0x22
41b1d8:	5e                   	pop    %esi
41b1d9:	89 30                	mov    %esi,(%eax)
41b1db:	e8 36 3a ff ff       	call   0x40ec16
41b1e0:	8b c6                	mov    %esi,%eax
41b1e2:	eb 03                	jmp    0x41b1e7
41b1e4:	6a 16                	push   $0x16
41b1e6:	58                   	pop    %eax
41b1e7:	5f                   	pop    %edi
41b1e8:	5e                   	pop    %esi
41b1e9:	5d                   	pop    %ebp
41b1ea:	c3                   	ret
41b1eb:	8b ff                	mov    %edi,%edi
41b1ed:	55                   	push   %ebp
41b1ee:	8b ec                	mov    %esp,%ebp
41b1f0:	8b 4d 10             	mov    0x10(%ebp),%ecx
41b1f3:	85 c9                	test   %ecx,%ecx
41b1f5:	74 1b                	je     0x41b212
41b1f7:	8b 45 0c             	mov    0xc(%ebp),%eax
41b1fa:	0f b7 d0             	movzwl %ax,%edx
41b1fd:	8b c2                	mov    %edx,%eax
41b1ff:	c1 e2 10             	shl    $0x10,%edx
41b202:	57                   	push   %edi
41b203:	8b 7d 08             	mov    0x8(%ebp),%edi
41b206:	0b c2                	or     %edx,%eax
41b208:	d1 e9                	shr    $1,%ecx
41b20a:	f3 ab                	rep stos %eax,%es:(%edi)
41b20c:	13 c9                	adc    %ecx,%ecx
41b20e:	66 f3 ab             	rep stos %ax,%es:(%edi)
41b211:	5f                   	pop    %edi
41b212:	8b 45 08             	mov    0x8(%ebp),%eax
41b215:	5d                   	pop    %ebp
41b216:	c3                   	ret
41b217:	8b ff                	mov    %edi,%edi
41b219:	55                   	push   %ebp
41b21a:	8b ec                	mov    %esp,%ebp
41b21c:	51                   	push   %ecx
41b21d:	51                   	push   %ecx
41b21e:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
41b222:	b9 f0 7f 00 00       	mov    $0x7ff0,%ecx
41b227:	25 f8 7f 00 00       	and    $0x7ff8,%eax
41b22c:	66 3b c1             	cmp    %cx,%ax
41b22f:	75 26                	jne    0x41b257
41b231:	8b 45 0c             	mov    0xc(%ebp),%eax
41b234:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b237:	a9 ff ff 07 00       	test   $0x7ffff,%eax
41b23c:	75 04                	jne    0x41b242
41b23e:	85 c9                	test   %ecx,%ecx
41b240:	74 15                	je     0x41b257
41b242:	25 ff ff f7 7f       	and    $0x7ff7ffff,%eax
41b247:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41b24a:	0d 00 00 08 00       	or     $0x80000,%eax
41b24f:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b252:	dd 45 f8             	fldl   -0x8(%ebp)