47b9f9:	85 db                	test   %ebx,%ebx
47b9fb:	8b f0                	mov    %eax,%esi
47b9fd:	89 75 08             	mov    %esi,0x8(%ebp)
47ba00:	75 3d                	jne    0x47ba3f
47ba02:	85 f6                	test   %esi,%esi
47ba04:	8b ce                	mov    %esi,%ecx
47ba06:	74 7e                	je     0x47ba86
47ba08:	8b 41 04             	mov    0x4(%ecx),%eax
47ba0b:	83 cf ff             	or     $0xffffffff,%edi
47ba0e:	eb 0b                	jmp    0x47ba1b
47ba10:	66 81 78 0c ff 0f    	cmpw   $0xfff,0xc(%eax)
47ba16:	74 10                	je     0x47ba28
47ba18:	83 c0 20             	add    $0x20,%eax
47ba1b:	39 78 18             	cmp    %edi,0x18(%eax)
47ba1e:	75 f0                	jne    0x47ba10
47ba20:	8b 09                	mov    (%ecx),%ecx
47ba22:	85 c9                	test   %ecx,%ecx
47ba24:	75 e2                	jne    0x47ba08
47ba26:	eb 5e                	jmp    0x47ba86
47ba28:	8b 58 04             	mov    0x4(%eax),%ebx
47ba2b:	3b df                	cmp    %edi,%ebx
47ba2d:	75 0e                	jne    0x47ba3d
47ba2f:	ff 30                	push   (%eax)
47ba31:	56                   	push   %esi
47ba32:	e8 45 ff ff ff       	call   0x47b97c
47ba37:	8b d8                	mov    %eax,%ebx
47ba39:	3b df                	cmp    %edi,%ebx
47ba3b:	74 68                	je     0x47baa5
47ba3d:	85 db                	test   %ebx,%ebx
47ba3f:	7e 45                	jle    0x47ba86
47ba41:	33 c0                	xor    %eax,%eax
47ba43:	85 f6                	test   %esi,%esi
47ba45:	8b fe                	mov    %esi,%edi
47ba47:	74 3d                	je     0x47ba86
47ba49:	8b cb                	mov    %ebx,%ecx
47ba4b:	c1 e9 10             	shr    $0x10,%ecx
47ba4e:	0f b7 d1             	movzwl %cx,%edx
47ba51:	3b c2                	cmp    %edx,%eax
47ba53:	73 07                	jae    0x47ba5c
47ba55:	8b 3f                	mov    (%edi),%edi
47ba57:	40                   	inc    %eax
47ba58:	85 ff                	test   %edi,%edi
47ba5a:	75 f2                	jne    0x47ba4e
47ba5c:	85 ff                	test   %edi,%edi
47ba5e:	74 26                	je     0x47ba86
47ba60:	57                   	push   %edi
47ba61:	0f b7 f3             	movzwl %bx,%esi
47ba64:	e8 e6 fe ff ff       	call   0x47b94f
47ba69:	3b f0                	cmp    %eax,%esi
47ba6b:	77 16                	ja     0x47ba83
47ba6d:	8b 47 04             	mov    0x4(%edi),%eax
47ba70:	c1 e6 05             	shl    $0x5,%esi
47ba73:	8d 44 06 e0          	lea    -0x20(%esi,%eax,1),%eax
47ba77:	8b 48 04             	mov    0x4(%eax),%ecx
47ba7a:	83 f9 ff             	cmp    $0xffffffff,%ecx
47ba7d:	74 28                	je     0x47baa7
47ba7f:	3b cb                	cmp    %ebx,%ecx
47ba81:	74 24                	je     0x47baa7
47ba83:	8b 75 08             	mov    0x8(%ebp),%esi
47ba86:	85 f6                	test   %esi,%esi
47ba88:	8b ce                	mov    %esi,%ecx
47ba8a:	74 19                	je     0x47baa5
47ba8c:	8b 41 04             	mov    0x4(%ecx),%eax
47ba8f:	eb 08                	jmp    0x47ba99
47ba91:	39 58 04             	cmp    %ebx,0x4(%eax)
47ba94:	74 11                	je     0x47baa7
47ba96:	83 c0 20             	add    $0x20,%eax
47ba99:	83 78 18 ff          	cmpl   $0xffffffff,0x18(%eax)
47ba9d:	75 f2                	jne    0x47ba91
47ba9f:	8b 09                	mov    (%ecx),%ecx
47baa1:	85 c9                	test   %ecx,%ecx
47baa3:	75 e7                	jne    0x47ba8c
47baa5:	33 c0                	xor    %eax,%eax
47baa7:	5f                   	pop    %edi
47baa8:	5e                   	pop    %esi
47baa9:	5b                   	pop    %ebx
47baaa:	5d                   	pop    %ebp
47baab:	c2 08 00             	ret    $0x8
47baae:	8b c1                	mov    %ecx,%eax
47bab0:	c2 04 00             	ret    $0x4
47bab3:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
47bab8:	56                   	push   %esi
47bab9:	8b f1                	mov    %ecx,%esi
47babb:	74 05                	je     0x47bac2
47babd:	e8 1f 86 ff ff       	call   0x4740e1
47bac2:	68 0c 4e 49 00       	push   $0x494e0c
47bac7:	8b ce                	mov    %esi,%ecx
47bac9:	e8 af 84 ff ff       	call   0x473f7d
47bace:	5e                   	pop    %esi
47bacf:	c2 04 00             	ret    $0x4
47bad2:	8b 41 14             	mov    0x14(%ecx),%eax
47bad5:	c7 41 14 01 00 00 00 	movl   $0x1,0x14(%ecx)
47badc:	c3                   	ret
47badd:	83 c1 f0             	add    $0xfffffff0,%ecx
47bae0:	e9 b5 85 ff ff       	jmp    0x47409a
47bae5:	0f b7 44 24 08       	movzwl 0x8(%esp),%eax
47baea:	8b 54 24 04          	mov    0x4(%esp),%edx
47baee:	8b 04 85 b0 d2 48 00 	mov    0x48d2b0(,%eax,4),%eax
47baf5:	8a 0a                	mov    (%edx),%cl
47baf7:	83 c0 04             	add    $0x4,%eax
47bafa:	84 c9                	test   %cl,%cl
47bafc:	74 26                	je     0x47bb24
47bafe:	56                   	push   %esi
47baff:	80 f9 ff             	cmp    $0xff,%cl
47bb02:	74 18                	je     0x47bb1c
47bb04:	f6 c1 40             	test   $0x40,%cl
47bb07:	be 08 d3 48 00       	mov    $0x48d308,%esi
47bb0c:	75 05                	jne    0x47bb13
47bb0e:	be 60 d3 48 00       	mov    $0x48d360,%esi
47bb13:	0f b6 c9             	movzbl %cl,%ecx
47bb16:	83 e1 bf             	and    $0xffffffbf,%ecx
47bb19:	03 04 8e             	add    (%esi,%ecx,4),%eax
47bb1c:	42                   	inc    %edx
47bb1d:	8a 0a                	mov    (%edx),%cl
47bb1f:	84 c9                	test   %cl,%cl
47bb21:	75 dc                	jne    0x47baff
47bb23:	5e                   	pop    %esi
47bb24:	c2 08 00             	ret    $0x8
47bb27:	55                   	push   %ebp
47bb28:	8b ec                	mov    %esp,%ebp
47bb2a:	83 ec 0c             	sub    $0xc,%esp
47bb2d:	53                   	push   %ebx
47bb2e:	56                   	push   %esi
47bb2f:	57                   	push   %edi
47bb30:	8b 7d 08             	mov    0x8(%ebp),%edi
47bb33:	89 0f                	mov    %ecx,(%edi)
47bb35:	83 c7 04             	add    $0x4,%edi
47bb38:	66 83 7d 14 06       	cmpw   $0x6,0x14(%ebp)
47bb3d:	74 07                	je     0x47bb46
47bb3f:	66 83 7d 14 0c       	cmpw   $0xc,0x14(%ebp)
47bb44:	75 08                	jne    0x47bb4e
47bb46:	8b 45 10             	mov    0x10(%ebp),%eax
47bb49:	89 07                	mov    %eax,(%edi)
47bb4b:	83 c7 04             	add    $0x4,%edi
47bb4e:	8b 5d 18             	mov    0x18(%ebp),%ebx
47bb51:	8b 03                	mov    (%ebx),%eax
47bb53:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
47bb57:	89 45 f4             	mov    %eax,-0xc(%ebp)
47bb5a:	8b 43 08             	mov    0x8(%ebx),%eax
47bb5d:	89 45 14             	mov    %eax,0x14(%ebp)
47bb60:	8b 43 0c             	mov    0xc(%ebx),%eax
47bb63:	89 45 fc             	mov    %eax,-0x4(%ebp)
47bb66:	8b 45 0c             	mov    0xc(%ebp),%eax
47bb69:	80 38 00             	cmpb   $0x0,(%eax)
47bb6c:	8b d0                	mov    %eax,%edx
47bb6e:	e9 82 01 00 00       	jmp    0x47bcf5
47bb73:	66 0f b6 0a          	movzbw (%edx),%cx
47bb77:	ff 4d 14             	decl   0x14(%ebp)
47bb7a:	b8 ff 00 00 00       	mov    $0xff,%eax
47bb7f:	66 3b c8             	cmp    %ax,%cx
47bb82:	89 4d 08             	mov    %ecx,0x8(%ebp)
47bb85:	74 14                	je     0x47bb9b
47bb87:	f6 c1 40             	test   $0x40,%cl
47bb8a:	74 0f                	je     0x47bb9b
47bb8c:	81 e1 bf ff 00 00    	and    $0xffbf,%ecx
47bb92:	81 c9 00 40 00 00    	or     $0x4000,%ecx
47bb98:	89 4d 08             	mov    %ecx,0x8(%ebp)
47bb9b:	8b 75 fc             	mov    -0x4(%ebp),%esi
47bb9e:	39 75 14             	cmp    %esi,0x14(%ebp)
47bba1:	0f 8c a3 00 00 00    	jl     0x47bc4a
47bba7:	66 3b c8             	cmp    %ax,%cx
47bbaa:	0f 84 4e 01 00 00    	je     0x47bcfe
47bbb0:	8b 45 14             	mov    0x14(%ebp),%eax
47bbb3:	8b 55 f4             	mov    -0xc(%ebp),%edx
47bbb6:	c1 e0 04             	shl    $0x4,%eax
47bbb9:	66 83 f9 0c          	cmp    $0xc,%cx
47bbbd:	8d 34 10             	lea    (%eax,%edx,1),%esi
47bbc0:	0f 84 cb 00 00 00    	je     0x47bc91
47bbc6:	66 8b 16             	mov    (%esi),%dx
47bbc9:	66 3b ca             	cmp    %dx,%cx
47bbcc:	0f 84 bf 00 00 00    	je     0x47bc91
47bbd2:	8b 5d 20             	mov    0x20(%ebp),%ebx
47bbd5:	03 d8                	add    %eax,%ebx
47bbd7:	66 83 f9 0e          	cmp    $0xe,%cx
47bbdb:	c7 45 10 08 00 00 00 	movl   $0x8,0x10(%ebp)
47bbe2:	74 03                	je     0x47bbe7
47bbe4:	89 4d 10             	mov    %ecx,0x10(%ebp)
47bbe7:	66 3b 55 10          	cmp    0x10(%ebp),%dx
47bbeb:	74 18                	je     0x47bc05
47bbed:	ff 75 10             	push   0x10(%ebp)
47bbf0:	6a 00                	push   $0x0
47bbf2:	56                   	push   %esi
47bbf3:	53                   	push   %ebx
47bbf4:	ff 15 f0 04 4b 00    	call   *0x4b04f0
47bbfa:	85 c0                	test   %eax,%eax
47bbfc:	0f 8c 07 01 00 00    	jl     0x47bd09
47bc02:	8b 4d 08             	mov    0x8(%ebp),%ecx
47bc05:	66 83 f9 0e          	cmp    $0xe,%cx
47bc09:	75 38                	jne    0x47bc43
47bc0b:	66 8b 06             	mov    (%esi),%ax
47bc0e:	66 3b 45 10          	cmp    0x10(%ebp),%ax
47bc12:	74 15                	je     0x47bc29
47bc14:	8b 73 08             	mov    0x8(%ebx),%esi
47bc17:	56                   	push   %esi
47bc18:	e8 b4 1e ff ff       	call   0x46dad1
47bc1d:	56                   	push   %esi
47bc1e:	89 43 08             	mov    %eax,0x8(%ebx)
47bc21:	ff 15 08 05 4b 00    	call   *0x4b0508
47bc27:	eb 10                	jmp    0x47bc39
47bc29:	ff 76 08             	push   0x8(%esi)
47bc2c:	e8 a0 1e ff ff       	call   0x46dad1
47bc31:	89 43 08             	mov    %eax,0x8(%ebx)
47bc34:	66 c7 03 08 00       	movw   $0x8,(%ebx)
47bc39:	c7 45 08 08 00 00 00 	movl   $0x8,0x8(%ebp)
47bc40:	8b 4d 08             	mov    0x8(%ebp),%ecx
47bc43:	8b f3                	mov    %ebx,%esi
47bc45:	8b 5d 18             	mov    0x18(%ebp),%ebx
47bc48:	eb 47                	jmp    0x47bc91
47bc4a:	66 3b c8             	cmp    %ax,%cx
47bc4d:	75 16                	jne    0x47bc65
47bc4f:	8b 43 0c             	mov    0xc(%ebx),%eax
47bc52:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
47bc56:	89 45 14             	mov    %eax,0x14(%ebp)
47bc59:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
47bc60:	e9 89 00 00 00       	jmp    0x47bcee
47bc65:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
47bc69:	0f 85 8f 00 00 00    	jne    0x47bcfe
47bc6f:	66 83 f9 0c          	cmp    $0xc,%cx
47bc73:	0f 85 85 00 00 00    	jne    0x47bcfe
47bc79:	66 c7 05 80 c6 4a 00 	movw   $0xa,0x4ac680
47bc80:	0a 00
47bc82:	c7 05 88 c6 4a 00 04 	movl   $0x80020004,0x4ac688
47bc89:	00 02 80
47bc8c:	be 80 c6 4a 00       	mov    $0x4ac680,%esi
47bc91:	f6 c5 40             	test   $0x40,%ch
47bc94:	75 50                	jne    0x47bce6
47bc96:	0f b7 c1             	movzwl %cx,%eax
47bc99:	83 c0 fe             	add    $0xfffffffe,%eax
47bc9c:	83 f8 13             	cmp    $0x13,%eax
47bc9f:	77 4d                	ja     0x47bcee
47bca1:	ff 24 85 30 bd 47 00 	jmp    *0x47bd30(,%eax,4)
47bca8:	0f be 46 08          	movsbl 0x8(%esi),%eax
47bcac:	eb 3b                	jmp    0x47bce9
47bcae:	0f b6 46 08          	movzbl 0x8(%esi),%eax
47bcb2:	eb 35                	jmp    0x47bce9
47bcb4:	0f bf 46 08          	movswl 0x8(%esi),%eax
47bcb8:	eb 2f                	jmp    0x47bce9
47bcba:	0f b7 46 08          	movzwl 0x8(%esi),%eax
47bcbe:	eb 29                	jmp    0x47bce9
47bcc0:	8b 46 08             	mov    0x8(%esi),%eax
47bcc3:	89 07                	mov    %eax,(%edi)
47bcc5:	8b 46 0c             	mov    0xc(%esi),%eax
47bcc8:	89 47 04             	mov    %eax,0x4(%edi)
47bccb:	83 c7 08             	add    $0x8,%edi
47bcce:	eb 1e                	jmp    0x47bcee
47bcd0:	dd 46 08             	fldl   0x8(%esi)
47bcd3:	dd 1f                	fstpl  (%edi)
47bcd5:	eb f4                	jmp    0x47bccb
47bcd7:	33 c0                	xor    %eax,%eax
47bcd9:	66 39 46 08          	cmp    %ax,0x8(%esi)
47bcdd:	0f 95 c0             	setne  %al
47bce0:	eb 07                	jmp    0x47bce9
47bce2:	89 37                	mov    %esi,(%edi)
47bce4:	eb 05                	jmp    0x47bceb
47bce6:	8b 46 08             	mov    0x8(%esi),%eax
47bce9:	89 07                	mov    %eax,(%edi)
47bceb:	83 c7 04             	add    $0x4,%edi
47bcee:	8b 55 0c             	mov    0xc(%ebp),%edx
47bcf1:	42                   	inc    %edx
47bcf2:	80 3a 00             	cmpb   $0x0,(%edx)
47bcf5:	89 55 0c             	mov    %edx,0xc(%ebp)
47bcf8:	0f 85 75 fe ff ff    	jne    0x47bb73
47bcfe:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
47bd02:	7e 0f                	jle    0x47bd13
47bd04:	b8 0e 00 02 80       	mov    $0x8002000e,%eax
47bd09:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
47bd0c:	8b 55 14             	mov    0x14(%ebp),%edx
47bd0f:	89 11                	mov    %edx,(%ecx)
47bd11:	eb 16                	jmp    0x47bd29
47bd13:	80 3a 00             	cmpb   $0x0,(%edx)
47bd16:	74 0f                	je     0x47bd27
47bd18:	8b 43 08             	mov    0x8(%ebx),%eax
47bd1b:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
47bd1e:	89 01                	mov    %eax,(%ecx)
47bd20:	b8 0f 00 02 80       	mov    $0x8002000f,%eax
47bd25:	eb 02                	jmp    0x47bd29
47bd27:	33 c0                	xor    %eax,%eax
47bd29:	5f                   	pop    %edi
47bd2a:	5e                   	pop    %esi
47bd2b:	5b                   	pop    %ebx
47bd2c:	c9                   	leave
47bd2d:	c2 1c 00             	ret    $0x1c
47bd30:	b4 bc                	mov    $0xbc,%ah
47bd32:	47                   	inc    %edi
47bd33:	00 e6                	add    %ah,%dh
47bd35:	bc 47 00 e6 bc       	mov    $0xbce60047,%esp
47bd3a:	47                   	inc    %edi
47bd3b:	00 d0                	add    %dl,%al
47bd3d:	bc 47 00 c0 bc       	mov    $0xbcc00047,%esp
47bd42:	47                   	inc    %edi
47bd43:	00 d0                	add    %dl,%al
47bd45:	bc 47 00 e6 bc       	mov    $0xbce60047,%esp
47bd4a:	47                   	inc    %edi
47bd4b:	00 e6                	add    %ah,%dh
47bd4d:	bc 47 00 e6 bc       	mov    $0xbce60047,%esp
47bd52:	47                   	inc    %edi
47bd53:	00 d7                	add    %dl,%bh
47bd55:	bc 47 00 e2 bc       	mov    $0xbce20047,%esp
47bd5a:	47                   	inc    %edi
47bd5b:	00 e6                	add    %ah,%dh
47bd5d:	bc 47 00 ee bc       	mov    $0xbcee0047,%esp
47bd62:	47                   	inc    %edi
47bd63:	00 ee                	add    %ch,%dh
47bd65:	bc 47 00 a8 bc       	mov    $0xbca80047,%esp
47bd6a:	47                   	inc    %edi
47bd6b:	00 ae bc 47 00 ba    	add    %ch,-0x45ffb844(%esi)
47bd71:	bc 47 00 e6 bc       	mov    $0xbce60047,%esp
47bd76:	47                   	inc    %edi
47bd77:	00 c0                	add    %al,%al
47bd79:	bc 47 00 c0 bc       	mov    $0xbcc00047,%esp
47bd7e:	47                   	inc    %edi
47bd7f:	00 8b 4c 24 04 83    	add    %cl,-0x7cfbdbb4(%ebx)
47bd85:	c1 f0 e8             	shl    $0xe8,%eax
47bd88:	55                   	push   %ebp
47bd89:	83 ff ff             	cmp    $0xffffffff,%edi
47bd8c:	c2 04 00             	ret    $0x4
47bd8f:	8b 4c 24 04          	mov    0x4(%esp),%ecx
47bd93:	83 c1 f0             	add    $0xfffffff0,%ecx
47bd96:	e8 cd 81 ff ff       	call   0x473f68
47bd9b:	c2 04 00             	ret    $0x4
47bd9e:	ff 74 24 0c          	push   0xc(%esp)
47bda2:	8b 4c 24 08          	mov    0x8(%esp),%ecx
47bda6:	ff 74 24 0c          	push   0xc(%esp)
47bdaa:	83 c1 f0             	add    $0xfffffff0,%ecx
47bdad:	e8 8a 83 ff ff       	call   0x47413c
47bdb2:	c2 0c 00             	ret    $0xc
47bdb5:	8b 4c 24 04          	mov    0x4(%esp),%ecx
47bdb9:	83 c1 f0             	add    $0xfffffff0,%ecx
47bdbc:	8b 01                	mov    (%ecx),%eax
47bdbe:	ff 50 1c             	call   *0x1c(%eax)
47bdc1:	8b 4c 24 08          	mov    0x8(%esp),%ecx
47bdc5:	89 01                	mov    %eax,(%ecx)
47bdc7:	33 c0                	xor    %eax,%eax
47bdc9:	c2 08 00             	ret    $0x8
47bdcc:	55                   	push   %ebp
47bdcd:	8b ec                	mov    %esp,%ebp
47bdcf:	83 ec 14             	sub    $0x14,%esp
47bdd2:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
47bdd7:	56                   	push   %esi
47bdd8:	8b 75 08             	mov    0x8(%ebp),%esi
47bddb:	83 c6 f0             	add    $0xfffffff0,%esi
47bdde:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
47bde2:	89 45 fc             	mov    %eax,-0x4(%ebp)
47bde5:	74 07                	je     0x47bdee
47bde7:	b8 57 00 07 80       	mov    $0x80070057,%eax
47bdec:	eb 27                	jmp    0x47be15
47bdee:	8b 06                	mov    (%esi),%eax
47bdf0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47bdf3:	51                   	push   %ecx
47bdf4:	8b ce                	mov    %esi,%ecx