46cb81:	5e                   	pop    %esi
46cb82:	75 10                	jne    0x46cb94
46cb84:	80 ba 90 00 00 00 03 	cmpb   $0x3,0x90(%edx)
46cb8b:	75 07                	jne    0x46cb94
46cb8d:	8b 02                	mov    (%edx),%eax
46cb8f:	3b 47 34             	cmp    0x34(%edi),%eax
46cb92:	74 0b                	je     0x46cb9f
46cb94:	41                   	inc    %ecx
46cb95:	3b 0d ac 16 4c 00    	cmp    0x4c16ac,%ecx
46cb9b:	7e ca                	jle    0x46cb67
46cb9d:	eb 54                	jmp    0x46cbf3
46cb9f:	8a 87 92 00 00 00    	mov    0x92(%edi),%al
46cba5:	84 c3                	test   %al,%bl
46cba7:	75 4a                	jne    0x46cbf3
46cba9:	a8 10                	test   $0x10,%al
46cbab:	74 46                	je     0x46cbf3
46cbad:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cbb2:	56                   	push   %esi
46cbb3:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cbb6:	8b 08                	mov    (%eax),%ecx
46cbb8:	0f bf 81 8e 00 00 00 	movswl 0x8e(%ecx),%eax
46cbbf:	50                   	push   %eax
46cbc0:	0f bf 81 8c 00 00 00 	movswl 0x8c(%ecx),%eax
46cbc7:	50                   	push   %eax
46cbc8:	0f bf 81 8a 00 00 00 	movswl 0x8a(%ecx),%eax
46cbcf:	50                   	push   %eax
46cbd0:	0f bf 81 88 00 00 00 	movswl 0x88(%ecx),%eax
46cbd7:	50                   	push   %eax
46cbd8:	ff 31                	push   (%ecx)
46cbda:	ff 15 e8 d6 48 00    	call   *0x48d6e8
46cbe0:	56                   	push   %esi
46cbe1:	ff 77 34             	push   0x34(%edi)
46cbe4:	68 69 04 00 00       	push   $0x469
46cbe9:	ff 74 24 28          	push   0x28(%esp)
46cbed:	ff 15 70 d6 48 00    	call   *0x48d670
46cbf3:	81 e3 f8 10 00 00    	and    $0x10f8,%ebx
46cbf9:	0f 8e eb 00 00 00    	jle    0x46ccea
46cbff:	8b c6                	mov    %esi,%eax
46cc01:	c7 44 24 14 01 00 00 	movl   $0x1,0x14(%esp)
46cc08:	00
46cc09:	89 44 24 10          	mov    %eax,0x10(%esp)
46cc0d:	84 db                	test   %bl,%bl
46cc0f:	79 14                	jns    0x46cc25
46cc11:	56                   	push   %esi
46cc12:	ff 74 24 20          	push   0x20(%esp)
46cc16:	b8 c0 00 00 00       	mov    $0xc0,%eax
46cc1b:	89 44 24 18          	mov    %eax,0x18(%esp)
46cc1f:	ff 15 3c d6 48 00    	call   *0x48d63c
46cc25:	f6 c3 40             	test   $0x40,%bl
46cc28:	74 15                	je     0x46cc3f
46cc2a:	6a 01                	push   $0x1
46cc2c:	ff 74 24 20          	push   0x20(%esp)
46cc30:	b8 c0 00 00 00       	mov    $0xc0,%eax
46cc35:	89 44 24 18          	mov    %eax,0x18(%esp)
46cc39:	ff 15 3c d6 48 00    	call   *0x48d63c
46cc3f:	8b 44 24 10          	mov    0x10(%esp),%eax
46cc43:	8b d3                	mov    %ebx,%edx
46cc45:	83 e2 20             	and    $0x20,%edx
46cc48:	74 03                	je     0x46cc4d
46cc4a:	83 c0 30             	add    $0x30,%eax
46cc4d:	8b cb                	mov    %ebx,%ecx
46cc4f:	83 e1 10             	and    $0x10,%ecx
46cc52:	89 4c 24 24          	mov    %ecx,0x24(%esp)
46cc56:	74 03                	je     0x46cc5b
46cc58:	83 c0 30             	add    $0x30,%eax
46cc5b:	b9 08 10 00 00       	mov    $0x1008,%ecx
46cc60:	f6 c3 08             	test   $0x8,%bl
46cc63:	74 02                	je     0x46cc67
46cc65:	03 c1                	add    %ecx,%eax
46cc67:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
46cc6d:	74 02                	je     0x46cc71
46cc6f:	03 c1                	add    %ecx,%eax
46cc71:	f6 d0                	not    %al
46cc73:	22 87 92 00 00 00    	and    0x92(%edi),%al
46cc79:	0a c3                	or     %bl,%al
46cc7b:	88 87 92 00 00 00    	mov    %al,0x92(%edi)
46cc81:	8a 87 93 00 00 00    	mov    0x93(%edi),%al
46cc87:	3c ff                	cmp    $0xff,%al
46cc89:	74 16                	je     0x46cca1
46cc8b:	8b 4c 24 20          	mov    0x20(%esp),%ecx
46cc8f:	0f b6 c0             	movzbl %al,%eax
46cc92:	8b 89 90 01 00 00    	mov    0x190(%ecx),%ecx
46cc98:	3b c1                	cmp    %ecx,%eax
46cc9a:	74 05                	je     0x46cca1
46cc9c:	83 f9 ff             	cmp    $0xffffffff,%ecx
46cc9f:	75 49                	jne    0x46ccea
46cca1:	8b 1d 04 d7 48 00    	mov    0x48d704,%ebx
46cca7:	85 d2                	test   %edx,%edx
46cca9:	74 0a                	je     0x46ccb5
46ccab:	56                   	push   %esi
46ccac:	8b 74 24 20          	mov    0x20(%esp),%esi
46ccb0:	56                   	push   %esi
46ccb1:	ff d3                	call   *%ebx
46ccb3:	eb 04                	jmp    0x46ccb9
46ccb5:	8b 74 24 1c          	mov    0x1c(%esp),%esi
46ccb9:	83 7c 24 24 00       	cmpl   $0x0,0x24(%esp)
46ccbe:	74 1e                	je     0x46ccde
46ccc0:	6a 04                	push   $0x4
46ccc2:	56                   	push   %esi
46ccc3:	ff d3                	call   *%ebx
46ccc5:	80 7c 24 1b 1a       	cmpb   $0x1a,0x1b(%esp)
46ccca:	75 12                	jne    0x46ccde
46cccc:	f6 87 92 00 00 00 40 	testb  $0x40,0x92(%edi)
46ccd3:	74 09                	je     0x46ccde
46ccd5:	6a 01                	push   $0x1
46ccd7:	56                   	push   %esi
46ccd8:	ff 15 3c d6 48 00    	call   *0x48d63c
46ccde:	6a 01                	push   $0x1
46cce0:	57                   	push   %edi
46cce1:	ff 74 24 28          	push   0x28(%esp)
46cce5:	e8 f4 12 00 00       	call   0x46dfde
46ccea:	8b 44 24 14          	mov    0x14(%esp),%eax
46ccee:	5f                   	pop    %edi
46ccef:	5e                   	pop    %esi
46ccf0:	5b                   	pop    %ebx
46ccf1:	8b e5                	mov    %ebp,%esp
46ccf3:	5d                   	pop    %ebp
46ccf4:	c2 08 00             	ret    $0x8
46ccf7:	55                   	push   %ebp
46ccf8:	8b ec                	mov    %esp,%ebp
46ccfa:	83 ec 0c             	sub    $0xc,%esp
46ccfd:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
46cd01:	8d 45 f8             	lea    -0x8(%ebp),%eax
46cd04:	50                   	push   %eax
46cd05:	8d 45 f4             	lea    -0xc(%ebp),%eax
46cd08:	50                   	push   %eax
46cd09:	ff 75 08             	push   0x8(%ebp)
46cd0c:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46cd11:	e8 e8 06 fa ff       	call   0x40d3fe
46cd16:	84 c0                	test   %al,%al
46cd18:	75 07                	jne    0x46cd21
46cd1a:	33 c0                	xor    %eax,%eax
46cd1c:	e9 33 01 00 00       	jmp    0x46ce54
46cd21:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46cd24:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46cd29:	53                   	push   %ebx
46cd2a:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cd2d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46cd30:	8b 00                	mov    (%eax),%eax
46cd32:	89 45 08             	mov    %eax,0x8(%ebp)
46cd35:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cd3a:	56                   	push   %esi
46cd3b:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cd3e:	8b 75 0c             	mov    0xc(%ebp),%esi
46cd41:	8b 0d 70 d6 48 00    	mov    0x48d670,%ecx
46cd47:	57                   	push   %edi
46cd48:	8b 38                	mov    (%eax),%edi
46cd4a:	8b 1f                	mov    (%edi),%ebx
46cd4c:	83 fe ff             	cmp    $0xffffffff,%esi
46cd4f:	74 6b                	je     0x46cdbc
46cd51:	0f b6 87 90 00 00 00 	movzbl 0x90(%edi),%eax
46cd58:	48                   	dec    %eax
46cd59:	48                   	dec    %eax
46cd5a:	74 2c                	je     0x46cd88
46cd5c:	48                   	dec    %eax
46cd5d:	74 2c                	je     0x46cd8b
46cd5f:	83 e8 03             	sub    $0x3,%eax
46cd62:	74 1f                	je     0x46cd83
46cd64:	48                   	dec    %eax
46cd65:	74 17                	je     0x46cd7e
46cd67:	83 e8 03             	sub    $0x3,%eax
46cd6a:	74 0a                	je     0x46cd76
46cd6c:	83 e8 0c             	sub    $0xc,%eax
46cd6f:	75 38                	jne    0x46cda9
46cd71:	e9 db 00 00 00       	jmp    0x46ce51
46cd76:	81 ce 00 00 00 04    	or     $0x4000000,%esi
46cd7c:	eb 2b                	jmp    0x46cda9
46cd7e:	83 ce 03             	or     $0x3,%esi
46cd81:	eb 26                	jmp    0x46cda9
46cd83:	83 ce 0e             	or     $0xe,%esi
46cd86:	eb 21                	jmp    0x46cda9
46cd88:	83 ce 04             	or     $0x4,%esi
46cd8b:	6a 00                	push   $0x0
46cd8d:	f7 c6 00 08 00 00    	test   $0x800,%esi
46cd93:	74 04                	je     0x46cd99
46cd95:	6a 01                	push   $0x1
46cd97:	eb 08                	jmp    0x46cda1
46cd99:	81 ce 00 00 01 00    	or     $0x10000,%esi
46cd9f:	6a 00                	push   $0x0
46cda1:	68 cf 00 00 00       	push   $0xcf
46cda6:	53                   	push   %ebx
46cda7:	ff d1                	call   *%ecx
46cda9:	81 ce 00 00 00 50    	or     $0x50000000,%esi
46cdaf:	56                   	push   %esi
46cdb0:	6a f0                	push   $0xfffffff0
46cdb2:	53                   	push   %ebx
46cdb3:	ff 15 f0 d4 48 00    	call   *0x48d4f0
46cdb9:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cdbc:	8b 75 10             	mov    0x10(%ebp),%esi
46cdbf:	83 fe ff             	cmp    $0xffffffff,%esi
46cdc2:	74 35                	je     0x46cdf9
46cdc4:	56                   	push   %esi
46cdc5:	6a ec                	push   $0xffffffec
46cdc7:	53                   	push   %ebx
46cdc8:	ff 15 f0 d4 48 00    	call   *0x48d4f0
46cdce:	8b 4d f8             	mov    -0x8(%ebp),%ecx
46cdd1:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cdd4:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cdd9:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cddc:	8b 00                	mov    (%eax),%eax
46cdde:	80 b8 90 00 00 00 13 	cmpb   $0x13,0x90(%eax)
46cde5:	75 12                	jne    0x46cdf9
46cde7:	56                   	push   %esi
46cde8:	6a 00                	push   $0x0
46cdea:	68 36 10 00 00       	push   $0x1036
46cdef:	53                   	push   %ebx
46cdf0:	ff 15 70 d6 48 00    	call   *0x48d670
46cdf6:	89 45 fc             	mov    %eax,-0x4(%ebp)
46cdf9:	8a 87 93 00 00 00    	mov    0x93(%edi),%al
46cdff:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ce02:	3c ff                	cmp    $0xff,%al
46ce04:	74 16                	je     0x46ce1c
46ce06:	0f b6 c0             	movzbl %al,%eax
46ce09:	3b 81 90 01 00 00    	cmp    0x190(%ecx),%eax
46ce0f:	74 0b                	je     0x46ce1c
46ce11:	6a 00                	push   $0x0
46ce13:	53                   	push   %ebx
46ce14:	ff 15 04 d7 48 00    	call   *0x48d704
46ce1a:	eb 09                	jmp    0x46ce25
46ce1c:	6a 01                	push   $0x1
46ce1e:	57                   	push   %edi
46ce1f:	51                   	push   %ecx
46ce20:	e8 b9 11 00 00       	call   0x46dfde
46ce25:	8a 87 90 00 00 00    	mov    0x90(%edi),%al
46ce2b:	3c 02                	cmp    $0x2,%al
46ce2d:	74 09                	je     0x46ce38
46ce2f:	3c 03                	cmp    $0x3,%al
46ce31:	74 05                	je     0x46ce38
46ce33:	83 fe ff             	cmp    $0xffffffff,%esi
46ce36:	74 11                	je     0x46ce49
46ce38:	6a 27                	push   $0x27
46ce3a:	33 c0                	xor    %eax,%eax
46ce3c:	50                   	push   %eax
46ce3d:	50                   	push   %eax
46ce3e:	50                   	push   %eax
46ce3f:	50                   	push   %eax
46ce40:	50                   	push   %eax
46ce41:	ff 37                	push   (%edi)
46ce43:	ff 15 b4 d4 48 00    	call   *0x48d4b4
46ce49:	33 c0                	xor    %eax,%eax
46ce4b:	39 45 fc             	cmp    %eax,-0x4(%ebp)
46ce4e:	0f 95 c0             	setne  %al
46ce51:	5f                   	pop    %edi
46ce52:	5e                   	pop    %esi
46ce53:	5b                   	pop    %ebx
46ce54:	c9                   	leave
46ce55:	c2 0c 00             	ret    $0xc
46ce58:	55                   	push   %ebp
46ce59:	8b ec                	mov    %esp,%ebp
46ce5b:	83 e4 f8             	and    $0xfffffff8,%esp
46ce5e:	83 ec 4c             	sub    $0x4c,%esp
46ce61:	8d 44 24 04          	lea    0x4(%esp),%eax
46ce65:	53                   	push   %ebx
46ce66:	56                   	push   %esi
46ce67:	57                   	push   %edi
46ce68:	50                   	push   %eax
46ce69:	8d 44 24 18          	lea    0x18(%esp),%eax
46ce6d:	50                   	push   %eax
46ce6e:	ff 75 08             	push   0x8(%ebp)
46ce71:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46ce76:	e8 83 05 fa ff       	call   0x40d3fe
46ce7b:	84 c0                	test   %al,%al
46ce7d:	0f 84 5e 02 00 00    	je     0x46d0e1
46ce83:	8b 4c 24 14          	mov    0x14(%esp),%ecx
46ce87:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46ce8c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46ce8f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
46ce93:	8b 18                	mov    (%eax),%ebx
46ce95:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46ce9a:	89 5c 24 14          	mov    %ebx,0x14(%esp)
46ce9e:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46cea1:	8b 30                	mov    (%eax),%esi
46cea3:	8a 86 90 00 00 00    	mov    0x90(%esi),%al
46cea9:	3c 0e                	cmp    $0xe,%al
46ceab:	0f 84 30 02 00 00    	je     0x46d0e1
46ceb1:	3c 0f                	cmp    $0xf,%al
46ceb3:	0f 84 28 02 00 00    	je     0x46d0e1
46ceb9:	3c 0c                	cmp    $0xc,%al
46cebb:	0f 84 20 02 00 00    	je     0x46d0e1
46cec1:	3c 09                	cmp    $0x9,%al
46cec3:	0f 84 18 02 00 00    	je     0x46d0e1
46cec9:	3c 14                	cmp    $0x14,%al
46cecb:	0f 84 10 02 00 00    	je     0x46d0e1
46ced1:	3c 11                	cmp    $0x11,%al
46ced3:	0f 84 08 02 00 00    	je     0x46d0e1
46ced9:	3c 1d                	cmp    $0x1d,%al
46cedb:	0f 84 00 02 00 00    	je     0x46d0e1
46cee1:	3c 1b                	cmp    $0x1b,%al
46cee3:	0f 84 f8 01 00 00    	je     0x46d0e1
46cee9:	3c 15                	cmp    $0x15,%al
46ceeb:	0f 84 f0 01 00 00    	je     0x46d0e1
46cef1:	6a 2c                	push   $0x2c
46cef3:	33 ff                	xor    %edi,%edi
46cef5:	8d 44 24 30          	lea    0x30(%esp),%eax
46cef9:	57                   	push   %edi
46cefa:	50                   	push   %eax
46cefb:	e8 50 3e fb ff       	call   0x420d50
46cf00:	0f b6 45 1c          	movzbl 0x1c(%ebp),%eax
46cf04:	8b 15 7c 16 4c 00    	mov    0x4c167c,%edx
46cf0a:	83 c4 0c             	add    $0xc,%esp
46cf0d:	f7 d8                	neg    %eax
46cf0f:	1b c0                	sbb    %eax,%eax
46cf11:	83 e0 02             	and    $0x2,%eax
46cf14:	83 c8 11             	or     $0x11,%eax
46cf17:	89 44 24 2c          	mov    %eax,0x2c(%esp)
46cf1b:	c7 44 24 28 30 00 00 	movl   $0x30,0x28(%esp)
46cf22:	00
46cf23:	8b 06                	mov    (%esi),%eax
46cf25:	89 44 24 30          	mov    %eax,0x30(%esp)
46cf29:	89 54 24 48          	mov    %edx,0x48(%esp)
46cf2d:	8b 06                	mov    (%esi),%eax
46cf2f:	89 44 24 34          	mov    %eax,0x34(%esp)
46cf33:	8b 45 0c             	mov    0xc(%ebp),%eax
46cf36:	89 44 24 4c          	mov    %eax,0x4c(%esp)
46cf3a:	80 be 90 00 00 00 0b 	cmpb   $0xb,0x90(%esi)
46cf41:	0f 85 f3 00 00 00    	jne    0x46d03a
46cf47:	ff b3 88 01 00 00    	push   0x188(%ebx)
46cf4d:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46cf52:	e8 cf e5 fa ff       	call   0x41b526
46cf57:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46cf5d:	8b f8                	mov    %eax,%edi
46cf5f:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
46cf62:	8b 09                	mov    (%ecx),%ecx
46cf64:	83 79 50 00          	cmpl   $0x0,0x50(%ecx)
46cf68:	74 34                	je     0x46cf9e
46cf6a:	83 79 58 00          	cmpl   $0x0,0x58(%ecx)
46cf6e:	74 2e                	je     0x46cf9e
46cf70:	ff 71 50             	push   0x50(%ecx)
46cf73:	ff 15 24 d6 48 00    	call   *0x48d624
46cf79:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cf7e:	68 00 dc 49 00       	push   $0x49dc00
46cf83:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46cf86:	8b 00                	mov    (%eax),%eax
46cf88:	83 60 50 00          	andl   $0x0,0x50(%eax)
46cf8c:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46cf91:	8b 04 b8             	mov    (%eax,%edi,4),%eax
46cf94:	8b 08                	mov    (%eax),%ecx
46cf96:	83 c1 54             	add    $0x54,%ecx
46cf99:	e8 c5 9a f9 ff       	call   0x406a63
46cf9e:	8b 83 88 01 00 00    	mov    0x188(%ebx),%eax
46cfa4:	8b 7e 50             	mov    0x50(%esi),%edi
46cfa7:	8b 1d 70 d6 48 00    	mov    0x48d670,%ebx
46cfad:	89 44 24 30          	mov    %eax,0x30(%esp)
46cfb1:	8b 44 24 10          	mov    0x10(%esp),%eax
46cfb5:	89 44 24 34          	mov    %eax,0x34(%esp)
46cfb9:	85 ff                	test   %edi,%edi
46cfbb:	75 4c                	jne    0x46d009
46cfbd:	8b 4c 24 14          	mov    0x14(%esp),%ecx
46cfc1:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
46cfc5:	6a 00                	push   $0x0