47464d:	75 06                	jne    0x474655
47464f:	8b 45 08             	mov    0x8(%ebp),%eax
474652:	c6 00 01             	movb   $0x1,(%eax)
474655:	f6 45 ff 40          	testb  $0x40,-0x1(%ebp)
474659:	74 17                	je     0x474672
47465b:	8b 43 1c             	mov    0x1c(%ebx),%eax
47465e:	f6 40 64 20          	testb  $0x20,0x64(%eax)
474662:	75 0e                	jne    0x474672
474664:	8b 43 24             	mov    0x24(%ebx),%eax
474667:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
47466d:	e8 d2 fe ff ff       	call   0x474544
474672:	5e                   	pop    %esi
474673:	5b                   	pop    %ebx
474674:	59                   	pop    %ecx
474675:	5d                   	pop    %ebp
474676:	c2 08 00             	ret    $0x8
474679:	8d 40 00             	lea    0x0(%eax),%eax
47467c:	c3                   	ret
47467d:	8d 40 00             	lea    0x0(%eax),%eax
474680:	55                   	push   %ebp
474681:	8b ec                	mov    %esp,%ebp
474683:	83 c4 f4             	add    $0xfffffff4,%esp
474686:	53                   	push   %ebx
474687:	56                   	push   %esi
474688:	57                   	push   %edi
474689:	89 4d f8             	mov    %ecx,-0x8(%ebp)
47468c:	89 55 fc             	mov    %edx,-0x4(%ebp)
47468f:	8b f0                	mov    %eax,%esi
474691:	8b 46 24             	mov    0x24(%esi),%eax
474694:	8a 50 40             	mov    0x40(%eax),%dl
474697:	88 55 f7             	mov    %dl,-0x9(%ebp)
47469a:	e8 1d 37 00 00       	call   0x477dbc
47469f:	8b 46 24             	mov    0x24(%esi),%eax
4746a2:	83 b8 98 00 00 00 00 	cmpl   $0x0,0x98(%eax)
4746a9:	75 06                	jne    0x4746b1
4746ab:	80 78 70 00          	cmpb   $0x0,0x70(%eax)
4746af:	74 04                	je     0x4746b5
4746b1:	33 db                	xor    %ebx,%ebx
4746b3:	eb 02                	jmp    0x4746b7
4746b5:	b3 01                	mov    $0x1,%bl
4746b7:	8b 46 24             	mov    0x24(%esi),%eax
4746ba:	80 b8 88 00 00 00 00 	cmpb   $0x0,0x88(%eax)
4746c1:	74 12                	je     0x4746d5
4746c3:	8b 56 1c             	mov    0x1c(%esi),%edx
4746c6:	80 7a 3e 00          	cmpb   $0x0,0x3e(%edx)
4746ca:	74 09                	je     0x4746d5
4746cc:	8b 56 1c             	mov    0x1c(%esi),%edx
4746cf:	f6 42 64 10          	testb  $0x10,0x64(%edx)
4746d3:	74 0b                	je     0x4746e0
4746d5:	84 db                	test   %bl,%bl
4746d7:	74 47                	je     0x474720
4746d9:	e8 5a 39 00 00       	call   0x478038
4746de:	eb 40                	jmp    0x474720
4746e0:	8b 46 1c             	mov    0x1c(%esi),%eax
4746e3:	f6 40 64 01          	testb  $0x1,0x64(%eax)
4746e7:	74 20                	je     0x474709
4746e9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4746ec:	8b 55 fc             	mov    -0x4(%ebp),%edx
4746ef:	8b c6                	mov    %esi,%eax
4746f1:	8b 38                	mov    (%eax),%edi
4746f3:	ff 57 24             	call   *0x24(%edi)
4746f6:	84 c0                	test   %al,%al
4746f8:	75 0f                	jne    0x474709
4746fa:	84 5d 08             	test   %bl,0x8(%ebp)
4746fd:	74 21                	je     0x474720
4746ff:	8b 46 24             	mov    0x24(%esi),%eax
474702:	e8 31 39 00 00       	call   0x478038
474707:	eb 17                	jmp    0x474720
474709:	8b c6                	mov    %esi,%eax
47470b:	8b 10                	mov    (%eax),%edx
47470d:	ff 52 50             	call   *0x50(%edx)
474710:	34 01                	xor    $0x1,%al
474712:	0a 45 f7             	or     -0x9(%ebp),%al
474715:	74 09                	je     0x474720
474717:	b2 01                	mov    $0x1,%dl
474719:	8b c6                	mov    %esi,%eax
47471b:	e8 d0 00 00 00       	call   0x4747f0
474720:	5f                   	pop    %edi
474721:	5e                   	pop    %esi
474722:	5b                   	pop    %ebx
474723:	8b e5                	mov    %ebp,%esp
474725:	5d                   	pop    %ebp
474726:	c2 04 00             	ret    $0x4
474729:	8d 40 00             	lea    0x0(%eax),%eax
47472c:	55                   	push   %ebp
47472d:	8b ec                	mov    %esp,%ebp
47472f:	5d                   	pop    %ebp
474730:	c2 04 00             	ret    $0x4
474733:	90                   	nop
474734:	8b d0                	mov    %eax,%edx
474736:	8b 40 24             	mov    0x24(%eax),%eax
474739:	e8 02 30 00 00       	call   0x477740
47473e:	c3                   	ret
47473f:	90                   	nop
474740:	53                   	push   %ebx
474741:	8b 50 1c             	mov    0x1c(%eax),%edx
474744:	66 83 ba 8a 00 00 00 	cmpw   $0x0,0x8a(%edx)
47474b:	00
47474c:	74 12                	je     0x474760
47474e:	6a 01                	push   $0x1
474750:	8b da                	mov    %edx,%ebx
474752:	8b c8                	mov    %eax,%ecx
474754:	8b 83 8c 00 00 00    	mov    0x8c(%ebx),%eax
47475a:	ff 93 88 00 00 00    	call   *0x88(%ebx)
474760:	5b                   	pop    %ebx
474761:	c3                   	ret
474762:	8b c0                	mov    %eax,%eax
474764:	53                   	push   %ebx
474765:	8b 50 1c             	mov    0x1c(%eax),%edx
474768:	66 83 ba 8a 00 00 00 	cmpw   $0x0,0x8a(%edx)
47476f:	00
474770:	74 12                	je     0x474784
474772:	6a 00                	push   $0x0
474774:	8b da                	mov    %edx,%ebx
474776:	8b c8                	mov    %eax,%ecx
474778:	8b 83 8c 00 00 00    	mov    0x8c(%ebx),%eax
47477e:	ff 93 88 00 00 00    	call   *0x88(%ebx)
474784:	5b                   	pop    %ebx
474785:	c3                   	ret
474786:	8b c0                	mov    %eax,%eax
474788:	c3                   	ret
474789:	8d 40 00             	lea    0x0(%eax),%eax
47478c:	53                   	push   %ebx
47478d:	56                   	push   %esi
47478e:	57                   	push   %edi
47478f:	8b f1                	mov    %ecx,%esi
474791:	8b fa                	mov    %edx,%edi
474793:	8b d8                	mov    %eax,%ebx
474795:	8b ce                	mov    %esi,%ecx
474797:	8b d7                	mov    %edi,%edx
474799:	8b 43 24             	mov    0x24(%ebx),%eax
47479c:	8b 80 c8 00 00 00    	mov    0xc8(%eax),%eax
4747a2:	e8 69 3b fd ff       	call   0x448310
4747a7:	8b 43 04             	mov    0x4(%ebx),%eax
4747aa:	29 06                	sub    %eax,(%esi)
4747ac:	8b 43 08             	mov    0x8(%ebx),%eax
4747af:	29 46 04             	sub    %eax,0x4(%esi)
4747b2:	5f                   	pop    %edi
4747b3:	5e                   	pop    %esi
4747b4:	5b                   	pop    %ebx
4747b5:	c3                   	ret
4747b6:	8b c0                	mov    %eax,%eax
4747b8:	53                   	push   %ebx
4747b9:	8b d8                	mov    %eax,%ebx
4747bb:	8b 43 1c             	mov    0x1c(%ebx),%eax
4747be:	f6 40 3f 04          	testb  $0x4,0x3f(%eax)
4747c2:	74 14                	je     0x4747d8
4747c4:	8b 43 1c             	mov    0x1c(%ebx),%eax
4747c7:	f6 40 3f 40          	testb  $0x40,0x3f(%eax)
4747cb:	74 0b                	je     0x4747d8
4747cd:	8b c3                	mov    %ebx,%eax
4747cf:	8b 10                	mov    (%eax),%edx
4747d1:	ff 52 20             	call   *0x20(%edx)
4747d4:	84 c0                	test   %al,%al
4747d6:	75 04                	jne    0x4747dc
4747d8:	33 c0                	xor    %eax,%eax
4747da:	5b                   	pop    %ebx
4747db:	c3                   	ret
4747dc:	b0 01                	mov    $0x1,%al
4747de:	5b                   	pop    %ebx
4747df:	c3                   	ret
4747e0:	8b d0                	mov    %eax,%edx
4747e2:	8b 40 24             	mov    0x24(%eax),%eax
4747e5:	e8 5a 38 00 00       	call   0x478044
4747ea:	b0 01                	mov    $0x1,%al
4747ec:	c3                   	ret
4747ed:	8d 40 00             	lea    0x0(%eax),%eax
4747f0:	53                   	push   %ebx
4747f1:	56                   	push   %esi
4747f2:	8b da                	mov    %edx,%ebx
4747f4:	8b f0                	mov    %eax,%esi
4747f6:	8b c6                	mov    %esi,%eax
4747f8:	8b 10                	mov    (%eax),%edx
4747fa:	ff 52 04             	call   *0x4(%edx)
4747fd:	84 d8                	test   %bl,%al
4747ff:	74 0a                	je     0x47480b
474801:	8b d6                	mov    %esi,%edx
474803:	8b 46 24             	mov    0x24(%esi),%eax
474806:	e8 d9 0a 00 00       	call   0x4752e4
47480b:	5e                   	pop    %esi
47480c:	5b                   	pop    %ebx
47480d:	c3                   	ret
47480e:	8b c0                	mov    %eax,%eax
474810:	53                   	push   %ebx
474811:	56                   	push   %esi
474812:	8b d8                	mov    %eax,%ebx
474814:	8b 73 1c             	mov    0x1c(%ebx),%esi
474817:	8b c6                	mov    %esi,%eax
474819:	8b 15 9c 03 47 00    	mov    0x47039c,%edx
47481f:	e8 e0 f3 f8 ff       	call   0x403c04
474824:	84 c0                	test   %al,%al
474826:	74 08                	je     0x474830
474828:	b8 0a 00 00 00       	mov    $0xa,%eax
47482d:	5e                   	pop    %esi
47482e:	5b                   	pop    %ebx
47482f:	c3                   	ret
474830:	f6 46 64 04          	testb  $0x4,0x64(%esi)
474834:	74 07                	je     0x47483d
474836:	b8 15 00 00 00       	mov    $0x15,%eax
47483b:	eb 2e                	jmp    0x47486b
47483d:	8b 43 24             	mov    0x24(%ebx),%eax
474840:	80 78 70 00          	cmpb   $0x0,0x70(%eax)
474844:	75 09                	jne    0x47484f
474846:	f6 80 b4 00 00 00 01 	testb  $0x1,0xb4(%eax)
47484d:	74 07                	je     0x474856
47484f:	b8 0c 00 00 00       	mov    $0xc,%eax
474854:	eb 15                	jmp    0x47486b
474856:	8b 43 1c             	mov    0x1c(%ebx),%eax
474859:	f6 40 64 01          	testb  $0x1,0x64(%eax)
47485d:	74 07                	je     0x474866
47485f:	b8 39 00 00 00       	mov    $0x39,%eax
474864:	eb 05                	jmp    0x47486b
474866:	b8 2b 00 00 00       	mov    $0x2b,%eax
47486b:	5e                   	pop    %esi
47486c:	5b                   	pop    %ebx
47486d:	c3                   	ret
47486e:	8b c0                	mov    %eax,%eax
474870:	33 c0                	xor    %eax,%eax
474872:	c3                   	ret
474873:	90                   	nop
474874:	55                   	push   %ebp
474875:	8b ec                	mov    %esp,%ebp
474877:	51                   	push   %ecx
474878:	53                   	push   %ebx
474879:	56                   	push   %esi
47487a:	84 d2                	test   %dl,%dl
47487c:	74 08                	je     0x474886
47487e:	83 c4 f0             	add    $0xfffffff0,%esp
474881:	e8 56 f5 f8 ff       	call   0x403ddc
474886:	88 55 ff             	mov    %dl,-0x1(%ebp)
474889:	8b d8                	mov    %eax,%ebx
47488b:	33 d2                	xor    %edx,%edx
47488d:	8b c3                	mov    %ebx,%eax
47488f:	8b 30                	mov    (%eax),%esi
474891:	ff 56 2c             	call   *0x2c(%esi)
474894:	c7 43 34 00 00 00 20 	movl   $0x20000000,0x34(%ebx)
47489b:	8a 45 0c             	mov    0xc(%ebp),%al
47489e:	88 43 58             	mov    %al,0x58(%ebx)
4748a1:	8a 45 10             	mov    0x10(%ebp),%al
4748a4:	34 01                	xor    $0x1,%al
4748a6:	88 43 70             	mov    %al,0x70(%ebx)
4748a9:	8a 45 10             	mov    0x10(%ebp),%al
4748ac:	88 43 71             	mov    %al,0x71(%ebx)
4748af:	c6 83 89 00 00 00 01 	movb   $0x1,0x89(%ebx)
4748b6:	8b 45 1c             	mov    0x1c(%ebp),%eax
4748b9:	89 83 98 00 00 00    	mov    %eax,0x98(%ebx)
4748bf:	8b 45 18             	mov    0x18(%ebp),%eax
4748c2:	89 83 9c 00 00 00    	mov    %eax,0x9c(%ebx)
4748c8:	85 c0                	test   %eax,%eax
4748ca:	74 18                	je     0x4748e4
4748cc:	53                   	push   %ebx
4748cd:	68 90 52 47 00       	push   $0x475290
4748d2:	e8 9d d3 ff ff       	call   0x471c74
4748d7:	8b 83 9c 00 00 00    	mov    0x9c(%ebx),%eax
4748dd:	8b d3                	mov    %ebx,%edx
4748df:	e8 44 fe fa ff       	call   0x424728
4748e4:	8a 45 08             	mov    0x8(%ebp),%al
4748e7:	88 83 bc 00 00 00    	mov    %al,0xbc(%ebx)
4748ed:	8b 45 14             	mov    0x14(%ebp),%eax
4748f0:	89 83 c8 00 00 00    	mov    %eax,0xc8(%ebx)
4748f6:	8b c3                	mov    %ebx,%eax
4748f8:	e8 c7 01 00 00       	call   0x474ac4
4748fd:	8b c3                	mov    %ebx,%eax
4748ff:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
474903:	74 0f                	je     0x474914
474905:	e8 2a f5 f8 ff       	call   0x403e34
47490a:	64 8f 05 00 00 00 00 	pop    %fs:0x0
474911:	83 c4 0c             	add    $0xc,%esp
474914:	8b c3                	mov    %ebx,%eax
474916:	5e                   	pop    %esi
474917:	5b                   	pop    %ebx
474918:	59                   	pop    %ecx
474919:	5d                   	pop    %ebp
47491a:	c2 18 00             	ret    $0x18
47491d:	8d 40 00             	lea    0x0(%eax),%eax
474920:	53                   	push   %ebx
474921:	56                   	push   %esi
474922:	57                   	push   %edi
474923:	e8 1c f5 f8 ff       	call   0x403e44
474928:	8b da                	mov    %edx,%ebx
47492a:	8b f8                	mov    %eax,%edi
47492c:	8b c7                	mov    %edi,%eax
47492e:	e8 31 0c 00 00       	call   0x475564
474933:	8b 87 d0 00 00 00    	mov    0xd0(%edi),%eax
474939:	85 c0                	test   %eax,%eax
47493b:	74 18                	je     0x474955
47493d:	8b 10                	mov    (%eax),%edx
47493f:	ff 12                	call   *(%edx)
474941:	8b 87 d0 00 00 00    	mov    0xd0(%edi),%eax
474947:	50                   	push   %eax
474948:	e8 cb 1f f9 ff       	call   0x406918
47494d:	33 c0                	xor    %eax,%eax
47494f:	89 87 d0 00 00 00    	mov    %eax,0xd0(%edi)
474955:	8b b7 98 00 00 00    	mov    0x98(%edi),%esi
47495b:	85 f6                	test   %esi,%esi
47495d:	74 22                	je     0x474981
47495f:	80 7e 71 00          	cmpb   $0x0,0x71(%esi)
474963:	74 1c                	je     0x474981
474965:	80 8e b3 00 00 00 80 	orb    $0x80,0xb3(%esi)
47496c:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
474972:	8b 90 8c 00 00 00    	mov    0x8c(%eax),%edx
474978:	85 d2                	test   %edx,%edx
47497a:	74 05                	je     0x474981
47497c:	e8 bf 2d 00 00       	call   0x477740
474981:	8b 47 54             	mov    0x54(%edi),%eax
474984:	85 c0                	test   %eax,%eax
474986:	74 0b                	je     0x474993
474988:	57                   	push   %edi
474989:	68 68 51 47 00       	push   $0x475168
47498e:	e8 6d d3 ff ff       	call   0x471d00
474993:	8b 87 9c 00 00 00    	mov    0x9c(%edi),%eax
474999:	85 c0                	test   %eax,%eax
47499b:	74 0b                	je     0x4749a8
47499d:	57                   	push   %edi
47499e:	68 90 52 47 00       	push   $0x475290
4749a3:	e8 58 d3 ff ff       	call   0x471d00
4749a8:	8b d3                	mov    %ebx,%edx
4749aa:	80 e2 fc             	and    $0xfc,%dl
4749ad:	8b c7                	mov    %edi,%eax
4749af:	e8 f0 fc fa ff       	call   0x4246a4
4749b4:	8b 87 a0 00 00 00    	mov    0xa0(%edi),%eax
4749ba:	e8 b9 f0 f8 ff       	call   0x403a78
4749bf:	8b c7                	mov    %edi,%eax
4749c1:	e8 36 02 00 00       	call   0x474bfc
4749c6:	8b 87 98 00 00 00    	mov    0x98(%edi),%eax
4749cc:	85 c0                	test   %eax,%eax
4749ce:	74 05                	je     0x4749d5
4749d0:	e8 4b 0c 00 00       	call   0x475620
4749d5:	84 db                	test   %bl,%bl
4749d7:	7e 07                	jle    0x4749e0
4749d9:	8b c7                	mov    %edi,%eax
4749db:	e8 4c f4 f8 ff       	call   0x403e2c
4749e0:	5f                   	pop    %edi
4749e1:	5e                   	pop    %esi
4749e2:	5b                   	pop    %ebx
4749e3:	c3                   	ret
4749e4:	53                   	push   %ebx
4749e5:	56                   	push   %esi
4749e6:	57                   	push   %edi
4749e7:	8b f2                	mov    %edx,%esi
4749e9:	8b d8                	mov    %eax,%ebx
4749eb:	83 bb d0 00 00 00 00 	cmpl   $0x0,0xd0(%ebx)
4749f2:	75 2e                	jne    0x474a22
4749f4:	e8 6f 8a ff ff       	call   0x46d468
4749f9:	84 c0                	test   %al,%al
4749fb:	75 09                	jne    0x474a06
4749fd:	8b c6                	mov    %esi,%eax
4749ff:	e8 30 1e f9 ff       	call   0x406834
474a04:	eb 30                	jmp    0x474a36
474a06:	8b cb                	mov    %ebx,%ecx