4170c8:	8b d0                	mov    %eax,%edx
4170ca:	8b 49 0c             	mov    0xc(%ecx),%ecx
4170cd:	90                   	nop
4170ce:	f6 c1 c0             	test   $0xc0,%cl
4170d1:	0f 84 90 00 00 00    	je     0x417167
4170d7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4170da:	33 ff                	xor    %edi,%edi
4170dc:	8b 41 04             	mov    0x4(%ecx),%eax
4170df:	8b 31                	mov    (%ecx),%esi
4170e1:	2b f0                	sub    %eax,%esi
4170e3:	40                   	inc    %eax
4170e4:	89 01                	mov    %eax,(%ecx)
4170e6:	8b 45 0c             	mov    0xc(%ebp),%eax
4170e9:	8b 48 18             	mov    0x18(%eax),%ecx
4170ec:	49                   	dec    %ecx
4170ed:	89 48 08             	mov    %ecx,0x8(%eax)
4170f0:	85 f6                	test   %esi,%esi
4170f2:	7e 24                	jle    0x417118
4170f4:	8b 45 0c             	mov    0xc(%ebp),%eax
4170f7:	56                   	push   %esi
4170f8:	ff 70 04             	push   0x4(%eax)
4170fb:	52                   	push   %edx
4170fc:	e8 7c f4 ff ff       	call   0x41657d
417101:	83 c4 0c             	add    $0xc,%esp
417104:	8b f8                	mov    %eax,%edi
417106:	8b 45 0c             	mov    0xc(%ebp),%eax
417109:	3b fe                	cmp    %esi,%edi
41710b:	8b 48 04             	mov    0x4(%eax),%ecx
41710e:	8a 45 08             	mov    0x8(%ebp),%al
417111:	88 01                	mov    %al,(%ecx)
417113:	0f 94 c0             	sete   %al
417116:	eb 65                	jmp    0x41717d
417118:	83 fa ff             	cmp    $0xffffffff,%edx
41711b:	74 1b                	je     0x417138
41711d:	83 fa fe             	cmp    $0xfffffffe,%edx
417120:	74 16                	je     0x417138
417122:	8b c2                	mov    %edx,%eax
417124:	8b ca                	mov    %edx,%ecx
417126:	83 e0 3f             	and    $0x3f,%eax
417129:	c1 f9 06             	sar    $0x6,%ecx
41712c:	6b c0 38             	imul   $0x38,%eax,%eax
41712f:	03 04 8d c0 4a 43 00 	add    0x434ac0(,%ecx,4),%eax
417136:	eb 05                	jmp    0x41713d
417138:	b8 90 31 43 00       	mov    $0x433190,%eax
41713d:	f6 40 28 20          	testb  $0x20,0x28(%eax)
417141:	74 c3                	je     0x417106
417143:	6a 02                	push   $0x2
417145:	57                   	push   %edi
417146:	57                   	push   %edi
417147:	52                   	push   %edx
417148:	e8 e5 0b 00 00       	call   0x417d32
41714d:	23 c2                	and    %edx,%eax
41714f:	83 c4 10             	add    $0x10,%esp
417152:	83 f8 ff             	cmp    $0xffffffff,%eax
417155:	75 af                	jne    0x417106
417157:	8b 45 0c             	mov    0xc(%ebp),%eax
41715a:	6a 10                	push   $0x10
41715c:	59                   	pop    %ecx
41715d:	83 c0 0c             	add    $0xc,%eax
417160:	f0 09 08             	lock or %ecx,(%eax)
417163:	b0 01                	mov    $0x1,%al
417165:	eb 16                	jmp    0x41717d
417167:	6a 01                	push   $0x1
417169:	8d 45 08             	lea    0x8(%ebp),%eax
41716c:	50                   	push   %eax
41716d:	52                   	push   %edx
41716e:	e8 0a f4 ff ff       	call   0x41657d
417173:	83 c4 0c             	add    $0xc,%esp
417176:	48                   	dec    %eax
417177:	f7 d8                	neg    %eax
417179:	1a c0                	sbb    %al,%al
41717b:	fe c0                	inc    %al
41717d:	5f                   	pop    %edi
41717e:	5e                   	pop    %esi
41717f:	5d                   	pop    %ebp
417180:	c3                   	ret
417181:	8b ff                	mov    %edi,%edi
417183:	55                   	push   %ebp
417184:	8b ec                	mov    %esp,%ebp
417186:	8b 45 08             	mov    0x8(%ebp),%eax
417189:	83 ec 10             	sub    $0x10,%esp
41718c:	8b 40 0c             	mov    0xc(%eax),%eax
41718f:	90                   	nop
417190:	c1 e8 03             	shr    $0x3,%eax
417193:	a8 01                	test   $0x1,%al
417195:	74 04                	je     0x41719b
417197:	b0 01                	mov    $0x1,%al
417199:	c9                   	leave
41719a:	c3                   	ret
41719b:	8b 45 08             	mov    0x8(%ebp),%eax
41719e:	53                   	push   %ebx
41719f:	56                   	push   %esi
4171a0:	8b 40 0c             	mov    0xc(%eax),%eax
4171a3:	90                   	nop
4171a4:	a8 c0                	test   $0xc0,%al
4171a6:	8b 45 08             	mov    0x8(%ebp),%eax
4171a9:	74 07                	je     0x4171b2
4171ab:	8b 08                	mov    (%eax),%ecx
4171ad:	3b 48 04             	cmp    0x4(%eax),%ecx
4171b0:	74 4e                	je     0x417200
4171b2:	8b 40 10             	mov    0x10(%eax),%eax
4171b5:	90                   	nop
4171b6:	50                   	push   %eax
4171b7:	e8 3a 46 00 00       	call   0x41b7f6
4171bc:	8b f0                	mov    %eax,%esi
4171be:	59                   	pop    %ecx
4171bf:	83 fe ff             	cmp    $0xffffffff,%esi
4171c2:	74 3c                	je     0x417200
4171c4:	33 db                	xor    %ebx,%ebx
4171c6:	8d 45 f8             	lea    -0x8(%ebp),%eax
4171c9:	43                   	inc    %ebx
4171ca:	53                   	push   %ebx
4171cb:	50                   	push   %eax
4171cc:	6a 00                	push   $0x0
4171ce:	6a 00                	push   $0x0
4171d0:	56                   	push   %esi
4171d1:	ff 15 08 41 42 00    	call   *0x424108
4171d7:	85 c0                	test   %eax,%eax
4171d9:	74 25                	je     0x417200
4171db:	8d 45 f0             	lea    -0x10(%ebp),%eax
4171de:	50                   	push   %eax
4171df:	56                   	push   %esi
4171e0:	ff 15 04 41 42 00    	call   *0x424104
4171e6:	85 c0                	test   %eax,%eax
4171e8:	74 16                	je     0x417200
4171ea:	8b 45 f8             	mov    -0x8(%ebp),%eax
4171ed:	3b 45 f0             	cmp    -0x10(%ebp),%eax
4171f0:	75 08                	jne    0x4171fa
4171f2:	8b 45 fc             	mov    -0x4(%ebp),%eax
4171f5:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4171f8:	74 02                	je     0x4171fc
4171fa:	32 db                	xor    %bl,%bl
4171fc:	8a c3                	mov    %bl,%al
4171fe:	eb 02                	jmp    0x417202
417200:	32 c0                	xor    %al,%al
417202:	5e                   	pop    %esi
417203:	5b                   	pop    %ebx
417204:	c9                   	leave
417205:	c3                   	ret
417206:	8b ff                	mov    %edi,%edi
417208:	55                   	push   %ebp
417209:	8b ec                	mov    %esp,%ebp
41720b:	5d                   	pop    %ebp
41720c:	e9 b4 fd ff ff       	jmp    0x416fc5
417211:	8b ff                	mov    %edi,%edi
417213:	55                   	push   %ebp
417214:	8b ec                	mov    %esp,%ebp
417216:	83 ec 1c             	sub    $0x1c,%esp
417219:	8b 45 08             	mov    0x8(%ebp),%eax
41721c:	8b c8                	mov    %eax,%ecx
41721e:	53                   	push   %ebx
41721f:	8b 5d 0c             	mov    0xc(%ebp),%ebx
417222:	83 e0 3f             	and    $0x3f,%eax
417225:	c1 f9 06             	sar    $0x6,%ecx
417228:	56                   	push   %esi
417229:	57                   	push   %edi
41722a:	6b f8 38             	imul   $0x38,%eax,%edi
41722d:	8b 04 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%eax
417234:	89 4d f0             	mov    %ecx,-0x10(%ebp)
417237:	8b 4c 38 18          	mov    0x18(%eax,%edi,1),%ecx
41723b:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41723e:	8b 4d 10             	mov    0x10(%ebp),%ecx
417241:	85 c9                	test   %ecx,%ecx
417243:	74 0c                	je     0x417251
417245:	80 3b 0a             	cmpb   $0xa,(%ebx)
417248:	75 07                	jne    0x417251
41724a:	80 4c 38 28 04       	orb    $0x4,0x28(%eax,%edi,1)
41724f:	eb 05                	jmp    0x417256
417251:	80 64 38 28 fb       	andb   $0xfb,0x28(%eax,%edi,1)
417256:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
417259:	8b d3                	mov    %ebx,%edx
41725b:	89 45 f4             	mov    %eax,-0xc(%ebp)
41725e:	8b f3                	mov    %ebx,%esi
417260:	3b d8                	cmp    %eax,%ebx
417262:	0f 83 f4 00 00 00    	jae    0x41735c
417268:	8a 02                	mov    (%edx),%al
41726a:	3c 1a                	cmp    $0x1a,%al
41726c:	0f 84 cc 00 00 00    	je     0x41733e
417272:	8d 4a 01             	lea    0x1(%edx),%ecx
417275:	3c 0d                	cmp    $0xd,%al
417277:	74 0a                	je     0x417283
417279:	88 06                	mov    %al,(%esi)
41727b:	8b d1                	mov    %ecx,%edx
41727d:	46                   	inc    %esi
41727e:	e9 b0 00 00 00       	jmp    0x417333
417283:	3b 4d f4             	cmp    -0xc(%ebp),%ecx
417286:	73 24                	jae    0x4172ac
417288:	80 39 0a             	cmpb   $0xa,(%ecx)
41728b:	8d 5e 01             	lea    0x1(%esi),%ebx
41728e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
417291:	75 07                	jne    0x41729a
417293:	6a 02                	push   $0x2
417295:	b0 0a                	mov    $0xa,%al
417297:	59                   	pop    %ecx
417298:	eb 03                	jmp    0x41729d
41729a:	33 c9                	xor    %ecx,%ecx
41729c:	41                   	inc    %ecx
41729d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4172a0:	03 d1                	add    %ecx,%edx
4172a2:	88 06                	mov    %al,(%esi)
4172a4:	8b 75 f8             	mov    -0x8(%ebp),%esi
4172a7:	e9 87 00 00 00       	jmp    0x417333
4172ac:	6a 00                	push   $0x0
4172ae:	8d 45 e8             	lea    -0x18(%ebp),%eax
4172b1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4172b4:	50                   	push   %eax
4172b5:	6a 01                	push   $0x1
4172b7:	8d 45 ff             	lea    -0x1(%ebp),%eax
4172ba:	50                   	push   %eax
4172bb:	ff 75 ec             	push   -0x14(%ebp)
4172be:	ff 15 00 41 42 00    	call   *0x424100
4172c4:	85 c0                	test   %eax,%eax
4172c6:	74 64                	je     0x41732c
4172c8:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
4172cc:	74 5e                	je     0x41732c
4172ce:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4172d1:	8b 04 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%eax
4172d8:	f6 44 38 28 48       	testb  $0x48,0x28(%eax,%edi,1)
4172dd:	74 27                	je     0x417306
4172df:	8a 55 ff             	mov    -0x1(%ebp),%dl
4172e2:	8d 46 01             	lea    0x1(%esi),%eax
4172e5:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4172e8:	80 fa 0a             	cmp    $0xa,%dl
4172eb:	75 04                	jne    0x4172f1
4172ed:	88 16                	mov    %dl,(%esi)
4172ef:	eb 11                	jmp    0x417302
4172f1:	c6 06 0d             	movb   $0xd,(%esi)
4172f4:	8b 04 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%eax
4172fb:	88 54 38 2a          	mov    %dl,0x2a(%eax,%edi,1)
4172ff:	8b 45 e4             	mov    -0x1c(%ebp),%eax
417302:	8b f0                	mov    %eax,%esi
417304:	eb 2a                	jmp    0x417330
417306:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
41730a:	75 09                	jne    0x417315
41730c:	3b f3                	cmp    %ebx,%esi
41730e:	75 05                	jne    0x417315
417310:	c6 06 0a             	movb   $0xa,(%esi)
417313:	eb 1a                	jmp    0x41732f
417315:	6a 01                	push   $0x1
417317:	6a ff                	push   $0xffffffff
417319:	6a ff                	push   $0xffffffff
41731b:	ff 75 08             	push   0x8(%ebp)
41731e:	e8 2a 0a 00 00       	call   0x417d4d
417323:	83 c4 10             	add    $0x10,%esp
417326:	80 7d ff 0a          	cmpb   $0xa,-0x1(%ebp)
41732a:	74 04                	je     0x417330
41732c:	c6 06 0d             	movb   $0xd,(%esi)
41732f:	46                   	inc    %esi
417330:	8b 55 f8             	mov    -0x8(%ebp),%edx
417333:	3b 55 f4             	cmp    -0xc(%ebp),%edx
417336:	0f 82 2c ff ff ff    	jb     0x417268
41733c:	eb 1e                	jmp    0x41735c
41733e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417341:	8b 0c 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%ecx
417348:	8a 44 39 28          	mov    0x28(%ecx,%edi,1),%al
41734c:	a8 40                	test   $0x40,%al
41734e:	75 08                	jne    0x417358
417350:	0c 02                	or     $0x2,%al
417352:	88 44 39 28          	mov    %al,0x28(%ecx,%edi,1)
417356:	eb 04                	jmp    0x41735c
417358:	c6 06 1a             	movb   $0x1a,(%esi)
41735b:	46                   	inc    %esi
41735c:	2b f3                	sub    %ebx,%esi
41735e:	5f                   	pop    %edi
41735f:	8b c6                	mov    %esi,%eax
417361:	5e                   	pop    %esi
417362:	5b                   	pop    %ebx
417363:	c9                   	leave
417364:	c3                   	ret
417365:	8b ff                	mov    %edi,%edi
417367:	55                   	push   %ebp
417368:	8b ec                	mov    %esp,%ebp
41736a:	83 ec 24             	sub    $0x24,%esp
41736d:	8b 45 08             	mov    0x8(%ebp),%eax
417370:	8b c8                	mov    %eax,%ecx
417372:	53                   	push   %ebx
417373:	8b 5d 0c             	mov    0xc(%ebp),%ebx
417376:	83 e0 3f             	and    $0x3f,%eax
417379:	56                   	push   %esi
41737a:	c1 f9 06             	sar    $0x6,%ecx
41737d:	57                   	push   %edi
41737e:	6b f8 38             	imul   $0x38,%eax,%edi
417381:	89 4d f0             	mov    %ecx,-0x10(%ebp)
417384:	8b 04 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%eax
41738b:	6a 0a                	push   $0xa
41738d:	5a                   	pop    %edx
41738e:	89 55 e0             	mov    %edx,-0x20(%ebp)
417391:	8b 4c 07 18          	mov    0x18(%edi,%eax,1),%ecx
417395:	89 4d e8             	mov    %ecx,-0x18(%ebp)
417398:	8b 4d 10             	mov    0x10(%ebp),%ecx
41739b:	85 c9                	test   %ecx,%ecx
41739d:	74 0c                	je     0x4173ab
41739f:	66 39 13             	cmp    %dx,(%ebx)
4173a2:	75 07                	jne    0x4173ab
4173a4:	80 4c 07 28 04       	orb    $0x4,0x28(%edi,%eax,1)
4173a9:	eb 05                	jmp    0x4173b0
4173ab:	80 64 07 28 fb       	andb   $0xfb,0x28(%edi,%eax,1)
4173b0:	8d 04 4b             	lea    (%ebx,%ecx,2),%eax
4173b3:	8b d3                	mov    %ebx,%edx
4173b5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4173b8:	8b f3                	mov    %ebx,%esi
4173ba:	3b d8                	cmp    %eax,%ebx
4173bc:	0f 83 46 01 00 00    	jae    0x417508
4173c2:	6a 1a                	push   $0x1a
4173c4:	58                   	pop    %eax
4173c5:	c7 45 ec 0d 00 00 00 	movl   $0xd,-0x14(%ebp)
4173cc:	0f b7 0a             	movzwl (%edx),%ecx
4173cf:	66 3b c8             	cmp    %ax,%cx
4173d2:	0f 84 0d 01 00 00    	je     0x4174e5
4173d8:	8d 42 02             	lea    0x2(%edx),%eax
4173db:	66 3b 4d ec          	cmp    -0x14(%ebp),%cx
4173df:	74 0d                	je     0x4173ee
4173e1:	66 89 0e             	mov    %cx,(%esi)
4173e4:	8b d0                	mov    %eax,%edx
4173e6:	83 c6 02             	add    $0x2,%esi
4173e9:	e9 e9 00 00 00       	jmp    0x4174d7
4173ee:	3b 45 f4             	cmp    -0xc(%ebp),%eax
4173f1:	73 29                	jae    0x41741c
4173f3:	8d 5e 02             	lea    0x2(%esi),%ebx
4173f6:	6a 0a                	push   $0xa
4173f8:	89 5d f8             	mov    %ebx,-0x8(%ebp)
4173fb:	5b                   	pop    %ebx
4173fc:	66 39 18             	cmp    %bx,(%eax)
4173ff:	75 06                	jne    0x417407
417401:	8b c3                	mov    %ebx,%eax
417403:	6a 04                	push   $0x4
417405:	eb 04                	jmp    0x41740b
417407:	8b c1                	mov    %ecx,%eax
417409:	6a 02                	push   $0x2
41740b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41740e:	59                   	pop    %ecx
41740f:	66 89 06             	mov    %ax,(%esi)
417412:	03 d1                	add    %ecx,%edx
417414:	8b 75 f8             	mov    -0x8(%ebp),%esi
417417:	e9 bb 00 00 00       	jmp    0x4174d7
41741c:	6a 00                	push   $0x0
41741e:	89 45 f8             	mov    %eax,-0x8(%ebp)
417421:	8d 45 e4             	lea    -0x1c(%ebp),%eax
417424:	50                   	push   %eax
417425:	6a 02                	push   $0x2
417427:	8d 45 fc             	lea    -0x4(%ebp),%eax
41742a:	50                   	push   %eax
41742b:	ff 75 e8             	push   -0x18(%ebp)
41742e:	ff 15 00 41 42 00    	call   *0x424100
417434:	85 c0                	test   %eax,%eax
417436:	0f 84 8f 00 00 00    	je     0x4174cb
41743c:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
417440:	0f 84 85 00 00 00    	je     0x4174cb
417446:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417449:	8b 04 8d c0 4a 43 00 	mov    0x434ac0(,%ecx,4),%eax