46ec4d:	8b 01                	mov    (%ecx),%eax
46ec4f:	75 1c                	jne    0x46ec6d
46ec51:	85 c0                	test   %eax,%eax
46ec53:	75 0e                	jne    0x46ec63
46ec55:	0f be 41 04          	movsbl 0x4(%ecx),%eax
46ec59:	8b ce                	mov    %esi,%ecx
46ec5b:	50                   	push   %eax
46ec5c:	e8 1d fe ff ff       	call   0x46ea7e
46ec61:	eb 28                	jmp    0x46ec8b
46ec63:	89 06                	mov    %eax,(%esi)
46ec65:	8b 41 04             	mov    0x4(%ecx),%eax
46ec68:	89 46 04             	mov    %eax,0x4(%esi)
46ec6b:	eb 1e                	jmp    0x46ec8b
46ec6d:	85 c0                	test   %eax,%eax
46ec6f:	75 12                	jne    0x46ec83
46ec71:	0f be 41 04          	movsbl 0x4(%ecx),%eax
46ec75:	85 c0                	test   %eax,%eax
46ec77:	74 12                	je     0x46ec8b
46ec79:	50                   	push   %eax
46ec7a:	8b ce                	mov    %esi,%ecx
46ec7c:	e8 66 00 00 00       	call   0x46ece7
46ec81:	eb 08                	jmp    0x46ec8b
46ec83:	50                   	push   %eax
46ec84:	8b ce                	mov    %esi,%ecx
46ec86:	e8 02 f9 ff ff       	call   0x46e58d
46ec8b:	8b c6                	mov    %esi,%eax
46ec8d:	5e                   	pop    %esi
46ec8e:	5d                   	pop    %ebp
46ec8f:	c2 04 00             	ret    $0x4
46ec92:	55                   	push   %ebp
46ec93:	8b ec                	mov    %esp,%ebp
46ec95:	56                   	push   %esi
46ec96:	8b f1                	mov    %ecx,%esi
46ec98:	80 7e 04 01          	cmpb   $0x1,0x4(%esi)
46ec9c:	7f 42                	jg     0x46ece0
46ec9e:	53                   	push   %ebx
46ec9f:	8b 5d 08             	mov    0x8(%ebp),%ebx
46eca2:	84 db                	test   %bl,%bl
46eca4:	74 39                	je     0x46ecdf
46eca6:	83 3e 00             	cmpl   $0x0,(%esi)
46eca9:	75 0f                	jne    0x46ecba
46ecab:	83 26 00             	andl   $0x0,(%esi)
46ecae:	83 66 04 00          	andl   $0x0,0x4(%esi)
46ecb2:	53                   	push   %ebx
46ecb3:	e8 1f 0e 00 00       	call   0x46fad7
46ecb8:	eb 25                	jmp    0x46ecdf
46ecba:	6a 08                	push   $0x8
46ecbc:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46ecc1:	e8 6d 31 00 00       	call   0x471e33
46ecc6:	85 c0                	test   %eax,%eax
46ecc8:	74 0b                	je     0x46ecd5
46ecca:	c7 00 58 16 4a 00    	movl   $0x4a1658,(%eax)
46ecd0:	88 58 04             	mov    %bl,0x4(%eax)
46ecd3:	eb 02                	jmp    0x46ecd7
46ecd5:	33 c0                	xor    %eax,%eax
46ecd7:	50                   	push   %eax
46ecd8:	8b ce                	mov    %esi,%ecx
46ecda:	e8 ae f8 ff ff       	call   0x46e58d
46ecdf:	5b                   	pop    %ebx
46ece0:	8b c6                	mov    %esi,%eax
46ece2:	5e                   	pop    %esi
46ece3:	5d                   	pop    %ebp
46ece4:	c2 04 00             	ret    $0x4
46ece7:	55                   	push   %ebp
46ece8:	8b ec                	mov    %esp,%ebp
46ecea:	56                   	push   %esi
46eceb:	8b f1                	mov    %ecx,%esi
46eced:	80 7e 04 01          	cmpb   $0x1,0x4(%esi)
46ecf1:	7f 2d                	jg     0x46ed20
46ecf3:	83 3e 00             	cmpl   $0x0,(%esi)
46ecf6:	8b 45 08             	mov    0x8(%ebp),%eax
46ecf9:	74 1f                	je     0x46ed1a
46ecfb:	83 f8 02             	cmp    $0x2,%eax
46ecfe:	74 1a                	je     0x46ed1a
46ed00:	83 f8 03             	cmp    $0x3,%eax
46ed03:	74 15                	je     0x46ed1a
46ed05:	85 c0                	test   %eax,%eax
46ed07:	74 17                	je     0x46ed20
46ed09:	50                   	push   %eax
46ed0a:	e8 ba 5d 00 00       	call   0x474ac9
46ed0f:	59                   	pop    %ecx
46ed10:	50                   	push   %eax
46ed11:	8b ce                	mov    %esi,%ecx
46ed13:	e8 75 f8 ff ff       	call   0x46e58d
46ed18:	eb 06                	jmp    0x46ed20
46ed1a:	50                   	push   %eax
46ed1b:	e8 5e fd ff ff       	call   0x46ea7e
46ed20:	8b c6                	mov    %esi,%eax
46ed22:	5e                   	pop    %esi
46ed23:	5d                   	pop    %ebp
46ed24:	c2 04 00             	ret    $0x4
46ed27:	55                   	push   %ebp
46ed28:	8b ec                	mov    %esp,%ebp
46ed2a:	56                   	push   %esi
46ed2b:	8b f1                	mov    %ecx,%esi
46ed2d:	83 3e 09             	cmpl   $0x9,(%esi)
46ed30:	74 2e                	je     0x46ed60
46ed32:	57                   	push   %edi
46ed33:	8b 7d 08             	mov    0x8(%ebp),%edi
46ed36:	83 3f 00             	cmpl   $0x0,(%edi)
46ed39:	74 24                	je     0x46ed5f
46ed3b:	6a 08                	push   $0x8
46ed3d:	b9 a8 83 4c 00       	mov    $0x4c83a8,%ecx
46ed42:	e8 ec 30 00 00       	call   0x471e33
46ed47:	8b d0                	mov    %eax,%edx
46ed49:	85 d2                	test   %edx,%edx
46ed4b:	74 12                	je     0x46ed5f
46ed4d:	8b 0f                	mov    (%edi),%ecx
46ed4f:	89 0a                	mov    %ecx,(%edx)
46ed51:	8b 4f 04             	mov    0x4(%edi),%ecx
46ed54:	89 4a 04             	mov    %ecx,0x4(%edx)
46ed57:	ff 06                	incl   (%esi)
46ed59:	8b 06                	mov    (%esi),%eax
46ed5b:	89 54 86 04          	mov    %edx,0x4(%esi,%eax,4)
46ed5f:	5f                   	pop    %edi
46ed60:	8b c6                	mov    %esi,%eax
46ed62:	5e                   	pop    %esi
46ed63:	5d                   	pop    %ebp
46ed64:	c2 04 00             	ret    $0x4
46ed67:	55                   	push   %ebp
46ed68:	8b ec                	mov    %esp,%ebp
46ed6a:	80 79 04 03          	cmpb   $0x3,0x4(%ecx)
46ed6e:	74 0d                	je     0x46ed7d
46ed70:	8b 45 08             	mov    0x8(%ebp),%eax
46ed73:	8a 40 04             	mov    0x4(%eax),%al
46ed76:	3c 01                	cmp    $0x1,%al
46ed78:	7e 03                	jle    0x46ed7d
46ed7a:	88 41 04             	mov    %al,0x4(%ecx)
46ed7d:	8b c1                	mov    %ecx,%eax
46ed7f:	5d                   	pop    %ebp
46ed80:	c2 04 00             	ret    $0x4
46ed83:	57                   	push   %edi
46ed84:	8b f9                	mov    %ecx,%edi
46ed86:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
46ed8a:	74 2a                	je     0x46edb6
46ed8c:	8b 4f 08             	mov    0x8(%edi),%ecx
46ed8f:	89 4f 0c             	mov    %ecx,0xc(%edi)
46ed92:	85 c9                	test   %ecx,%ecx
46ed94:	74 20                	je     0x46edb6
46ed96:	56                   	push   %esi
46ed97:	8b 01                	mov    (%ecx),%eax
46ed99:	8b 77 04             	mov    0x4(%edi),%esi
46ed9c:	51                   	push   %ecx
46ed9d:	8b ce                	mov    %esi,%ecx
46ed9f:	89 47 08             	mov    %eax,0x8(%edi)
46eda2:	ff 15 d4 e2 49 00    	call   *0x49e2d4
46eda8:	ff d6                	call   *%esi
46edaa:	59                   	pop    %ecx
46edab:	8b 4f 08             	mov    0x8(%edi),%ecx
46edae:	89 4f 0c             	mov    %ecx,0xc(%edi)
46edb1:	85 c9                	test   %ecx,%ecx
46edb3:	75 e2                	jne    0x46ed97
46edb5:	5e                   	pop    %esi
46edb6:	5f                   	pop    %edi
46edb7:	c3                   	ret
46edb8:	55                   	push   %ebp
46edb9:	8b ec                	mov    %esp,%ebp
46edbb:	8b 55 08             	mov    0x8(%ebp),%edx
46edbe:	a1 94 83 4c 00       	mov    0x4c8394,%eax
46edc3:	f7 d0                	not    %eax
46edc5:	a8 01                	test   $0x1,%al
46edc7:	8b 04 d5 70 08 4a 00 	mov    0x4a0870(,%edx,8),%eax
46edce:	8b 14 d5 74 08 4a 00 	mov    0x4a0874(,%edx,8),%edx
46edd5:	75 06                	jne    0x46eddd
46edd7:	83 c0 02             	add    $0x2,%eax
46edda:	83 ea 02             	sub    $0x2,%edx
46eddd:	5d                   	pop    %ebp
46edde:	c3                   	ret
46eddf:	55                   	push   %ebp
46ede0:	8b ec                	mov    %esp,%ebp
46ede2:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
46ede8:	a1 8c 83 4c 00       	mov    0x4c838c,%eax
46eded:	2b 05 90 83 4c 00    	sub    0x4c8390,%eax
46edf3:	53                   	push   %ebx
46edf4:	56                   	push   %esi
46edf5:	57                   	push   %edi
46edf6:	33 ff                	xor    %edi,%edi
46edf8:	89 45 cc             	mov    %eax,-0x34(%ebp)
46edfb:	89 7d f0             	mov    %edi,-0x10(%ebp)
46edfe:	89 7d f4             	mov    %edi,-0xc(%ebp)
46ee01:	e8 8a 51 00 00       	call   0x473f90
46ee06:	8b 75 0c             	mov    0xc(%ebp),%esi
46ee09:	8b c8                	mov    %eax,%ecx
46ee0b:	33 c0                	xor    %eax,%eax
46ee0d:	89 4d ec             	mov    %ecx,-0x14(%ebp)
46ee10:	40                   	inc    %eax
46ee11:	8b 1e                	mov    (%esi),%ebx
46ee13:	8d 56 04             	lea    0x4(%esi),%edx
46ee16:	89 55 e8             	mov    %edx,-0x18(%ebp)
46ee19:	85 db                	test   %ebx,%ebx
46ee1b:	74 0d                	je     0x46ee2a
46ee1d:	f7 02 00 02 00 00    	testl  $0x200,(%edx)
46ee23:	74 05                	je     0x46ee2a
46ee25:	89 45 a0             	mov    %eax,-0x60(%ebp)
46ee28:	eb 06                	jmp    0x46ee30
46ee2a:	89 7d a0             	mov    %edi,-0x60(%ebp)
46ee2d:	89 55 e8             	mov    %edx,-0x18(%ebp)
46ee30:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
46ee36:	75 12                	jne    0x46ee4a
46ee38:	8b 4d 08             	mov    0x8(%ebp),%ecx
46ee3b:	6a 02                	push   $0x2
46ee3d:	e8 14 fa ff ff       	call   0x46e856
46ee42:	8b 45 08             	mov    0x8(%ebp),%eax
46ee45:	e9 88 0c 00 00       	jmp    0x46fad2
46ee4a:	81 f9 fe ff 00 00    	cmp    $0xfffe,%ecx
46ee50:	75 0f                	jne    0x46ee61
46ee52:	56                   	push   %esi
46ee53:	50                   	push   %eax
46ee54:	ff 75 08             	push   0x8(%ebp)
46ee57:	e8 dd fc ff ff       	call   0x46eb39
46ee5c:	83 c4 0c             	add    $0xc,%esp
46ee5f:	eb e1                	jmp    0x46ee42
46ee61:	81 f9 fd ff 00 00    	cmp    $0xfffd,%ecx
46ee67:	75 0c                	jne    0x46ee75
46ee69:	8b 45 08             	mov    0x8(%ebp),%eax
46ee6c:	89 18                	mov    %ebx,(%eax)
46ee6e:	8b 0a                	mov    (%edx),%ecx
46ee70:	e9 5a 0c 00 00       	jmp    0x46facf
46ee75:	8b f1                	mov    %ecx,%esi
46ee77:	81 e6 00 80 00 00    	and    $0x8000,%esi
46ee7d:	89 75 d0             	mov    %esi,-0x30(%ebp)
46ee80:	0f 84 7b 06 00 00    	je     0x46f501
46ee86:	8b c1                	mov    %ecx,%eax
46ee88:	8b d9                	mov    %ecx,%ebx
46ee8a:	25 00 60 00 00       	and    $0x6000,%eax
46ee8f:	8b d1                	mov    %ecx,%edx
46ee91:	89 45 e4             	mov    %eax,-0x1c(%ebp)
46ee94:	81 e3 00 18 00 00    	and    $0x1800,%ebx
46ee9a:	8b c1                	mov    %ecx,%eax
46ee9c:	81 e2 00 04 00 00    	and    $0x400,%edx
46eea2:	25 00 10 00 00       	and    $0x1000,%eax
46eea7:	89 55 88             	mov    %edx,-0x78(%ebp)
46eeaa:	89 45 b8             	mov    %eax,-0x48(%ebp)
46eead:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46eeb3:	75 02                	jne    0x46eeb7
46eeb5:	8b c2                	mov    %edx,%eax
46eeb7:	85 c0                	test   %eax,%eax
46eeb9:	8b c1                	mov    %ecx,%eax
46eebb:	74 12                	je     0x46eecf
46eebd:	25 00 1b 00 00       	and    $0x1b00,%eax
46eec2:	3d 00 10 00 00       	cmp    $0x1000,%eax
46eec7:	0f 84 34 06 00 00    	je     0x46f501
46eecd:	8b c1                	mov    %ecx,%eax
46eecf:	25 00 1b 00 00       	and    $0x1b00,%eax
46eed4:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46eeda:	75 05                	jne    0x46eee1
46eedc:	89 55 c0             	mov    %edx,-0x40(%ebp)
46eedf:	eb 09                	jmp    0x46eeea
46eee1:	8b 75 b8             	mov    -0x48(%ebp),%esi
46eee4:	89 75 c0             	mov    %esi,-0x40(%ebp)
46eee7:	8b 75 d0             	mov    -0x30(%ebp),%esi
46eeea:	39 7d c0             	cmp    %edi,-0x40(%ebp)
46eeed:	74 16                	je     0x46ef05
46eeef:	3d 00 11 00 00       	cmp    $0x1100,%eax
46eef4:	0f 84 07 06 00 00    	je     0x46f501
46eefa:	3d 00 12 00 00       	cmp    $0x1200,%eax
46eeff:	0f 84 fc 05 00 00    	je     0x46f501
46ef05:	f7 c1 00 40 00 00    	test   $0x4000,%ecx
46ef0b:	74 52                	je     0x46ef5f
46ef0d:	8b 0d 94 83 4c 00    	mov    0x4c8394,%ecx
46ef13:	8d 45 f8             	lea    -0x8(%ebp),%eax
46ef16:	c1 e9 02             	shr    $0x2,%ecx
46ef19:	0b 0d 94 83 4c 00    	or     0x4c8394,%ecx
46ef1f:	d1 e9                	shr    $1,%ecx
46ef21:	f7 d1                	not    %ecx
46ef23:	50                   	push   %eax
46ef24:	f6 c1 01             	test   $0x1,%cl
46ef27:	74 21                	je     0x46ef4a
46ef29:	e8 57 11 00 00       	call   0x470085
46ef2e:	50                   	push   %eax
46ef2f:	8d 45 c4             	lea    -0x3c(%ebp),%eax
46ef32:	6a 20                	push   $0x20
46ef34:	50                   	push   %eax
46ef35:	e8 d4 fb ff ff       	call   0x46eb0e
46ef3a:	83 c4 10             	add    $0x10,%esp
46ef3d:	8b 08                	mov    (%eax),%ecx
46ef3f:	8b 40 04             	mov    0x4(%eax),%eax
46ef42:	89 4d f0             	mov    %ecx,-0x10(%ebp)
46ef45:	89 45 f4             	mov    %eax,-0xc(%ebp)
46ef48:	eb 0f                	jmp    0x46ef59
46ef4a:	e8 36 11 00 00       	call   0x470085
46ef4f:	59                   	pop    %ecx
46ef50:	50                   	push   %eax
46ef51:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46ef54:	e8 0e fe ff ff       	call   0x46ed67
46ef59:	8b 55 88             	mov    -0x78(%ebp),%edx
46ef5c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46ef5f:	8b 75 b8             	mov    -0x48(%ebp),%esi
46ef62:	8b c2                	mov    %edx,%eax
46ef64:	81 fb 00 08 00 00    	cmp    $0x800,%ebx
46ef6a:	74 02                	je     0x46ef6e
46ef6c:	8b c6                	mov    %esi,%eax
46ef6e:	85 c0                	test   %eax,%eax
46ef70:	0f 84 1c 01 00 00    	je     0x46f092
46ef76:	81 fb 00 18 00 00    	cmp    $0x1800,%ebx
46ef7c:	0f 85 10 01 00 00    	jne    0x46f092
46ef82:	8b 4d 0c             	mov    0xc(%ebp),%ecx
46ef85:	8d 45 c4             	lea    -0x3c(%ebp),%eax
46ef88:	6a 7b                	push   $0x7b
46ef8a:	50                   	push   %eax
46ef8b:	e8 0f fc ff ff       	call   0x46eb9f
46ef90:	8b f0                	mov    %eax,%esi
46ef92:	8d 45 f8             	lea    -0x8(%ebp),%eax
46ef95:	57                   	push   %edi
46ef96:	50                   	push   %eax
46ef97:	e8 d2 22 00 00       	call   0x47126e
46ef9c:	59                   	pop    %ecx
46ef9d:	59                   	pop    %ecx
46ef9e:	8d 45 f8             	lea    -0x8(%ebp),%eax
46efa1:	8b ce                	mov    %esi,%ecx
46efa3:	50                   	push   %eax
46efa4:	8d 45 ac             	lea    -0x54(%ebp),%eax
46efa7:	50                   	push   %eax
46efa8:	e8 d0 fb ff ff       	call   0x46eb7d
46efad:	50                   	push   %eax
46efae:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46efb1:	e8 85 fc ff ff       	call   0x46ec3b
46efb6:	8d 45 c4             	lea    -0x3c(%ebp),%eax
46efb9:	50                   	push   %eax
46efba:	e8 cf 54 00 00       	call   0x47448e
46efbf:	be 00 10 00 00       	mov    $0x1000,%esi
46efc4:	59                   	pop    %ecx
46efc5:	85 35 94 83 4c 00    	test   %esi,0x4c8394
46efcb:	75 38                	jne    0x46f005
46efcd:	8d 45 c4             	lea    -0x3c(%ebp),%eax
46efd0:	c7 45 f8 20 13 4a 00 	movl   $0x4a1320,-0x8(%ebp)
46efd7:	50                   	push   %eax
46efd8:	8d 45 ac             	lea    -0x54(%ebp),%eax
46efdb:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
46efe2:	6a 2c                	push   $0x2c
46efe4:	50                   	push   %eax
46efe5:	e8 24 fb ff ff       	call   0x46eb0e
46efea:	83 c4 0c             	add    $0xc,%esp
46efed:	8d 4d f8             	lea    -0x8(%ebp),%ecx
46eff0:	51                   	push   %ecx
46eff1:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
46eff4:	51                   	push   %ecx
46eff5:	8b c8                	mov    %eax,%ecx
46eff7:	e8 5f fb ff ff       	call   0x46eb5b
46effc:	50                   	push   %eax
46effd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f000:	e8 36 fc ff ff       	call   0x46ec3b
46f005:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f008:	c7 45 f8 24 13 4a 00 	movl   $0x4a1324,-0x8(%ebp)
46f00f:	50                   	push   %eax
46f010:	8d 4d f0             	lea    -0x10(%ebp),%ecx
46f013:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
46f01a:	e8 c4 fb ff ff       	call   0x46ebe3
46f01f:	8d 45 f8             	lea    -0x8(%ebp),%eax
46f022:	50                   	push   %eax