4646ca:	85 f6                	test   %esi,%esi
4646cc:	75 05                	jne    0x4646d3
4646ce:	e8 44 0d fd ff       	call   0x435417
4646d3:	ff 74 24 0c          	push   0xc(%esp)
4646d7:	8b 06                	mov    (%esi),%eax
4646d9:	57                   	push   %edi
4646da:	8b ce                	mov    %esi,%ecx
4646dc:	ff 90 78 01 00 00    	call   *0x178(%eax)
4646e2:	85 c0                	test   %eax,%eax
4646e4:	75 05                	jne    0x4646eb
4646e6:	e8 6a a5 fe ff       	call   0x44ec55
4646eb:	5f                   	pop    %edi
4646ec:	8b c6                	mov    %esi,%eax
4646ee:	5e                   	pop    %esi
4646ef:	c2 04 00             	ret    $0x4
4646f2:	55                   	push   %ebp
4646f3:	8b ec                	mov    %esp,%ebp
4646f5:	51                   	push   %ecx
4646f6:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4646f9:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4646fc:	85 c9                	test   %ecx,%ecx
4646fe:	57                   	push   %edi
4646ff:	8b 7d 08             	mov    0x8(%ebp),%edi
464702:	75 36                	jne    0x46473a
464704:	56                   	push   %esi
464705:	8b 77 7c             	mov    0x7c(%edi),%esi
464708:	b8 00 f0 00 00       	mov    $0xf000,%eax
46470d:	33 d2                	xor    %edx,%edx
46470f:	23 f0                	and    %eax,%esi
464711:	53                   	push   %ebx
464712:	8b 1c d5 94 14 49 00 	mov    0x491494(,%edx,8),%ebx
464719:	23 d8                	and    %eax,%ebx
46471b:	3b de                	cmp    %esi,%ebx
46471d:	74 08                	je     0x464727
46471f:	42                   	inc    %edx
464720:	83 fa 04             	cmp    $0x4,%edx
464723:	7c ed                	jl     0x464712
464725:	eb 11                	jmp    0x464738
464727:	ff 34 d5 90 14 49 00 	push   0x491490(,%edx,8)
46472e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
464731:	e8 31 d1 ff ff       	call   0x461867
464736:	8b c8                	mov    %eax,%ecx
464738:	5b                   	pop    %ebx
464739:	5e                   	pop    %esi
46473a:	ff 75 10             	push   0x10(%ebp)
46473d:	57                   	push   %edi
46473e:	e8 82 80 ff ff       	call   0x45c7c5
464743:	5f                   	pop    %edi
464744:	c9                   	leave
464745:	c2 0c 00             	ret    $0xc
464748:	55                   	push   %ebp
464749:	8b ec                	mov    %esp,%ebp
46474b:	53                   	push   %ebx
46474c:	8b d9                	mov    %ecx,%ebx
46474e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
464751:	85 c9                	test   %ecx,%ecx
464753:	75 60                	jne    0x4647b5
464755:	21 4d 0c             	and    %ecx,0xc(%ebp)
464758:	56                   	push   %esi
464759:	be 90 14 49 00       	mov    $0x491490,%esi
46475e:	57                   	push   %edi
46475f:	ff 36                	push   (%esi)
464761:	8b cb                	mov    %ebx,%ecx
464763:	e8 ff d0 ff ff       	call   0x461867
464768:	8b f8                	mov    %eax,%edi
46476a:	85 ff                	test   %edi,%edi
46476c:	74 1d                	je     0x46478b
46476e:	8b 45 08             	mov    0x8(%ebp),%eax
464771:	6a ff                	push   $0xffffffff
464773:	ff 70 1c             	push   0x1c(%eax)
464776:	ff 15 0c 08 4b 00    	call   *0x4b080c
46477c:	0f b7 c0             	movzwl %ax,%eax
46477f:	50                   	push   %eax
464780:	8b cf                	mov    %edi,%ecx
464782:	e8 eb 75 ff ff       	call   0x45bd72
464787:	85 c0                	test   %eax,%eax
464789:	7f 3a                	jg     0x4647c5
46478b:	8b 46 04             	mov    0x4(%esi),%eax
46478e:	8b 4d 08             	mov    0x8(%ebp),%ecx
464791:	33 41 7c             	xor    0x7c(%ecx),%eax
464794:	f6 c4 f0             	test   $0xf0,%ah
464797:	75 0c                	jne    0x4647a5
464799:	ff 36                	push   (%esi)
46479b:	8b cb                	mov    %ebx,%ecx
46479d:	e8 c5 d0 ff ff       	call   0x461867
4647a2:	89 45 0c             	mov    %eax,0xc(%ebp)
4647a5:	83 c6 08             	add    $0x8,%esi
4647a8:	81 fe b0 14 49 00    	cmp    $0x4914b0,%esi
4647ae:	7c af                	jl     0x46475f
4647b0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4647b3:	5f                   	pop    %edi
4647b4:	5e                   	pop    %esi
4647b5:	ff 75 10             	push   0x10(%ebp)
4647b8:	ff 75 08             	push   0x8(%ebp)
4647bb:	e8 71 82 ff ff       	call   0x45ca31
4647c0:	5b                   	pop    %ebx
4647c1:	5d                   	pop    %ebp
4647c2:	c2 0c 00             	ret    $0xc
4647c5:	8b cf                	mov    %edi,%ecx
4647c7:	eb ea                	jmp    0x4647b3
4647c9:	b8 83 44 48 00       	mov    $0x484483,%eax
4647ce:	e8 a9 34 fb ff       	call   0x417c7c
4647d3:	51                   	push   %ecx
4647d4:	56                   	push   %esi
4647d5:	57                   	push   %edi
4647d6:	8b f9                	mov    %ecx,%edi
4647d8:	c7 87 c8 00 00 00 30 	movl   $0x491030,0xc8(%edi)
4647df:	10 49 00
4647e2:	be 94 14 49 00       	mov    $0x491494,%esi
4647e7:	8b 45 08             	mov    0x8(%ebp),%eax
4647ea:	23 06                	and    (%esi),%eax
4647ec:	f6 c4 f0             	test   $0xf0,%ah
4647ef:	74 55                	je     0x464846
4647f1:	ff 76 fc             	push   -0x4(%esi)
4647f4:	8b cf                	mov    %edi,%ecx
4647f6:	e8 6c d0 ff ff       	call   0x461867
4647fb:	85 c0                	test   %eax,%eax
4647fd:	75 47                	jne    0x464846
4647ff:	68 bc 00 00 00       	push   $0xbc
464804:	e8 4c b8 fd ff       	call   0x440055
464809:	59                   	pop    %ecx
46480a:	8b c8                	mov    %eax,%ecx
46480c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46480f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
464813:	85 c9                	test   %ecx,%ecx
464815:	74 09                	je     0x464820
464817:	6a 00                	push   $0x0
464819:	e8 dc 73 ff ff       	call   0x45bbfa
46481e:	eb 02                	jmp    0x464822
464820:	33 c0                	xor    %eax,%eax
464822:	ff 76 fc             	push   -0x4(%esi)
464825:	8b 0e                	mov    (%esi),%ecx
464827:	8b 10                	mov    (%eax),%edx
464829:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46482d:	81 c9 00 00 00 56    	or     $0x56000000,%ecx
464833:	51                   	push   %ecx
464834:	57                   	push   %edi
464835:	8b c8                	mov    %eax,%ecx
464837:	ff 92 64 01 00 00    	call   *0x164(%edx)
46483d:	85 c0                	test   %eax,%eax
46483f:	75 05                	jne    0x464846
464841:	e8 0f a4 fe ff       	call   0x44ec55
464846:	83 c6 08             	add    $0x8,%esi
464849:	81 fe b4 14 49 00    	cmp    $0x4914b4,%esi
46484f:	7c 96                	jl     0x4647e7
464851:	8b 4d f4             	mov    -0xc(%ebp),%ecx
464854:	5f                   	pop    %edi
464855:	5e                   	pop    %esi
464856:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46485d:	c9                   	leave
46485e:	c2 04 00             	ret    $0x4
464861:	33 c0                	xor    %eax,%eax
464863:	39 44 24 08          	cmp    %eax,0x8(%esp)
464867:	56                   	push   %esi
464868:	8b f1                	mov    %ecx,%esi
46486a:	74 09                	je     0x464875
46486c:	ff 74 24 0c          	push   0xc(%esp)
464870:	e8 f2 cf ff ff       	call   0x461867
464875:	ff 74 24 10          	push   0x10(%esp)
464879:	8b ce                	mov    %esi,%ecx
46487b:	50                   	push   %eax
46487c:	ff 74 24 10          	push   0x10(%esp)
464880:	e8 6d fe ff ff       	call   0x4646f2
464885:	5e                   	pop    %esi
464886:	c2 0c 00             	ret    $0xc
464889:	55                   	push   %ebp
46488a:	8b ec                	mov    %esp,%ebp
46488c:	51                   	push   %ecx
46488d:	53                   	push   %ebx
46488e:	56                   	push   %esi
46488f:	57                   	push   %edi
464890:	8b 7d 08             	mov    0x8(%ebp),%edi
464893:	33 db                	xor    %ebx,%ebx
464895:	39 9f 84 00 00 00    	cmp    %ebx,0x84(%edi)
46489b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
46489e:	74 5d                	je     0x4648fd
4648a0:	8b b7 88 00 00 00    	mov    0x88(%edi),%esi
4648a6:	3b f3                	cmp    %ebx,%esi
4648a8:	74 53                	je     0x4648fd
4648aa:	39 9e 90 00 00 00    	cmp    %ebx,0x90(%esi)
4648b0:	74 4b                	je     0x4648fd
4648b2:	8b ce                	mov    %esi,%ecx
4648b4:	e8 ce 77 ff ff       	call   0x45c087
4648b9:	83 f8 01             	cmp    $0x1,%eax
4648bc:	75 3f                	jne    0x4648fd
4648be:	8b 46 7c             	mov    0x7c(%esi),%eax
4648c1:	23 45 14             	and    0x14(%ebp),%eax
4648c4:	f6 c4 f0             	test   $0xf0,%ah
4648c7:	74 34                	je     0x4648fd
4648c9:	ff 76 1c             	push   0x1c(%esi)
4648cc:	ff 15 d8 07 4b 00    	call   *0x4b07d8
4648d2:	50                   	push   %eax
4648d3:	e8 ca 03 fe ff       	call   0x444ca2
4648d8:	6a 15                	push   $0x15
4648da:	53                   	push   %ebx
4648db:	53                   	push   %ebx
4648dc:	ff 75 10             	push   0x10(%ebp)
4648df:	8b f0                	mov    %eax,%esi
4648e1:	ff 75 0c             	push   0xc(%ebp)
4648e4:	8b ce                	mov    %esi,%ecx
4648e6:	53                   	push   %ebx
4648e7:	e8 7d c6 fd ff       	call   0x440f69
4648ec:	8b 06                	mov    (%esi),%eax
4648ee:	6a 01                	push   $0x1
4648f0:	8b ce                	mov    %esi,%ecx
4648f2:	ff 90 44 01 00 00    	call   *0x144(%eax)
4648f8:	e9 86 00 00 00       	jmp    0x464983
4648fd:	f6 47 7c 04          	testb  $0x4,0x7c(%edi)
464901:	74 1a                	je     0x46491d
464903:	83 4d 14 04          	orl    $0x4,0x14(%ebp)
464907:	f6 45 15 50          	testb  $0x50,0x15(%ebp)
46490b:	74 10                	je     0x46491d
46490d:	8b 45 14             	mov    0x14(%ebp),%eax
464910:	25 ff 2f ff ff       	and    $0xffff2fff,%eax
464915:	0d 00 20 00 00       	or     $0x2000,%eax
46491a:	89 45 14             	mov    %eax,0x14(%ebp)
46491d:	ff 75 14             	push   0x14(%ebp)
464920:	8b 4d fc             	mov    -0x4(%ebp),%ecx
464923:	e8 91 fd ff ff       	call   0x4646b9
464928:	6a 15                	push   $0x15
46492a:	53                   	push   %ebx
46492b:	53                   	push   %ebx
46492c:	ff 75 10             	push   0x10(%ebp)
46492f:	8b f0                	mov    %eax,%esi
464931:	ff 75 0c             	push   0xc(%ebp)
464934:	8b ce                	mov    %esi,%ecx
464936:	53                   	push   %ebx
464937:	e8 2d c6 fd ff       	call   0x440f69
46493c:	39 5e 34             	cmp    %ebx,0x34(%esi)
46493f:	75 06                	jne    0x464947
464941:	8b 47 1c             	mov    0x1c(%edi),%eax
464944:	89 46 34             	mov    %eax,0x34(%esi)
464947:	68 1f e8 00 00       	push   $0xe81f
46494c:	8b ce                	mov    %esi,%ecx
46494e:	e8 89 c1 fd ff       	call   0x440adc
464953:	53                   	push   %ebx
464954:	57                   	push   %edi
464955:	8b c8                	mov    %eax,%ecx
464957:	e8 69 7e ff ff       	call   0x45c7c5
46495c:	8b 06                	mov    (%esi),%eax
46495e:	6a 01                	push   $0x1
464960:	8b ce                	mov    %esi,%ecx
464962:	ff 90 44 01 00 00    	call   *0x144(%eax)
464968:	6a f0                	push   $0xfffffff0
46496a:	ff 77 1c             	push   0x1c(%edi)
46496d:	ff 15 14 08 4b 00    	call   *0x4b0814
464973:	a9 00 00 00 10       	test   $0x10000000,%eax
464978:	74 12                	je     0x46498c
46497a:	6a 08                	push   $0x8
46497c:	8b ce                	mov    %esi,%ecx
46497e:	e8 e8 c3 fd ff       	call   0x440d6b
464983:	ff 76 1c             	push   0x1c(%esi)
464986:	ff 15 48 08 4b 00    	call   *0x4b0848
46498c:	5f                   	pop    %edi
46498d:	5e                   	pop    %esi
46498e:	5b                   	pop    %ebx
46498f:	c9                   	leave
464990:	c2 10 00             	ret    $0x10
464993:	55                   	push   %ebp
464994:	8b ec                	mov    %esp,%ebp
464996:	83 ec 10             	sub    $0x10,%esp
464999:	81 65 18 40 f0 00 00 	andl   $0xf040,0x18(%ebp)
4649a0:	53                   	push   %ebx
4649a1:	56                   	push   %esi
4649a2:	57                   	push   %edi
4649a3:	8b 7d 1c             	mov    0x1c(%ebp),%edi
4649a6:	85 ff                	test   %edi,%edi
4649a8:	74 03                	je     0x4649ad
4649aa:	83 27 00             	andl   $0x0,(%edi)
4649ad:	8b 81 84 00 00 00    	mov    0x84(%ecx),%eax
4649b3:	85 c0                	test   %eax,%eax
4649b5:	89 45 1c             	mov    %eax,0x1c(%ebp)
4649b8:	0f 84 82 00 00 00    	je     0x464a40
4649be:	8d 99 80 00 00 00    	lea    0x80(%ecx),%ebx
4649c4:	8d 45 1c             	lea    0x1c(%ebp),%eax
4649c7:	50                   	push   %eax
4649c8:	8b cb                	mov    %ebx,%ecx
4649ca:	e8 93 2a fa ff       	call   0x407462
4649cf:	8b 30                	mov    (%eax),%esi
4649d1:	8b 06                	mov    (%esi),%eax
4649d3:	8b ce                	mov    %esi,%ecx
4649d5:	ff 90 58 01 00 00    	call   *0x158(%eax)
4649db:	85 c0                	test   %eax,%eax
4649dd:	74 5b                	je     0x464a3a
4649df:	ff 76 1c             	push   0x1c(%esi)
4649e2:	ff 15 a0 07 4b 00    	call   *0x4b07a0
4649e8:	85 c0                	test   %eax,%eax
4649ea:	74 4e                	je     0x464a3a
4649ec:	8b 46 7c             	mov    0x7c(%esi),%eax
4649ef:	23 45 18             	and    0x18(%ebp),%eax
4649f2:	f6 c4 f0             	test   $0xf0,%ah
4649f5:	74 43                	je     0x464a3a
4649f7:	83 be 90 00 00 00 00 	cmpl   $0x0,0x90(%esi)
4649fe:	74 04                	je     0x464a04
464a00:	a8 40                	test   $0x40,%al
464a02:	74 36                	je     0x464a3a
464a04:	8d 45 f0             	lea    -0x10(%ebp),%eax
464a07:	50                   	push   %eax
464a08:	ff 76 1c             	push   0x1c(%esi)
464a0b:	ff 15 40 07 4b 00    	call   *0x4b0740
464a11:	8b 45 f8             	mov    -0x8(%ebp),%eax
464a14:	2b 45 f0             	sub    -0x10(%ebp),%eax
464a17:	75 03                	jne    0x464a1c
464a19:	ff 45 f8             	incl   -0x8(%ebp)
464a1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
464a1f:	2b 45 f4             	sub    -0xc(%ebp),%eax
464a22:	75 03                	jne    0x464a27
464a24:	ff 45 fc             	incl   -0x4(%ebp)
464a27:	8d 45 08             	lea    0x8(%ebp),%eax
464a2a:	50                   	push   %eax
464a2b:	8d 45 f0             	lea    -0x10(%ebp),%eax
464a2e:	50                   	push   %eax
464a2f:	50                   	push   %eax
464a30:	ff 15 34 07 4b 00    	call   *0x4b0734
464a36:	85 c0                	test   %eax,%eax
464a38:	75 0f                	jne    0x464a49
464a3a:	83 7d 1c 00          	cmpl   $0x0,0x1c(%ebp)
464a3e:	75 84                	jne    0x4649c4
464a40:	33 c0                	xor    %eax,%eax
464a42:	5f                   	pop    %edi
464a43:	5e                   	pop    %esi
464a44:	5b                   	pop    %ebx
464a45:	c9                   	leave
464a46:	c2 18 00             	ret    $0x18
464a49:	85 ff                	test   %edi,%edi
464a4b:	74 02                	je     0x464a4f
464a4d:	89 37                	mov    %esi,(%edi)
464a4f:	8b 46 7c             	mov    0x7c(%esi),%eax
464a52:	23 45 18             	and    0x18(%ebp),%eax
464a55:	eb eb                	jmp    0x464a42
464a57:	b8 dc 14 49 00       	mov    $0x4914dc,%eax
464a5c:	c3                   	ret
464a5d:	56                   	push   %esi
464a5e:	8b 74 24 08          	mov    0x8(%esp),%esi
464a62:	8b 46 20             	mov    0x20(%esi),%eax
464a65:	f6 c4 06             	test   $0x6,%ah
464a68:	74 08                	je     0x464a72
464a6a:	0d 00 00 04 00       	or     $0x40000,%eax
464a6f:	89 46 20             	mov    %eax,0x20(%esi)
464a72:	f6 46 22 c0          	testb  $0xc0,0x22(%esi)
464a76:	74 04                	je     0x464a7c
464a78:	80 4e 2c 80          	orb    $0x80,0x2c(%esi)
464a7c:	56                   	push   %esi
464a7d:	e8 1b bc ff ff       	call   0x46069d
464a82:	80 66 2d fd          	andb   $0xfd,0x2d(%esi)
464a86:	33 c0                	xor    %eax,%eax
464a88:	40                   	inc    %eax
464a89:	5e                   	pop    %esi
464a8a:	c2 04 00             	ret    $0x4
464a8d:	56                   	push   %esi