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
42a555:	7f ca                	jg     0x42a521
42a557:	66 85 f6             	test   %si,%si
42a55a:	7f 69                	jg     0x42a5c5
42a55c:	b8 ff ff 00 00       	mov    $0xffff,%eax
42a561:	03 f0                	add    %eax,%esi
42a563:	66 85 f6             	test   %si,%si
42a566:	79 5d                	jns    0x42a5c5
42a568:	8b 5d ac             	mov    -0x54(%ebp),%ebx
42a56b:	8b c6                	mov    %esi,%eax
42a56d:	f7 d8                	neg    %eax
42a56f:	0f b7 c0             	movzwl %ax,%eax
42a572:	89 45 a0             	mov    %eax,-0x60(%ebp)
42a575:	03 f0                	add    %eax,%esi
42a577:	f6 45 d4 01          	testb  $0x1,-0x2c(%ebp)
42a57b:	74 01                	je     0x42a57e
42a57d:	43                   	inc    %ebx
42a57e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
42a581:	8b c2                	mov    %edx,%eax
42a583:	c1 e0 1f             	shl    $0x1f,%eax
42a586:	89 4d b0             	mov    %ecx,-0x50(%ebp)
42a589:	d1 6d b0             	shrl   $1,-0x50(%ebp)
42a58c:	09 45 b0             	or     %eax,-0x50(%ebp)
42a58f:	8b 45 b0             	mov    -0x50(%ebp),%eax
42a592:	c1 e1 1f             	shl    $0x1f,%ecx
42a595:	d1 ef                	shr    $1,%edi
42a597:	d1 ea                	shr    $1,%edx
42a599:	0b f9                	or     %ecx,%edi
42a59b:	ff 4d a0             	decl   -0x60(%ebp)
42a59e:	89 55 dc             	mov    %edx,-0x24(%ebp)
42a5a1:	89 45 d8             	mov    %eax,-0x28(%ebp)
42a5a4:	89 7d d4             	mov    %edi,-0x2c(%ebp)
42a5a7:	75 ce                	jne    0x42a577
42a5a9:	6a 00                	push   $0x0
42a5ab:	85 db                	test   %ebx,%ebx
42a5ad:	89 55 a8             	mov    %edx,-0x58(%ebp)
42a5b0:	5b                   	pop    %ebx
42a5b1:	74 12                	je     0x42a5c5
42a5b3:	33 c9                	xor    %ecx,%ecx
42a5b5:	66 8b c7             	mov    %di,%ax
42a5b8:	41                   	inc    %ecx
42a5b9:	66 0b c1             	or     %cx,%ax
42a5bc:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
42a5c0:	8b 7d d4             	mov    -0x2c(%ebp),%edi
42a5c3:	eb 04                	jmp    0x42a5c9
42a5c5:	66 8b 45 d4          	mov    -0x2c(%ebp),%ax
42a5c9:	ba 00 80 00 00       	mov    $0x8000,%edx
42a5ce:	66 3b c2             	cmp    %dx,%ax
42a5d1:	77 0e                	ja     0x42a5e1
42a5d3:	81 e7 ff ff 01 00    	and    $0x1ffff,%edi
42a5d9:	81 ff 00 80 01 00    	cmp    $0x18000,%edi
42a5df:	75 40                	jne    0x42a621
42a5e1:	8b 45 d6             	mov    -0x2a(%ebp),%eax
42a5e4:	83 f8 ff             	cmp    $0xffffffff,%eax
42a5e7:	75 34                	jne    0x42a61d
42a5e9:	8b 45 da             	mov    -0x26(%ebp),%eax
42a5ec:	89 5d d6             	mov    %ebx,-0x2a(%ebp)
42a5ef:	83 f8 ff             	cmp    $0xffffffff,%eax
42a5f2:	75 20                	jne    0x42a614
42a5f4:	66 8b 45 de          	mov    -0x22(%ebp),%ax
42a5f8:	b9 ff ff 00 00       	mov    $0xffff,%ecx
42a5fd:	89 5d da             	mov    %ebx,-0x26(%ebp)
42a600:	66 3b c1             	cmp    %cx,%ax
42a603:	75 07                	jne    0x42a60c
42a605:	66 89 55 de          	mov    %dx,-0x22(%ebp)
42a609:	46                   	inc    %esi
42a60a:	eb 0c                	jmp    0x42a618
42a60c:	66 40                	inc    %ax
42a60e:	66 89 45 de          	mov    %ax,-0x22(%ebp)
42a612:	eb 04                	jmp    0x42a618
42a614:	40                   	inc    %eax
42a615:	89 45 da             	mov    %eax,-0x26(%ebp)
42a618:	8b 4d dc             	mov    -0x24(%ebp),%ecx
42a61b:	eb 07                	jmp    0x42a624
42a61d:	40                   	inc    %eax
42a61e:	89 45 d6             	mov    %eax,-0x2a(%ebp)
42a621:	8b 4d a8             	mov    -0x58(%ebp),%ecx
42a624:	8b 7d 88             	mov    -0x78(%ebp),%edi
42a627:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
42a62c:	66 3b f0             	cmp    %ax,%si
42a62f:	73 1a                	jae    0x42a64b
42a631:	66 8b 45 d6          	mov    -0x2a(%ebp),%ax
42a635:	0b 75 90             	or     -0x70(%ebp),%esi
42a638:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
42a63c:	8b 45 d8             	mov    -0x28(%ebp),%eax
42a63f:	89 45 c6             	mov    %eax,-0x3a(%ebp)
42a642:	89 4d ca             	mov    %ecx,-0x36(%ebp)
42a645:	66 89 75 ce          	mov    %si,-0x32(%ebp)
42a649:	eb 1d                	jmp    0x42a668
42a64b:	33 c0                	xor    %eax,%eax
42a64d:	66 39 45 90          	cmp    %ax,-0x70(%ebp)
42a651:	0f 94 c0             	sete   %al
42a654:	48                   	dec    %eax
42a655:	25 00 00 00 80       	and    $0x80000000,%eax
42a65a:	05 00 80 ff 7f       	add    $0x7fff8000,%eax
42a65f:	89 45 cc             	mov    %eax,-0x34(%ebp)
42a662:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
42a665:	89 5d c8             	mov    %ebx,-0x38(%ebp)
42a668:	8b 45 b4             	mov    -0x4c(%ebp),%eax
42a66b:	85 ff                	test   %edi,%edi
42a66d:	0f 85 21 fd ff ff    	jne    0x42a394
42a673:	8b 45 cc             	mov    -0x34(%ebp),%eax
42a676:	0f b7 4d c4          	movzwl -0x3c(%ebp),%ecx
42a67a:	8b 55 c6             	mov    -0x3a(%ebp),%edx
42a67d:	8b 75 ca             	mov    -0x36(%ebp),%esi
42a680:	c1 e8 10             	shr    $0x10,%eax
42a683:	eb 30                	jmp    0x42a6b5
42a685:	8b cb                	mov    %ebx,%ecx
42a687:	8b c3                	mov    %ebx,%eax
42a689:	8b f3                	mov    %ebx,%esi
42a68b:	8b d3                	mov    %ebx,%edx
42a68d:	33 db                	xor    %ebx,%ebx
42a68f:	43                   	inc    %ebx
42a690:	eb 23                	jmp    0x42a6b5
42a692:	b8 ff 7f 00 00       	mov    $0x7fff,%eax
42a697:	be 00 00 00 80       	mov    $0x80000000,%esi
42a69c:	6a 02                	push   $0x2
42a69e:	eb 10                	jmp    0x42a6b0
42a6a0:	8b cb                	mov    %ebx,%ecx
42a6a2:	8b c3                	mov    %ebx,%eax
42a6a4:	8b f3                	mov    %ebx,%esi
42a6a6:	8b d3                	mov    %ebx,%edx
42a6a8:	eb 0b                	jmp    0x42a6b5
42a6aa:	8b c3                	mov    %ebx,%eax
42a6ac:	8b f3                	mov    %ebx,%esi
42a6ae:	6a 04                	push   $0x4
42a6b0:	8b cb                	mov    %ebx,%ecx
42a6b2:	8b d3                	mov    %ebx,%edx
42a6b4:	5b                   	pop    %ebx
42a6b5:	8b bd 7c ff ff ff    	mov    -0x84(%ebp),%edi
42a6bb:	0b 45 80             	or     -0x80(%ebp),%eax
42a6be:	66 89 0f             	mov    %cx,(%edi)
42a6c1:	66 89 47 0a          	mov    %ax,0xa(%edi)
42a6c5:	89 57 02             	mov    %edx,0x2(%edi)
42a6c8:	89 77 06             	mov    %esi,0x6(%edi)
42a6cb:	8b c3                	mov    %ebx,%eax
42a6cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42a6d0:	5f                   	pop    %edi
42a6d1:	5e                   	pop    %esi
42a6d2:	33 cd                	xor    %ebp,%ecx
42a6d4:	5b                   	pop    %ebx
42a6d5:	e8 32 00 00 00       	call   0x42a70c
42a6da:	c9                   	leave
42a6db:	c3                   	ret
42a6dc:	95                   	xchg   %eax,%ebp
42a6dd:	9f                   	lahf
42a6de:	42                   	inc    %edx
42a6df:	00 ee                	add    %ch,%dh
42a6e1:	9f                   	lahf
42a6e2:	42                   	inc    %edx
42a6e3:	00 56 a0             	add    %dl,-0x60(%esi)
42a6e6:	42                   	inc    %edx
42a6e7:	00 9b a0 42 00 0d    	add    %bl,0xd0042a0(%ebx)
42a6ed:	a1 42 00 9b a1       	mov    0xa19b0042,%eax
42a6f2:	42                   	inc    %edx
42a6f3:	00 b7 a1 42 00 25    	add    %dh,0x250042a1(%edi)
42a6f9:	a2 42 00 fe a1       	mov    %al,0xa1fe0042
42a6fe:	42                   	inc    %edx
42a6ff:	00 79 a2             	add    %bh,-0x5e(%ecx)
42a702:	42                   	inc    %edx
42a703:	00 5f a2             	add    %bl,-0x5e(%edi)
42a706:	42                   	inc    %edx
42a707:	00 36                	add    %dh,(%esi)
42a709:	a2 42 00 3b 0d       	mov    %al,0xd3b0042
42a70e:	c0 ad 4b 00 75 02 f3 	shrb   $0xf3,0x275004b(%ebp)
42a715:	c3                   	ret
42a716:	e9 81 90 00 00       	jmp    0x43379c
42a71b:	55                   	push   %ebp
42a71c:	8b ec                	mov    %esp,%ebp
42a71e:	e8 0f 00 00 00       	call   0x42a732
42a723:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42a727:	74 05                	je     0x42a72e
42a729:	e8 2f b1 00 00       	call   0x43585d
42a72e:	db e2                	fnclex
42a730:	5d                   	pop    %ebp
42a731:	c3                   	ret