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
474a08:	b2 01                	mov    $0x1,%dl
474a0a:	a1 48 d1 46 00       	mov    0x46d148,%eax
474a0f:	e8 30 8d ff ff       	call   0x46d744
474a14:	8b f8                	mov    %eax,%edi
474a16:	89 bb d0 00 00 00    	mov    %edi,0xd0(%ebx)
474a1c:	57                   	push   %edi
474a1d:	e8 e2 1e f9 ff       	call   0x406904
474a22:	8b c6                	mov    %esi,%eax
474a24:	8b 93 d0 00 00 00    	mov    0xd0(%ebx),%edx
474a2a:	85 d2                	test   %edx,%edx
474a2c:	74 03                	je     0x474a31
474a2e:	83 ea f4             	sub    $0xfffffff4,%edx
474a31:	e8 16 1e f9 ff       	call   0x40684c
474a36:	5f                   	pop    %edi
474a37:	5e                   	pop    %esi
474a38:	5b                   	pop    %ebx
474a39:	c3                   	ret
474a3a:	8b c0                	mov    %eax,%eax
474a3c:	55                   	push   %ebp
474a3d:	8b ec                	mov    %esp,%ebp
474a3f:	6a 00                	push   $0x0
474a41:	53                   	push   %ebx
474a42:	56                   	push   %esi
474a43:	8b da                	mov    %edx,%ebx
474a45:	8b f0                	mov    %eax,%esi
474a47:	33 c0                	xor    %eax,%eax
474a49:	55                   	push   %ebp
474a4a:	68 a3 4a 47 00       	push   $0x474aa3
474a4f:	64 ff 30             	push   %fs:(%eax)
474a52:	64 89 20             	mov    %esp,%fs:(%eax)
474a55:	83 7b 08 fc          	cmpl   $0xfffffffc,0x8(%ebx)
474a59:	75 30                	jne    0x474a8b
474a5b:	e8 08 8a ff ff       	call   0x46d468
474a60:	84 c0                	test   %al,%al
474a62:	74 27                	je     0x474a8b
474a64:	8d 55 fc             	lea    -0x4(%ebp),%edx
474a67:	8b c6                	mov    %esi,%eax
474a69:	e8 76 ff ff ff       	call   0x4749e4
474a6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
474a71:	50                   	push   %eax
474a72:	8b 43 04             	mov    0x4(%ebx),%eax
474a75:	50                   	push   %eax
474a76:	68 b4 4a 47 00       	push   $0x474ab4
474a7b:	a1 d0 70 6a 00       	mov    0x6a70d0,%eax
474a80:	8b 00                	mov    (%eax),%eax
474a82:	ff d0                	call   *%eax
474a84:	89 43 0c             	mov    %eax,0xc(%ebx)
474a87:	b3 01                	mov    $0x1,%bl
474a89:	eb 02                	jmp    0x474a8d
474a8b:	33 db                	xor    %ebx,%ebx
474a8d:	33 c0                	xor    %eax,%eax
474a8f:	5a                   	pop    %edx
474a90:	59                   	pop    %ecx
474a91:	59                   	pop    %ecx
474a92:	64 89 10             	mov    %edx,%fs:(%eax)
474a95:	68 aa 4a 47 00       	push   $0x474aaa
474a9a:	8d 45 fc             	lea    -0x4(%ebp),%eax
474a9d:	e8 92 1d f9 ff       	call   0x406834
474aa2:	c3                   	ret
474aa3:	e9 64 f7 f8 ff       	jmp    0x40420c
474aa8:	eb f0                	jmp    0x474a9a
474aaa:	8b c3                	mov    %ebx,%eax
474aac:	5e                   	pop    %esi
474aad:	5b                   	pop    %ebx
474aae:	59                   	pop    %ecx
474aaf:	5d                   	pop    %ebp
474ab0:	c3                   	ret
474ab1:	00 00                	add    %al,(%eax)
474ab3:	00 e0                	add    %ah,%al
474ab5:	36 87 61 3d          	xchg   %esp,%ss:0x3d(%ecx)
474ab9:	3c cf                	cmp    $0xcf,%al
474abb:	11 81 0c 00 aa 00    	adc    %eax,0xaa000c(%ecx)
474ac1:	38 9b 71 53 56 8b    	cmp    %bl,-0x74a9ac8f(%ebx)
474ac7:	d8 8b 83 9c 00 00    	fmuls  0x9c83(%ebx)
474acd:	00 e8                	add    %ch,%al
474acf:	a9 c5 ff ff 8b       	test   $0x8bffffc5,%eax
474ad4:	f0 3b 73 54          	lock cmp 0x54(%ebx),%esi
474ad8:	74 45                	je     0x474b1f
474ada:	8b c3                	mov    %ebx,%eax
474adc:	e8 83 0a 00 00       	call   0x475564
474ae1:	8b 43 54             	mov    0x54(%ebx),%eax
474ae4:	85 c0                	test   %eax,%eax
474ae6:	74 0b                	je     0x474af3
474ae8:	53                   	push   %ebx
474ae9:	68 68 51 47 00       	push   $0x475168
474aee:	e8 0d d2 ff ff       	call   0x471d00
474af3:	89 73 54             	mov    %esi,0x54(%ebx)
474af6:	85 f6                	test   %esi,%esi
474af8:	74 0d                	je     0x474b07
474afa:	53                   	push   %ebx
474afb:	68 68 51 47 00       	push   $0x475168
474b00:	8b c6                	mov    %esi,%eax
474b02:	e8 6d d1 ff ff       	call   0x471c74
474b07:	8b c3                	mov    %ebx,%eax
474b09:	e8 ee 10 00 00       	call   0x475bfc
474b0e:	85 f6                	test   %esi,%esi
474b10:	74 0d                	je     0x474b1f
474b12:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
474b16:	75 07                	jne    0x474b1f
474b18:	8b c3                	mov    %ebx,%eax
474b1a:	e8 05 00 00 00       	call   0x474b24
474b1f:	5e                   	pop    %esi
474b20:	5b                   	pop    %ebx
474b21:	c3                   	ret
474b22:	8b c0                	mov    %eax,%eax
474b24:	53                   	push   %ebx
474b25:	56                   	push   %esi
474b26:	8b f0                	mov    %eax,%esi
474b28:	33 db                	xor    %ebx,%ebx
474b2a:	eb 12                	jmp    0x474b3e
474b2c:	8b 86 c4 00 00 00    	mov    0xc4(%esi),%eax
474b32:	8b 04 98             	mov    (%eax,%ebx,4),%eax
474b35:	8b 40 1c             	mov    0x1c(%eax),%eax
474b38:	8b 10                	mov    (%eax),%edx
474b3a:	ff 52 58             	call   *0x58(%edx)
474b3d:	43                   	inc    %ebx
474b3e:	3b 9e c0 00 00 00    	cmp    0xc0(%esi),%ebx
474b44:	7c e6                	jl     0x474b2c
474b46:	5e                   	pop    %esi
474b47:	5b                   	pop    %ebx
474b48:	c3                   	ret
474b49:	8d 40 00             	lea    0x0(%eax),%eax
474b4c:	53                   	push   %ebx
474b4d:	56                   	push   %esi
474b4e:	57                   	push   %edi
474b4f:	8b d9                	mov    %ecx,%ebx
474b51:	8b fa                	mov    %edx,%edi
474b53:	8b f0                	mov    %eax,%esi
474b55:	8b cb                	mov    %ebx,%ecx
474b57:	8b d7                	mov    %edi,%edx
474b59:	8b c6                	mov    %esi,%eax
474b5b:	e8 14 fe fa ff       	call   0x424974
474b60:	80 fb 01             	cmp    $0x1,%bl
474b63:	75 54                	jne    0x474bb9
474b65:	3b be 9c 00 00 00    	cmp    0x9c(%esi),%edi
474b6b:	75 20                	jne    0x474b8d
474b6d:	33 c0                	xor    %eax,%eax
474b6f:	89 86 9c 00 00 00    	mov    %eax,0x9c(%esi)
474b75:	8b c6                	mov    %esi,%eax
474b77:	e8 48 ff ff ff       	call   0x474ac4
474b7c:	8b 86 98 00 00 00    	mov    0x98(%esi),%eax
474b82:	85 c0                	test   %eax,%eax
474b84:	74 33                	je     0x474bb9
474b86:	e8 d9 09 00 00       	call   0x475564
474b8b:	eb 2c                	jmp    0x474bb9
474b8d:	3b be 94 00 00 00    	cmp    0x94(%esi),%edi
474b93:	75 1a                	jne    0x474baf
474b95:	33 c0                	xor    %eax,%eax
474b97:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
474b9d:	33 c0                	xor    %eax,%eax
474b9f:	89 86 90 00 00 00    	mov    %eax,0x90(%esi)
474ba5:	33 c0                	xor    %eax,%eax
474ba7:	89 86 8c 00 00 00    	mov    %eax,0x8c(%esi)
474bad:	eb 0a                	jmp    0x474bb9
474baf:	3b 7e 4c             	cmp    0x4c(%esi),%edi
474bb2:	75 05                	jne    0x474bb9
474bb4:	33 c0                	xor    %eax,%eax
474bb6:	89 46 4c             	mov    %eax,0x4c(%esi)
474bb9:	5f                   	pop    %edi
474bba:	5e                   	pop    %esi
474bbb:	5b                   	pop    %ebx
474bbc:	c3                   	ret
474bbd:	8d 40 00             	lea    0x0(%eax),%eax
474bc0:	eb 06                	jmp    0x474bc8
474bc2:	8b 92 98 00 00 00    	mov    0x98(%edx),%edx
474bc8:	85 d2                	test   %edx,%edx
474bca:	74 04                	je     0x474bd0
474bcc:	3b c2                	cmp    %edx,%eax
474bce:	75 f2                	jne    0x474bc2
474bd0:	85 d2                	test   %edx,%edx
474bd2:	0f 95 c0             	setne  %al
474bd5:	c3                   	ret
474bd6:	8b c0                	mov    %eax,%eax
474bd8:	eb 02                	jmp    0x474bdc
474bda:	8b c2                	mov    %edx,%eax