42a16f:	83 f8 2b             	cmp    $0x2b,%eax
42a172:	0f 84 d4 fe ff ff    	je     0x42a04c
42a178:	83 f8 2d             	cmp    $0x2d,%eax
42a17b:	0f 84 cb fe ff ff    	je     0x42a04c
42a181:	83 f8 43             	cmp    $0x43,%eax
42a184:	0f 8e 3d 01 00 00    	jle    0x42a2c7
42a18a:	83 f8 45             	cmp    $0x45,%eax
42a18d:	0f 8e b2 fe ff ff    	jle    0x42a045
42a193:	83 c0 9c             	add    $0xffffff9c,%eax
42a196:	e9 9f fe ff ff       	jmp    0x42a03a
42a19b:	33 c0                	xor    %eax,%eax
42a19d:	40                   	inc    %eax
42a19e:	89 45 a0             	mov    %eax,-0x60(%ebp)
42a1a1:	8d 41 d0             	lea    -0x30(%ecx),%eax
42a1a4:	6a 09                	push   $0x9
42a1a6:	59                   	pop    %ecx
42a1a7:	66 3b c1             	cmp    %cx,%ax
42a1aa:	0f 87 c4 00 00 00    	ja     0x42a274
42a1b0:	6a 04                	push   $0x4
42a1b2:	e9 e9 fd ff ff       	jmp    0x429fa0
42a1b7:	8d 42 fc             	lea    -0x4(%edx),%eax
42a1ba:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42a1bd:	8d 41 cf             	lea    -0x31(%ecx),%eax
42a1c0:	66 3b 45 98          	cmp    -0x68(%ebp),%ax
42a1c4:	77 07                	ja     0x42a1cd
42a1c6:	6a 09                	push   $0x9
42a1c8:	e9 d3 fd ff ff       	jmp    0x429fa0
42a1cd:	0f b7 c1             	movzwl %cx,%eax
42a1d0:	83 e8 2b             	sub    $0x2b,%eax
42a1d3:	74 22                	je     0x42a1f7
42a1d5:	48                   	dec    %eax
42a1d6:	48                   	dec    %eax
42a1d7:	74 10                	je     0x42a1e9
42a1d9:	83 e8 03             	sub    $0x3,%eax
42a1dc:	0f 85 92 00 00 00    	jne    0x42a274
42a1e2:	6a 08                	push   $0x8
42a1e4:	e9 d6 fd ff ff       	jmp    0x429fbf
42a1e9:	6a 07                	push   $0x7
42a1eb:	83 c9 ff             	or     $0xffffffff,%ecx
42a1ee:	58                   	pop    %eax
42a1ef:	89 4d 88             	mov    %ecx,-0x78(%ebp)
42a1f2:	e9 85 fd ff ff       	jmp    0x429f7c
42a1f7:	6a 07                	push   $0x7
42a1f9:	e9 c1 fd ff ff       	jmp    0x429fbf
42a1fe:	33 c0                	xor    %eax,%eax
42a200:	40                   	inc    %eax
42a201:	6a 30                	push   $0x30
42a203:	89 45 8c             	mov    %eax,-0x74(%ebp)
42a206:	58                   	pop    %eax
42a207:	eb 06                	jmp    0x42a20f
42a209:	0f b7 0a             	movzwl (%edx),%ecx
42a20c:	83 c2 02             	add    $0x2,%edx
42a20f:	66 3b c8             	cmp    %ax,%cx
42a212:	74 f5                	je     0x42a209
42a214:	8d 41 cf             	lea    -0x31(%ecx),%eax
42a217:	6a 08                	push   $0x8
42a219:	59                   	pop    %ecx
42a21a:	66 3b c1             	cmp    %cx,%ax
42a21d:	0f 87 a4 00 00 00    	ja     0x42a2c7
42a223:	eb a1                	jmp    0x42a1c6
42a225:	8d 41 cf             	lea    -0x31(%ecx),%eax
42a228:	66 3b 45 98          	cmp    -0x68(%ebp),%ax
42a22c:	76 98                	jbe    0x42a1c6
42a22e:	6a 30                	push   $0x30
42a230:	58                   	pop    %eax
42a231:	66 3b c8             	cmp    %ax,%cx
42a234:	eb a6                	jmp    0x42a1dc
42a236:	39 5d 20             	cmp    %ebx,0x20(%ebp)
42a239:	74 1e                	je     0x42a259
42a23b:	8d 42 fe             	lea    -0x2(%edx),%eax
42a23e:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42a241:	0f b7 c1             	movzwl %cx,%eax
42a244:	83 e8 2b             	sub    $0x2b,%eax
42a247:	74 ae                	je     0x42a1f7
42a249:	48                   	dec    %eax
42a24a:	48                   	dec    %eax
42a24b:	75 27                	jne    0x42a274
42a24d:	83 4d 88 ff          	orl    $0xffffffff,-0x78(%ebp)
42a251:	6a 07                	push   $0x7
42a253:	58                   	pop    %eax
42a254:	e9 23 fd ff ff       	jmp    0x429f7c
42a259:	6a 0a                	push   $0xa
42a25b:	58                   	pop    %eax
42a25c:	83 ea 02             	sub    $0x2,%edx
42a25f:	6a 0a                	push   $0xa
42a261:	59                   	pop    %ecx
42a262:	3b c1                	cmp    %ecx,%eax
42a264:	0f 85 12 fd ff ff    	jne    0x429f7c
42a26a:	eb 5e                	jmp    0x42a2ca
42a26c:	8b 55 b4             	mov    -0x4c(%ebp),%edx
42a26f:	8b 75 a8             	mov    -0x58(%ebp),%esi
42a272:	eb 56                	jmp    0x42a2ca
42a274:	8b 55 b4             	mov    -0x4c(%ebp),%edx
42a277:	eb 51                	jmp    0x42a2ca
42a279:	33 c0                	xor    %eax,%eax
42a27b:	40                   	inc    %eax
42a27c:	89 45 8c             	mov    %eax,-0x74(%ebp)
42a27f:	8b fb                	mov    %ebx,%edi
42a281:	eb 1f                	jmp    0x42a2a2
42a283:	66 3b 4d 9c          	cmp    -0x64(%ebp),%cx
42a287:	77 39                	ja     0x42a2c2
42a289:	6b ff 0a             	imul   $0xa,%edi,%edi
42a28c:	0f b7 c1             	movzwl %cx,%eax
42a28f:	83 c7 d0             	add    $0xffffffd0,%edi
42a292:	03 f8                	add    %eax,%edi
42a294:	81 ff 50 14 00 00    	cmp    $0x1450,%edi
42a29a:	7f 10                	jg     0x42a2ac
42a29c:	0f b7 0a             	movzwl (%edx),%ecx
42a29f:	83 c2 02             	add    $0x2,%edx
42a2a2:	6a 30                	push   $0x30
42a2a4:	58                   	pop    %eax
42a2a5:	66 3b c8             	cmp    %ax,%cx
42a2a8:	73 d9                	jae    0x42a283
42a2aa:	eb 16                	jmp    0x42a2c2
42a2ac:	6a 30                	push   $0x30
42a2ae:	bf 51 14 00 00       	mov    $0x1451,%edi
42a2b3:	58                   	pop    %eax
42a2b4:	eb 0c                	jmp    0x42a2c2
42a2b6:	66 3b 4d 9c          	cmp    -0x64(%ebp),%cx
42a2ba:	77 0b                	ja     0x42a2c7
42a2bc:	0f b7 0a             	movzwl (%edx),%ecx
42a2bf:	83 c2 02             	add    $0x2,%edx
42a2c2:	66 3b c8             	cmp    %ax,%cx
42a2c5:	73 ef                	jae    0x42a2b6
42a2c7:	83 ea 02             	sub    $0x2,%edx
42a2ca:	8b 45 a4             	mov    -0x5c(%ebp),%eax
42a2cd:	89 10                	mov    %edx,(%eax)
42a2cf:	8b 45 90             	mov    -0x70(%ebp),%eax
42a2d2:	85 c0                	test   %eax,%eax
42a2d4:	0f 84 d0 03 00 00    	je     0x42a6aa
42a2da:	8b 45 b0             	mov    -0x50(%ebp),%eax
42a2dd:	83 f8 18             	cmp    $0x18,%eax
42a2e0:	76 19                	jbe    0x42a2fb
42a2e2:	8a 45 f7             	mov    -0x9(%ebp),%al
42a2e5:	3c 05                	cmp    $0x5,%al
42a2e7:	7c 05                	jl     0x42a2ee
42a2e9:	fe c0                	inc    %al
42a2eb:	88 45 f7             	mov    %al,-0x9(%ebp)
42a2ee:	8b 4d ac             	mov    -0x54(%ebp),%ecx
42a2f1:	4e                   	dec    %esi
42a2f2:	6a 18                	push   $0x18
42a2f4:	41                   	inc    %ecx
42a2f5:	58                   	pop    %eax
42a2f6:	89 4d ac             	mov    %ecx,-0x54(%ebp)
42a2f9:	eb 03                	jmp    0x42a2fe
42a2fb:	8b 4d ac             	mov    -0x54(%ebp),%ecx
42a2fe:	85 c0                	test   %eax,%eax
42a300:	0f 84 9a 03 00 00    	je     0x42a6a0
42a306:	4e                   	dec    %esi
42a307:	38 1e                	cmp    %bl,(%esi)
42a309:	75 0a                	jne    0x42a315
42a30b:	48                   	dec    %eax
42a30c:	41                   	inc    %ecx
42a30d:	4e                   	dec    %esi
42a30e:	38 1e                	cmp    %bl,(%esi)
42a310:	74 f9                	je     0x42a30b
42a312:	89 4d ac             	mov    %ecx,-0x54(%ebp)
42a315:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
42a318:	51                   	push   %ecx
42a319:	50                   	push   %eax
42a31a:	8d 45 e0             	lea    -0x20(%ebp),%eax
42a31d:	50                   	push   %eax
42a31e:	e8 cc a8 00 00       	call   0x434bef
42a323:	8b 4d 88             	mov    -0x78(%ebp),%ecx
42a326:	83 c4 0c             	add    $0xc,%esp
42a329:	85 c9                	test   %ecx,%ecx
42a32b:	79 02                	jns    0x42a32f
42a32d:	f7 df                	neg    %edi
42a32f:	8b 45 8c             	mov    -0x74(%ebp),%eax
42a332:	03 7d ac             	add    -0x54(%ebp),%edi
42a335:	85 c0                	test   %eax,%eax
42a337:	75 03                	jne    0x42a33c
42a339:	03 7d 18             	add    0x18(%ebp),%edi
42a33c:	8b 45 a0             	mov    -0x60(%ebp),%eax
42a33f:	85 c0                	test   %eax,%eax
42a341:	75 03                	jne    0x42a346
42a343:	2b 7d 1c             	sub    0x1c(%ebp),%edi
42a346:	81 ff 50 14 00 00    	cmp    $0x1450,%edi
42a34c:	0f 8f 40 03 00 00    	jg     0x42a692
42a352:	81 ff b0 eb ff ff    	cmp    $0xffffebb0,%edi
42a358:	0f 8c 27 03 00 00    	jl     0x42a685
42a35e:	b8 b0 b1 4b 00       	mov    $0x4bb1b0,%eax
42a363:	83 e8 60             	sub    $0x60,%eax
42a366:	85 ff                	test   %edi,%edi
42a368:	0f 84 05 03 00 00    	je     0x42a673
42a36e:	79 0a                	jns    0x42a37a
42a370:	b8 10 b3 4b 00       	mov    $0x4bb310,%eax
42a375:	f7 df                	neg    %edi
42a377:	83 e8 60             	sub    $0x60,%eax
42a37a:	39 5d 14             	cmp    %ebx,0x14(%ebp)
42a37d:	75 06                	jne    0x42a385
42a37f:	33 c9                	xor    %ecx,%ecx
42a381:	66 89 4d c4          	mov    %cx,-0x3c(%ebp)
42a385:	85 ff                	test   %edi,%edi
42a387:	0f 84 e6 02 00 00    	je     0x42a673
42a38d:	c7 45 84 ff 7f 00 00 	movl   $0x7fff,-0x7c(%ebp)
42a394:	8b cf                	mov    %edi,%ecx
42a396:	83 c0 54             	add    $0x54,%eax
42a399:	c1 ff 03             	sar    $0x3,%edi
42a39c:	89 45 b4             	mov    %eax,-0x4c(%ebp)
42a39f:	89 7d 88             	mov    %edi,-0x78(%ebp)
42a3a2:	83 e1 07             	and    $0x7,%ecx
42a3a5:	0f 84 c0 02 00 00    	je     0x42a66b
42a3ab:	6b c9 0c             	imul   $0xc,%ecx,%ecx
42a3ae:	03 c8                	add    %eax,%ecx
42a3b0:	b8 00 80 00 00       	mov    $0x8000,%eax
42a3b5:	89 4d 98             	mov    %ecx,-0x68(%ebp)
42a3b8:	66 39 01             	cmp    %ax,(%ecx)
42a3bb:	72 14                	jb     0x42a3d1
42a3bd:	8b f1                	mov    %ecx,%esi
42a3bf:	8d 7d b8             	lea    -0x48(%ebp),%edi
42a3c2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42a3c3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42a3c4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42a3c5:	ff 4d ba             	decl   -0x46(%ebp)
42a3c8:	8b 7d 88             	mov    -0x78(%ebp),%edi
42a3cb:	8d 4d b8             	lea    -0x48(%ebp),%ecx
42a3ce:	89 4d 98             	mov    %ecx,-0x68(%ebp)
42a3d1:	0f b7 41 0a          	movzwl 0xa(%ecx),%eax
42a3d5:	8b 55 ce             	mov    -0x32(%ebp),%edx
42a3d8:	8b f0                	mov    %eax,%esi
42a3da:	33 f2                	xor    %edx,%esi
42a3dc:	81 e6 00 80 00 00    	and    $0x8000,%esi
42a3e2:	89 75 90             	mov    %esi,-0x70(%ebp)
42a3e5:	be ff 7f 00 00       	mov    $0x7fff,%esi
42a3ea:	23 c6                	and    %esi,%eax
42a3ec:	23 d6                	and    %esi,%edx
42a3ee:	89 45 a4             	mov    %eax,-0x5c(%ebp)
42a3f1:	03 c2                	add    %edx,%eax
42a3f3:	0f b7 f0             	movzwl %ax,%esi
42a3f6:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
42a3fb:	89 5d ac             	mov    %ebx,-0x54(%ebp)
42a3fe:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
42a401:	89 5d d8             	mov    %ebx,-0x28(%ebp)
42a404:	89 5d dc             	mov    %ebx,-0x24(%ebp)
42a407:	89 75 8c             	mov    %esi,-0x74(%ebp)
42a40a:	66 3b d0             	cmp    %ax,%dx
42a40d:	0f 83 38 02 00 00    	jae    0x42a64b
42a413:	8b 45 a4             	mov    -0x5c(%ebp),%eax
42a416:	66 3b 45 84          	cmp    -0x7c(%ebp),%ax
42a41a:	0f 83 2b 02 00 00    	jae    0x42a64b
42a420:	c7 45 a4 fd bf 00 00 	movl   $0xbffd,-0x5c(%ebp)
42a427:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
42a42b:	0f 87 1a 02 00 00    	ja     0x42a64b
42a431:	c7 45 a4 bf 3f 00 00 	movl   $0x3fbf,-0x5c(%ebp)
42a438:	66 3b 75 a4          	cmp    -0x5c(%ebp),%si
42a43c:	77 08                	ja     0x42a446
42a43e:	89 5d cc             	mov    %ebx,-0x34(%ebp)
42a441:	e9 1c 02 00 00       	jmp    0x42a662
42a446:	66 85 d2             	test   %dx,%dx
42a449:	75 24                	jne    0x42a46f
42a44b:	46                   	inc    %esi
42a44c:	f7 45 cc ff ff ff 7f 	testl  $0x7fffffff,-0x34(%ebp)
42a453:	89 75 8c             	mov    %esi,-0x74(%ebp)
42a456:	75 17                	jne    0x42a46f
42a458:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
42a45c:	75 11                	jne    0x42a46f
42a45e:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
42a462:	75 0b                	jne    0x42a46f
42a464:	33 c0                	xor    %eax,%eax
42a466:	66 89 45 ce          	mov    %ax,-0x32(%ebp)
42a46a:	e9 f9 01 00 00       	jmp    0x42a668
42a46f:	66 85 c0             	test   %ax,%ax
42a472:	75 16                	jne    0x42a48a
42a474:	46                   	inc    %esi
42a475:	f7 41 08 ff ff ff 7f 	testl  $0x7fffffff,0x8(%ecx)
42a47c:	89 75 8c             	mov    %esi,-0x74(%ebp)
42a47f:	75 09                	jne    0x42a48a
42a481:	39 59 04             	cmp    %ebx,0x4(%ecx)
42a484:	75 04                	jne    0x42a48a
42a486:	39 19                	cmp    %ebx,(%ecx)
42a488:	74 b4                	je     0x42a43e
42a48a:	6a 05                	push   $0x5
42a48c:	8b c3                	mov    %ebx,%eax
42a48e:	5f                   	pop    %edi
42a48f:	89 45 b0             	mov    %eax,-0x50(%ebp)
42a492:	8d 55 d8             	lea    -0x28(%ebp),%edx
42a495:	89 7d 94             	mov    %edi,-0x6c(%ebp)
42a498:	89 7d a4             	mov    %edi,-0x5c(%ebp)
42a49b:	85 ff                	test   %edi,%edi
42a49d:	7e 5c                	jle    0x42a4fb
42a49f:	8d 75 c4             	lea    -0x3c(%ebp),%esi
42a4a2:	8d 34 46             	lea    (%esi,%eax,2),%esi
42a4a5:	8d 41 08             	lea    0x8(%ecx),%eax
42a4a8:	89 45 9c             	mov    %eax,-0x64(%ebp)
42a4ab:	8b cf                	mov    %edi,%ecx
42a4ad:	0f b7 00             	movzwl (%eax),%eax
42a4b0:	89 45 a0             	mov    %eax,-0x60(%ebp)
42a4b3:	0f b7 06             	movzwl (%esi),%eax
42a4b6:	8b 7d a0             	mov    -0x60(%ebp),%edi
42a4b9:	0f af f8             	imul   %eax,%edi
42a4bc:	89 7d a0             	mov    %edi,-0x60(%ebp)
42a4bf:	03 7a fc             	add    -0x4(%edx),%edi
42a4c2:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
42a4c5:	3b 7a fc             	cmp    -0x4(%edx),%edi
42a4c8:	72 05                	jb     0x42a4cf
42a4ca:	3b 7d a0             	cmp    -0x60(%ebp),%edi
42a4cd:	73 05                	jae    0x42a4d4
42a4cf:	33 c0                	xor    %eax,%eax
42a4d1:	40                   	inc    %eax
42a4d2:	eb 03                	jmp    0x42a4d7
42a4d4:	8b 45 a4             	mov    -0x5c(%ebp),%eax
42a4d7:	89 7a fc             	mov    %edi,-0x4(%edx)
42a4da:	85 c0                	test   %eax,%eax
42a4dc:	74 03                	je     0x42a4e1
42a4de:	66 ff 02             	incw   (%edx)
42a4e1:	8b 45 9c             	mov    -0x64(%ebp),%eax
42a4e4:	83 e8 02             	sub    $0x2,%eax
42a4e7:	83 c6 02             	add    $0x2,%esi
42a4ea:	49                   	dec    %ecx
42a4eb:	89 45 9c             	mov    %eax,-0x64(%ebp)
42a4ee:	85 c9                	test   %ecx,%ecx
42a4f0:	7f bb                	jg     0x42a4ad
42a4f2:	8b 4d 98             	mov    -0x68(%ebp),%ecx
42a4f5:	8b 7d 94             	mov    -0x6c(%ebp),%edi
42a4f8:	8b 45 b0             	mov    -0x50(%ebp),%eax
42a4fb:	83 c2 02             	add    $0x2,%edx
42a4fe:	40                   	inc    %eax
42a4ff:	4f                   	dec    %edi
42a500:	89 45 b0             	mov    %eax,-0x50(%ebp)
42a503:	89 7d 94             	mov    %edi,-0x6c(%ebp)
42a506:	85 ff                	test   %edi,%edi
42a508:	7f 8e                	jg     0x42a498
42a50a:	8b 75 8c             	mov    -0x74(%ebp),%esi
42a50d:	8b 55 dc             	mov    -0x24(%ebp),%edx
42a510:	8b 7d d4             	mov    -0x2c(%ebp),%edi
42a513:	81 c6 02 c0 00 00    	add    $0xc002,%esi
42a519:	89 55 a8             	mov    %edx,-0x58(%ebp)
42a51c:	66 85 f6             	test   %si,%si
42a51f:	7e 3b                	jle    0x42a55c
42a521:	85 d2                	test   %edx,%edx
42a523:	78 32                	js     0x42a557
42a525:	8b 45 d8             	mov    -0x28(%ebp),%eax
42a528:	8b c8                	mov    %eax,%ecx
42a52a:	8b d7                	mov    %edi,%edx
42a52c:	c1 ea 1f             	shr    $0x1f,%edx
42a52f:	03 c0                	add    %eax,%eax
42a531:	0b c2                	or     %edx,%eax
42a533:	8b 55 a8             	mov    -0x58(%ebp),%edx
42a536:	89 45 d8             	mov    %eax,-0x28(%ebp)
42a539:	c1 e9 1f             	shr    $0x1f,%ecx
42a53c:	03 d2                	add    %edx,%edx
42a53e:	b8 ff ff 00 00       	mov    $0xffff,%eax
42a543:	0b d1                	or     %ecx,%edx
42a545:	03 ff                	add    %edi,%edi
42a547:	03 f0                	add    %eax,%esi
42a549:	89 7d d4             	mov    %edi,-0x2c(%ebp)
42a54c:	89 55 a8             	mov    %edx,-0x58(%ebp)
42a54f:	89 55 dc             	mov    %edx,-0x24(%ebp)
42a552:	66 85 f6             	test   %si,%si