46f52b:	64 89 20             	mov    %esp,%fs:(%eax)
46f52e:	8b 73 1c             	mov    0x1c(%ebx),%esi
46f531:	85 f6                	test   %esi,%esi
46f533:	74 1a                	je     0x46f54f
46f535:	8d 55 fc             	lea    -0x4(%ebp),%edx
46f538:	8b 46 24             	mov    0x24(%esi),%eax
46f53b:	e8 a4 54 00 00       	call   0x4749e4
46f540:	8b 55 fc             	mov    -0x4(%ebp),%edx
46f543:	8b 45 0c             	mov    0xc(%ebp),%eax
46f546:	e8 01 73 f9 ff       	call   0x40684c
46f54b:	33 db                	xor    %ebx,%ebx
46f54d:	eb 05                	jmp    0x46f554
46f54f:	bb 05 40 00 80       	mov    $0x80004005,%ebx
46f554:	33 c0                	xor    %eax,%eax
46f556:	5a                   	pop    %edx
46f557:	59                   	pop    %ecx
46f558:	59                   	pop    %ecx
46f559:	64 89 10             	mov    %edx,%fs:(%eax)
46f55c:	eb 0f                	jmp    0x46f56d
46f55e:	e9 f5 49 f9 ff       	jmp    0x403f58
46f563:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
46f568:	e8 53 4d f9 ff       	call   0x4042c0
46f56d:	33 c0                	xor    %eax,%eax
46f56f:	5a                   	pop    %edx
46f570:	59                   	pop    %ecx
46f571:	59                   	pop    %ecx
46f572:	64 89 10             	mov    %edx,%fs:(%eax)
46f575:	68 8a f5 46 00       	push   $0x46f58a
46f57a:	8d 45 fc             	lea    -0x4(%ebp),%eax
46f57d:	e8 b2 72 f9 ff       	call   0x406834
46f582:	c3                   	ret
46f583:	e9 84 4c f9 ff       	jmp    0x40420c
46f588:	eb f0                	jmp    0x46f57a
46f58a:	8b c3                	mov    %ebx,%eax
46f58c:	5f                   	pop    %edi
46f58d:	5e                   	pop    %esi
46f58e:	5b                   	pop    %ebx
46f58f:	59                   	pop    %ecx
46f590:	5d                   	pop    %ebp
46f591:	c2 08 00             	ret    $0x8
46f594:	55                   	push   %ebp
46f595:	8b ec                	mov    %esp,%ebp
46f597:	51                   	push   %ecx
46f598:	53                   	push   %ebx
46f599:	56                   	push   %esi
46f59a:	57                   	push   %edi
46f59b:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f59e:	8d 45 0c             	lea    0xc(%ebp),%eax
46f5a1:	e8 ce 64 f9 ff       	call   0x405a74
46f5a6:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f5a9:	8b 55 1c             	mov    0x1c(%ebp),%edx
46f5ac:	85 d2                	test   %edx,%edx
46f5ae:	74 0d                	je     0x46f5bd
46f5b0:	33 c9                	xor    %ecx,%ecx
46f5b2:	89 4a 0c             	mov    %ecx,0xc(%edx)
46f5b5:	89 4a 08             	mov    %ecx,0x8(%edx)
46f5b8:	89 4a 04             	mov    %ecx,0x4(%edx)
46f5bb:	89 0a                	mov    %ecx,(%edx)
46f5bd:	33 c0                	xor    %eax,%eax
46f5bf:	55                   	push   %ebp
46f5c0:	68 3e f6 46 00       	push   $0x46f63e
46f5c5:	64 ff 30             	push   %fs:(%eax)
46f5c8:	64 89 20             	mov    %esp,%fs:(%eax)
46f5cb:	33 c0                	xor    %eax,%eax
46f5cd:	55                   	push   %ebp
46f5ce:	68 17 f6 46 00       	push   $0x46f617
46f5d3:	64 ff 30             	push   %fs:(%eax)
46f5d6:	64 89 20             	mov    %esp,%fs:(%eax)
46f5d9:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46f5dc:	8d 55 0c             	lea    0xc(%ebp),%edx
46f5df:	8b c3                	mov    %ebx,%eax
46f5e1:	e8 56 f0 ff ff       	call   0x46e63c
46f5e6:	84 c0                	test   %al,%al
46f5e8:	75 0a                	jne    0x46f5f4
46f5ea:	33 c0                	xor    %eax,%eax
46f5ec:	5a                   	pop    %edx
46f5ed:	59                   	pop    %ecx
46f5ee:	59                   	pop    %ecx
46f5ef:	64 89 10             	mov    %edx,%fs:(%eax)
46f5f2:	eb 34                	jmp    0x46f628
46f5f4:	8b 43 1c             	mov    0x1c(%ebx),%eax
46f5f7:	8b 10                	mov    (%eax),%edx
46f5f9:	ff 52 10             	call   *0x10(%edx)
46f5fc:	8b d0                	mov    %eax,%edx
46f5fe:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f601:	b1 fc                	mov    $0xfc,%cl
46f603:	e8 34 64 f9 ff       	call   0x405a3c
46f608:	33 c0                	xor    %eax,%eax
46f60a:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f60d:	33 c0                	xor    %eax,%eax
46f60f:	5a                   	pop    %edx
46f610:	59                   	pop    %ecx
46f611:	59                   	pop    %ecx
46f612:	64 89 10             	mov    %edx,%fs:(%eax)
46f615:	eb 11                	jmp    0x46f628
46f617:	e9 3c 49 f9 ff       	jmp    0x403f58
46f61c:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
46f623:	e8 98 4c f9 ff       	call   0x4042c0
46f628:	33 c0                	xor    %eax,%eax
46f62a:	5a                   	pop    %edx
46f62b:	59                   	pop    %ecx
46f62c:	59                   	pop    %ecx
46f62d:	64 89 10             	mov    %edx,%fs:(%eax)
46f630:	68 45 f6 46 00       	push   $0x46f645
46f635:	8d 45 0c             	lea    0xc(%ebp),%eax
46f638:	e8 2f 64 f9 ff       	call   0x405a6c
46f63d:	c3                   	ret
46f63e:	e9 c9 4b f9 ff       	jmp    0x40420c
46f643:	eb f0                	jmp    0x46f635
46f645:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f648:	5f                   	pop    %edi
46f649:	5e                   	pop    %esi
46f64a:	5b                   	pop    %ebx
46f64b:	59                   	pop    %ecx
46f64c:	5d                   	pop    %ebp
46f64d:	c2 18 00             	ret    $0x18
46f650:	55                   	push   %ebp
46f651:	8b ec                	mov    %esp,%ebp
46f653:	8b 45 0c             	mov    0xc(%ebp),%eax
46f656:	8b 55 0c             	mov    0xc(%ebp),%edx
46f659:	85 d2                	test   %edx,%edx
46f65b:	74 0d                	je     0x46f66a
46f65d:	33 c9                	xor    %ecx,%ecx
46f65f:	89 4a 0c             	mov    %ecx,0xc(%edx)
46f662:	89 4a 08             	mov    %ecx,0x8(%edx)
46f665:	89 4a 04             	mov    %ecx,0x4(%edx)
46f668:	89 0a                	mov    %ecx,(%edx)
46f66a:	b8 01 00 00 00       	mov    $0x1,%eax
46f66f:	5d                   	pop    %ebp
46f670:	c2 08 00             	ret    $0x8
46f673:	90                   	nop
46f674:	55                   	push   %ebp
46f675:	8b ec                	mov    %esp,%ebp
46f677:	51                   	push   %ecx
46f678:	53                   	push   %ebx
46f679:	56                   	push   %esi
46f67a:	57                   	push   %edi
46f67b:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f67e:	8d 45 0c             	lea    0xc(%ebp),%eax
46f681:	e8 ee 63 f9 ff       	call   0x405a74
46f686:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f689:	8b 55 1c             	mov    0x1c(%ebp),%edx
46f68c:	85 d2                	test   %edx,%edx
46f68e:	74 0d                	je     0x46f69d
46f690:	33 c9                	xor    %ecx,%ecx
46f692:	89 4a 0c             	mov    %ecx,0xc(%edx)
46f695:	89 4a 08             	mov    %ecx,0x8(%edx)
46f698:	89 4a 04             	mov    %ecx,0x4(%edx)
46f69b:	89 0a                	mov    %ecx,(%edx)
46f69d:	33 c0                	xor    %eax,%eax
46f69f:	55                   	push   %ebp
46f6a0:	68 aa f7 46 00       	push   $0x46f7aa
46f6a5:	64 ff 30             	push   %fs:(%eax)
46f6a8:	64 89 20             	mov    %esp,%fs:(%eax)
46f6ab:	33 d2                	xor    %edx,%edx
46f6ad:	55                   	push   %ebp
46f6ae:	68 83 f7 46 00       	push   $0x46f783
46f6b3:	64 ff 32             	push   %fs:(%edx)
46f6b6:	64 89 22             	mov    %esp,%fs:(%edx)
46f6b9:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46f6bc:	8d 55 0c             	lea    0xc(%ebp),%edx
46f6bf:	8b c3                	mov    %ebx,%eax
46f6c1:	e8 76 ef ff ff       	call   0x46e63c
46f6c6:	84 c0                	test   %al,%al
46f6c8:	75 0d                	jne    0x46f6d7
46f6ca:	33 c0                	xor    %eax,%eax
46f6cc:	5a                   	pop    %edx
46f6cd:	59                   	pop    %ecx
46f6ce:	59                   	pop    %ecx
46f6cf:	64 89 10             	mov    %edx,%fs:(%eax)
46f6d2:	e9 bd 00 00 00       	jmp    0x46f794
46f6d7:	33 f6                	xor    %esi,%esi
46f6d9:	8b 43 1c             	mov    0x1c(%ebx),%eax
46f6dc:	8b 78 24             	mov    0x24(%eax),%edi
46f6df:	3b 87 ac 00 00 00    	cmp    0xac(%edi),%eax
46f6e5:	75 2a                	jne    0x46f711
46f6e7:	81 ce 80 00 00 00    	or     $0x80,%esi
46f6ed:	f6 87 b3 00 00 00 01 	testb  $0x1,0xb3(%edi)
46f6f4:	74 03                	je     0x46f6f9
46f6f6:	83 ce 04             	or     $0x4,%esi
46f6f9:	8b 43 1c             	mov    0x1c(%ebx),%eax
46f6fc:	8b 40 24             	mov    0x24(%eax),%eax
46f6ff:	80 b8 88 00 00 00 00 	cmpb   $0x0,0x88(%eax)
46f706:	74 09                	je     0x46f711
46f708:	80 78 40 00          	cmpb   $0x0,0x40(%eax)
46f70c:	74 03                	je     0x46f711
46f70e:	83 ce 08             	or     $0x8,%esi
46f711:	8b 43 1c             	mov    0x1c(%ebx),%eax
46f714:	8b 40 1c             	mov    0x1c(%eax),%eax
46f717:	f6 40 64 01          	testb  $0x1,0x64(%eax)
46f71b:	74 06                	je     0x46f723
46f71d:	81 ce 00 00 00 40    	or     $0x40000000,%esi
46f723:	8b 43 1c             	mov    0x1c(%ebx),%eax
46f726:	80 78 21 00          	cmpb   $0x0,0x21(%eax)
46f72a:	75 06                	jne    0x46f732
46f72c:	80 78 14 00          	cmpb   $0x0,0x14(%eax)
46f730:	74 13                	je     0x46f745
46f732:	8b c3                	mov    %ebx,%eax
46f734:	e8 fb ef ff ff       	call   0x46e734
46f739:	84 c0                	test   %al,%al
46f73b:	74 0e                	je     0x46f74b
46f73d:	81 ce 00 00 10 00    	or     $0x100000,%esi
46f743:	eb 06                	jmp    0x46f74b
46f745:	81 ce 00 80 00 00    	or     $0x8000,%esi
46f74b:	8b c3                	mov    %ebx,%eax
46f74d:	e8 a2 ef ff ff       	call   0x46e6f4
46f752:	84 c0                	test   %al,%al
46f754:	75 03                	jne    0x46f759
46f756:	83 ce 01             	or     $0x1,%esi
46f759:	8b 43 1c             	mov    0x1c(%ebx),%eax
46f75c:	8b 40 1c             	mov    0x1c(%eax),%eax
46f75f:	80 78 3c 00          	cmpb   $0x0,0x3c(%eax)
46f763:	74 03                	je     0x46f768
46f765:	83 ce 10             	or     $0x10,%esi
46f768:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f76b:	8b d6                	mov    %esi,%edx
46f76d:	b1 fc                	mov    $0xfc,%cl
46f76f:	e8 c8 62 f9 ff       	call   0x405a3c
46f774:	33 c0                	xor    %eax,%eax
46f776:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f779:	33 c0                	xor    %eax,%eax
46f77b:	5a                   	pop    %edx
46f77c:	59                   	pop    %ecx
46f77d:	59                   	pop    %ecx
46f77e:	64 89 10             	mov    %edx,%fs:(%eax)
46f781:	eb 11                	jmp    0x46f794
46f783:	e9 d0 47 f9 ff       	jmp    0x403f58
46f788:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
46f78f:	e8 2c 4b f9 ff       	call   0x4042c0
46f794:	33 c0                	xor    %eax,%eax
46f796:	5a                   	pop    %edx
46f797:	59                   	pop    %ecx
46f798:	59                   	pop    %ecx
46f799:	64 89 10             	mov    %edx,%fs:(%eax)
46f79c:	68 b1 f7 46 00       	push   $0x46f7b1
46f7a1:	8d 45 0c             	lea    0xc(%ebp),%eax
46f7a4:	e8 c3 62 f9 ff       	call   0x405a6c
46f7a9:	c3                   	ret
46f7aa:	e9 5d 4a f9 ff       	jmp    0x40420c
46f7af:	eb f0                	jmp    0x46f7a1
46f7b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f7b4:	5f                   	pop    %edi
46f7b5:	5e                   	pop    %esi
46f7b6:	5b                   	pop    %ebx
46f7b7:	59                   	pop    %ecx
46f7b8:	5d                   	pop    %ebp
46f7b9:	c2 18 00             	ret    $0x18
46f7bc:	55                   	push   %ebp
46f7bd:	8b ec                	mov    %esp,%ebp
46f7bf:	51                   	push   %ecx
46f7c0:	53                   	push   %ebx
46f7c1:	56                   	push   %esi
46f7c2:	57                   	push   %edi
46f7c3:	8b 5d 08             	mov    0x8(%ebp),%ebx
46f7c6:	8d 45 0c             	lea    0xc(%ebp),%eax
46f7c9:	e8 a6 62 f9 ff       	call   0x405a74
46f7ce:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f7d1:	85 c0                	test   %eax,%eax
46f7d3:	74 04                	je     0x46f7d9
46f7d5:	33 d2                	xor    %edx,%edx
46f7d7:	89 10                	mov    %edx,(%eax)
46f7d9:	33 c0                	xor    %eax,%eax
46f7db:	55                   	push   %ebp
46f7dc:	68 66 f8 46 00       	push   $0x46f866
46f7e1:	64 ff 30             	push   %fs:(%eax)
46f7e4:	64 89 20             	mov    %esp,%fs:(%eax)
46f7e7:	33 c0                	xor    %eax,%eax
46f7e9:	55                   	push   %ebp
46f7ea:	68 3f f8 46 00       	push   $0x46f83f
46f7ef:	64 ff 30             	push   %fs:(%eax)
46f7f2:	64 89 20             	mov    %esp,%fs:(%eax)
46f7f5:	8d 4d fc             	lea    -0x4(%ebp),%ecx
46f7f8:	8d 55 0c             	lea    0xc(%ebp),%edx
46f7fb:	8b c3                	mov    %ebx,%eax
46f7fd:	e8 3a ee ff ff       	call   0x46e63c
46f802:	84 c0                	test   %al,%al
46f804:	75 0a                	jne    0x46f810
46f806:	33 c0                	xor    %eax,%eax
46f808:	5a                   	pop    %edx
46f809:	59                   	pop    %ecx
46f80a:	59                   	pop    %ecx
46f80b:	64 89 10             	mov    %edx,%fs:(%eax)
46f80e:	eb 40                	jmp    0x46f850
46f810:	8b 55 1c             	mov    0x1c(%ebp),%edx
46f813:	8b 43 1c             	mov    0x1c(%ebx),%eax
46f816:	8b 08                	mov    (%eax),%ecx
46f818:	ff 51 14             	call   *0x14(%ecx)
46f81b:	84 c0                	test   %al,%al
46f81d:	74 07                	je     0x46f826
46f81f:	33 c0                	xor    %eax,%eax
46f821:	89 45 fc             	mov    %eax,-0x4(%ebp)
46f824:	eb 0f                	jmp    0x46f835
46f826:	8b 45 1c             	mov    0x1c(%ebp),%eax
46f829:	e8 5e 57 f9 ff       	call   0x404f8c
46f82e:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
46f835:	33 c0                	xor    %eax,%eax
46f837:	5a                   	pop    %edx
46f838:	59                   	pop    %ecx
46f839:	59                   	pop    %ecx
46f83a:	64 89 10             	mov    %edx,%fs:(%eax)
46f83d:	eb 11                	jmp    0x46f850
46f83f:	e9 14 47 f9 ff       	jmp    0x403f58
46f844:	c7 45 fc ff ff 00 80 	movl   $0x8000ffff,-0x4(%ebp)
46f84b:	e8 70 4a f9 ff       	call   0x4042c0
46f850:	33 c0                	xor    %eax,%eax
46f852:	5a                   	pop    %edx
46f853:	59                   	pop    %ecx
46f854:	59                   	pop    %ecx
46f855:	64 89 10             	mov    %edx,%fs:(%eax)
46f858:	68 6d f8 46 00       	push   $0x46f86d
46f85d:	8d 45 0c             	lea    0xc(%ebp),%eax
46f860:	e8 07 62 f9 ff       	call   0x405a6c
46f865:	c3                   	ret
46f866:	e9 a1 49 f9 ff       	jmp    0x40420c
46f86b:	eb f0                	jmp    0x46f85d
46f86d:	8b 45 fc             	mov    -0x4(%ebp),%eax
46f870:	5f                   	pop    %edi
46f871:	5e                   	pop    %esi
46f872:	5b                   	pop    %ebx
46f873:	59                   	pop    %ecx
46f874:	5d                   	pop    %ebp
46f875:	c2 18 00             	ret    $0x18
46f878:	55                   	push   %ebp
46f879:	8b ec                	mov    %esp,%ebp
46f87b:	53                   	push   %ebx
46f87c:	8d 45 0c             	lea    0xc(%ebp),%eax
46f87f:	e8 f0 61 f9 ff       	call   0x405a74
46f884:	33 c0                	xor    %eax,%eax
46f886:	55                   	push   %ebp
46f887:	68 ad f8 46 00       	push   $0x46f8ad
46f88c:	64 ff 30             	push   %fs:(%eax)
46f88f:	64 89 20             	mov    %esp,%fs:(%eax)
46f892:	bb 01 00 00 00       	mov    $0x1,%ebx
46f897:	33 c0                	xor    %eax,%eax
46f899:	5a                   	pop    %edx
46f89a:	59                   	pop    %ecx
46f89b:	59                   	pop    %ecx
46f89c:	64 89 10             	mov    %edx,%fs:(%eax)
46f89f:	68 b4 f8 46 00       	push   $0x46f8b4
46f8a4:	8d 45 0c             	lea    0xc(%ebp),%eax
46f8a7:	e8 c0 61 f9 ff       	call   0x405a6c
46f8ac:	c3                   	ret
46f8ad:	e9 5a 49 f9 ff       	jmp    0x40420c
46f8b2:	eb f0                	jmp    0x46f8a4
46f8b4:	8b c3                	mov    %ebx,%eax
46f8b6:	5b                   	pop    %ebx
46f8b7:	5d                   	pop    %ebp
46f8b8:	c2 18 00             	ret    $0x18
46f8bb:	90                   	nop
46f8bc:	55                   	push   %ebp