46d524:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46d527:	89 08                	mov    %ecx,(%eax)
46d529:	8b 83 94 01 00 00    	mov    0x194(%ebx),%eax
46d52f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46d533:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46d536:	8b 00                	mov    (%eax),%eax
46d538:	83 20 00             	andl   $0x0,(%eax)
46d53b:	8b 83 94 01 00 00    	mov    0x194(%ebx),%eax
46d541:	8b 04 b0             	mov    (%eax,%esi,4),%eax
46d544:	8b 00                	mov    (%eax),%eax
46d546:	89 48 04             	mov    %ecx,0x4(%eax)
46d549:	8b cf                	mov    %edi,%ecx
46d54b:	e8 d0 c4 f9 ff       	call   0x409a20
46d550:	8d 46 01             	lea    0x1(%esi),%eax
46d553:	89 07                	mov    %eax,(%edi)
46d555:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
46d55c:	5f                   	pop    %edi
46d55d:	5e                   	pop    %esi
46d55e:	33 c0                	xor    %eax,%eax
46d560:	5b                   	pop    %ebx
46d561:	8b e5                	mov    %ebp,%esp
46d563:	5d                   	pop    %ebp
46d564:	c2 08 00             	ret    $0x8
46d567:	55                   	push   %ebp
46d568:	8b ec                	mov    %esp,%ebp
46d56a:	8b 45 08             	mov    0x8(%ebp),%eax
46d56d:	6a 01                	push   $0x1
46d56f:	ff 70 08             	push   0x8(%eax)
46d572:	ff 75 0c             	push   0xc(%ebp)
46d575:	50                   	push   %eax
46d576:	e8 13 18 00 00       	call   0x46ed8e
46d57b:	5d                   	pop    %ebp
46d57c:	c2 08 00             	ret    $0x8
46d57f:	55                   	push   %ebp
46d580:	8b ec                	mov    %esp,%ebp
46d582:	83 e4 f8             	and    $0xfffffff8,%esp
46d585:	83 ec 24             	sub    $0x24,%esp
46d588:	53                   	push   %ebx
46d589:	56                   	push   %esi
46d58a:	8b 75 0c             	mov    0xc(%ebp),%esi
46d58d:	8b d9                	mov    %ecx,%ebx
46d58f:	57                   	push   %edi
46d590:	8b ce                	mov    %esi,%ecx
46d592:	e8 89 c4 f9 ff       	call   0x409a20
46d597:	8b 45 08             	mov    0x8(%ebp),%eax
46d59a:	33 ff                	xor    %edi,%edi
46d59c:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46d5a3:	89 3e                	mov    %edi,(%esi)
46d5a5:	8b 40 04             	mov    0x4(%eax),%eax
46d5a8:	8b 00                	mov    (%eax),%eax
46d5aa:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
46d5ae:	75 58                	jne    0x46d608
46d5b0:	6a 38                	push   $0x38
46d5b2:	e8 3f 3a fb ff       	call   0x420ff6
46d5b7:	59                   	pop    %ecx
46d5b8:	85 c0                	test   %eax,%eax
46d5ba:	74 09                	je     0x46d5c5
46d5bc:	8b c8                	mov    %eax,%ecx
46d5be:	e8 43 83 f9 ff       	call   0x405906
46d5c3:	8b f8                	mov    %eax,%edi
46d5c5:	8b 45 08             	mov    0x8(%ebp),%eax
46d5c8:	8b 40 04             	mov    0x4(%eax),%eax
46d5cb:	8b 30                	mov    (%eax),%esi
46d5cd:	8b ce                	mov    %esi,%ecx
46d5cf:	e8 c3 c3 f9 ff       	call   0x409997
46d5d4:	68 00 80 00 00       	push   $0x8000
46d5d9:	ff 76 08             	push   0x8(%esi)
46d5dc:	8b cf                	mov    %edi,%ecx
46d5de:	e8 73 83 f9 ff       	call   0x405956
46d5e3:	84 c0                	test   %al,%al
46d5e5:	75 4a                	jne    0x46d631
46d5e7:	85 ff                	test   %edi,%edi
46d5e9:	74 08                	je     0x46d5f3
46d5eb:	51                   	push   %ecx
46d5ec:	8b cf                	mov    %edi,%ecx
46d5ee:	e8 27 84 f9 ff       	call   0x405a1a
46d5f3:	6a 00                	push   $0x0
46d5f5:	8b 03                	mov    (%ebx),%eax
46d5f7:	6a 01                	push   $0x1
46d5f9:	8b 48 04             	mov    0x4(%eax),%ecx
46d5fc:	03 cb                	add    %ebx,%ecx
46d5fe:	e8 a0 94 fe ff       	call   0x456aa3
46d603:	e9 e9 00 00 00       	jmp    0x46d6f1
46d608:	57                   	push   %edi
46d609:	50                   	push   %eax
46d60a:	8d 44 24 14          	lea    0x14(%esp),%eax
46d60e:	8b cb                	mov    %ebx,%ecx
46d610:	50                   	push   %eax
46d611:	e8 c9 21 00 00       	call   0x46f7df
46d616:	84 c0                	test   %al,%al
46d618:	75 03                	jne    0x46d61d
46d61a:	57                   	push   %edi
46d61b:	eb d8                	jmp    0x46d5f5
46d61d:	8b 8b 94 01 00 00    	mov    0x194(%ebx),%ecx
46d623:	8b 44 24 0c          	mov    0xc(%esp),%eax
46d627:	8b 04 81             	mov    (%ecx,%eax,4),%eax
46d62a:	8b 00                	mov    (%eax),%eax
46d62c:	8b 78 04             	mov    0x4(%eax),%edi
46d62f:	eb 03                	jmp    0x46d634
46d631:	8b 75 0c             	mov    0xc(%ebp),%esi
46d634:	68 00 01 00 00       	push   $0x100
46d639:	8d 4c 24 24          	lea    0x24(%esp),%ecx
46d63d:	e8 34 a5 f9 ff       	call   0x407b76
46d642:	33 c0                	xor    %eax,%eax
46d644:	c7 44 24 10 68 f9 48 	movl   $0x48f968,0x10(%esp)
46d64b:	00
46d64c:	89 44 24 14          	mov    %eax,0x14(%esp)
46d650:	89 44 24 18          	mov    %eax,0x18(%esp)
46d654:	89 44 24 1c          	mov    %eax,0x1c(%esp)
46d658:	8d 44 24 20          	lea    0x20(%esp),%eax
46d65c:	8b cf                	mov    %edi,%ecx
46d65e:	50                   	push   %eax
46d65f:	e8 88 7f f9 ff       	call   0x4055ec
46d664:	84 c0                	test   %al,%al
46d666:	74 10                	je     0x46d678
46d668:	8d 44 24 20          	lea    0x20(%esp),%eax
46d66c:	50                   	push   %eax
46d66d:	8d 4c 24 14          	lea    0x14(%esp),%ecx
46d671:	e8 0e 69 f9 ff       	call   0x403f84
46d676:	eb e0                	jmp    0x46d658
46d678:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
46d67d:	8b ce                	mov    %esi,%ecx
46d67f:	75 21                	jne    0x46d6a2
46d681:	e8 9a c3 f9 ff       	call   0x409a20
46d686:	83 26 00             	andl   $0x0,(%esi)
46d689:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46d690:	8b 03                	mov    (%ebx),%eax
46d692:	6a 00                	push   $0x0
46d694:	6a 02                	push   $0x2
46d696:	8b 48 04             	mov    0x4(%eax),%ecx
46d699:	03 cb                	add    %ebx,%ecx
46d69b:	e8 03 94 fe ff       	call   0x456aa3
46d6a0:	eb 1c                	jmp    0x46d6be
46d6a2:	8d 44 24 10          	lea    0x10(%esp),%eax
46d6a6:	50                   	push   %eax
46d6a7:	e8 e4 c1 f9 ff       	call   0x409890
46d6ac:	8b 03                	mov    (%ebx),%eax
46d6ae:	6a 00                	push   $0x0
46d6b0:	ff 74 24 1c          	push   0x1c(%esp)
46d6b4:	8b 48 04             	mov    0x4(%eax),%ecx
46d6b7:	03 cb                	add    %ebx,%ecx
46d6b9:	e8 a3 28 fb ff       	call   0x41ff61
46d6be:	8b 45 08             	mov    0x8(%ebp),%eax
46d6c1:	8b 40 04             	mov    0x4(%eax),%eax
46d6c4:	8b 00                	mov    (%eax),%eax
46d6c6:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
46d6ca:	75 13                	jne    0x46d6df
46d6cc:	8b cf                	mov    %edi,%ecx
46d6ce:	e8 fc 86 f9 ff       	call   0x405dcf
46d6d3:	85 ff                	test   %edi,%edi
46d6d5:	74 08                	je     0x46d6df
46d6d7:	51                   	push   %ecx
46d6d8:	8b cf                	mov    %edi,%ecx
46d6da:	e8 3b 83 f9 ff       	call   0x405a1a
46d6df:	8d 4c 24 10          	lea    0x10(%esp),%ecx
46d6e3:	e8 3c 69 f9 ff       	call   0x404024
46d6e8:	8d 4c 24 20          	lea    0x20(%esp),%ecx
46d6ec:	e8 73 83 f9 ff       	call   0x405a64
46d6f1:	5f                   	pop    %edi
46d6f2:	5e                   	pop    %esi
46d6f3:	33 c0                	xor    %eax,%eax
46d6f5:	5b                   	pop    %ebx
46d6f6:	8b e5                	mov    %ebp,%esp
46d6f8:	5d                   	pop    %ebp
46d6f9:	c2 08 00             	ret    $0x8
46d6fc:	55                   	push   %ebp
46d6fd:	8b ec                	mov    %esp,%ebp
46d6ff:	81 ec 2c 02 00 00    	sub    $0x22c,%esp
46d705:	8b 45 08             	mov    0x8(%ebp),%eax
46d708:	56                   	push   %esi
46d709:	57                   	push   %edi
46d70a:	8b 40 04             	mov    0x4(%eax),%eax
46d70d:	8b 30                	mov    (%eax),%esi
46d70f:	8b ce                	mov    %esi,%ecx
46d711:	e8 81 c2 f9 ff       	call   0x409997
46d716:	8b 4e 08             	mov    0x8(%esi),%ecx
46d719:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46d71f:	50                   	push   %eax
46d720:	ba 04 01 00 00       	mov    $0x104,%edx
46d725:	8b 09                	mov    (%ecx),%ecx
46d727:	e8 7e 71 ff ff       	call   0x4648aa
46d72c:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46d732:	50                   	push   %eax
46d733:	e8 04 57 fb ff       	call   0x422e3c
46d738:	59                   	pop    %ecx
46d739:	59                   	pop    %ecx
46d73a:	33 c9                	xor    %ecx,%ecx
46d73c:	c7 45 e4 03 00 00 00 	movl   $0x3,-0x1c(%ebp)
46d743:	66 89 8c 45 d6 fd ff 	mov    %cx,-0x22a(%ebp,%eax,2)
46d74a:	ff
46d74b:	33 ff                	xor    %edi,%edi
46d74d:	8d 85 d4 fd ff ff    	lea    -0x22c(%ebp),%eax
46d753:	89 7d f6             	mov    %edi,-0xa(%ebp)
46d756:	6a 54                	push   $0x54
46d758:	89 45 e8             	mov    %eax,-0x18(%ebp)
46d75b:	58                   	pop    %eax
46d75c:	66 89 45 f0          	mov    %ax,-0x10(%ebp)
46d760:	8d 45 e0             	lea    -0x20(%ebp),%eax
46d763:	50                   	push   %eax
46d764:	89 7d fa             	mov    %edi,-0x6(%ebp)
46d767:	89 7d f2             	mov    %edi,-0xe(%ebp)
46d76a:	89 7d e0             	mov    %edi,-0x20(%ebp)
46d76d:	89 7d ec             	mov    %edi,-0x14(%ebp)
46d770:	ff 15 b4 f4 48 00    	call   *0x48f4b4
46d776:	85 c0                	test   %eax,%eax
46d778:	74 13                	je     0x46d78d
46d77a:	8b 75 0c             	mov    0xc(%ebp),%esi
46d77d:	8b ce                	mov    %esi,%ecx
46d77f:	e8 9c c2 f9 ff       	call   0x409a20
46d784:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46d78b:	89 3e                	mov    %edi,(%esi)
46d78d:	5f                   	pop    %edi
46d78e:	33 c0                	xor    %eax,%eax
46d790:	5e                   	pop    %esi
46d791:	8b e5                	mov    %ebp,%esp
46d793:	5d                   	pop    %ebp
46d794:	c2 08 00             	ret    $0x8
46d797:	55                   	push   %ebp
46d798:	8b ec                	mov    %esp,%ebp
46d79a:	8b 4d 08             	mov    0x8(%ebp),%ecx
46d79d:	33 c0                	xor    %eax,%eax
46d79f:	56                   	push   %esi
46d7a0:	39 41 08             	cmp    %eax,0x8(%ecx)
46d7a3:	74 11                	je     0x46d7b6
46d7a5:	8b 41 04             	mov    0x4(%ecx),%eax
46d7a8:	8b 30                	mov    (%eax),%esi
46d7aa:	8b ce                	mov    %esi,%ecx
46d7ac:	e8 e6 c1 f9 ff       	call   0x409997
46d7b1:	8b 46 08             	mov    0x8(%esi),%eax
46d7b4:	8b 00                	mov    (%eax),%eax
46d7b6:	6a 07                	push   $0x7
46d7b8:	50                   	push   %eax
46d7b9:	6a 00                	push   $0x0
46d7bb:	ff 15 98 f4 48 00    	call   *0x48f498
46d7c1:	85 c0                	test   %eax,%eax
46d7c3:	74 14                	je     0x46d7d9
46d7c5:	8b 75 0c             	mov    0xc(%ebp),%esi
46d7c8:	8b ce                	mov    %esi,%ecx
46d7ca:	e8 51 c2 f9 ff       	call   0x409a20
46d7cf:	83 26 00             	andl   $0x0,(%esi)
46d7d2:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
46d7d9:	33 c0                	xor    %eax,%eax
46d7db:	5e                   	pop    %esi
46d7dc:	5d                   	pop    %ebp
46d7dd:	c2 08 00             	ret    $0x8
46d7e0:	55                   	push   %ebp
46d7e1:	8b ec                	mov    %esp,%ebp
46d7e3:	8b 45 08             	mov    0x8(%ebp),%eax
46d7e6:	6a 00                	push   $0x0
46d7e8:	ff 70 08             	push   0x8(%eax)
46d7eb:	ff 75 0c             	push   0xc(%ebp)
46d7ee:	50                   	push   %eax
46d7ef:	e8 9a 15 00 00       	call   0x46ed8e
46d7f4:	5d                   	pop    %ebp
46d7f5:	c2 08 00             	ret    $0x8
46d7f8:	55                   	push   %ebp
46d7f9:	8b ec                	mov    %esp,%ebp
46d7fb:	81 ec 50 02 00 00    	sub    $0x250,%esp
46d801:	8b 45 08             	mov    0x8(%ebp),%eax
46d804:	53                   	push   %ebx
46d805:	8b d9                	mov    %ecx,%ebx
46d807:	56                   	push   %esi
46d808:	8b 48 08             	mov    0x8(%eax),%ecx
46d80b:	8b 40 04             	mov    0x4(%eax),%eax
46d80e:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46d811:	33 c9                	xor    %ecx,%ecx
46d813:	89 4d f4             	mov    %ecx,-0xc(%ebp)
46d816:	57                   	push   %edi
46d817:	8b 30                	mov    (%eax),%esi
46d819:	bf 00 02 00 00       	mov    $0x200,%edi
46d81e:	8b ce                	mov    %esi,%ecx
46d820:	e8 72 c1 f9 ff       	call   0x409997
46d825:	8b 46 08             	mov    0x8(%esi),%eax
46d828:	8b 00                	mov    (%eax),%eax
46d82a:	89 45 e8             	mov    %eax,-0x18(%ebp)
46d82d:	8b 45 08             	mov    0x8(%ebp),%eax
46d830:	8b 40 04             	mov    0x4(%eax),%eax
46d833:	8b 70 04             	mov    0x4(%eax),%esi
46d836:	8b ce                	mov    %esi,%ecx
46d838:	e8 5a c1 f9 ff       	call   0x409997
46d83d:	8b 46 08             	mov    0x8(%esi),%eax
46d840:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46d843:	68 10 f9 48 00       	push   $0x48f910
46d848:	8b 00                	mov    (%eax),%eax
46d84a:	89 45 ec             	mov    %eax,-0x14(%ebp)
46d84d:	e8 a6 c3 f9 ff       	call   0x409bf8
46d852:	33 c0                	xor    %eax,%eax
46d854:	50                   	push   %eax
46d855:	ff 15 60 f8 48 00    	call   *0x48f860
46d85b:	83 7d f0 03          	cmpl   $0x3,-0x10(%ebp)
46d85f:	8b 75 08             	mov    0x8(%ebp),%esi
46d862:	72 36                	jb     0x46d89a
46d864:	8b 46 04             	mov    0x4(%esi),%eax
46d867:	8b 48 08             	mov    0x8(%eax),%ecx
46d86a:	e8 2d c4 f9 ff       	call   0x409c9c
46d86f:	a8 01                	test   $0x1,%al
46d871:	74 03                	je     0x46d876
46d873:	6a 40                	push   $0x40
46d875:	5f                   	pop    %edi
46d876:	8b 46 04             	mov    0x4(%esi),%eax
46d879:	8b 48 08             	mov    0x8(%eax),%ecx
46d87c:	e8 1b c4 f9 ff       	call   0x409c9c
46d881:	a8 02                	test   $0x2,%al
46d883:	74 03                	je     0x46d888
46d885:	83 cf 40             	or     $0x40,%edi
46d888:	8b 46 04             	mov    0x4(%esi),%eax
46d88b:	8b 48 08             	mov    0x8(%eax),%ecx
46d88e:	e8 09 c4 f9 ff       	call   0x409c9c
46d893:	a8 04                	test   $0x4,%al
46d895:	74 03                	je     0x46d89a
46d897:	83 cf 10             	or     $0x10,%edi
46d89a:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46d89d:	e8 25 9f f9 ff       	call   0x4077c7
46d8a2:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d8a5:	83 f8 04             	cmp    $0x4,%eax
46d8a8:	72 1d                	jb     0x46d8c7
46d8aa:	8b 46 04             	mov    0x4(%esi),%eax
46d8ad:	8b 70 0c             	mov    0xc(%eax),%esi
46d8b0:	8b ce                	mov    %esi,%ecx
46d8b2:	e8 e0 c0 f9 ff       	call   0x409997
46d8b7:	8b 46 08             	mov    0x8(%esi),%eax
46d8ba:	8d 4d d8             	lea    -0x28(%ebp),%ecx
46d8bd:	ff 30                	push   (%eax)
46d8bf:	e8 68 a4 f9 ff       	call   0x407d2c
46d8c4:	8b 45 f0             	mov    -0x10(%ebp),%eax
46d8c7:	83 f8 05             	cmp    $0x5,%eax
46d8ca:	72 11                	jb     0x46d8dd
46d8cc:	8b 45 08             	mov    0x8(%ebp),%eax
46d8cf:	8b 40 04             	mov    0x4(%eax),%eax
46d8d2:	8b 48 10             	mov    0x10(%eax),%ecx
46d8d5:	e8 e1 b0 ff ff       	call   0x4689bb
46d8da:	89 45 f4             	mov    %eax,-0xc(%ebp)
46d8dd:	33 c9                	xor    %ecx,%ecx
46d8df:	8d 45 f8             	lea    -0x8(%ebp),%eax
46d8e2:	50                   	push   %eax
46d8e3:	51                   	push   %ecx
46d8e4:	51                   	push   %ecx
46d8e5:	89 4d f8             	mov    %ecx,-0x8(%ebp)
46d8e8:	ff 15 ac f4 48 00    	call   *0x48f4ac
46d8ee:	8b 75 ec             	mov    -0x14(%ebp),%esi
46d8f1:	33 c0                	xor    %eax,%eax
46d8f3:	66 39 06             	cmp    %ax,(%esi)
46d8f6:	74 3d                	je     0x46d935
46d8f8:	8d 45 08             	lea    0x8(%ebp),%eax
46d8fb:	50                   	push   %eax
46d8fc:	ff 15 a8 f4 48 00    	call   *0x48f4a8
46d902:	85 c0                	test   %eax,%eax
46d904:	75 2f                	jne    0x46d935
46d906:	8b ce                	mov    %esi,%ecx
46d908:	e8 b9 25 fb ff       	call   0x41fec6