411f40:	51                   	push   %ecx
411f41:	8d 4c 24 08          	lea    0x8(%esp),%ecx
411f45:	2b c8                	sub    %eax,%ecx
411f47:	83 e1 0f             	and    $0xf,%ecx
411f4a:	03 c1                	add    %ecx,%eax
411f4c:	1b c9                	sbb    %ecx,%ecx
411f4e:	0b c1                	or     %ecx,%eax
411f50:	59                   	pop    %ecx
411f51:	e9 da 3c 00 00       	jmp    0x415c30
411f56:	51                   	push   %ecx
411f57:	8d 4c 24 08          	lea    0x8(%esp),%ecx
411f5b:	2b c8                	sub    %eax,%ecx
411f5d:	83 e1 07             	and    $0x7,%ecx
411f60:	03 c1                	add    %ecx,%eax
411f62:	1b c9                	sbb    %ecx,%ecx
411f64:	0b c1                	or     %ecx,%eax
411f66:	59                   	pop    %ecx
411f67:	e9 c4 3c 00 00       	jmp    0x415c30
411f6c:	8b ff                	mov    %edi,%edi
411f6e:	55                   	push   %ebp
411f6f:	8b ec                	mov    %esp,%ebp
411f71:	83 ec 18             	sub    $0x18,%esp
411f74:	53                   	push   %ebx
411f75:	ff 75 10             	push   0x10(%ebp)
411f78:	8d 4d e8             	lea    -0x18(%ebp),%ecx
411f7b:	e8 e4 58 ff ff       	call   0x407864
411f80:	8b 5d 08             	mov    0x8(%ebp),%ebx
411f83:	8d 43 01             	lea    0x1(%ebx),%eax
411f86:	3d 00 01 00 00       	cmp    $0x100,%eax
411f8b:	77 0f                	ja     0x411f9c
411f8d:	8b 45 e8             	mov    -0x18(%ebp),%eax
411f90:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
411f96:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
411f9a:	eb 75                	jmp    0x412011
411f9c:	89 5d 08             	mov    %ebx,0x8(%ebp)
411f9f:	c1 7d 08 08          	sarl   $0x8,0x8(%ebp)
411fa3:	8d 45 e8             	lea    -0x18(%ebp),%eax
411fa6:	50                   	push   %eax
411fa7:	8b 45 08             	mov    0x8(%ebp),%eax
411faa:	25 ff 00 00 00       	and    $0xff,%eax
411faf:	50                   	push   %eax
411fb0:	e8 f3 0d 00 00       	call   0x412da8
411fb5:	59                   	pop    %ecx
411fb6:	59                   	pop    %ecx
411fb7:	85 c0                	test   %eax,%eax
411fb9:	74 12                	je     0x411fcd
411fbb:	8a 45 08             	mov    0x8(%ebp),%al
411fbe:	6a 02                	push   $0x2
411fc0:	88 45 f8             	mov    %al,-0x8(%ebp)
411fc3:	88 5d f9             	mov    %bl,-0x7(%ebp)
411fc6:	c6 45 fa 00          	movb   $0x0,-0x6(%ebp)
411fca:	59                   	pop    %ecx
411fcb:	eb 0a                	jmp    0x411fd7
411fcd:	33 c9                	xor    %ecx,%ecx
411fcf:	88 5d f8             	mov    %bl,-0x8(%ebp)
411fd2:	c6 45 f9 00          	movb   $0x0,-0x7(%ebp)
411fd6:	41                   	inc    %ecx
411fd7:	8b 45 e8             	mov    -0x18(%ebp),%eax
411fda:	6a 01                	push   $0x1
411fdc:	ff 70 14             	push   0x14(%eax)
411fdf:	ff 70 04             	push   0x4(%eax)
411fe2:	8d 45 fc             	lea    -0x4(%ebp),%eax
411fe5:	50                   	push   %eax
411fe6:	51                   	push   %ecx
411fe7:	8d 45 f8             	lea    -0x8(%ebp),%eax
411fea:	50                   	push   %eax
411feb:	8d 45 e8             	lea    -0x18(%ebp),%eax
411fee:	6a 01                	push   $0x1
411ff0:	50                   	push   %eax
411ff1:	e8 57 b4 ff ff       	call   0x40d44d
411ff6:	83 c4 20             	add    $0x20,%esp
411ff9:	85 c0                	test   %eax,%eax
411ffb:	75 10                	jne    0x41200d
411ffd:	38 45 f4             	cmp    %al,-0xc(%ebp)
412000:	74 07                	je     0x412009
412002:	8b 45 f0             	mov    -0x10(%ebp),%eax
412005:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
412009:	33 c0                	xor    %eax,%eax
41200b:	eb 14                	jmp    0x412021
41200d:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
412011:	23 45 0c             	and    0xc(%ebp),%eax
412014:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
412018:	74 07                	je     0x412021
41201a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41201d:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
412021:	5b                   	pop    %ebx
412022:	c9                   	leave
412023:	c3                   	ret
412024:	55                   	push   %ebp
412025:	8b ec                	mov    %esp,%ebp
412027:	83 ec 08             	sub    $0x8,%esp
41202a:	89 7d fc             	mov    %edi,-0x4(%ebp)
41202d:	89 75 f8             	mov    %esi,-0x8(%ebp)
412030:	8b 75 0c             	mov    0xc(%ebp),%esi
412033:	8b 7d 08             	mov    0x8(%ebp),%edi
412036:	8b 4d 10             	mov    0x10(%ebp),%ecx
412039:	c1 e9 07             	shr    $0x7,%ecx
41203c:	eb 06                	jmp    0x412044
41203e:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
412044:	66 0f 6f 06          	movdqa (%esi),%xmm0
412048:	66 0f 6f 4e 10       	movdqa 0x10(%esi),%xmm1
41204d:	66 0f 6f 56 20       	movdqa 0x20(%esi),%xmm2
412052:	66 0f 6f 5e 30       	movdqa 0x30(%esi),%xmm3
412057:	66 0f 7f 07          	movdqa %xmm0,(%edi)
41205b:	66 0f 7f 4f 10       	movdqa %xmm1,0x10(%edi)
412060:	66 0f 7f 57 20       	movdqa %xmm2,0x20(%edi)
412065:	66 0f 7f 5f 30       	movdqa %xmm3,0x30(%edi)
41206a:	66 0f 6f 66 40       	movdqa 0x40(%esi),%xmm4
41206f:	66 0f 6f 6e 50       	movdqa 0x50(%esi),%xmm5
412074:	66 0f 6f 76 60       	movdqa 0x60(%esi),%xmm6
412079:	66 0f 6f 7e 70       	movdqa 0x70(%esi),%xmm7
41207e:	66 0f 7f 67 40       	movdqa %xmm4,0x40(%edi)
412083:	66 0f 7f 6f 50       	movdqa %xmm5,0x50(%edi)
412088:	66 0f 7f 77 60       	movdqa %xmm6,0x60(%edi)
41208d:	66 0f 7f 7f 70       	movdqa %xmm7,0x70(%edi)
412092:	8d b6 80 00 00 00    	lea    0x80(%esi),%esi
412098:	8d bf 80 00 00 00    	lea    0x80(%edi),%edi
41209e:	49                   	dec    %ecx
41209f:	75 a3                	jne    0x412044
4120a1:	8b 75 f8             	mov    -0x8(%ebp),%esi
4120a4:	8b 7d fc             	mov    -0x4(%ebp),%edi
4120a7:	8b e5                	mov    %ebp,%esp
4120a9:	5d                   	pop    %ebp
4120aa:	c3                   	ret
4120ab:	55                   	push   %ebp
4120ac:	8b ec                	mov    %esp,%ebp
4120ae:	83 ec 1c             	sub    $0x1c,%esp
4120b1:	89 7d f4             	mov    %edi,-0xc(%ebp)
4120b4:	89 75 f8             	mov    %esi,-0x8(%ebp)
4120b7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4120ba:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4120bd:	8b c3                	mov    %ebx,%eax
4120bf:	99                   	cltd
4120c0:	8b c8                	mov    %eax,%ecx
4120c2:	8b 45 08             	mov    0x8(%ebp),%eax
4120c5:	33 ca                	xor    %edx,%ecx
4120c7:	2b ca                	sub    %edx,%ecx
4120c9:	83 e1 0f             	and    $0xf,%ecx
4120cc:	33 ca                	xor    %edx,%ecx
4120ce:	2b ca                	sub    %edx,%ecx
4120d0:	99                   	cltd
4120d1:	8b f8                	mov    %eax,%edi
4120d3:	33 fa                	xor    %edx,%edi
4120d5:	2b fa                	sub    %edx,%edi
4120d7:	83 e7 0f             	and    $0xf,%edi
4120da:	33 fa                	xor    %edx,%edi
4120dc:	2b fa                	sub    %edx,%edi
4120de:	8b d1                	mov    %ecx,%edx
4120e0:	0b d7                	or     %edi,%edx
4120e2:	75 4a                	jne    0x41212e
4120e4:	8b 75 10             	mov    0x10(%ebp),%esi
4120e7:	8b ce                	mov    %esi,%ecx
4120e9:	83 e1 7f             	and    $0x7f,%ecx
4120ec:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4120ef:	3b f1                	cmp    %ecx,%esi
4120f1:	74 13                	je     0x412106
4120f3:	2b f1                	sub    %ecx,%esi
4120f5:	56                   	push   %esi
4120f6:	53                   	push   %ebx
4120f7:	50                   	push   %eax
4120f8:	e8 27 ff ff ff       	call   0x412024
4120fd:	83 c4 0c             	add    $0xc,%esp
412100:	8b 45 08             	mov    0x8(%ebp),%eax
412103:	8b 4d e8             	mov    -0x18(%ebp),%ecx
412106:	85 c9                	test   %ecx,%ecx
412108:	74 77                	je     0x412181
41210a:	8b 5d 10             	mov    0x10(%ebp),%ebx
41210d:	8b 55 0c             	mov    0xc(%ebp),%edx
412110:	03 d3                	add    %ebx,%edx
412112:	2b d1                	sub    %ecx,%edx
412114:	89 55 ec             	mov    %edx,-0x14(%ebp)
412117:	03 d8                	add    %eax,%ebx
412119:	2b d9                	sub    %ecx,%ebx
41211b:	89 5d f0             	mov    %ebx,-0x10(%ebp)
41211e:	8b 75 ec             	mov    -0x14(%ebp),%esi
412121:	8b 7d f0             	mov    -0x10(%ebp),%edi
412124:	8b 4d e8             	mov    -0x18(%ebp),%ecx
412127:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
412129:	8b 45 08             	mov    0x8(%ebp),%eax
41212c:	eb 53                	jmp    0x412181
41212e:	3b cf                	cmp    %edi,%ecx
412130:	75 35                	jne    0x412167
412132:	f7 d9                	neg    %ecx
412134:	83 c1 10             	add    $0x10,%ecx
412137:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41213a:	8b 75 0c             	mov    0xc(%ebp),%esi
41213d:	8b 7d 08             	mov    0x8(%ebp),%edi
412140:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
412143:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
412145:	8b 4d 08             	mov    0x8(%ebp),%ecx
412148:	03 4d e4             	add    -0x1c(%ebp),%ecx
41214b:	8b 55 0c             	mov    0xc(%ebp),%edx
41214e:	03 55 e4             	add    -0x1c(%ebp),%edx
412151:	8b 45 10             	mov    0x10(%ebp),%eax
412154:	2b 45 e4             	sub    -0x1c(%ebp),%eax
412157:	50                   	push   %eax
412158:	52                   	push   %edx
412159:	51                   	push   %ecx
41215a:	e8 4c ff ff ff       	call   0x4120ab
41215f:	83 c4 0c             	add    $0xc,%esp
412162:	8b 45 08             	mov    0x8(%ebp),%eax
412165:	eb 1a                	jmp    0x412181
412167:	8b 75 0c             	mov    0xc(%ebp),%esi
41216a:	8b 7d 08             	mov    0x8(%ebp),%edi
41216d:	8b 4d 10             	mov    0x10(%ebp),%ecx
412170:	8b d1                	mov    %ecx,%edx
412172:	c1 e9 02             	shr    $0x2,%ecx
412175:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
412177:	8b ca                	mov    %edx,%ecx
412179:	83 e1 03             	and    $0x3,%ecx
41217c:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
41217e:	8b 45 08             	mov    0x8(%ebp),%eax
412181:	8b 5d fc             	mov    -0x4(%ebp),%ebx
412184:	8b 75 f8             	mov    -0x8(%ebp),%esi
412187:	8b 7d f4             	mov    -0xc(%ebp),%edi
41218a:	8b e5                	mov    %ebp,%esp
41218c:	5d                   	pop    %ebp
41218d:	c3                   	ret
41218e:	8b ff                	mov    %edi,%edi
412190:	55                   	push   %ebp
412191:	8b ec                	mov    %esp,%ebp
412193:	51                   	push   %ecx
412194:	51                   	push   %ecx
412195:	8b 45 0c             	mov    0xc(%ebp),%eax
412198:	56                   	push   %esi
412199:	8b 75 08             	mov    0x8(%ebp),%esi
41219c:	89 45 f8             	mov    %eax,-0x8(%ebp)
41219f:	8b 45 10             	mov    0x10(%ebp),%eax
4121a2:	57                   	push   %edi
4121a3:	56                   	push   %esi
4121a4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4121a7:	e8 15 30 00 00       	call   0x4151c1
4121ac:	83 cf ff             	or     $0xffffffff,%edi
4121af:	59                   	pop    %ecx
4121b0:	3b c7                	cmp    %edi,%eax
4121b2:	75 11                	jne    0x4121c5
4121b4:	e8 1c 39 ff ff       	call   0x405ad5
4121b9:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4121bf:	8b c7                	mov    %edi,%eax
4121c1:	8b d7                	mov    %edi,%edx
4121c3:	eb 4a                	jmp    0x41220f
4121c5:	ff 75 14             	push   0x14(%ebp)
4121c8:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4121cb:	51                   	push   %ecx
4121cc:	ff 75 f8             	push   -0x8(%ebp)
4121cf:	50                   	push   %eax
4121d0:	ff 15 10 a1 41 00    	call   *0x41a110
4121d6:	89 45 f8             	mov    %eax,-0x8(%ebp)
4121d9:	3b c7                	cmp    %edi,%eax
4121db:	75 13                	jne    0x4121f0
4121dd:	ff 15 98 a0 41 00    	call   *0x41a098
4121e3:	85 c0                	test   %eax,%eax
4121e5:	74 09                	je     0x4121f0
4121e7:	50                   	push   %eax
4121e8:	e8 0e 39 ff ff       	call   0x405afb
4121ed:	59                   	pop    %ecx
4121ee:	eb cf                	jmp    0x4121bf
4121f0:	8b c6                	mov    %esi,%eax
4121f2:	c1 f8 05             	sar    $0x5,%eax
4121f5:	8b 04 85 60 12 c7 00 	mov    0xc71260(,%eax,4),%eax
4121fc:	83 e6 1f             	and    $0x1f,%esi
4121ff:	c1 e6 06             	shl    $0x6,%esi
412202:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
412206:	80 20 fd             	andb   $0xfd,(%eax)
412209:	8b 45 f8             	mov    -0x8(%ebp),%eax
41220c:	8b 55 fc             	mov    -0x4(%ebp),%edx
41220f:	5f                   	pop    %edi
412210:	5e                   	pop    %esi
412211:	c9                   	leave
412212:	c3                   	ret
412213:	6a 14                	push   $0x14
412215:	68 f0 99 42 00       	push   $0x4299f0
41221a:	e8 bd 81 ff ff       	call   0x40a3dc
41221f:	83 ce ff             	or     $0xffffffff,%esi
412222:	89 75 dc             	mov    %esi,-0x24(%ebp)
412225:	89 75 e0             	mov    %esi,-0x20(%ebp)
412228:	8b 45 08             	mov    0x8(%ebp),%eax
41222b:	83 f8 fe             	cmp    $0xfffffffe,%eax
41222e:	75 1c                	jne    0x41224c
412230:	e8 b3 38 ff ff       	call   0x405ae8
412235:	83 20 00             	andl   $0x0,(%eax)
412238:	e8 98 38 ff ff       	call   0x405ad5
41223d:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
412243:	8b c6                	mov    %esi,%eax
412245:	8b d6                	mov    %esi,%edx
412247:	e9 d0 00 00 00       	jmp    0x41231c
41224c:	33 ff                	xor    %edi,%edi
41224e:	3b c7                	cmp    %edi,%eax
412250:	7c 08                	jl     0x41225a
412252:	3b 05 44 12 c7 00    	cmp    0xc71244,%eax
412258:	72 21                	jb     0x41227b
41225a:	e8 89 38 ff ff       	call   0x405ae8
41225f:	89 38                	mov    %edi,(%eax)
412261:	e8 6f 38 ff ff       	call   0x405ad5
412266:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
41226c:	57                   	push   %edi
41226d:	57                   	push   %edi
41226e:	57                   	push   %edi
41226f:	57                   	push   %edi
412270:	57                   	push   %edi
412271:	e8 af 2f ff ff       	call   0x405225
412276:	83 c4 14             	add    $0x14,%esp
412279:	eb c8                	jmp    0x412243
41227b:	8b c8                	mov    %eax,%ecx
41227d:	c1 f9 05             	sar    $0x5,%ecx
412280:	8d 1c 8d 60 12 c7 00 	lea    0xc71260(,%ecx,4),%ebx
412287:	8b f0                	mov    %eax,%esi
412289:	83 e6 1f             	and    $0x1f,%esi
41228c:	c1 e6 06             	shl    $0x6,%esi
41228f:	8b 0b                	mov    (%ebx),%ecx
412291:	0f be 4c 31 04       	movsbl 0x4(%ecx,%esi,1),%ecx
412296:	83 e1 01             	and    $0x1,%ecx
412299:	75 26                	jne    0x4122c1
41229b:	e8 48 38 ff ff       	call   0x405ae8
4122a0:	89 38                	mov    %edi,(%eax)
4122a2:	e8 2e 38 ff ff       	call   0x405ad5
4122a7:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4122ad:	57                   	push   %edi
4122ae:	57                   	push   %edi
4122af:	57                   	push   %edi
4122b0:	57                   	push   %edi
4122b1:	57                   	push   %edi
4122b2:	e8 6e 2f ff ff       	call   0x405225
4122b7:	83 c4 14             	add    $0x14,%esp
4122ba:	83 ca ff             	or     $0xffffffff,%edx
4122bd:	8b c2                	mov    %edx,%eax
4122bf:	eb 5b                	jmp    0x41231c
4122c1:	50                   	push   %eax
4122c2:	e8 71 2f 00 00       	call   0x415238
4122c7:	59                   	pop    %ecx
4122c8:	89 7d fc             	mov    %edi,-0x4(%ebp)
4122cb:	8b 03                	mov    (%ebx),%eax
4122cd:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
4122d2:	74 1c                	je     0x4122f0
4122d4:	ff 75 14             	push   0x14(%ebp)
4122d7:	ff 75 10             	push   0x10(%ebp)
4122da:	ff 75 0c             	push   0xc(%ebp)
4122dd:	ff 75 08             	push   0x8(%ebp)
4122e0:	e8 a9 fe ff ff       	call   0x41218e
4122e5:	83 c4 10             	add    $0x10,%esp
4122e8:	89 45 dc             	mov    %eax,-0x24(%ebp)
4122eb:	89 55 e0             	mov    %edx,-0x20(%ebp)
4122ee:	eb 1a                	jmp    0x41230a
4122f0:	e8 e0 37 ff ff       	call   0x405ad5
4122f5:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
4122fb:	e8 e8 37 ff ff       	call   0x405ae8
412300:	89 38                	mov    %edi,(%eax)
412302:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
412306:	83 4d e0 ff          	orl    $0xffffffff,-0x20(%ebp)
41230a:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)