46a2ea:	b8 00 00 03 d0       	mov    $0xd0030000,%eax
46a2ef:	23 d8                	and    %eax,%ebx
46a2f1:	3b d8                	cmp    %eax,%ebx
46a2f3:	75 1e                	jne    0x46a313
46a2f5:	8b 45 ec             	mov    -0x14(%ebp),%eax
46a2f8:	ba e0 00 00 00       	mov    $0xe0,%edx
46a2fd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
46a300:	23 c2                	and    %edx,%eax
46a302:	3b c2                	cmp    %edx,%eax
46a304:	75 0d                	jne    0x46a313
46a306:	83 0d 1c 40 4c 00 40 	orl    $0x40,0x4c401c
46a30d:	89 35 fc 82 4c 00    	mov    %esi,0x4c82fc
46a313:	5f                   	pop    %edi
46a314:	5e                   	pop    %esi
46a315:	5b                   	pop    %ebx
46a316:	33 c0                	xor    %eax,%eax
46a318:	c9                   	leave
46a319:	c3                   	ret
46a31a:	cc                   	int3
46a31b:	cc                   	int3
46a31c:	cc                   	int3
46a31d:	cc                   	int3
46a31e:	cc                   	int3
46a31f:	cc                   	int3
46a320:	8b 44 24 08          	mov    0x8(%esp),%eax
46a324:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46a328:	0b c8                	or     %eax,%ecx
46a32a:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
46a32e:	75 09                	jne    0x46a339
46a330:	8b 44 24 04          	mov    0x4(%esp),%eax
46a334:	f7 e1                	mul    %ecx
46a336:	c2 10 00             	ret    $0x10
46a339:	53                   	push   %ebx
46a33a:	f7 e1                	mul    %ecx
46a33c:	8b d8                	mov    %eax,%ebx
46a33e:	8b 44 24 08          	mov    0x8(%esp),%eax
46a342:	f7 64 24 14          	mull   0x14(%esp)
46a346:	03 d8                	add    %eax,%ebx
46a348:	8b 44 24 08          	mov    0x8(%esp),%eax
46a34c:	f7 e1                	mul    %ecx
46a34e:	03 d3                	add    %ebx,%edx
46a350:	5b                   	pop    %ebx
46a351:	c2 10 00             	ret    $0x10
46a354:	cc                   	int3
46a355:	cc                   	int3
46a356:	cc                   	int3
46a357:	cc                   	int3
46a358:	cc                   	int3
46a359:	cc                   	int3
46a35a:	cc                   	int3
46a35b:	cc                   	int3
46a35c:	cc                   	int3
46a35d:	cc                   	int3
46a35e:	cc                   	int3
46a35f:	cc                   	int3
46a360:	53                   	push   %ebx
46a361:	56                   	push   %esi
46a362:	8b 44 24 18          	mov    0x18(%esp),%eax
46a366:	0b c0                	or     %eax,%eax
46a368:	75 18                	jne    0x46a382
46a36a:	8b 4c 24 14          	mov    0x14(%esp),%ecx
46a36e:	8b 44 24 10          	mov    0x10(%esp),%eax
46a372:	33 d2                	xor    %edx,%edx
46a374:	f7 f1                	div    %ecx
46a376:	8b d8                	mov    %eax,%ebx
46a378:	8b 44 24 0c          	mov    0xc(%esp),%eax
46a37c:	f7 f1                	div    %ecx
46a37e:	8b d3                	mov    %ebx,%edx
46a380:	eb 41                	jmp    0x46a3c3
46a382:	8b c8                	mov    %eax,%ecx
46a384:	8b 5c 24 14          	mov    0x14(%esp),%ebx
46a388:	8b 54 24 10          	mov    0x10(%esp),%edx
46a38c:	8b 44 24 0c          	mov    0xc(%esp),%eax
46a390:	d1 e9                	shr    $1,%ecx
46a392:	d1 db                	rcr    $1,%ebx
46a394:	d1 ea                	shr    $1,%edx
46a396:	d1 d8                	rcr    $1,%eax
46a398:	0b c9                	or     %ecx,%ecx
46a39a:	75 f4                	jne    0x46a390
46a39c:	f7 f3                	div    %ebx
46a39e:	8b f0                	mov    %eax,%esi
46a3a0:	f7 64 24 18          	mull   0x18(%esp)
46a3a4:	8b c8                	mov    %eax,%ecx
46a3a6:	8b 44 24 14          	mov    0x14(%esp),%eax
46a3aa:	f7 e6                	mul    %esi
46a3ac:	03 d1                	add    %ecx,%edx
46a3ae:	72 0e                	jb     0x46a3be
46a3b0:	3b 54 24 10          	cmp    0x10(%esp),%edx
46a3b4:	77 08                	ja     0x46a3be
46a3b6:	72 07                	jb     0x46a3bf
46a3b8:	3b 44 24 0c          	cmp    0xc(%esp),%eax
46a3bc:	76 01                	jbe    0x46a3bf
46a3be:	4e                   	dec    %esi
46a3bf:	33 d2                	xor    %edx,%edx
46a3c1:	8b c6                	mov    %esi,%eax
46a3c3:	5e                   	pop    %esi
46a3c4:	5b                   	pop    %ebx
46a3c5:	c2 10 00             	ret    $0x10
46a3c8:	cc                   	int3
46a3c9:	cc                   	int3
46a3ca:	cc                   	int3
46a3cb:	cc                   	int3
46a3cc:	cc                   	int3
46a3cd:	cc                   	int3
46a3ce:	cc                   	int3
46a3cf:	cc                   	int3
46a3d0:	51                   	push   %ecx
46a3d1:	8d 4c 24 08          	lea    0x8(%esp),%ecx
46a3d5:	2b c8                	sub    %eax,%ecx
46a3d7:	83 e1 0f             	and    $0xf,%ecx
46a3da:	03 c1                	add    %ecx,%eax
46a3dc:	1b c9                	sbb    %ecx,%ecx
46a3de:	0b c1                	or     %ecx,%eax
46a3e0:	59                   	pop    %ecx
46a3e1:	e9 ba 03 00 00       	jmp    0x46a7a0
46a3e6:	51                   	push   %ecx
46a3e7:	8d 4c 24 08          	lea    0x8(%esp),%ecx
46a3eb:	2b c8                	sub    %eax,%ecx
46a3ed:	83 e1 07             	and    $0x7,%ecx
46a3f0:	03 c1                	add    %ecx,%eax
46a3f2:	1b c9                	sbb    %ecx,%ecx
46a3f4:	0b c1                	or     %ecx,%eax
46a3f6:	59                   	pop    %ecx
46a3f7:	e9 a4 03 00 00       	jmp    0x46a7a0
46a3fc:	55                   	push   %ebp
46a3fd:	8b ec                	mov    %esp,%ebp
46a3ff:	83 ec 14             	sub    $0x14,%esp
46a402:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
46a406:	8d 45 f4             	lea    -0xc(%ebp),%eax
46a409:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
46a40d:	50                   	push   %eax
46a40e:	ff 15 24 e2 49 00    	call   *0x49e224
46a414:	8b 45 f8             	mov    -0x8(%ebp),%eax
46a417:	33 45 f4             	xor    -0xc(%ebp),%eax
46a41a:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a41d:	ff 15 b4 e1 49 00    	call   *0x49e1b4
46a423:	31 45 fc             	xor    %eax,-0x4(%ebp)
46a426:	ff 15 84 e1 49 00    	call   *0x49e184
46a42c:	31 45 fc             	xor    %eax,-0x4(%ebp)
46a42f:	8d 45 ec             	lea    -0x14(%ebp),%eax
46a432:	50                   	push   %eax
46a433:	ff 15 20 e2 49 00    	call   *0x49e220
46a439:	8b 45 f0             	mov    -0x10(%ebp),%eax
46a43c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46a43f:	33 45 ec             	xor    -0x14(%ebp),%eax
46a442:	33 45 fc             	xor    -0x4(%ebp),%eax
46a445:	33 c1                	xor    %ecx,%eax
46a447:	c9                   	leave
46a448:	c3                   	ret
46a449:	8b 0d 14 40 4c 00    	mov    0x4c4014,%ecx
46a44f:	56                   	push   %esi
46a450:	57                   	push   %edi
46a451:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
46a456:	be 00 00 ff ff       	mov    $0xffff0000,%esi
46a45b:	3b cf                	cmp    %edi,%ecx
46a45d:	74 04                	je     0x46a463
46a45f:	85 ce                	test   %ecx,%esi
46a461:	75 26                	jne    0x46a489
46a463:	e8 94 ff ff ff       	call   0x46a3fc
46a468:	8b c8                	mov    %eax,%ecx
46a46a:	3b cf                	cmp    %edi,%ecx
46a46c:	75 07                	jne    0x46a475
46a46e:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
46a473:	eb 0e                	jmp    0x46a483
46a475:	85 ce                	test   %ecx,%esi
46a477:	75 0a                	jne    0x46a483
46a479:	0d 11 47 00 00       	or     $0x4711,%eax
46a47e:	c1 e0 10             	shl    $0x10,%eax
46a481:	0b c8                	or     %eax,%ecx
46a483:	89 0d 14 40 4c 00    	mov    %ecx,0x4c4014
46a489:	f7 d1                	not    %ecx
46a48b:	5f                   	pop    %edi
46a48c:	89 0d 18 40 4c 00    	mov    %ecx,0x4c4018
46a492:	5e                   	pop    %esi
46a493:	c3                   	ret
46a494:	cc                   	int3
46a495:	cc                   	int3
46a496:	cc                   	int3
46a497:	cc                   	int3
46a498:	cc                   	int3
46a499:	cc                   	int3
46a49a:	cc                   	int3
46a49b:	cc                   	int3
46a49c:	cc                   	int3
46a49d:	cc                   	int3
46a49e:	cc                   	int3
46a49f:	cc                   	int3
46a4a0:	33 c0                	xor    %eax,%eax
46a4a2:	40                   	inc    %eax
46a4a3:	c3                   	ret
46a4a4:	b8 00 40 00 00       	mov    $0x4000,%eax
46a4a9:	c3                   	ret
46a4aa:	68 00 00 03 00       	push   $0x30000
46a4af:	68 00 00 01 00       	push   $0x10000
46a4b4:	6a 00                	push   $0x0
46a4b6:	e8 35 b2 01 00       	call   0x4856f0
46a4bb:	83 c4 0c             	add    $0xc,%esp
46a4be:	85 c0                	test   %eax,%eax
46a4c0:	75 01                	jne    0x46a4c3
46a4c2:	c3                   	ret
46a4c3:	6a 07                	push   $0x7
46a4c5:	e8 3c 00 00 00       	call   0x46a506
46a4ca:	cc                   	int3
46a4cb:	b8 08 83 4c 00       	mov    $0x4c8308,%eax
46a4d0:	c3                   	ret
46a4d1:	e8 6a 6d f9 ff       	call   0x401240
46a4d6:	8b 48 04             	mov    0x4(%eax),%ecx
46a4d9:	83 08 24             	orl    $0x24,(%eax)
46a4dc:	89 48 04             	mov    %ecx,0x4(%eax)
46a4df:	e8 e7 ff ff ff       	call   0x46a4cb
46a4e4:	8b 48 04             	mov    0x4(%eax),%ecx
46a4e7:	83 08 02             	orl    $0x2,(%eax)
46a4ea:	89 48 04             	mov    %ecx,0x4(%eax)
46a4ed:	c3                   	ret
46a4ee:	33 c0                	xor    %eax,%eax
46a4f0:	39 05 30 40 4c 00    	cmp    %eax,0x4c4030
46a4f6:	0f 94 c0             	sete   %al
46a4f9:	c3                   	ret
46a4fa:	b8 2c 9f 4c 00       	mov    $0x4c9f2c,%eax
46a4ff:	c3                   	ret
46a500:	b8 28 9f 4c 00       	mov    $0x4c9f28,%eax
46a505:	c3                   	ret
46a506:	55                   	push   %ebp
46a507:	8b ec                	mov    %esp,%ebp
46a509:	81 ec 24 03 00 00    	sub    $0x324,%esp
46a50f:	53                   	push   %ebx
46a510:	6a 17                	push   $0x17
46a512:	ff 15 1c e2 49 00    	call   *0x49e21c
46a518:	85 c0                	test   %eax,%eax
46a51a:	74 05                	je     0x46a521
46a51c:	8b 4d 08             	mov    0x8(%ebp),%ecx
46a51f:	cd 29                	int    $0x29
46a521:	6a 03                	push   $0x3
46a523:	e8 ae 01 00 00       	call   0x46a6d6
46a528:	c7 04 24 cc 02 00 00 	movl   $0x2cc,(%esp)
46a52f:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
46a535:	6a 00                	push   $0x0
46a537:	50                   	push   %eax
46a538:	e8 73 16 00 00       	call   0x46bbb0
46a53d:	83 c4 0c             	add    $0xc,%esp
46a540:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
46a546:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
46a54c:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
46a552:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
46a558:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
46a55e:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
46a564:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
46a56b:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
46a572:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
46a579:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
46a580:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
46a587:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
46a58e:	9c                   	pushf
46a58f:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
46a595:	8b 45 04             	mov    0x4(%ebp),%eax
46a598:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
46a59e:	8d 45 04             	lea    0x4(%ebp),%eax
46a5a1:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
46a5a7:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
46a5ae:	00 01 00
46a5b1:	8b 40 fc             	mov    -0x4(%eax),%eax
46a5b4:	6a 50                	push   $0x50
46a5b6:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
46a5bc:	8d 45 a8             	lea    -0x58(%ebp),%eax
46a5bf:	6a 00                	push   $0x0
46a5c1:	50                   	push   %eax
46a5c2:	e8 e9 15 00 00       	call   0x46bbb0
46a5c7:	8b 45 04             	mov    0x4(%ebp),%eax
46a5ca:	83 c4 0c             	add    $0xc,%esp
46a5cd:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
46a5d4:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
46a5db:	89 45 b4             	mov    %eax,-0x4c(%ebp)
46a5de:	ff 15 28 e2 49 00    	call   *0x49e228
46a5e4:	6a 00                	push   $0x0
46a5e6:	8d 58 ff             	lea    -0x1(%eax),%ebx
46a5e9:	f7 db                	neg    %ebx
46a5eb:	8d 45 a8             	lea    -0x58(%ebp),%eax
46a5ee:	89 45 f8             	mov    %eax,-0x8(%ebp)
46a5f1:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
46a5f7:	1a db                	sbb    %bl,%bl
46a5f9:	89 45 fc             	mov    %eax,-0x4(%ebp)
46a5fc:	fe c3                	inc    %bl
46a5fe:	ff 15 18 e2 49 00    	call   *0x49e218
46a604:	8d 45 f8             	lea    -0x8(%ebp),%eax
46a607:	50                   	push   %eax
46a608:	ff 15 14 e2 49 00    	call   *0x49e214
46a60e:	85 c0                	test   %eax,%eax
46a610:	75 0c                	jne    0x46a61e
46a612:	84 db                	test   %bl,%bl
46a614:	75 08                	jne    0x46a61e
46a616:	6a 03                	push   $0x3
46a618:	e8 b9 00 00 00       	call   0x46a6d6
46a61d:	59                   	pop    %ecx
46a61e:	5b                   	pop    %ebx
46a61f:	c9                   	leave
46a620:	c3                   	ret
46a621:	e9 0a 22 fa ff       	jmp    0x40c830
46a626:	6a 00                	push   $0x0
46a628:	ff 15 88 e1 49 00    	call   *0x49e188
46a62e:	85 c0                	test   %eax,%eax
46a630:	74 33                	je     0x46a665
46a632:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
46a637:	66 39 08             	cmp    %cx,(%eax)
46a63a:	75 29                	jne    0x46a665
46a63c:	8b 48 3c             	mov    0x3c(%eax),%ecx
46a63f:	03 c8                	add    %eax,%ecx
46a641:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
46a647:	75 1c                	jne    0x46a665
46a649:	b8 0b 01 00 00       	mov    $0x10b,%eax
46a64e:	66 39 41 18          	cmp    %ax,0x18(%ecx)
46a652:	75 11                	jne    0x46a665
46a654:	83 79 74 0e          	cmpl   $0xe,0x74(%ecx)
46a658:	76 0b                	jbe    0x46a665
46a65a:	83 b9 e8 00 00 00 00 	cmpl   $0x0,0xe8(%ecx)
46a661:	0f 95 c0             	setne  %al
46a664:	c3                   	ret
46a665:	32 c0                	xor    %al,%al
46a667:	c3                   	ret
46a668:	68 80 a6 46 00       	push   $0x46a680
46a66d:	ff 15 18 e2 49 00    	call   *0x49e218
46a673:	c3                   	ret
46a674:	cc                   	int3
46a675:	cc                   	int3
46a676:	cc                   	int3
46a677:	cc                   	int3
46a678:	cc                   	int3
46a679:	cc                   	int3
46a67a:	cc                   	int3
46a67b:	cc                   	int3
46a67c:	cc                   	int3
46a67d:	cc                   	int3
46a67e:	cc                   	int3
46a67f:	cc                   	int3
46a680:	55                   	push   %ebp
46a681:	8b ec                	mov    %esp,%ebp
46a683:	56                   	push   %esi
46a684:	57                   	push   %edi
46a685:	8b 7d 08             	mov    0x8(%ebp),%edi
46a688:	8b 37                	mov    (%edi),%esi
46a68a:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
46a690:	75 25                	jne    0x46a6b7
46a692:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
46a696:	75 1f                	jne    0x46a6b7
46a698:	8b 46 14             	mov    0x14(%esi),%eax
46a69b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
46a6a0:	74 1d                	je     0x46a6bf
46a6a2:	3d 21 05 93 19       	cmp    $0x19930521,%eax
46a6a7:	74 16                	je     0x46a6bf
46a6a9:	3d 22 05 93 19       	cmp    $0x19930522,%eax
46a6ae:	74 0f                	je     0x46a6bf