46c37d:	65 4e                	gs dec %esi
46c37f:	61                   	popa
46c380:	6d                   	insl   (%dx),%es:(%edi)
46c381:	65 8b c0             	gs mov %eax,%eax
46c384:	84 d2                	test   %dl,%dl
46c386:	74 08                	je     0x46c390
46c388:	83 c4 f0             	add    $0xfffffff0,%esp
46c38b:	e8 b0 78 f9 ff       	call   0x403c40
46c390:	89 48 04             	mov    %ecx,0x4(%eax)
46c393:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%eax)
46c39a:	84 d2                	test   %dl,%dl
46c39c:	74 0f                	je     0x46c3ad
46c39e:	e8 f5 78 f9 ff       	call   0x403c98
46c3a3:	64 8f 05 00 00 00 00 	pop    %fs:0x0
46c3aa:	83 c4 0c             	add    $0xc,%esp
46c3ad:	c3                   	ret
46c3ae:	8b c0                	mov    %eax,%eax
46c3b0:	55                   	push   %ebp
46c3b1:	8b ec                	mov    %esp,%ebp
46c3b3:	53                   	push   %ebx
46c3b4:	56                   	push   %esi
46c3b5:	57                   	push   %edi
46c3b6:	8b 7d 10             	mov    0x10(%ebp),%edi
46c3b9:	8b 75 0c             	mov    0xc(%ebp),%esi
46c3bc:	8b 5d 08             	mov    0x8(%ebp),%ebx
46c3bf:	8b cf                	mov    %edi,%ecx
46c3c1:	8b d6                	mov    %esi,%edx
46c3c3:	8b c3                	mov    %ebx,%eax
46c3c5:	e8 06 76 f9 ff       	call   0x4039d0
46c3ca:	84 c0                	test   %al,%al
46c3cc:	74 04                	je     0x46c3d2
46c3ce:	33 c0                	xor    %eax,%eax
46c3d0:	eb 2b                	jmp    0x46c3fd
46c3d2:	8b 43 04             	mov    0x4(%ebx),%eax
46c3d5:	8b 40 30             	mov    0x30(%eax),%eax
46c3d8:	83 c0 20             	add    $0x20,%eax
46c3db:	50                   	push   %eax
46c3dc:	56                   	push   %esi
46c3dd:	e8 ee b3 f9 ff       	call   0x4077d0
46c3e2:	84 c0                	test   %al,%al
46c3e4:	74 12                	je     0x46c3f8
46c3e6:	8b cf                	mov    %edi,%ecx
46c3e8:	ba 04 c4 46 00       	mov    $0x46c404,%edx
46c3ed:	8b c3                	mov    %ebx,%eax
46c3ef:	e8 dc 75 f9 ff       	call   0x4039d0
46c3f4:	33 c0                	xor    %eax,%eax
46c3f6:	eb 05                	jmp    0x46c3fd
46c3f8:	b8 02 40 00 80       	mov    $0x80004002,%eax
46c3fd:	5f                   	pop    %edi
46c3fe:	5e                   	pop    %esi
46c3ff:	5b                   	pop    %ebx
46c400:	5d                   	pop    %ebp
46c401:	c2 0c 00             	ret    $0xc
46c404:	00 04 02             	add    %al,(%edx,%eax,1)
46c407:	00 00                	add    %al,(%eax)
46c409:	00 00                	add    %al,(%eax)
46c40b:	00 c0                	add    %al,%al
46c40d:	00 00                	add    %al,(%eax)
46c40f:	00 00                	add    %al,(%eax)
46c411:	00 00                	add    %al,(%eax)
46c413:	46                   	inc    %esi
46c414:	55                   	push   %ebp
46c415:	8b ec                	mov    %esp,%ebp
46c417:	53                   	push   %ebx
46c418:	8b 5d 08             	mov    0x8(%ebp),%ebx
46c41b:	8b 43 04             	mov    0x4(%ebx),%eax
46c41e:	85 c0                	test   %eax,%eax
46c420:	74 06                	je     0x46c428
46c422:	50                   	push   %eax
46c423:	e8 8c 04 00 00       	call   0x46c8b4
46c428:	ff 43 08             	incl   0x8(%ebx)
46c42b:	8b 43 08             	mov    0x8(%ebx),%eax
46c42e:	5b                   	pop    %ebx
46c42f:	5d                   	pop    %ebp
46c430:	c2 04 00             	ret    $0x4
46c433:	90                   	nop
46c434:	55                   	push   %ebp
46c435:	8b ec                	mov    %esp,%ebp
46c437:	53                   	push   %ebx
46c438:	8b 5d 08             	mov    0x8(%ebp),%ebx
46c43b:	8b 43 04             	mov    0x4(%ebx),%eax
46c43e:	85 c0                	test   %eax,%eax
46c440:	74 06                	je     0x46c448
46c442:	50                   	push   %eax
46c443:	e8 7c 04 00 00       	call   0x46c8c4
46c448:	ff 4b 08             	decl   0x8(%ebx)
46c44b:	8b 43 08             	mov    0x8(%ebx),%eax
46c44e:	5b                   	pop    %ebx
46c44f:	5d                   	pop    %ebp
46c450:	c2 04 00             	ret    $0x4
46c453:	90                   	nop
46c454:	55                   	push   %ebp
46c455:	8b ec                	mov    %esp,%ebp
46c457:	8b 45 0c             	mov    0xc(%ebp),%eax
46c45a:	33 d2                	xor    %edx,%edx
46c45c:	89 10                	mov    %edx,(%eax)
46c45e:	33 c0                	xor    %eax,%eax
46c460:	5d                   	pop    %ebp
46c461:	c2 08 00             	ret    $0x8
46c464:	55                   	push   %ebp
46c465:	8b ec                	mov    %esp,%ebp
46c467:	8b 45 14             	mov    0x14(%ebp),%eax
46c46a:	33 d2                	xor    %edx,%edx
46c46c:	89 10                	mov    %edx,(%eax)
46c46e:	b8 01 40 00 80       	mov    $0x80004001,%eax
46c473:	5d                   	pop    %ebp
46c474:	c2 10 00             	ret    $0x10
46c477:	90                   	nop
46c478:	55                   	push   %ebp
46c479:	8b ec                	mov    %esp,%ebp
46c47b:	b8 01 40 00 80       	mov    $0x80004001,%eax
46c480:	5d                   	pop    %ebp
46c481:	c2 18 00             	ret    $0x18
46c484:	55                   	push   %ebp
46c485:	8b ec                	mov    %esp,%ebp
46c487:	83 c4 f0             	add    $0xfffffff0,%esp
46c48a:	53                   	push   %ebx
46c48b:	56                   	push   %esi
46c48c:	57                   	push   %edi
46c48d:	33 c0                	xor    %eax,%eax
46c48f:	89 45 fc             	mov    %eax,-0x4(%ebp)
46c492:	33 c0                	xor    %eax,%eax
46c494:	55                   	push   %ebp
46c495:	68 12 c6 46 00       	push   $0x46c612
46c49a:	64 ff 30             	push   %fs:(%eax)
46c49d:	64 89 20             	mov    %esp,%fs:(%eax)
46c4a0:	8b 45 1c             	mov    0x1c(%ebp),%eax
46c4a3:	89 45 f8             	mov    %eax,-0x8(%ebp)
46c4a6:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c4a9:	8b 40 08             	mov    0x8(%eax),%eax
46c4ac:	50                   	push   %eax
46c4ad:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c4b0:	b9 01 00 00 00       	mov    $0x1,%ecx
46c4b5:	8b 15 34 c0 46 00    	mov    0x46c034,%edx
46c4bb:	e8 d4 95 f9 ff       	call   0x405a94
46c4c0:	83 c4 04             	add    $0x4,%esp
46c4c3:	33 c0                	xor    %eax,%eax
46c4c5:	89 45 f4             	mov    %eax,-0xc(%ebp)
46c4c8:	8b 45 fc             	mov    -0x4(%ebp),%eax
46c4cb:	e8 10 94 f9 ff       	call   0x4058e0
46c4d0:	89 45 f0             	mov    %eax,-0x10(%ebp)
46c4d3:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c4d6:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
46c4da:	7e 35                	jle    0x46c511
46c4dc:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46c4df:	8b 7d f0             	mov    -0x10(%ebp),%edi
46c4e2:	2b fb                	sub    %ebx,%edi
46c4e4:	7c 5a                	jl     0x46c540
46c4e6:	47                   	inc    %edi
46c4e7:	8b c3                	mov    %ebx,%eax
46c4e9:	03 c0                	add    %eax,%eax
46c4eb:	8b 55 f8             	mov    -0x8(%ebp),%edx
46c4ee:	8b 12                	mov    (%edx),%edx
46c4f0:	8d 34 c2             	lea    (%edx,%eax,8),%esi
46c4f3:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c4f6:	8b 40 04             	mov    0x4(%eax),%eax
46c4f9:	8b 04 98             	mov    (%eax,%ebx,4),%eax
46c4fc:	03 c0                	add    %eax,%eax
46c4fe:	8b 55 fc             	mov    -0x4(%ebp),%edx
46c501:	8d 04 c2             	lea    (%edx,%eax,8),%eax
46c504:	8b d6                	mov    %esi,%edx
46c506:	e8 ed 3a fa ff       	call   0x40fff8
46c50b:	43                   	inc    %ebx
46c50c:	4f                   	dec    %edi
46c50d:	75 d8                	jne    0x46c4e7
46c50f:	eb 2f                	jmp    0x46c540
46c511:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46c514:	8b 7d f0             	mov    -0x10(%ebp),%edi
46c517:	2b fb                	sub    %ebx,%edi
46c519:	7c 25                	jl     0x46c540
46c51b:	47                   	inc    %edi
46c51c:	8b c3                	mov    %ebx,%eax
46c51e:	03 c0                	add    %eax,%eax
46c520:	8b 55 f8             	mov    -0x8(%ebp),%edx
46c523:	8b 12                	mov    (%edx),%edx
46c525:	8d 34 c2             	lea    (%edx,%eax,8),%esi
46c528:	8b 45 f0             	mov    -0x10(%ebp),%eax
46c52b:	2b c3                	sub    %ebx,%eax
46c52d:	03 c0                	add    %eax,%eax
46c52f:	8b 55 fc             	mov    -0x4(%ebp),%edx
46c532:	8d 04 c2             	lea    (%edx,%eax,8),%eax
46c535:	8b d6                	mov    %esi,%edx
46c537:	e8 bc 3a fa ff       	call   0x40fff8
46c53c:	43                   	inc    %ebx
46c53d:	4f                   	dec    %edi
46c53e:	75 dc                	jne    0x46c51c
46c540:	8b 45 08             	mov    0x8(%ebp),%eax
46c543:	8b 40 04             	mov    0x4(%eax),%eax
46c546:	85 c0                	test   %eax,%eax
46c548:	74 0b                	je     0x46c555
46c54a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46c54d:	8b 55 0c             	mov    0xc(%ebp),%edx
46c550:	8b 18                	mov    (%eax),%ebx
46c552:	ff 53 38             	call   *0x38(%ebx)
46c555:	8b 45 f8             	mov    -0x8(%ebp),%eax
46c558:	83 78 0c 00          	cmpl   $0x0,0xc(%eax)
46c55c:	7e 42                	jle    0x46c5a0
46c55e:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46c561:	8b 7d f0             	mov    -0x10(%ebp),%edi
46c564:	2b fb                	sub    %ebx,%edi
46c566:	7c 74                	jl     0x46c5dc
46c568:	47                   	inc    %edi
46c569:	8b c3                	mov    %ebx,%eax
46c56b:	03 c0                	add    %eax,%eax
46c56d:	8b 55 f8             	mov    -0x8(%ebp),%edx
46c570:	8b 12                	mov    (%edx),%edx
46c572:	8d 34 c2             	lea    (%edx,%eax,8),%esi
46c575:	0f b7 06             	movzwl (%esi),%eax
46c578:	66 25 00 40          	and    $0x4000,%ax
46c57c:	66 3d 00 40          	cmp    $0x4000,%ax
46c580:	75 18                	jne    0x46c59a
46c582:	8b c6                	mov    %esi,%eax
46c584:	8b 55 f8             	mov    -0x8(%ebp),%edx
46c587:	8b 52 04             	mov    0x4(%edx),%edx
46c58a:	8b 14 9a             	mov    (%edx,%ebx,4),%edx
46c58d:	03 d2                	add    %edx,%edx
46c58f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c592:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
46c595:	e8 5e 3a fa ff       	call   0x40fff8
46c59a:	43                   	inc    %ebx
46c59b:	4f                   	dec    %edi
46c59c:	75 cb                	jne    0x46c569
46c59e:	eb 3c                	jmp    0x46c5dc
46c5a0:	8b 5d f4             	mov    -0xc(%ebp),%ebx
46c5a3:	8b 7d f0             	mov    -0x10(%ebp),%edi
46c5a6:	2b fb                	sub    %ebx,%edi
46c5a8:	7c 32                	jl     0x46c5dc
46c5aa:	47                   	inc    %edi
46c5ab:	8b c3                	mov    %ebx,%eax
46c5ad:	03 c0                	add    %eax,%eax
46c5af:	8b 55 f8             	mov    -0x8(%ebp),%edx
46c5b2:	8b 12                	mov    (%edx),%edx
46c5b4:	8d 34 c2             	lea    (%edx,%eax,8),%esi
46c5b7:	0f b7 06             	movzwl (%esi),%eax
46c5ba:	66 25 00 40          	and    $0x4000,%ax
46c5be:	66 3d 00 40          	cmp    $0x4000,%ax
46c5c2:	75 14                	jne    0x46c5d8
46c5c4:	8b c6                	mov    %esi,%eax
46c5c6:	8b 55 f0             	mov    -0x10(%ebp),%edx
46c5c9:	2b d3                	sub    %ebx,%edx
46c5cb:	03 d2                	add    %edx,%edx
46c5cd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46c5d0:	8d 14 d1             	lea    (%ecx,%edx,8),%edx
46c5d3:	e8 20 3a fa ff       	call   0x40fff8
46c5d8:	43                   	inc    %ebx
46c5d9:	4f                   	dec    %edi
46c5da:	75 cf                	jne    0x46c5ab
46c5dc:	6a 00                	push   $0x0
46c5de:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c5e1:	b9 01 00 00 00       	mov    $0x1,%ecx
46c5e6:	8b 15 34 c0 46 00    	mov    0x46c034,%edx
46c5ec:	e8 a3 94 f9 ff       	call   0x405a94
46c5f1:	83 c4 04             	add    $0x4,%esp
46c5f4:	33 db                	xor    %ebx,%ebx
46c5f6:	33 c0                	xor    %eax,%eax
46c5f8:	5a                   	pop    %edx
46c5f9:	59                   	pop    %ecx
46c5fa:	59                   	pop    %ecx
46c5fb:	64 89 10             	mov    %edx,%fs:(%eax)
46c5fe:	68 19 c6 46 00       	push   $0x46c619
46c603:	8d 45 fc             	lea    -0x4(%ebp),%eax
46c606:	8b 15 34 c0 46 00    	mov    0x46c034,%edx
46c60c:	e8 8f 94 f9 ff       	call   0x405aa0
46c611:	c3                   	ret
46c612:	e9 99 7a f9 ff       	jmp    0x4040b0
46c617:	eb ea                	jmp    0x46c603
46c619:	8b c3                	mov    %ebx,%eax
46c61b:	5f                   	pop    %edi
46c61c:	5e                   	pop    %esi
46c61d:	5b                   	pop    %ebx
46c61e:	8b e5                	mov    %ebp,%esp
46c620:	5d                   	pop    %ebp
46c621:	c2 24 00             	ret    $0x24
46c624:	33 d2                	xor    %edx,%edx
46c626:	89 50 04             	mov    %edx,0x4(%eax)
46c629:	85 d2                	test   %edx,%edx
46c62b:	74 03                	je     0x46c630
46c62d:	33 c0                	xor    %eax,%eax
46c62f:	c3                   	ret
46c630:	b0 01                	mov    $0x1,%al
46c632:	c3                   	ret
46c633:	90                   	nop
46c634:	53                   	push   %ebx
46c635:	56                   	push   %esi
46c636:	84 d2                	test   %dl,%dl
46c638:	74 08                	je     0x46c642
46c63a:	83 c4 f0             	add    $0xfffffff0,%esp
46c63d:	e8 fe 75 f9 ff       	call   0x403c40
46c642:	8b da                	mov    %edx,%ebx
46c644:	8b f0                	mov    %eax,%esi
46c646:	33 d2                	xor    %edx,%edx
46c648:	8b c6                	mov    %esi,%eax
46c64a:	e8 c1 21 fb ff       	call   0x41e810
46c64f:	8b c6                	mov    %esi,%eax
46c651:	8b 10                	mov    (%eax),%edx
46c653:	ff 52 30             	call   *0x30(%edx)
46c656:	8b 46 30             	mov    0x30(%esi),%eax
46c659:	ff 40 38             	incl   0x38(%eax)
46c65c:	8b ce                	mov    %esi,%ecx
46c65e:	b2 01                	mov    $0x1,%dl
46c660:	a1 80 c1 46 00       	mov    0x46c180,%eax
46c665:	e8 1a fd ff ff       	call   0x46c384
46c66a:	89 46 38             	mov    %eax,0x38(%esi)
46c66d:	8b c6                	mov    %esi,%eax
46c66f:	84 db                	test   %bl,%bl
46c671:	74 0f                	je     0x46c682
46c673:	e8 20 76 f9 ff       	call   0x403c98
46c678:	64 8f 05 00 00 00 00 	pop    %fs:0x0
46c67f:	83 c4 0c             	add    $0xc,%esp
46c682:	8b c6                	mov    %esi,%eax
46c684:	5e                   	pop    %esi
46c685:	5b                   	pop    %ebx
46c686:	c3                   	ret
46c687:	90                   	nop
46c688:	53                   	push   %ebx
46c689:	56                   	push   %esi
46c68a:	e8 59 76 f9 ff       	call   0x403ce8
46c68f:	8b da                	mov    %edx,%ebx
46c691:	8b f0                	mov    %eax,%esi
46c693:	8b c6                	mov    %esi,%eax
46c695:	8b 10                	mov    (%eax),%edx
46c697:	ff 52 40             	call   *0x40(%edx)
46c69a:	8b 46 38             	mov    0x38(%esi),%eax
46c69d:	e8 82 ff ff ff       	call   0x46c624
46c6a2:	8b 46 38             	mov    0x38(%esi),%eax
46c6a5:	50                   	push   %eax
46c6a6:	e8 89 fd ff ff       	call   0x46c434
46c6ab:	85 c0                	test   %eax,%eax
46c6ad:	75 08                	jne    0x46c6b7
46c6af:	8b 46 38             	mov    0x38(%esi),%eax
46c6b2:	e8 65 72 f9 ff       	call   0x40391c
46c6b7:	8b 46 30             	mov    0x30(%esi),%eax
46c6ba:	ff 48 38             	decl   0x38(%eax)
46c6bd:	8b d3                	mov    %ebx,%edx
46c6bf:	80 e2 fc             	and    $0xfc,%dl
46c6c2:	8b c6                	mov    %esi,%eax
46c6c4:	e8 93 21 fb ff       	call   0x41e85c
46c6c9:	84 db                	test   %bl,%bl
46c6cb:	7e 07                	jle    0x46c6d4
46c6cd:	8b c6                	mov    %esi,%eax
46c6cf:	e8 bc 75 f9 ff       	call   0x403c90
46c6d4:	5e                   	pop    %esi
46c6d5:	5b                   	pop    %ebx
46c6d6:	c3                   	ret
46c6d7:	90                   	nop
46c6d8:	53                   	push   %ebx
46c6d9:	8b d8                	mov    %eax,%ebx
46c6db:	8b c3                	mov    %ebx,%eax
46c6dd:	e8 96 25 fb ff       	call   0x41ec78
46c6e2:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)