63a31b:	3b c1                	cmp    %ecx,%eax
63a31d:	73 32                	jae    0x63a351
63a31f:	2b c8                	sub    %eax,%ecx
63a321:	83 f9 04             	cmp    $0x4,%ecx
63a324:	72 30                	jb     0x63a356
63a326:	83 f9 23             	cmp    $0x23,%ecx
63a329:	77 30                	ja     0x63a35b
63a32b:	8b c8                	mov    %eax,%ecx
63a32d:	51                   	push   %ecx
63a32e:	e8 9d 61 eb ff       	call   0x4f04d0
63a333:	83 c4 04             	add    $0x4,%esp
63a336:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
63a33d:	5f                   	pop    %edi
63a33e:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
63a345:	5e                   	pop    %esi
63a346:	c3                   	ret
63a347:	e8 e3 2b fb ff       	call   0x5ecf2f
63a34c:	e8 de 2b fb ff       	call   0x5ecf2f
63a351:	e8 d9 2b fb ff       	call   0x5ecf2f
63a356:	e8 d4 2b fb ff       	call   0x5ecf2f
63a35b:	e8 cf 2b fb ff       	call   0x5ecf2f
63a360:	cc                   	int3
63a361:	cc                   	int3
63a362:	cc                   	int3
63a363:	cc                   	int3
63a364:	cc                   	int3
63a365:	cc                   	int3
63a366:	cc                   	int3
63a367:	cc                   	int3
63a368:	cc                   	int3
63a369:	cc                   	int3
63a36a:	cc                   	int3
63a36b:	cc                   	int3
63a36c:	cc                   	int3
63a36d:	cc                   	int3
63a36e:	cc                   	int3
63a36f:	cc                   	int3
63a370:	55                   	push   %ebp
63a371:	8b ec                	mov    %esp,%ebp
63a373:	8b 45 08             	mov    0x8(%ebp),%eax
63a376:	85 c0                	test   %eax,%eax
63a378:	75 04                	jne    0x63a37e
63a37a:	5d                   	pop    %ebp
63a37b:	c2 04 00             	ret    $0x4
63a37e:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
63a383:	77 3c                	ja     0x63a3c1
63a385:	c1 e0 02             	shl    $0x2,%eax
63a388:	3d 00 10 00 00       	cmp    $0x1000,%eax
63a38d:	72 23                	jb     0x63a3b2
63a38f:	8d 48 23             	lea    0x23(%eax),%ecx
63a392:	3b c8                	cmp    %eax,%ecx
63a394:	76 30                	jbe    0x63a3c6
63a396:	51                   	push   %ecx
63a397:	e8 a6 6c fa ff       	call   0x5e1042
63a39c:	8b c8                	mov    %eax,%ecx
63a39e:	83 c4 04             	add    $0x4,%esp
63a3a1:	85 c9                	test   %ecx,%ecx
63a3a3:	74 26                	je     0x63a3cb
63a3a5:	8d 41 23             	lea    0x23(%ecx),%eax
63a3a8:	83 e0 e0             	and    $0xffffffe0,%eax
63a3ab:	89 48 fc             	mov    %ecx,-0x4(%eax)
63a3ae:	5d                   	pop    %ebp
63a3af:	c2 04 00             	ret    $0x4
63a3b2:	50                   	push   %eax
63a3b3:	e8 8a 6c fa ff       	call   0x5e1042
63a3b8:	83 c4 04             	add    $0x4,%esp
63a3bb:	85 c0                	test   %eax,%eax
63a3bd:	75 bb                	jne    0x63a37a
63a3bf:	eb 0f                	jmp    0x63a3d0
63a3c1:	e8 87 3f f9 ff       	call   0x5ce34d
63a3c6:	e8 82 3f f9 ff       	call   0x5ce34d
63a3cb:	e8 5f 2b fb ff       	call   0x5ecf2f
63a3d0:	e8 5a 2b fb ff       	call   0x5ecf2f
63a3d5:	cc                   	int3
63a3d6:	cc                   	int3
63a3d7:	cc                   	int3
63a3d8:	cc                   	int3
63a3d9:	cc                   	int3
63a3da:	cc                   	int3
63a3db:	cc                   	int3
63a3dc:	cc                   	int3
63a3dd:	cc                   	int3
63a3de:	cc                   	int3
63a3df:	cc                   	int3
63a3e0:	55                   	push   %ebp
63a3e1:	8b ec                	mov    %esp,%ebp
63a3e3:	6a 00                	push   $0x0
63a3e5:	ff 75 08             	push   0x8(%ebp)
63a3e8:	6a 00                	push   $0x0
63a3ea:	ff 15 0c 24 68 00    	call   *0x68240c
63a3f0:	85 c0                	test   %eax,%eax
63a3f2:	74 40                	je     0x63a434
63a3f4:	3d b7 00 00 00       	cmp    $0xb7,%eax
63a3f9:	74 39                	je     0x63a434
63a3fb:	83 f8 50             	cmp    $0x50,%eax
63a3fe:	74 34                	je     0x63a434
63a400:	56                   	push   %esi
63a401:	57                   	push   %edi
63a402:	ff 15 e0 21 68 00    	call   *0x6821e0
63a408:	8b 4d 0c             	mov    0xc(%ebp),%ecx
63a40b:	89 01                	mov    %eax,(%ecx)
63a40d:	e8 ce bf ff ff       	call   0x6363e0
63a412:	8b f0                	mov    %eax,%esi
63a414:	8b 3e                	mov    (%esi),%edi
63a416:	ff 15 e0 21 68 00    	call   *0x6821e0
63a41c:	50                   	push   %eax
63a41d:	68 a8 fc 6d 00       	push   $0x6dfca8
63a422:	68 fc 56 6e 00       	push   $0x6e56fc
63a427:	56                   	push   %esi
63a428:	ff 57 24             	call   *0x24(%edi)
63a42b:	83 c4 10             	add    $0x10,%esp
63a42e:	32 c0                	xor    %al,%al
63a430:	5f                   	pop    %edi
63a431:	5e                   	pop    %esi
63a432:	5d                   	pop    %ebp
63a433:	c3                   	ret
63a434:	b0 01                	mov    $0x1,%al
63a436:	5d                   	pop    %ebp
63a437:	c3                   	ret
63a438:	cc                   	int3
63a439:	cc                   	int3
63a43a:	cc                   	int3
63a43b:	cc                   	int3
63a43c:	cc                   	int3
63a43d:	cc                   	int3
63a43e:	cc                   	int3
63a43f:	cc                   	int3
63a440:	55                   	push   %ebp
63a441:	8b ec                	mov    %esp,%ebp
63a443:	6a 00                	push   $0x0
63a445:	68 80 00 00 00       	push   $0x80
63a44a:	6a 02                	push   $0x2
63a44c:	6a 00                	push   $0x0
63a44e:	6a 01                	push   $0x1
63a450:	68 00 00 00 40       	push   $0x40000000
63a455:	ff 75 08             	push   0x8(%ebp)
63a458:	ff 15 f0 21 68 00    	call   *0x6821f0
63a45e:	83 f8 ff             	cmp    $0xffffffff,%eax
63a461:	75 37                	jne    0x63a49a
63a463:	53                   	push   %ebx
63a464:	57                   	push   %edi
63a465:	ff 15 e0 21 68 00    	call   *0x6821e0
63a46b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
63a46e:	89 01                	mov    %eax,(%ecx)
63a470:	e8 6b bf ff ff       	call   0x6363e0
63a475:	8b f8                	mov    %eax,%edi
63a477:	8b 1f                	mov    (%edi),%ebx
63a479:	ff 15 e0 21 68 00    	call   *0x6821e0
63a47f:	50                   	push   %eax
63a480:	ff 75 08             	push   0x8(%ebp)
63a483:	68 40 f9 6d 00       	push   $0x6df940
63a488:	68 fc 56 6e 00       	push   $0x6e56fc
63a48d:	57                   	push   %edi
63a48e:	ff 53 24             	call   *0x24(%ebx)
63a491:	83 c4 14             	add    $0x14,%esp
63a494:	32 c0                	xor    %al,%al
63a496:	5f                   	pop    %edi
63a497:	5b                   	pop    %ebx
63a498:	5d                   	pop    %ebp
63a499:	c3                   	ret
63a49a:	50                   	push   %eax
63a49b:	ff 15 e4 21 68 00    	call   *0x6821e4
63a4a1:	b0 01                	mov    $0x1,%al
63a4a3:	5d                   	pop    %ebp
63a4a4:	c3                   	ret
63a4a5:	cc                   	int3
63a4a6:	cc                   	int3
63a4a7:	cc                   	int3
63a4a8:	cc                   	int3
63a4a9:	cc                   	int3
63a4aa:	cc                   	int3
63a4ab:	cc                   	int3
63a4ac:	cc                   	int3
63a4ad:	cc                   	int3
63a4ae:	cc                   	int3
63a4af:	cc                   	int3
63a4b0:	55                   	push   %ebp
63a4b1:	8b ec                	mov    %esp,%ebp
63a4b3:	8b 45 0c             	mov    0xc(%ebp),%eax
63a4b6:	8b 4d 08             	mov    0x8(%ebp),%ecx
63a4b9:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
63a4be:	77 31                	ja     0x63a4f1
63a4c0:	c1 e0 02             	shl    $0x2,%eax
63a4c3:	3d 00 10 00 00       	cmp    $0x1000,%eax
63a4c8:	72 1a                	jb     0x63a4e4
63a4ca:	f6 c1 1f             	test   $0x1f,%cl
63a4cd:	75 27                	jne    0x63a4f6
63a4cf:	8b 41 fc             	mov    -0x4(%ecx),%eax
63a4d2:	3b c1                	cmp    %ecx,%eax
63a4d4:	73 25                	jae    0x63a4fb
63a4d6:	2b c8                	sub    %eax,%ecx
63a4d8:	83 f9 04             	cmp    $0x4,%ecx
63a4db:	72 23                	jb     0x63a500
63a4dd:	83 f9 23             	cmp    $0x23,%ecx
63a4e0:	77 23                	ja     0x63a505
63a4e2:	8b c8                	mov    %eax,%ecx
63a4e4:	51                   	push   %ecx
63a4e5:	e8 e6 5f eb ff       	call   0x4f04d0
63a4ea:	83 c4 04             	add    $0x4,%esp
63a4ed:	5d                   	pop    %ebp
63a4ee:	c2 08 00             	ret    $0x8
63a4f1:	e8 39 2a fb ff       	call   0x5ecf2f
63a4f6:	e8 34 2a fb ff       	call   0x5ecf2f
63a4fb:	e8 2f 2a fb ff       	call   0x5ecf2f
63a500:	e8 2a 2a fb ff       	call   0x5ecf2f
63a505:	e8 25 2a fb ff       	call   0x5ecf2f
63a50a:	cc                   	int3
63a50b:	cc                   	int3
63a50c:	cc                   	int3
63a50d:	cc                   	int3
63a50e:	cc                   	int3
63a50f:	cc                   	int3
63a510:	55                   	push   %ebp
63a511:	8b ec                	mov    %esp,%ebp
63a513:	8b 45 0c             	mov    0xc(%ebp),%eax
63a516:	8b 4d 08             	mov    0x8(%ebp),%ecx
63a519:	3d ff ff ff 1f       	cmp    $0x1fffffff,%eax
63a51e:	77 31                	ja     0x63a551
63a520:	c1 e0 03             	shl    $0x3,%eax
63a523:	3d 00 10 00 00       	cmp    $0x1000,%eax
63a528:	72 1a                	jb     0x63a544
63a52a:	f6 c1 1f             	test   $0x1f,%cl
63a52d:	75 27                	jne    0x63a556
63a52f:	8b 41 fc             	mov    -0x4(%ecx),%eax
63a532:	3b c1                	cmp    %ecx,%eax
63a534:	73 25                	jae    0x63a55b
63a536:	2b c8                	sub    %eax,%ecx
63a538:	83 f9 04             	cmp    $0x4,%ecx
63a53b:	72 23                	jb     0x63a560
63a53d:	83 f9 23             	cmp    $0x23,%ecx
63a540:	77 23                	ja     0x63a565
63a542:	8b c8                	mov    %eax,%ecx
63a544:	51                   	push   %ecx
63a545:	e8 86 5f eb ff       	call   0x4f04d0
63a54a:	83 c4 04             	add    $0x4,%esp
63a54d:	5d                   	pop    %ebp
63a54e:	c2 08 00             	ret    $0x8
63a551:	e8 d9 29 fb ff       	call   0x5ecf2f
63a556:	e8 d4 29 fb ff       	call   0x5ecf2f
63a55b:	e8 cf 29 fb ff       	call   0x5ecf2f
63a560:	e8 ca 29 fb ff       	call   0x5ecf2f
63a565:	e8 c5 29 fb ff       	call   0x5ecf2f
63a56a:	cc                   	int3
63a56b:	cc                   	int3
63a56c:	cc                   	int3
63a56d:	cc                   	int3
63a56e:	cc                   	int3
63a56f:	cc                   	int3
63a570:	55                   	push   %ebp
63a571:	8b ec                	mov    %esp,%ebp
63a573:	6a ff                	push   $0xffffffff
63a575:	68 a8 40 66 00       	push   $0x6640a8
63a57a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
63a580:	50                   	push   %eax
63a581:	81 ec 1c 03 00 00    	sub    $0x31c,%esp
63a587:	a1 d4 89 72 00       	mov    0x7289d4,%eax
63a58c:	33 c5                	xor    %ebp,%eax
63a58e:	89 45 f0             	mov    %eax,-0x10(%ebp)
63a591:	53                   	push   %ebx
63a592:	56                   	push   %esi
63a593:	57                   	push   %edi
63a594:	50                   	push   %eax
63a595:	8d 45 f4             	lea    -0xc(%ebp),%eax
63a598:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
63a59e:	8b 45 0c             	mov    0xc(%ebp),%eax
63a5a1:	8b 7d 08             	mov    0x8(%ebp),%edi
63a5a4:	89 85 0c fd ff ff    	mov    %eax,-0x2f4(%ebp)
63a5aa:	33 c0                	xor    %eax,%eax
63a5ac:	c7 45 bc 07 00 00 00 	movl   $0x7,-0x44(%ebp)
63a5b3:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
63a5ba:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
63a5be:	6a 08                	push   $0x8
63a5c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
63a5c3:	89 85 14 fd ff ff    	mov    %eax,-0x2ec(%ebp)
63a5c9:	89 85 18 fd ff ff    	mov    %eax,-0x2e8(%ebp)
63a5cf:	89 85 1c fd ff ff    	mov    %eax,-0x2e4(%ebp)
63a5d5:	89 85 20 fd ff ff    	mov    %eax,-0x2e0(%ebp)
63a5db:	89 85 24 fd ff ff    	mov    %eax,-0x2dc(%ebp)
63a5e1:	e8 5c 6a fa ff       	call   0x5e1042
63a5e6:	83 c4 04             	add    $0x4,%esp
63a5e9:	85 c0                	test   %eax,%eax
63a5eb:	75 05                	jne    0x63a5f2
63a5ed:	e8 3d 29 fb ff       	call   0x5ecf2f
63a5f2:	89 85 14 fd ff ff    	mov    %eax,-0x2ec(%ebp)
63a5f8:	8d 8d 14 fd ff ff    	lea    -0x2ec(%ebp),%ecx
63a5fe:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
63a604:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
63a60b:	8b 85 14 fd ff ff    	mov    -0x2ec(%ebp),%eax
63a611:	89 08                	mov    %ecx,(%eax)
63a613:	33 f6                	xor    %esi,%esi
63a615:	89 b5 f0 fc ff ff    	mov    %esi,-0x310(%ebp)
63a61b:	89 b5 f4 fc ff ff    	mov    %esi,-0x30c(%ebp)
63a621:	89 b5 f8 fc ff ff    	mov    %esi,-0x308(%ebp)
63a627:	89 b5 00 fd ff ff    	mov    %esi,-0x300(%ebp)
63a62d:	89 b5 04 fd ff ff    	mov    %esi,-0x2fc(%ebp)
63a633:	89 b5 08 fd ff ff    	mov    %esi,-0x2f8(%ebp)
63a639:	57                   	push   %edi
63a63a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
63a63e:	e8 bd 0b 00 00       	call   0x63b200
63a643:	83 c4 04             	add    $0x4,%esp
63a646:	84 c0                	test   %al,%al
63a648:	75 07                	jne    0x63a651
63a64a:	32 db                	xor    %bl,%bl
63a64c:	e9 a9 06 00 00       	jmp    0x63acfa
63a651:	33 c0                	xor    %eax,%eax
63a653:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
63a65a:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
63a661:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
63a665:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
63a669:	66 39 07             	cmp    %ax,(%edi)
63a66c:	75 04                	jne    0x63a672
63a66e:	33 c9                	xor    %ecx,%ecx
63a670:	eb 14                	jmp    0x63a686
63a672:	8b cf                	mov    %edi,%ecx
63a674:	8d 51 02             	lea    0x2(%ecx),%edx
63a677:	66 8b 01             	mov    (%ecx),%ax
63a67a:	83 c1 02             	add    $0x2,%ecx
63a67d:	66 85 c0             	test   %ax,%ax
63a680:	75 f5                	jne    0x63a677
63a682:	2b ca                	sub    %edx,%ecx
63a684:	d1 f9                	sar    $1,%ecx
63a686:	51                   	push   %ecx
63a687:	57                   	push   %edi
63a688:	8d 4d c0             	lea    -0x40(%ebp),%ecx
63a68b:	e8 60 e1 df ff       	call   0x4387f0
63a690:	8d 45 c0             	lea    -0x40(%ebp),%eax
63a693:	50                   	push   %eax
63a694:	8d 8d 14 fd ff ff    	lea    -0x2ec(%ebp),%ecx
63a69a:	e8 d1 0c 00 00       	call   0x63b370
63a69f:	8d 85 f0 fc ff ff    	lea    -0x310(%ebp),%eax
63a6a5:	50                   	push   %eax
63a6a6:	6a 00                	push   $0x0
63a6a8:	6a 00                	push   $0x0
63a6aa:	e8 d1 f5 ff ff       	call   0x639c80
63a6af:	8d 85 00 fd ff ff    	lea    -0x300(%ebp),%eax
63a6b5:	33 ff                	xor    %edi,%edi
63a6b7:	50                   	push   %eax
63a6b8:	57                   	push   %edi
63a6b9:	57                   	push   %edi
63a6ba:	89 bd f4 fc ff ff    	mov    %edi,-0x30c(%ebp)
63a6c0:	e8 bb f5 ff ff       	call   0x639c80
63a6c5:	83 c4 18             	add    $0x18,%esp
63a6c8:	89 bd 04 fd ff ff    	mov    %edi,-0x2fc(%ebp)
63a6ce:	8d 45 c0             	lea    -0x40(%ebp),%eax
63a6d1:	8d 8d 00 fd ff ff    	lea    -0x300(%ebp),%ecx
63a6d7:	50                   	push   %eax
63a6d8:	e8 b4 ad e9 ff       	call   0x4d5491
63a6dd:	39 bd 24 fd ff ff    	cmp    %edi,-0x2dc(%ebp)
63a6e3:	0f 94 c0             	sete   %al
63a6e6:	84 c0                	test   %al,%al