4181f2:	73 0b                	jae    0x4181ff
4181f4:	0f b7 c6             	movzwl %si,%eax
4181f7:	83 e8 30             	sub    $0x30,%eax
4181fa:	e9 3d 02 00 00       	jmp    0x41843c
4181ff:	b8 10 ff 00 00       	mov    $0xff10,%eax
418204:	66 3b f0             	cmp    %ax,%si
418207:	0f 83 18 02 00 00    	jae    0x418425
41820d:	b8 60 06 00 00       	mov    $0x660,%eax
418212:	66 3b f0             	cmp    %ax,%si
418215:	0f 82 26 02 00 00    	jb     0x418441
41821b:	83 c0 0a             	add    $0xa,%eax
41821e:	66 3b f0             	cmp    %ax,%si
418221:	73 0d                	jae    0x418230
418223:	0f b7 c6             	movzwl %si,%eax
418226:	2d 60 06 00 00       	sub    $0x660,%eax
41822b:	e9 0c 02 00 00       	jmp    0x41843c
418230:	b8 f0 06 00 00       	mov    $0x6f0,%eax
418235:	66 3b f0             	cmp    %ax,%si
418238:	0f 82 03 02 00 00    	jb     0x418441
41823e:	83 c0 0a             	add    $0xa,%eax
418241:	66 3b f0             	cmp    %ax,%si
418244:	73 0d                	jae    0x418253
418246:	0f b7 c6             	movzwl %si,%eax
418249:	2d f0 06 00 00       	sub    $0x6f0,%eax
41824e:	e9 e9 01 00 00       	jmp    0x41843c
418253:	b8 66 09 00 00       	mov    $0x966,%eax
418258:	66 3b f0             	cmp    %ax,%si
41825b:	0f 82 e0 01 00 00    	jb     0x418441
418261:	83 c0 0a             	add    $0xa,%eax
418264:	66 3b f0             	cmp    %ax,%si
418267:	73 0d                	jae    0x418276
418269:	0f b7 c6             	movzwl %si,%eax
41826c:	2d 66 09 00 00       	sub    $0x966,%eax
418271:	e9 c6 01 00 00       	jmp    0x41843c
418276:	b8 e6 09 00 00       	mov    $0x9e6,%eax
41827b:	66 3b f0             	cmp    %ax,%si
41827e:	0f 82 bd 01 00 00    	jb     0x418441
418284:	83 c0 0a             	add    $0xa,%eax
418287:	66 3b f0             	cmp    %ax,%si
41828a:	73 0d                	jae    0x418299
41828c:	0f b7 c6             	movzwl %si,%eax
41828f:	2d e6 09 00 00       	sub    $0x9e6,%eax
418294:	e9 a3 01 00 00       	jmp    0x41843c
418299:	b8 66 0a 00 00       	mov    $0xa66,%eax
41829e:	66 3b f0             	cmp    %ax,%si
4182a1:	0f 82 9a 01 00 00    	jb     0x418441
4182a7:	83 c0 0a             	add    $0xa,%eax
4182aa:	66 3b f0             	cmp    %ax,%si
4182ad:	73 0d                	jae    0x4182bc
4182af:	0f b7 c6             	movzwl %si,%eax
4182b2:	2d 66 0a 00 00       	sub    $0xa66,%eax
4182b7:	e9 80 01 00 00       	jmp    0x41843c
4182bc:	b8 e6 0a 00 00       	mov    $0xae6,%eax
4182c1:	66 3b f0             	cmp    %ax,%si
4182c4:	0f 82 77 01 00 00    	jb     0x418441
4182ca:	83 c0 0a             	add    $0xa,%eax
4182cd:	66 3b f0             	cmp    %ax,%si
4182d0:	73 0d                	jae    0x4182df
4182d2:	0f b7 c6             	movzwl %si,%eax
4182d5:	2d e6 0a 00 00       	sub    $0xae6,%eax
4182da:	e9 5d 01 00 00       	jmp    0x41843c
4182df:	b8 66 0b 00 00       	mov    $0xb66,%eax
4182e4:	66 3b f0             	cmp    %ax,%si
4182e7:	0f 82 54 01 00 00    	jb     0x418441
4182ed:	83 c0 0a             	add    $0xa,%eax
4182f0:	66 3b f0             	cmp    %ax,%si
4182f3:	73 0d                	jae    0x418302
4182f5:	0f b7 c6             	movzwl %si,%eax
4182f8:	2d 66 0b 00 00       	sub    $0xb66,%eax
4182fd:	e9 3a 01 00 00       	jmp    0x41843c
418302:	b8 66 0c 00 00       	mov    $0xc66,%eax
418307:	66 3b f0             	cmp    %ax,%si
41830a:	0f 82 31 01 00 00    	jb     0x418441
418310:	83 c0 0a             	add    $0xa,%eax
418313:	66 3b f0             	cmp    %ax,%si
418316:	73 0d                	jae    0x418325
418318:	0f b7 c6             	movzwl %si,%eax
41831b:	2d 66 0c 00 00       	sub    $0xc66,%eax
418320:	e9 17 01 00 00       	jmp    0x41843c
418325:	b8 e6 0c 00 00       	mov    $0xce6,%eax
41832a:	66 3b f0             	cmp    %ax,%si
41832d:	0f 82 0e 01 00 00    	jb     0x418441
418333:	83 c0 0a             	add    $0xa,%eax
418336:	66 3b f0             	cmp    %ax,%si
418339:	73 0d                	jae    0x418348
41833b:	0f b7 c6             	movzwl %si,%eax
41833e:	2d e6 0c 00 00       	sub    $0xce6,%eax
418343:	e9 f4 00 00 00       	jmp    0x41843c
418348:	b8 66 0d 00 00       	mov    $0xd66,%eax
41834d:	66 3b f0             	cmp    %ax,%si
418350:	0f 82 eb 00 00 00    	jb     0x418441
418356:	83 c0 0a             	add    $0xa,%eax
418359:	66 3b f0             	cmp    %ax,%si
41835c:	73 0d                	jae    0x41836b
41835e:	0f b7 c6             	movzwl %si,%eax
418361:	2d 66 0d 00 00       	sub    $0xd66,%eax
418366:	e9 d1 00 00 00       	jmp    0x41843c
41836b:	b8 50 0e 00 00       	mov    $0xe50,%eax
418370:	66 3b f0             	cmp    %ax,%si
418373:	0f 82 c8 00 00 00    	jb     0x418441
418379:	83 c0 0a             	add    $0xa,%eax
41837c:	66 3b f0             	cmp    %ax,%si
41837f:	73 0d                	jae    0x41838e
418381:	0f b7 c6             	movzwl %si,%eax
418384:	2d 50 0e 00 00       	sub    $0xe50,%eax
418389:	e9 ae 00 00 00       	jmp    0x41843c
41838e:	b8 d0 0e 00 00       	mov    $0xed0,%eax
418393:	66 3b f0             	cmp    %ax,%si
418396:	0f 82 a5 00 00 00    	jb     0x418441
41839c:	83 c0 0a             	add    $0xa,%eax
41839f:	66 3b f0             	cmp    %ax,%si
4183a2:	73 0d                	jae    0x4183b1
4183a4:	0f b7 c6             	movzwl %si,%eax
4183a7:	2d d0 0e 00 00       	sub    $0xed0,%eax
4183ac:	e9 8b 00 00 00       	jmp    0x41843c
4183b1:	b8 20 0f 00 00       	mov    $0xf20,%eax
4183b6:	66 3b f0             	cmp    %ax,%si
4183b9:	0f 82 82 00 00 00    	jb     0x418441
4183bf:	83 c0 0a             	add    $0xa,%eax
4183c2:	66 3b f0             	cmp    %ax,%si
4183c5:	73 0a                	jae    0x4183d1
4183c7:	0f b7 c6             	movzwl %si,%eax
4183ca:	2d 20 0f 00 00       	sub    $0xf20,%eax
4183cf:	eb 6b                	jmp    0x41843c
4183d1:	b8 40 10 00 00       	mov    $0x1040,%eax
4183d6:	66 3b f0             	cmp    %ax,%si
4183d9:	72 66                	jb     0x418441
4183db:	83 c0 0a             	add    $0xa,%eax
4183de:	66 3b f0             	cmp    %ax,%si
4183e1:	73 0a                	jae    0x4183ed
4183e3:	0f b7 c6             	movzwl %si,%eax
4183e6:	2d 40 10 00 00       	sub    $0x1040,%eax
4183eb:	eb 4f                	jmp    0x41843c
4183ed:	b8 e0 17 00 00       	mov    $0x17e0,%eax
4183f2:	66 3b f0             	cmp    %ax,%si
4183f5:	72 4a                	jb     0x418441
4183f7:	83 c0 0a             	add    $0xa,%eax
4183fa:	66 3b f0             	cmp    %ax,%si
4183fd:	73 0a                	jae    0x418409
4183ff:	0f b7 c6             	movzwl %si,%eax
418402:	2d e0 17 00 00       	sub    $0x17e0,%eax
418407:	eb 33                	jmp    0x41843c
418409:	b8 10 18 00 00       	mov    $0x1810,%eax
41840e:	66 3b f0             	cmp    %ax,%si
418411:	72 2e                	jb     0x418441
418413:	83 c0 0a             	add    $0xa,%eax
418416:	66 3b f0             	cmp    %ax,%si
418419:	73 26                	jae    0x418441
41841b:	0f b7 c6             	movzwl %si,%eax
41841e:	2d 10 18 00 00       	sub    $0x1810,%eax
418423:	eb 17                	jmp    0x41843c
418425:	b8 1a ff 00 00       	mov    $0xff1a,%eax
41842a:	66 3b f0             	cmp    %ax,%si
41842d:	73 0a                	jae    0x418439
41842f:	0f b7 c6             	movzwl %si,%eax
418432:	2d 10 ff 00 00       	sub    $0xff10,%eax
418437:	eb 03                	jmp    0x41843c
418439:	83 c8 ff             	or     $0xffffffff,%eax
41843c:	83 f8 ff             	cmp    $0xffffffff,%eax
41843f:	75 30                	jne    0x418471
418441:	6a 41                	push   $0x41
418443:	58                   	pop    %eax
418444:	66 3b c6             	cmp    %si,%ax
418447:	77 08                	ja     0x418451
418449:	6a 5a                	push   $0x5a
41844b:	58                   	pop    %eax
41844c:	66 3b f0             	cmp    %ax,%si
41844f:	76 09                	jbe    0x41845a
418451:	8d 46 9f             	lea    -0x61(%esi),%eax
418454:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
418458:	77 14                	ja     0x41846e
41845a:	8d 46 9f             	lea    -0x61(%esi),%eax
41845d:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
418461:	0f b7 c6             	movzwl %si,%eax
418464:	77 03                	ja     0x418469
418466:	83 e8 20             	sub    $0x20,%eax
418469:	83 c0 c9             	add    $0xffffffc9,%eax
41846c:	eb 03                	jmp    0x418471
41846e:	83 c8 ff             	or     $0xffffffff,%eax
418471:	83 f8 ff             	cmp    $0xffffffff,%eax
418474:	74 31                	je     0x4184a7
418476:	3b 45 14             	cmp    0x14(%ebp),%eax
418479:	73 2c                	jae    0x4184a7
41847b:	8b 75 f8             	mov    -0x8(%ebp),%esi
41847e:	83 cb 08             	or     $0x8,%ebx
418481:	3b f1                	cmp    %ecx,%esi
418483:	72 0b                	jb     0x418490
418485:	75 04                	jne    0x41848b
418487:	3b c2                	cmp    %edx,%eax
418489:	76 05                	jbe    0x418490
41848b:	83 cb 04             	or     $0x4,%ebx
41848e:	eb 09                	jmp    0x418499
418490:	0f af 75 14          	imul   0x14(%ebp),%esi
418494:	03 f0                	add    %eax,%esi
418496:	89 75 f8             	mov    %esi,-0x8(%ebp)
418499:	0f b7 37             	movzwl (%edi),%esi
41849c:	83 c7 02             	add    $0x2,%edi
41849f:	89 7d 0c             	mov    %edi,0xc(%ebp)
4184a2:	e9 39 fd ff ff       	jmp    0x4181e0
4184a7:	56                   	push   %esi
4184a8:	8d 4d 0c             	lea    0xc(%ebp),%ecx
4184ab:	e8 d0 cc ff ff       	call   0x415180
4184b0:	f6 c3 08             	test   $0x8,%bl
4184b3:	75 0a                	jne    0x4184bf
4184b5:	8b 45 f4             	mov    -0xc(%ebp),%eax
4184b8:	33 db                	xor    %ebx,%ebx
4184ba:	89 45 0c             	mov    %eax,0xc(%ebp)
4184bd:	eb 41                	jmp    0x418500
4184bf:	8b 75 f8             	mov    -0x8(%ebp),%esi
4184c2:	56                   	push   %esi
4184c3:	53                   	push   %ebx
4184c4:	e8 f6 f6 ff ff       	call   0x417bbf
4184c9:	59                   	pop    %ecx
4184ca:	59                   	pop    %ecx
4184cb:	84 c0                	test   %al,%al
4184cd:	74 28                	je     0x4184f7
4184cf:	e8 97 c5 ff ff       	call   0x414a6b
4184d4:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4184da:	f6 c3 01             	test   $0x1,%bl
4184dd:	75 05                	jne    0x4184e4
4184df:	83 ce ff             	or     $0xffffffff,%esi
4184e2:	eb 1a                	jmp    0x4184fe
4184e4:	f6 c3 02             	test   $0x2,%bl
4184e7:	74 07                	je     0x4184f0
4184e9:	bb 00 00 00 80       	mov    $0x80000000,%ebx
4184ee:	eb 10                	jmp    0x418500
4184f0:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4184f5:	eb 09                	jmp    0x418500
4184f7:	f6 c3 02             	test   $0x2,%bl
4184fa:	74 02                	je     0x4184fe
4184fc:	f7 de                	neg    %esi
4184fe:	8b de                	mov    %esi,%ebx
418500:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
418504:	5e                   	pop    %esi
418505:	0f 84 65 f9 ff ff    	je     0x417e70
41850b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
41850e:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
418515:	e9 56 f9 ff ff       	jmp    0x417e70
41851a:	8b ff                	mov    %edi,%edi
41851c:	55                   	push   %ebp
41851d:	8b ec                	mov    %esp,%ebp
41851f:	83 ec 40             	sub    $0x40,%esp
418522:	8d 4d 0c             	lea    0xc(%ebp),%ecx
418525:	56                   	push   %esi
418526:	57                   	push   %edi
418527:	e8 80 cc ff ff       	call   0x4151ac
41852c:	84 c0                	test   %al,%al
41852e:	74 21                	je     0x418551
418530:	8b 45 14             	mov    0x14(%ebp),%eax
418533:	85 c0                	test   %eax,%eax
418535:	74 36                	je     0x41856d
418537:	83 f8 02             	cmp    $0x2,%eax
41853a:	7c 05                	jl     0x418541
41853c:	83 f8 24             	cmp    $0x24,%eax
41853f:	7e 2c                	jle    0x41856d
418541:	e8 25 c5 ff ff       	call   0x414a6b
418546:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41854c:	e8 91 37 ff ff       	call   0x40bce2
418551:	33 c0                	xor    %eax,%eax
418553:	8b f8                	mov    %eax,%edi
418555:	8b f0                	mov    %eax,%esi
418557:	8b 45 10             	mov    0x10(%ebp),%eax
41855a:	85 c0                	test   %eax,%eax
41855c:	74 05                	je     0x418563
41855e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
418561:	89 08                	mov    %ecx,(%eax)
418563:	8b c7                	mov    %edi,%eax
418565:	8b d6                	mov    %esi,%edx
418567:	5f                   	pop    %edi
418568:	5e                   	pop    %esi
418569:	8b e5                	mov    %ebp,%esp
41856b:	5d                   	pop    %ebp
41856c:	c3                   	ret
41856d:	53                   	push   %ebx
41856e:	ff 75 08             	push   0x8(%ebp)
418571:	8d 4d c0             	lea    -0x40(%ebp),%ecx
418574:	e8 4f 42 ff ff       	call   0x40c7c8
418579:	33 c0                	xor    %eax,%eax
41857b:	89 45 f0             	mov    %eax,-0x10(%ebp)
41857e:	8b f0                	mov    %eax,%esi
418580:	8b 45 0c             	mov    0xc(%ebp),%eax
418583:	89 45 d0             	mov    %eax,-0x30(%ebp)
418586:	eb 03                	jmp    0x41858b
418588:	8b 45 0c             	mov    0xc(%ebp),%eax
41858b:	8a 18                	mov    (%eax),%bl
41858d:	40                   	inc    %eax
41858e:	89 45 0c             	mov    %eax,0xc(%ebp)
418591:	8d 45 c4             	lea    -0x3c(%ebp),%eax
418594:	50                   	push   %eax
418595:	0f b6 c3             	movzbl %bl,%eax
418598:	6a 08                	push   $0x8
41859a:	50                   	push   %eax
41859b:	88 5d f4             	mov    %bl,-0xc(%ebp)
41859e:	88 5d ff             	mov    %bl,-0x1(%ebp)
4185a1:	e8 39 b8 ff ff       	call   0x413ddf
4185a6:	83 c4 0c             	add    $0xc,%esp
4185a9:	85 c0                	test   %eax,%eax
4185ab:	75 db                	jne    0x418588
4185ad:	38 45 18             	cmp    %al,0x18(%ebp)
4185b0:	0f 95 c0             	setne  %al
4185b3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4185b6:	80 fb 2d             	cmp    $0x2d,%bl
4185b9:	75 08                	jne    0x4185c3
4185bb:	83 c8 02             	or     $0x2,%eax
4185be:	89 45 f8             	mov    %eax,-0x8(%ebp)
4185c1:	eb 05                	jmp    0x4185c8
4185c3:	80 fb 2b             	cmp    $0x2b,%bl
4185c6:	75 11                	jne    0x4185d9
4185c8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4185cb:	8a 1f                	mov    (%edi),%bl
4185cd:	47                   	inc    %edi
4185ce:	88 5d ff             	mov    %bl,-0x1(%ebp)
4185d1:	88 5d f4             	mov    %bl,-0xc(%ebp)
4185d4:	89 7d 0c             	mov    %edi,0xc(%ebp)
4185d7:	eb 03                	jmp    0x4185dc
4185d9:	8b 7d 0c             	mov    0xc(%ebp),%edi
4185dc:	8b 4d 14             	mov    0x14(%ebp),%ecx
4185df:	6a 10                	push   $0x10
4185e1:	5a                   	pop    %edx
4185e2:	85 c9                	test   %ecx,%ecx
4185e4:	74 08                	je     0x4185ee
4185e6:	3b ca                	cmp    %edx,%ecx
4185e8:	0f 85 87 00 00 00    	jne    0x418675
4185ee:	8a c3                	mov    %bl,%al
4185f0:	2c 30                	sub    $0x30,%al
4185f2:	3c 09                	cmp    $0x9,%al
4185f4:	77 08                	ja     0x4185fe
4185f6:	0f be c3             	movsbl %bl,%eax
4185f9:	83 c0 d0             	add    $0xffffffd0,%eax
4185fc:	eb 23                	jmp    0x418621
4185fe:	8a c3                	mov    %bl,%al
418600:	2c 61                	sub    $0x61,%al
418602:	3c 19                	cmp    $0x19,%al
418604:	77 08                	ja     0x41860e
418606:	0f be c3             	movsbl %bl,%eax
418609:	83 c0 a9             	add    $0xffffffa9,%eax
41860c:	eb 13                	jmp    0x418621
41860e:	8a c3                	mov    %bl,%al
418610:	2c 41                	sub    $0x41,%al
418612:	3c 19                	cmp    $0x19,%al
418614:	77 08                	ja     0x41861e
418616:	0f be c3             	movsbl %bl,%eax
418619:	83 c0 c9             	add    $0xffffffc9,%eax
41861c:	eb 03                	jmp    0x418621
41861e:	83 c8 ff             	or     $0xffffffff,%eax
418621:	85 c0                	test   %eax,%eax
418623:	74 0c                	je     0x418631
418625:	85 c9                	test   %ecx,%ecx
418627:	75 4c                	jne    0x418675
418629:	6a 0a                	push   $0xa