4110dd:	33 d2                	xor    %edx,%edx
4110df:	42                   	inc    %edx
4110e0:	03 f2                	add    %edx,%esi
4110e2:	3b c1                	cmp    %ecx,%eax
4110e4:	72 b9                	jb     0x41109f
4110e6:	e9 9f 00 00 00       	jmp    0x41118a
4110eb:	6a 00                	push   $0x0
4110ed:	8d 45 f0             	lea    -0x10(%ebp),%eax
4110f0:	50                   	push   %eax
4110f1:	6a 01                	push   $0x1
4110f3:	8d 45 ff             	lea    -0x1(%ebp),%eax
4110f6:	50                   	push   %eax
4110f7:	ff 75 ec             	push   -0x14(%ebp)
4110fa:	ff 15 34 91 41 00    	call   *0x419134
411100:	85 c0                	test   %eax,%eax
411102:	74 64                	je     0x411168
411104:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
411108:	74 5e                	je     0x411168
41110a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41110d:	8b 04 8d a8 21 42 00 	mov    0x4221a8(,%ecx,4),%eax
411114:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
411119:	74 27                	je     0x411142
41111b:	8a 55 ff             	mov    -0x1(%ebp),%dl
41111e:	8d 46 01             	lea    0x1(%esi),%eax
411121:	89 45 ec             	mov    %eax,-0x14(%ebp)
411124:	80 fa 0a             	cmp    $0xa,%dl
411127:	75 04                	jne    0x41112d
411129:	88 16                	mov    %dl,(%esi)
41112b:	eb 11                	jmp    0x41113e
41112d:	c6 06 0d             	movb   $0xd,(%esi)
411130:	8b 04 8d a8 21 42 00 	mov    0x4221a8(,%ecx,4),%eax
411137:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
41113b:	8b 45 ec             	mov    -0x14(%ebp),%eax
41113e:	8b f0                	mov    %eax,%esi
411140:	eb 48                	jmp    0x41118a
411142:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
411146:	75 09                	jne    0x411151
411148:	3b f3                	cmp    %ebx,%esi
41114a:	75 05                	jne    0x411151
41114c:	c6 06 0a             	movb   $0xa,(%esi)
41114f:	eb 38                	jmp    0x411189
411151:	6a 01                	push   $0x1
411153:	6a ff                	push   $0xffffffff
411155:	6a ff                	push   $0xffffffff
411157:	ff 75 08             	push   0x8(%ebp)
41115a:	e8 e0 fc ff ff       	call   0x410e3f
41115f:	83 c4 10             	add    $0x10,%esp
411162:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
411166:	74 22                	je     0x41118a
411168:	c6 06 0d             	movb   $0xd,(%esi)
41116b:	eb 1c                	jmp    0x411189
41116d:	8b 4d f4             	mov    -0xc(%ebp),%ecx
411170:	8b 0c 8d a8 21 42 00 	mov    0x4221a8(,%ecx,4),%ecx
411177:	8a 44 39 28          	mov    0x28(%ecx,%edi,1),%al
41117b:	a8 40                	test   $0x40,%al
41117d:	75 08                	jne    0x411187
41117f:	0c 02                	or     $0x2,%al
411181:	88 44 39 28          	mov    %al,0x28(%ecx,%edi,1)
411185:	eb 03                	jmp    0x41118a
411187:	88 16                	mov    %dl,(%esi)
411189:	46                   	inc    %esi
41118a:	2b f3                	sub    %ebx,%esi
41118c:	5f                   	pop    %edi
41118d:	8b c6                	mov    %esi,%eax
41118f:	5e                   	pop    %esi
411190:	5b                   	pop    %ebx
411191:	c9                   	leave
411192:	c3                   	ret
411193:	8b ff                	mov    %edi,%edi
411195:	55                   	push   %ebp
411196:	8b ec                	mov    %esp,%ebp
411198:	83 ec 1c             	sub    $0x1c,%esp
41119b:	8b 45 08             	mov    0x8(%ebp),%eax
41119e:	8b c8                	mov    %eax,%ecx
4111a0:	53                   	push   %ebx
4111a1:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4111a4:	83 e0 3f             	and    $0x3f,%eax
4111a7:	56                   	push   %esi
4111a8:	c1 f9 06             	sar    $0x6,%ecx
4111ab:	57                   	push   %edi
4111ac:	6b f8 38             	imul   $0x38,%eax,%edi
4111af:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4111b2:	8b 04 8d a8 21 42 00 	mov    0x4221a8(,%ecx,4),%eax
4111b9:	6a 0a                	push   $0xa
4111bb:	5a                   	pop    %edx
4111bc:	89 55 e8             	mov    %edx,-0x18(%ebp)
4111bf:	8b 4c 38 18          	mov    0x18(%eax,%edi,1),%ecx
4111c3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4111c6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4111c9:	85 c9                	test   %ecx,%ecx
4111cb:	74 0c                	je     0x4111d9
4111cd:	66 39 13             	cmp    %dx,(%ebx)
4111d0:	75 07                	jne    0x4111d9
4111d2:	80 4c 38 28 04       	orb    $0x4,0x28(%eax,%edi,1)
4111d7:	eb 05                	jmp    0x4111de
4111d9:	80 64 38 28 fb       	andb   $0xfb,0x28(%eax,%edi,1)
4111de:	8d 14 4b             	lea    (%ebx,%ecx,2),%edx
4111e1:	8b c3                	mov    %ebx,%eax
4111e3:	89 55 f4             	mov    %edx,-0xc(%ebp)
4111e6:	8b f3                	mov    %ebx,%esi
4111e8:	89 45 fc             	mov    %eax,-0x4(%ebp)
4111eb:	3b da                	cmp    %edx,%ebx
4111ed:	0f 83 4e 01 00 00    	jae    0x411341
4111f3:	c7 45 f0 0d 00 00 00 	movl   $0xd,-0x10(%ebp)
4111fa:	0f b7 08             	movzwl (%eax),%ecx
4111fd:	8b d1                	mov    %ecx,%edx
4111ff:	89 55 ec             	mov    %edx,-0x14(%ebp)
411202:	8b 55 f4             	mov    -0xc(%ebp),%edx
411205:	83 f9 1a             	cmp    $0x1a,%ecx
411208:	0f 84 13 01 00 00    	je     0x411321
41120e:	83 c0 02             	add    $0x2,%eax
411211:	66 3b 4d f0          	cmp    -0x10(%ebp),%cx
411215:	74 08                	je     0x41121f
411217:	89 45 fc             	mov    %eax,-0x4(%ebp)
41121a:	66 89 0e             	mov    %cx,(%esi)
41121d:	eb 36                	jmp    0x411255
41121f:	3b c2                	cmp    %edx,%eax
411221:	73 40                	jae    0x411263
411223:	0f b7 00             	movzwl (%eax),%eax
411226:	33 c9                	xor    %ecx,%ecx
411228:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
41122c:	8b d0                	mov    %eax,%edx
41122e:	6a 0a                	push   $0xa
411230:	0f 94 c1             	sete   %cl
411233:	33 c0                	xor    %eax,%eax
411235:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
41123c:	01 4d fc             	add    %ecx,-0x4(%ebp)
41123f:	59                   	pop    %ecx
411240:	66 3b d1             	cmp    %cx,%dx
411243:	8b 55 f4             	mov    -0xc(%ebp),%edx
411246:	0f 94 c0             	sete   %al
411249:	48                   	dec    %eax
41124a:	83 e0 03             	and    $0x3,%eax
41124d:	03 c1                	add    %ecx,%eax
41124f:	66 89 06             	mov    %ax,(%esi)
411252:	8b 45 fc             	mov    -0x4(%ebp),%eax
411255:	6a 02                	push   $0x2
411257:	59                   	pop    %ecx
411258:	03 f1                	add    %ecx,%esi
41125a:	3b c2                	cmp    %edx,%eax
41125c:	72 9c                	jb     0x4111fa
41125e:	e9 de 00 00 00       	jmp    0x411341
411263:	6a 00                	push   $0x0
411265:	8d 45 e8             	lea    -0x18(%ebp),%eax
411268:	50                   	push   %eax
411269:	6a 02                	push   $0x2
41126b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41126e:	50                   	push   %eax
41126f:	ff 75 e4             	push   -0x1c(%ebp)
411272:	ff 15 34 91 41 00    	call   *0x419134
411278:	85 c0                	test   %eax,%eax
41127a:	0f 84 9c 00 00 00    	je     0x41131c
411280:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
411284:	0f 84 92 00 00 00    	je     0x41131c
41128a:	8b 55 f8             	mov    -0x8(%ebp),%edx
41128d:	6a 0a                	push   $0xa
41128f:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
411296:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
41129b:	74 55                	je     0x4112f2
41129d:	8d 46 02             	lea    0x2(%esi),%eax
4112a0:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4112a3:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
4112a7:	59                   	pop    %ecx
4112a8:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
4112ac:	66 3b c1             	cmp    %cx,%ax
4112af:	75 05                	jne    0x4112b6
4112b1:	66 89 0e             	mov    %cx,(%esi)
4112b4:	eb 37                	jmp    0x4112ed
4112b6:	6a 0d                	push   $0xd
4112b8:	59                   	pop    %ecx
4112b9:	66 89 0e             	mov    %cx,(%esi)
4112bc:	0f b7 c8             	movzwl %ax,%ecx
4112bf:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
4112c6:	66 8b 55 fe          	mov    -0x2(%ebp),%dx
4112ca:	c1 e9 08             	shr    $0x8,%ecx
4112cd:	6a 0a                	push   $0xa
4112cf:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
4112d3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4112d6:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
4112dd:	88 4c 38 2b          	mov    %cl,0x2b(%eax,%edi,1)
4112e1:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
4112e8:	59                   	pop    %ecx
4112e9:	88 4c 38 2c          	mov    %cl,0x2c(%eax,%edi,1)
4112ed:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4112f0:	eb 4f                	jmp    0x411341
4112f2:	58                   	pop    %eax
4112f3:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
4112f7:	75 09                	jne    0x411302
4112f9:	3b f3                	cmp    %ebx,%esi
4112fb:	75 05                	jne    0x411302
4112fd:	66 89 06             	mov    %ax,(%esi)
411300:	eb 3c                	jmp    0x41133e
411302:	6a 01                	push   $0x1
411304:	6a ff                	push   $0xffffffff
411306:	6a fe                	push   $0xfffffffe
411308:	ff 75 08             	push   0x8(%ebp)
41130b:	e8 2f fb ff ff       	call   0x410e3f
411310:	83 c4 10             	add    $0x10,%esp
411313:	6a 0a                	push   $0xa
411315:	58                   	pop    %eax
411316:	66 39 45 fc          	cmp    %ax,-0x4(%ebp)
41131a:	74 25                	je     0x411341
41131c:	6a 0d                	push   $0xd
41131e:	58                   	pop    %eax
41131f:	eb dc                	jmp    0x4112fd
411321:	8b 55 f8             	mov    -0x8(%ebp),%edx
411324:	8b 14 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%edx
41132b:	8a 44 3a 28          	mov    0x28(%edx,%edi,1),%al
41132f:	a8 40                	test   $0x40,%al
411331:	75 08                	jne    0x41133b
411333:	0c 02                	or     $0x2,%al
411335:	88 44 3a 28          	mov    %al,0x28(%edx,%edi,1)
411339:	eb 06                	jmp    0x411341
41133b:	66 89 0e             	mov    %cx,(%esi)
41133e:	83 c6 02             	add    $0x2,%esi
411341:	2b f3                	sub    %ebx,%esi
411343:	83 e6 fe             	and    $0xfffffffe,%esi
411346:	5f                   	pop    %edi
411347:	8b c6                	mov    %esi,%eax
411349:	5e                   	pop    %esi
41134a:	5b                   	pop    %ebx
41134b:	c9                   	leave
41134c:	c3                   	ret
41134d:	8b ff                	mov    %edi,%edi
41134f:	55                   	push   %ebp
411350:	8b ec                	mov    %esp,%ebp
411352:	51                   	push   %ecx
411353:	51                   	push   %ecx
411354:	53                   	push   %ebx
411355:	ff 75 10             	push   0x10(%ebp)
411358:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41135b:	53                   	push   %ebx
41135c:	ff 75 08             	push   0x8(%ebp)
41135f:	e8 e2 fc ff ff       	call   0x411046
411364:	8b c8                	mov    %eax,%ecx
411366:	83 c4 0c             	add    $0xc,%esp
411369:	85 c9                	test   %ecx,%ecx
41136b:	0f 84 30 01 00 00    	je     0x4114a1
411371:	8b 45 08             	mov    0x8(%ebp),%eax
411374:	8b 55 08             	mov    0x8(%ebp),%edx
411377:	83 e0 3f             	and    $0x3f,%eax
41137a:	c1 fa 06             	sar    $0x6,%edx
41137d:	57                   	push   %edi
41137e:	6b f8 38             	imul   $0x38,%eax,%edi
411381:	89 55 fc             	mov    %edx,-0x4(%ebp)
411384:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
41138b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41138e:	80 7c 38 29 00       	cmpb   $0x0,0x29(%eax,%edi,1)
411393:	75 07                	jne    0x41139c
411395:	8b c1                	mov    %ecx,%eax
411397:	e9 04 01 00 00       	jmp    0x4114a0
41139c:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
41139f:	56                   	push   %esi
4113a0:	8d 70 ff             	lea    -0x1(%eax),%esi
4113a3:	8a 0e                	mov    (%esi),%cl
4113a5:	84 c9                	test   %cl,%cl
4113a7:	78 07                	js     0x4113b0
4113a9:	8b f0                	mov    %eax,%esi
4113ab:	e9 9b 00 00 00       	jmp    0x41144b
4113b0:	33 d2                	xor    %edx,%edx
4113b2:	0f b6 c1             	movzbl %cl,%eax
4113b5:	42                   	inc    %edx
4113b6:	eb 0e                	jmp    0x4113c6
4113b8:	83 fa 04             	cmp    $0x4,%edx
4113bb:	77 12                	ja     0x4113cf
4113bd:	3b f3                	cmp    %ebx,%esi
4113bf:	72 0e                	jb     0x4113cf
4113c1:	4e                   	dec    %esi
4113c2:	42                   	inc    %edx
4113c3:	0f b6 06             	movzbl (%esi),%eax
4113c6:	80 b8 70 18 42 00 00 	cmpb   $0x0,0x421870(%eax)
4113cd:	74 e9                	je     0x4113b8
4113cf:	8a 0e                	mov    (%esi),%cl
4113d1:	0f b6 c1             	movzbl %cl,%eax
4113d4:	0f be 80 70 18 42 00 	movsbl 0x421870(%eax),%eax
4113db:	85 c0                	test   %eax,%eax
4113dd:	75 10                	jne    0x4113ef
4113df:	e8 4b 93 ff ff       	call   0x40a72f
4113e4:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4113ea:	e9 88 00 00 00       	jmp    0x411477
4113ef:	40                   	inc    %eax
4113f0:	3b c2                	cmp    %edx,%eax
4113f2:	75 04                	jne    0x4113f8
4113f4:	03 f2                	add    %edx,%esi
4113f6:	eb 53                	jmp    0x41144b
4113f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4113fb:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
411400:	74 35                	je     0x411437
411402:	46                   	inc    %esi
411403:	88 4c 38 2a          	mov    %cl,0x2a(%eax,%edi,1)
411407:	83 fa 02             	cmp    $0x2,%edx
41140a:	72 11                	jb     0x41141d
41140c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41140f:	8a 0e                	mov    (%esi),%cl
411411:	46                   	inc    %esi
411412:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
411419:	88 4c 07 2b          	mov    %cl,0x2b(%edi,%eax,1)
41141d:	83 fa 03             	cmp    $0x3,%edx
411420:	75 11                	jne    0x411433
411422:	8b 45 fc             	mov    -0x4(%ebp),%eax
411425:	8a 0e                	mov    (%esi),%cl
411427:	46                   	inc    %esi
411428:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
41142f:	88 4c 07 2c          	mov    %cl,0x2c(%edi,%eax,1)
411433:	2b f2                	sub    %edx,%esi
411435:	eb 14                	jmp    0x41144b
411437:	f7 da                	neg    %edx
411439:	8b c2                	mov    %edx,%eax
41143b:	6a 01                	push   $0x1
41143d:	99                   	cltd
41143e:	52                   	push   %edx
41143f:	50                   	push   %eax
411440:	ff 75 08             	push   0x8(%ebp)
411443:	e8 f7 f9 ff ff       	call   0x410e3f
411448:	83 c4 10             	add    $0x10,%esp
41144b:	ff 75 18             	push   0x18(%ebp)
41144e:	2b f3                	sub    %ebx,%esi
411450:	ff 75 14             	push   0x14(%ebp)
411453:	56                   	push   %esi
411454:	53                   	push   %ebx
411455:	6a 00                	push   $0x0
411457:	68 e9 fd 00 00       	push   $0xfde9
41145c:	e8 13 db ff ff       	call   0x40ef74
411461:	8b d8                	mov    %eax,%ebx
411463:	83 c4 18             	add    $0x18,%esp
411466:	85 db                	test   %ebx,%ebx
411468:	75 12                	jne    0x41147c
41146a:	ff 15 28 90 41 00    	call   *0x419028
411470:	50                   	push   %eax
411471:	e8 5f 92 ff ff       	call   0x40a6d5
411476:	59                   	pop    %ecx
411477:	83 c8 ff             	or     $0xffffffff,%eax
41147a:	eb 23                	jmp    0x41149f
41147c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41147f:	3b de                	cmp    %esi,%ebx
411481:	0f 94 c1             	sete   %cl
411484:	fe c9                	dec    %cl
411486:	8b 14 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%edx
41148d:	80 e1 02             	and    $0x2,%cl
411490:	8a 44 17 2d          	mov    0x2d(%edi,%edx,1),%al
411494:	24 fd                	and    $0xfd,%al
411496:	0a c8                	or     %al,%cl
411498:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
41149b:	88 4c 17 2d          	mov    %cl,0x2d(%edi,%edx,1)
41149f:	5e                   	pop    %esi
4114a0:	5f                   	pop    %edi
4114a1:	5b                   	pop    %ebx
4114a2:	c9                   	leave
4114a3:	c3                   	ret
4114a4:	8b ff                	mov    %edi,%edi