46160d:	c2 0c 00             	ret    $0xc
461610:	55                   	push   %ebp
461611:	8b ec                	mov    %esp,%ebp
461613:	53                   	push   %ebx
461614:	56                   	push   %esi
461615:	57                   	push   %edi
461616:	8b f1                	mov    %ecx,%esi
461618:	e8 6e 41 fe ff       	call   0x44578b
46161d:	8b 4e 7c             	mov    0x7c(%esi),%ecx
461620:	85 c9                	test   %ecx,%ecx
461622:	8b 7d 08             	mov    0x8(%ebp),%edi
461625:	8b d8                	mov    %eax,%ebx
461627:	74 14                	je     0x46163d
461629:	ff 75 10             	push   0x10(%ebp)
46162c:	8b 01                	mov    (%ecx),%eax
46162e:	ff 75 0c             	push   0xc(%ebp)
461631:	57                   	push   %edi
461632:	ff 50 7c             	call   *0x7c(%eax)
461635:	85 c0                	test   %eax,%eax
461637:	0f 85 dd 00 00 00    	jne    0x46171a
46163d:	81 7d 0c ff ff 00 00 	cmpl   $0xffff,0xc(%ebp)
461644:	75 4f                	jne    0x461695
461646:	83 66 38 bf          	andl   $0xffffffbf,0x38(%esi)
46164a:	83 7b 64 00          	cmpl   $0x0,0x64(%ebx)
46164e:	75 0c                	jne    0x46165c
461650:	c7 86 a4 00 00 00 01 	movl   $0xe001,0xa4(%esi)
461657:	e0 00 00
46165a:	eb 0a                	jmp    0x461666
46165c:	c7 86 a4 00 00 00 02 	movl   $0xe002,0xa4(%esi)
461663:	e0 00 00
461666:	6a 00                	push   $0x0
461668:	ff b6 a4 00 00 00    	push   0xa4(%esi)
46166e:	68 62 03 00 00       	push   $0x362
461673:	ff 76 1c             	push   0x1c(%esi)
461676:	ff 15 98 08 4b 00    	call   *0x4b0898
46167c:	8b 06                	mov    (%esi),%eax
46167e:	8b ce                	mov    %esi,%ecx
461680:	ff 90 50 01 00 00    	call   *0x150(%eax)
461686:	85 c0                	test   %eax,%eax
461688:	74 5d                	je     0x4616e7
46168a:	ff 70 1c             	push   0x1c(%eax)
46168d:	ff 15 48 08 4b 00    	call   *0x4b0848
461693:	eb 52                	jmp    0x4616e7
461695:	85 ff                	test   %edi,%edi
461697:	74 43                	je     0x4616dc
461699:	66 f7 45 0c 10 08    	testw  $0x810,0xc(%ebp)
46169f:	75 3b                	jne    0x4616dc
4616a1:	81 ff 00 f0 00 00    	cmp    $0xf000,%edi
4616a7:	72 1f                	jb     0x4616c8
4616a9:	81 ff f0 f1 00 00    	cmp    $0xf1f0,%edi
4616af:	73 17                	jae    0x4616c8
4616b1:	81 c7 00 10 ff ff    	add    $0xffff1000,%edi
4616b7:	c1 ef 04             	shr    $0x4,%edi
4616ba:	81 c7 00 ef 00 00    	add    $0xef00,%edi
4616c0:	89 be a4 00 00 00    	mov    %edi,0xa4(%esi)
4616c6:	eb 1b                	jmp    0x4616e3
4616c8:	81 ff 00 ff 00 00    	cmp    $0xff00,%edi
4616ce:	72 f0                	jb     0x4616c0
4616d0:	c7 86 a4 00 00 00 1f 	movl   $0xef1f,0xa4(%esi)
4616d7:	ef 00 00
4616da:	eb 07                	jmp    0x4616e3
4616dc:	83 a6 a4 00 00 00 00 	andl   $0x0,0xa4(%esi)
4616e3:	83 4b 38 40          	orl    $0x40,0x38(%ebx)
4616e7:	8b 86 a4 00 00 00    	mov    0xa4(%esi),%eax
4616ed:	3b 86 a8 00 00 00    	cmp    0xa8(%esi),%eax
4616f3:	74 25                	je     0x46171a
4616f5:	ff 76 1c             	push   0x1c(%esi)
4616f8:	ff 15 d8 07 4b 00    	call   *0x4b07d8
4616fe:	50                   	push   %eax
4616ff:	e8 9e 35 fe ff       	call   0x444ca2
461704:	85 c0                	test   %eax,%eax
461706:	74 12                	je     0x46171a
461708:	6a 00                	push   $0x0
46170a:	6a 00                	push   $0x0
46170c:	68 6a 03 00 00       	push   $0x36a
461711:	ff 76 1c             	push   0x1c(%esi)
461714:	ff 15 c8 07 4b 00    	call   *0x4b07c8
46171a:	5f                   	pop    %edi
46171b:	5e                   	pop    %esi
46171c:	5b                   	pop    %ebx
46171d:	5d                   	pop    %ebp
46171e:	c2 0c 00             	ret    $0xc
461721:	f6 41 38 40          	testb  $0x40,0x38(%ecx)
461725:	74 04                	je     0x46172b
461727:	33 c0                	xor    %eax,%eax
461729:	eb 16                	jmp    0x461741
46172b:	ff 74 24 08          	push   0x8(%esp)
46172f:	ff 74 24 08          	push   0x8(%esp)
461733:	68 62 03 00 00       	push   $0x362
461738:	ff 71 1c             	push   0x1c(%ecx)
46173b:	ff 15 98 08 4b 00    	call   *0x4b0898
461741:	c2 08 00             	ret    $0x8
461744:	6a 01                	push   $0x1
461746:	68 01 e8 00 00       	push   $0xe801
46174b:	ff 71 1c             	push   0x1c(%ecx)
46174e:	e8 d1 38 fe ff       	call   0x445024
461753:	c3                   	ret
461754:	ff 74 24 04          	push   0x4(%esp)
461758:	6a 00                	push   $0x0
46175a:	68 62 03 00 00       	push   $0x362
46175f:	ff 71 1c             	push   0x1c(%ecx)
461762:	ff 15 98 08 4b 00    	call   *0x4b0898
461768:	c2 04 00             	ret    $0x4
46176b:	6a 00                	push   $0x0
46176d:	ff 74 24 08          	push   0x8(%esp)
461771:	68 62 03 00 00       	push   $0x362
461776:	ff 71 1c             	push   0x1c(%ecx)
461779:	ff 15 98 08 4b 00    	call   *0x4b0898
46177f:	c2 04 00             	ret    $0x4
461782:	b8 46 39 48 00       	mov    $0x483946,%eax
461787:	e8 f0 64 fb ff       	call   0x417c7c
46178c:	83 ec 3c             	sub    $0x3c,%esp
46178f:	56                   	push   %esi
461790:	8b f1                	mov    %ecx,%esi
461792:	6a 0a                	push   $0xa
461794:	8d 4d b8             	lea    -0x48(%ebp),%ecx
461797:	e8 e7 ae fd ff       	call   0x43c683
46179c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4617a0:	6a 0a                	push   $0xa
4617a2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4617a5:	e8 d9 ae fd ff       	call   0x43c683
4617aa:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
4617b0:	85 c0                	test   %eax,%eax
4617b2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4617b6:	89 45 f0             	mov    %eax,-0x10(%ebp)
4617b9:	74 35                	je     0x4617f0
4617bb:	57                   	push   %edi
4617bc:	8d be 80 00 00 00    	lea    0x80(%esi),%edi
4617c2:	8d 45 f0             	lea    -0x10(%ebp),%eax
4617c5:	50                   	push   %eax
4617c6:	8b cf                	mov    %edi,%ecx
4617c8:	e8 95 5c fa ff       	call   0x407462
4617cd:	8b 30                	mov    (%eax),%esi
4617cf:	8b 06                	mov    (%esi),%eax
4617d1:	8b ce                	mov    %esi,%ecx
4617d3:	ff 90 58 01 00 00    	call   *0x158(%eax)
4617d9:	85 c0                	test   %eax,%eax
4617db:	56                   	push   %esi
4617dc:	8d 4d b8             	lea    -0x48(%ebp),%ecx
4617df:	75 03                	jne    0x4617e4
4617e1:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4617e4:	e8 48 af fd ff       	call   0x43c731
4617e9:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
4617ed:	75 d3                	jne    0x4617c2
4617ef:	5f                   	pop    %edi
4617f0:	8b 75 bc             	mov    -0x44(%ebp),%esi
4617f3:	eb 27                	jmp    0x46181c
4617f5:	85 f6                	test   %esi,%esi
4617f7:	8b c6                	mov    %esi,%eax
4617f9:	74 67                	je     0x461862
4617fb:	8b 48 08             	mov    0x8(%eax),%ecx
4617fe:	83 b9 90 00 00 00 00 	cmpl   $0x0,0x90(%ecx)
461805:	8b 36                	mov    (%esi),%esi
461807:	74 0e                	je     0x461817
461809:	e8 3e 3f fe ff       	call   0x44574c
46180e:	8b 10                	mov    (%eax),%edx
461810:	8b c8                	mov    %eax,%ecx
461812:	ff 52 60             	call   *0x60(%edx)
461815:	eb 05                	jmp    0x46181c
461817:	8b 01                	mov    (%ecx),%eax
461819:	ff 50 60             	call   *0x60(%eax)
46181c:	85 f6                	test   %esi,%esi
46181e:	75 d5                	jne    0x4617f5
461820:	8b 75 d8             	mov    -0x28(%ebp),%esi
461823:	eb 14                	jmp    0x461839
461825:	85 f6                	test   %esi,%esi
461827:	8b c6                	mov    %esi,%eax
461829:	74 37                	je     0x461862
46182b:	8b 48 08             	mov    0x8(%eax),%ecx
46182e:	85 c9                	test   %ecx,%ecx
461830:	8b 36                	mov    (%esi),%esi
461832:	74 05                	je     0x461839
461834:	8b 01                	mov    (%ecx),%eax
461836:	ff 50 60             	call   *0x60(%eax)
461839:	85 f6                	test   %esi,%esi
46183b:	75 e8                	jne    0x461825
46183d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
461840:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
461844:	e8 5d ae fd ff       	call   0x43c6a6
461849:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46184d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
461850:	e8 51 ae fd ff       	call   0x43c6a6
461855:	8b 4d f4             	mov    -0xc(%ebp),%ecx
461858:	5e                   	pop    %esi
461859:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
461860:	c9                   	leave
461861:	c3                   	ret
461862:	e9 e4 3b fd ff       	jmp    0x43544b
461867:	55                   	push   %ebp
461868:	8b ec                	mov    %esp,%ebp
46186a:	51                   	push   %ecx
46186b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
46186f:	75 04                	jne    0x461875
461871:	33 c0                	xor    %eax,%eax
461873:	eb 3d                	jmp    0x4618b2
461875:	8b 81 84 00 00 00    	mov    0x84(%ecx),%eax
46187b:	85 c0                	test   %eax,%eax
46187d:	56                   	push   %esi
46187e:	57                   	push   %edi
46187f:	89 45 fc             	mov    %eax,-0x4(%ebp)
461882:	74 2a                	je     0x4618ae
461884:	8d b9 80 00 00 00    	lea    0x80(%ecx),%edi
46188a:	8d 45 fc             	lea    -0x4(%ebp),%eax
46188d:	50                   	push   %eax
46188e:	8b cf                	mov    %edi,%ecx
461890:	e8 cd 5b fa ff       	call   0x407462
461895:	8b 30                	mov    (%eax),%esi
461897:	ff 76 1c             	push   0x1c(%esi)
46189a:	ff 15 0c 08 4b 00    	call   *0x4b080c
4618a0:	0f b7 c0             	movzwl %ax,%eax
4618a3:	3b 45 08             	cmp    0x8(%ebp),%eax
4618a6:	74 0e                	je     0x4618b6
4618a8:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4618ac:	75 dc                	jne    0x46188a
4618ae:	33 c0                	xor    %eax,%eax
4618b0:	5f                   	pop    %edi
4618b1:	5e                   	pop    %esi
4618b2:	c9                   	leave
4618b3:	c2 04 00             	ret    $0x4
4618b6:	8b c6                	mov    %esi,%eax
4618b8:	eb f6                	jmp    0x4618b0
4618ba:	56                   	push   %esi
4618bb:	8b 74 24 08          	mov    0x8(%esp),%esi
4618bf:	ff 76 04             	push   0x4(%esi)
4618c2:	e8 a0 ff ff ff       	call   0x461867
4618c7:	85 c0                	test   %eax,%eax
4618c9:	74 19                	je     0x4618e4
4618cb:	57                   	push   %edi
4618cc:	8b 3e                	mov    (%esi),%edi
4618ce:	8b c8                	mov    %eax,%ecx
4618d0:	e8 71 f3 fd ff       	call   0x440c46
4618d5:	c1 e8 1c             	shr    $0x1c,%eax
4618d8:	83 e0 01             	and    $0x1,%eax
4618db:	50                   	push   %eax
4618dc:	8b ce                	mov    %esi,%ecx
4618de:	ff 57 04             	call   *0x4(%edi)
4618e1:	5f                   	pop    %edi
4618e2:	eb 07                	jmp    0x4618eb
4618e4:	c7 46 1c 01 00 00 00 	movl   $0x1,0x1c(%esi)
4618eb:	5e                   	pop    %esi
4618ec:	c2 04 00             	ret    $0x4
4618ef:	56                   	push   %esi
4618f0:	57                   	push   %edi
4618f1:	ff 74 24 0c          	push   0xc(%esp)
4618f5:	8b f9                	mov    %ecx,%edi
4618f7:	e8 6b ff ff ff       	call   0x461867
4618fc:	8b f0                	mov    %eax,%esi
4618fe:	85 f6                	test   %esi,%esi
461900:	74 1f                	je     0x461921
461902:	6a 00                	push   $0x0
461904:	8b ce                	mov    %esi,%ecx
461906:	e8 3b f3 fd ff       	call   0x440c46
46190b:	c1 e8 1c             	shr    $0x1c,%eax
46190e:	f7 d0                	not    %eax
461910:	83 e0 01             	and    $0x1,%eax
461913:	50                   	push   %eax
461914:	56                   	push   %esi
461915:	8b cf                	mov    %edi,%ecx
461917:	e8 7e fa ff ff       	call   0x46139a
46191c:	33 c0                	xor    %eax,%eax
46191e:	40                   	inc    %eax
46191f:	eb 02                	jmp    0x461923
461921:	33 c0                	xor    %eax,%eax
461923:	5f                   	pop    %edi
461924:	5e                   	pop    %esi
461925:	c2 04 00             	ret    $0x4
461928:	57                   	push   %edi
461929:	8b 7c 24 08          	mov    0x8(%esp),%edi
46192d:	8b 47 04             	mov    0x4(%edi),%eax
461930:	2d 01 e7 00 00       	sub    $0xe701,%eax
461935:	74 26                	je     0x46195d
461937:	48                   	dec    %eax
461938:	74 1c                	je     0x461956
46193a:	48                   	dec    %eax
46193b:	74 12                	je     0x46194f
46193d:	83 e8 03             	sub    $0x3,%eax
461940:	74 09                	je     0x46194b
461942:	c7 47 1c 01 00 00 00 	movl   $0x1,0x1c(%edi)
461949:	eb 28                	jmp    0x461973
46194b:	6a 15                	push   $0x15
46194d:	eb 10                	jmp    0x46195f
46194f:	b8 91 00 00 00       	mov    $0x91,%eax
461954:	eb 0a                	jmp    0x461960
461956:	b8 90 00 00 00       	mov    $0x90,%eax
46195b:	eb 03                	jmp    0x461960
46195d:	6a 14                	push   $0x14
46195f:	58                   	pop    %eax
461960:	56                   	push   %esi
461961:	8b 37                	mov    (%edi),%esi
461963:	50                   	push   %eax
461964:	ff 15 a4 07 4b 00    	call   *0x4b07a4
46196a:	8b cf                	mov    %edi,%ecx
46196c:	83 e0 01             	and    $0x1,%eax
46196f:	50                   	push   %eax
461970:	ff 16                	call   *(%esi)
461972:	5e                   	pop    %esi
461973:	5f                   	pop    %edi
461974:	c2 04 00             	ret    $0x4
461977:	56                   	push   %esi
461978:	8b f1                	mov    %ecx,%esi
46197a:	e8 29 5b fa ff       	call   0x4074a8
46197f:	3b c6                	cmp    %esi,%eax
461981:	75 14                	jne    0x461997
461983:	8b 4c 24 08          	mov    0x8(%esp),%ecx
461987:	8b 01                	mov    (%ecx),%eax
461989:	33 d2                	xor    %edx,%edx
46198b:	39 56 64             	cmp    %edx,0x64(%esi)
46198e:	0f 95 c2             	setne  %dl
461991:	52                   	push   %edx
461992:	ff 50 04             	call   *0x4(%eax)
461995:	eb 0b                	jmp    0x4619a2
461997:	8b 44 24 08          	mov    0x8(%esp),%eax
46199b:	c7 40 1c 01 00 00 00 	movl   $0x1,0x1c(%eax)
4619a2:	5e                   	pop    %esi
4619a3:	c2 04 00             	ret    $0x4
4619a6:	83 ec 0c             	sub    $0xc,%esp
4619a9:	53                   	push   %ebx
4619aa:	55                   	push   %ebp
4619ab:	56                   	push   %esi
4619ac:	8b f1                	mov    %ecx,%esi
4619ae:	8b 06                	mov    (%esi),%eax
4619b0:	57                   	push   %edi
4619b1:	ff 90 3c 01 00 00    	call   *0x13c(%eax)
4619b7:	33 db                	xor    %ebx,%ebx
4619b9:	39 5c 24 20          	cmp    %ebx,0x20(%esp)
4619bd:	89 44 24 18          	mov    %eax,0x18(%esp)
4619c1:	74 0e                	je     0x4619d1
4619c3:	39 58 7c             	cmp    %ebx,0x7c(%eax)
4619c6:	74 09                	je     0x4619d1
4619c8:	8b 48 7c             	mov    0x7c(%eax),%ecx
4619cb:	8b 01                	mov    (%ecx),%eax
4619cd:	53                   	push   %ebx
4619ce:	ff 50 5c             	call   *0x5c(%eax)
4619d1:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
4619d7:	3b c3                	cmp    %ebx,%eax
4619d9:	8b 7c 24 24          	mov    0x24(%esp),%edi
4619dd:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4619e1:	89 44 24 14          	mov    %eax,0x14(%esp)
4619e5:	74 7e                	je     0x461a65
4619e7:	8d 44 24 14          	lea    0x14(%esp),%eax
4619eb:	50                   	push   %eax
4619ec:	8d 8e 80 00 00 00    	lea    0x80(%esi),%ecx
4619f2:	e8 6b 5a fa ff       	call   0x407462
4619f7:	8b 18                	mov    (%eax),%ebx
4619f9:	ff 73 1c             	push   0x1c(%ebx)
4619fc:	ff 15 0c 08 4b 00    	call   *0x4b080c
461a02:	0f b7 c0             	movzwl %ax,%eax
461a05:	3d 00 e8 00 00       	cmp    $0xe800,%eax
461a0a:	89 44 24 24          	mov    %eax,0x24(%esp)
461a0e:	72 4c                	jb     0x461a5c