48388d:	81 f9 19 fc ff ff    	cmp    $0xfffffc19,%ecx
483893:	0f 84 db 6c f8 ff    	je     0x40a574
483899:	8d 81 e4 03 00 00    	lea    0x3e4(%ecx),%eax
48389f:	83 f8 03             	cmp    $0x3,%eax
4838a2:	0f 87 ec f9 ff ff    	ja     0x483294
4838a8:	0f b7 47 02          	movzwl 0x2(%edi),%eax
4838ac:	66 83 3c 47 77       	cmpw   $0x77,(%edi,%eax,2)
4838b1:	8d 3c 47             	lea    (%edi,%eax,2),%edi
4838b4:	74 f2                	je     0x4838a8
4838b6:	85 f6                	test   %esi,%esi
4838b8:	0f 85 04 6c f8 ff    	jne    0x40a4c2
4838be:	83 c7 04             	add    $0x4,%edi
4838c1:	89 7d cc             	mov    %edi,-0x34(%ebp)
4838c4:	e9 97 6a f8 ff       	jmp    0x40a360
4838c9:	39 55 e4             	cmp    %edx,-0x1c(%ebp)
4838cc:	74 3f                	je     0x48390d
4838ce:	0f b7 4f 02          	movzwl 0x2(%edi),%ecx
4838d2:	85 c9                	test   %ecx,%ecx
4838d4:	7e 51                	jle    0x483927
4838d6:	8b 45 f8             	mov    -0x8(%ebp),%eax
4838d9:	83 e8 02             	sub    $0x2,%eax
4838dc:	49                   	dec    %ecx
4838dd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4838e0:	3b 43 78             	cmp    0x78(%ebx),%eax
4838e3:	0f 82 8b 6c f8 ff    	jb     0x40a574
4838e9:	66 8b 00             	mov    (%eax),%ax
4838ec:	ba 00 fc 00 00       	mov    $0xfc00,%edx
4838f1:	66 23 c2             	and    %dx,%ax
4838f4:	ba 00 dc 00 00       	mov    $0xdc00,%edx
4838f9:	66 3b c2             	cmp    %dx,%ax
4838fc:	8b 45 f8             	mov    -0x8(%ebp),%eax
4838ff:	75 06                	jne    0x483907
483901:	83 e8 02             	sub    $0x2,%eax
483904:	89 45 f8             	mov    %eax,-0x8(%ebp)
483907:	85 c9                	test   %ecx,%ecx
483909:	7f cb                	jg     0x4838d6
48390b:	eb 1d                	jmp    0x48392a
48390d:	0f b7 47 02          	movzwl 0x2(%edi),%eax
483911:	8b 4d f8             	mov    -0x8(%ebp),%ecx
483914:	f7 d8                	neg    %eax
483916:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
483919:	8b c1                	mov    %ecx,%eax
48391b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48391e:	3b 43 78             	cmp    0x78(%ebx),%eax
483921:	0f 82 4d 6c f8 ff    	jb     0x40a574
483927:	8b 45 f8             	mov    -0x8(%ebp),%eax
48392a:	3b 83 88 00 00 00    	cmp    0x88(%ebx),%eax
483930:	73 06                	jae    0x483938
483932:	89 83 88 00 00 00    	mov    %eax,0x88(%ebx)
483938:	83 c7 04             	add    $0x4,%edi
48393b:	89 7d cc             	mov    %edi,-0x34(%ebp)
48393e:	e9 1d 6a f8 ff       	jmp    0x40a360
483943:	39 15 0c 33 4c 00    	cmp    %edx,0x4c330c
483949:	0f 84 c3 00 00 00    	je     0x483a12
48394f:	c7 85 28 ff ff ff 02 	movl   $0x2,-0xd8(%ebp)
483956:	00 00 00
483959:	0f b7 47 02          	movzwl 0x2(%edi),%eax
48395d:	89 85 2c ff ff ff    	mov    %eax,-0xd4(%ebp)
483963:	8b 43 0c             	mov    0xc(%ebx),%eax
483966:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
48396c:	8b 43 78             	mov    0x78(%ebx),%eax
48396f:	89 85 34 ff ff ff    	mov    %eax,-0xcc(%ebp)
483975:	8b 43 7c             	mov    0x7c(%ebx),%eax
483978:	2b 43 78             	sub    0x78(%ebx),%eax
48397b:	d1 f8                	sar    $1,%eax
48397d:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
483983:	8b 45 08             	mov    0x8(%ebp),%eax
483986:	2b 43 78             	sub    0x78(%ebx),%eax
483989:	d1 f8                	sar    $1,%eax
48398b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
483991:	8b 45 f8             	mov    -0x8(%ebp),%eax
483994:	2b 43 78             	sub    0x78(%ebx),%eax
483997:	d1 f8                	sar    $1,%eax
483999:	89 85 40 ff ff ff    	mov    %eax,-0xc0(%ebp)
48399f:	0f b7 47 04          	movzwl 0x4(%edi),%eax
4839a3:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
4839a9:	0f b7 47 06          	movzwl 0x6(%edi),%eax
4839ad:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
4839b3:	8b 45 0c             	mov    0xc(%ebp),%eax
4839b6:	99                   	cltd
4839b7:	2b c2                	sub    %edx,%eax
4839b9:	d1 f8                	sar    $1,%eax
4839bb:	89 85 44 ff ff ff    	mov    %eax,-0xbc(%ebp)
4839c1:	0f b7 83 94 00 00 00 	movzwl 0x94(%ebx),%eax
4839c8:	89 85 48 ff ff ff    	mov    %eax,-0xb8(%ebp)
4839ce:	85 c0                	test   %eax,%eax
4839d0:	75 0a                	jne    0x4839dc
4839d2:	c7 85 48 ff ff ff ff 	movl   $0xffffffff,-0xb8(%ebp)
4839d9:	ff ff ff
4839dc:	8b 83 ac 00 00 00    	mov    0xac(%ebx),%eax
4839e2:	89 85 4c ff ff ff    	mov    %eax,-0xb4(%ebp)
4839e8:	8b 83 b4 00 00 00    	mov    0xb4(%ebx),%eax
4839ee:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
4839f4:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
4839fa:	50                   	push   %eax
4839fb:	ff 15 0c 33 4c 00    	call   *0x4c330c
483a01:	83 c4 04             	add    $0x4,%esp
483a04:	85 c0                	test   %eax,%eax
483a06:	0f 8f 68 6b f8 ff    	jg     0x40a574
483a0c:	0f 88 b5 6a f8 ff    	js     0x40a4c7
483a12:	83 c7 08             	add    $0x8,%edi
483a15:	89 7d cc             	mov    %edi,-0x34(%ebp)
483a18:	e9 43 69 f8 ff       	jmp    0x40a360
483a1d:	0f b7 47 02          	movzwl 0x2(%edi),%eax
483a21:	8b 4b 74             	mov    0x74(%ebx),%ecx
483a24:	8d 34 41             	lea    (%ecx,%eax,2),%esi
483a27:	3b f1                	cmp    %ecx,%esi
483a29:	75 04                	jne    0x483a2f
483a2b:	33 d2                	xor    %edx,%edx
483a2d:	eb 04                	jmp    0x483a33
483a2f:	0f b7 56 04          	movzwl 0x4(%esi),%edx
483a33:	8b 8b a8 00 00 00    	mov    0xa8(%ebx),%ecx
483a39:	85 c9                	test   %ecx,%ecx
483a3b:	74 1d                	je     0x483a5a
483a3d:	8b 45 f8             	mov    -0x8(%ebp),%eax
483a40:	3b 51 04             	cmp    0x4(%ecx),%edx
483a43:	75 0f                	jne    0x483a54
483a45:	3b 41 14             	cmp    0x14(%ecx),%eax
483a48:	75 0a                	jne    0x483a54
483a4a:	b8 e6 ff ff ff       	mov    $0xffffffe6,%eax
483a4f:	e9 73 6a f8 ff       	jmp    0x40a4c7
483a54:	8b 09                	mov    (%ecx),%ecx
483a56:	85 c9                	test   %ecx,%ecx
483a58:	75 e6                	jne    0x483a40
483a5a:	89 55 a8             	mov    %edx,-0x58(%ebp)
483a5d:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
483a63:	89 45 b4             	mov    %eax,-0x4c(%ebp)
483a66:	8b 45 f8             	mov    -0x8(%ebp),%eax
483a69:	89 45 b8             	mov    %eax,-0x48(%ebp)
483a6c:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
483a72:	89 45 a4             	mov    %eax,-0x5c(%ebp)
483a75:	8d 45 a4             	lea    -0x5c(%ebp),%eax
483a78:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
483a7e:	8b 4b 10             	mov    0x10(%ebx),%ecx
483a81:	83 c7 04             	add    $0x4,%edi
483a84:	89 7d cc             	mov    %edi,-0x34(%ebp)
483a87:	89 4d b0             	mov    %ecx,-0x50(%ebp)
483a8a:	83 f9 1e             	cmp    $0x1e,%ecx
483a8d:	7f 0b                	jg     0x483a9a
483a8f:	8d 85 ac fe ff ff    	lea    -0x154(%ebp),%eax
483a95:	89 45 ac             	mov    %eax,-0x54(%ebp)
483a98:	eb 1f                	jmp    0x483ab9
483a9a:	8d 04 8d 00 00 00 00 	lea    0x0(,%ecx,4),%eax
483aa1:	50                   	push   %eax
483aa2:	ff 15 dc bd 4b 00    	call   *0x4bbddc
483aa8:	83 c4 04             	add    $0x4,%esp
483aab:	89 45 ac             	mov    %eax,-0x54(%ebp)
483aae:	85 c0                	test   %eax,%eax
483ab0:	0f 84 51 5f 00 00    	je     0x489a07
483ab6:	8b 4d b0             	mov    -0x50(%ebp),%ecx
483ab9:	c1 e1 02             	shl    $0x2,%ecx
483abc:	51                   	push   %ecx
483abd:	ff 73 0c             	push   0xc(%ebx)
483ac0:	50                   	push   %eax
483ac1:	e8 ba b3 f9 ff       	call   0x41ee80
483ac6:	b8 88 00 00 00       	mov    $0x88,%eax
483acb:	83 c4 0c             	add    $0xc,%esp
483ace:	66 39 06             	cmp    %ax,(%esi)
483ad1:	1b c0                	sbb    %eax,%eax
483ad3:	40                   	inc    %eax
483ad4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
483ad7:	85 c0                	test   %eax,%eax
483ad9:	74 0a                	je     0x483ae5
483adb:	c7 83 9c 00 00 00 02 	movl   $0x2,0x9c(%ebx)
483ae2:	00 00 00
483ae5:	8b 45 18             	mov    0x18(%ebp),%eax
483ae8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
483aeb:	40                   	inc    %eax
483aec:	50                   	push   %eax
483aed:	ff 75 14             	push   0x14(%ebp)
483af0:	0f b7 06             	movzwl (%esi),%eax
483af3:	53                   	push   %ebx
483af4:	0f b6 80 60 e5 49 00 	movzbl 0x49e560(%eax),%eax
483afb:	ff 75 0c             	push   0xc(%ebp)
483afe:	8d 14 46             	lea    (%esi,%eax,2),%edx
483b01:	ff 75 08             	push   0x8(%ebp)
483b04:	e8 f7 67 f8 ff       	call   0x40a300
483b09:	8b 4d b0             	mov    -0x50(%ebp),%ecx
483b0c:	83 c4 14             	add    $0x14,%esp
483b0f:	c1 e1 02             	shl    $0x2,%ecx
483b12:	51                   	push   %ecx
483b13:	ff 75 ac             	push   -0x54(%ebp)
483b16:	89 45 f4             	mov    %eax,-0xc(%ebp)
483b19:	ff 73 0c             	push   0xc(%ebx)
483b1c:	e8 5f b3 f9 ff       	call   0x41ee80
483b21:	8b 45 b4             	mov    -0x4c(%ebp),%eax
483b24:	89 83 94 00 00 00    	mov    %eax,0x94(%ebx)
483b2a:	8b 45 a4             	mov    -0x5c(%ebp),%eax
483b2d:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
483b33:	8b 45 f4             	mov    -0xc(%ebp),%eax
483b36:	83 c4 0c             	add    $0xc,%esp
483b39:	83 f8 01             	cmp    $0x1,%eax
483b3c:	74 44                	je     0x483b82
483b3e:	3d 19 fc ff ff       	cmp    $0xfffffc19,%eax
483b43:	74 3d                	je     0x483b82
483b45:	3d 1c fc ff ff       	cmp    $0xfffffc1c,%eax
483b4a:	7c 0b                	jl     0x483b57
483b4c:	3d 20 fc ff ff       	cmp    $0xfffffc20,%eax
483b51:	0f 8e 1d 6a f8 ff    	jle    0x40a574
483b57:	85 c0                	test   %eax,%eax
483b59:	0f 85 85 5e 00 00    	jne    0x4899e4
483b5f:	8d 45 a4             	lea    -0x5c(%ebp),%eax
483b62:	89 83 a8 00 00 00    	mov    %eax,0xa8(%ebx)
483b68:	0f b7 46 02          	movzwl 0x2(%esi),%eax
483b6c:	66 83 3c 46 77       	cmpw   $0x77,(%esi,%eax,2)
483b71:	8d 34 46             	lea    (%esi,%eax,2),%esi
483b74:	0f 85 41 5e 00 00    	jne    0x4899bb
483b7a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
483b7d:	e9 55 ff ff ff       	jmp    0x483ad7
483b82:	8b 45 ac             	mov    -0x54(%ebp),%eax
483b85:	8d 8d ac fe ff ff    	lea    -0x154(%ebp),%ecx
483b8b:	3b c1                	cmp    %ecx,%eax
483b8d:	74 0a                	je     0x483b99
483b8f:	50                   	push   %eax
483b90:	ff 15 0c b8 4b 00    	call   *0x4bb80c
483b96:	83 c4 04             	add    $0x4,%esp
483b99:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
483b9f:	89 45 f8             	mov    %eax,-0x8(%ebp)
483ba2:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
483ba8:	89 45 08             	mov    %eax,0x8(%ebp)
483bab:	e9 b0 67 f8 ff       	jmp    0x40a360
483bb0:	0f b7 47 02          	movzwl 0x2(%edi),%eax
483bb4:	66 83 3c 47 77       	cmpw   $0x77,(%edi,%eax,2)
483bb9:	8d 3c 47             	lea    (%edi,%eax,2),%edi
483bbc:	74 f2                	je     0x483bb0
483bbe:	83 c7 04             	add    $0x4,%edi
483bc1:	89 7d cc             	mov    %edi,-0x34(%ebp)
483bc4:	e9 97 67 f8 ff       	jmp    0x40a360
483bc9:	83 c7 02             	add    $0x2,%edi
483bcc:	89 7d cc             	mov    %edi,-0x34(%ebp)
483bcf:	8b d7                	mov    %edi,%edx
483bd1:	0f b7 42 02          	movzwl 0x2(%edx),%eax
483bd5:	66 83 3c 42 77       	cmpw   $0x77,(%edx,%eax,2)
483bda:	8d 14 42             	lea    (%edx,%eax,2),%edx
483bdd:	74 f2                	je     0x483bd1
483bdf:	8b 45 18             	mov    0x18(%ebp),%eax
483be2:	8b 4d f8             	mov    -0x8(%ebp),%ecx
483be5:	40                   	inc    %eax
483be6:	50                   	push   %eax
483be7:	ff 75 14             	push   0x14(%ebp)
483bea:	83 c2 04             	add    $0x4,%edx
483bed:	53                   	push   %ebx
483bee:	ff 75 0c             	push   0xc(%ebp)
483bf1:	ff 75 08             	push   0x8(%ebp)
483bf4:	e8 07 67 f8 ff       	call   0x40a300
483bf9:	83 c4 14             	add    $0x14,%esp
483bfc:	85 c0                	test   %eax,%eax
483bfe:	0f 84 5c 67 f8 ff    	je     0x40a360
483c04:	e9 be 68 f8 ff       	jmp    0x40a4c7
483c09:	0f b7 47 02          	movzwl 0x2(%edi),%eax
483c0d:	66 83 3c 47 77       	cmpw   $0x77,(%edi,%eax,2)
483c12:	8d 3c 47             	lea    (%edi,%eax,2),%edi
483c15:	74 f2                	je     0x483c09
483c17:	83 c7 04             	add    $0x4,%edi
483c1a:	89 7d cc             	mov    %edi,-0x34(%ebp)
483c1d:	e9 3e 67 f8 ff       	jmp    0x40a360
483c22:	0f b7 77 02          	movzwl 0x2(%edi),%esi
483c26:	83 c7 02             	add    $0x2,%edi
483c29:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
483c30:	81 fe 86 00 00 00    	cmp    $0x86,%esi
483c36:	74 0c                	je     0x483c44
483c38:	81 fe 8b 00 00 00    	cmp    $0x8b,%esi
483c3e:	0f 85 84 01 00 00    	jne    0x483dc8
483c44:	0f b7 57 04          	movzwl 0x4(%edi),%edx
483c48:	89 55 ec             	mov    %edx,-0x14(%ebp)
483c4b:	8d 04 12             	lea    (%edx,%edx,1),%eax
483c4e:	89 45 c0             	mov    %eax,-0x40(%ebp)
483c51:	3b 43 14             	cmp    0x14(%ebx),%eax
483c54:	0f 8d 67 01 00 00    	jge    0x483dc1
483c5a:	8b 4b 0c             	mov    0xc(%ebx),%ecx
483c5d:	8b 55 c0             	mov    -0x40(%ebp),%edx
483c60:	33 c0                	xor    %eax,%eax
483c62:	89 45 d8             	mov    %eax,-0x28(%ebp)
483c65:	8b c7                	mov    %edi,%eax
483c67:	2b 43 74             	sub    0x74(%ebx),%eax
483c6a:	d1 f8                	sar    $1,%eax
483c6c:	89 45 f4             	mov    %eax,-0xc(%ebp)
483c6f:	8b 45 c0             	mov    -0x40(%ebp),%eax
483c72:	8b 04 81             	mov    (%ecx,%eax,4),%eax
483c75:	89 45 e8             	mov    %eax,-0x18(%ebp)
483c78:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
483c7c:	89 45 c8             	mov    %eax,-0x38(%ebp)
483c7f:	8b 43 10             	mov    0x10(%ebx),%eax
483c82:	2b 45 ec             	sub    -0x14(%ebp),%eax
483c85:	8b 04 81             	mov    (%ecx,%eax,4),%eax
483c88:	89 45 cc             	mov    %eax,-0x34(%ebp)
483c8b:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
483c91:	89 45 d4             	mov    %eax,-0x2c(%ebp)
483c94:	8b 55 f8             	mov    -0x8(%ebp),%edx
483c97:	2b 53 78             	sub    0x78(%ebx),%edx
483c9a:	8b 4b 10             	mov    0x10(%ebx),%ecx
483c9d:	2b 4d ec             	sub    -0x14(%ebp),%ecx
483ca0:	8b 43 0c             	mov    0xc(%ebx),%eax
483ca3:	d1 fa                	sar    $1,%edx
483ca5:	89 14 88             	mov    %edx,(%eax,%ecx,4)
483ca8:	81 fe 88 00 00 00    	cmp    $0x88,%esi
483cae:	72 0a                	jb     0x483cba
483cb0:	c7 83 9c 00 00 00 02 	movl   $0x2,0x9c(%ebx)
483cb7:	00 00 00
483cba:	8b 45 18             	mov    0x18(%ebp),%eax
483cbd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
483cc0:	40                   	inc    %eax
483cc1:	50                   	push   %eax
483cc2:	ff 75 14             	push   0x14(%ebp)
483cc5:	0f b7 07             	movzwl (%edi),%eax
483cc8:	53                   	push   %ebx
483cc9:	0f b6 80 60 e5 49 00 	movzbl 0x49e560(%eax),%eax
483cd0:	ff 75 0c             	push   0xc(%ebp)
483cd3:	8d 14 47             	lea    (%edi,%eax,2),%edx
483cd6:	ff 75 08             	push   0x8(%ebp)
483cd9:	e8 22 66 f8 ff       	call   0x40a300
483cde:	8b c8                	mov    %eax,%ecx
483ce0:	83 c4 14             	add    $0x14,%esp
483ce3:	81 f9 1a fc ff ff    	cmp    $0xfffffc1a,%ecx
483ce9:	75 3a                	jne    0x483d25
483ceb:	8b 83 90 00 00 00    	mov    0x90(%ebx),%eax
483cf1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
483cf4:	89 45 0c             	mov    %eax,0xc(%ebp)
483cf7:	8b 83 84 00 00 00    	mov    0x84(%ebx),%eax
483cfd:	89 45 f8             	mov    %eax,-0x8(%ebp)
483d00:	8b 43 74             	mov    0x74(%ebx),%eax
483d03:	8d 3c 48             	lea    (%eax,%ecx,2),%edi
483d06:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
483d0c:	89 45 d4             	mov    %eax,-0x2c(%ebp)
483d0f:	b8 01 00 00 00       	mov    $0x1,%eax
483d14:	89 45 d8             	mov    %eax,-0x28(%ebp)
483d17:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
483d1d:	89 45 08             	mov    %eax,0x8(%ebp)
483d20:	e9 6f ff ff ff       	jmp    0x483c94
483d25:	81 f9 20 fc ff ff    	cmp    $0xfffffc20,%ecx
483d2b:	75 25                	jne    0x483d52
483d2d:	0f b7 47 02          	movzwl 0x2(%edi),%eax
483d31:	8d 04 47             	lea    (%edi,%eax,2),%eax
483d34:	39 83 80 00 00 00    	cmp    %eax,0x80(%ebx)
483d3a:	0f 83 54 f5 ff ff    	jae    0x483294
483d40:	66 83 3f 77          	cmpw   $0x77,(%edi)
483d44:	74 14                	je     0x483d5a
483d46:	66 83 38 77          	cmpw   $0x77,(%eax)
483d4a:	0f 85 44 f5 ff ff    	jne    0x483294
483d50:	eb 08                	jmp    0x483d5a
483d52:	85 c9                	test   %ecx,%ecx
483d54:	0f 85 3a f5 ff ff    	jne    0x483294
483d5a:	8b 45 d4             	mov    -0x2c(%ebp),%eax
483d5d:	89 83 94 00 00 00    	mov    %eax,0x94(%ebx)
483d63:	0f b7 47 02          	movzwl 0x2(%edi),%eax
483d67:	66 83 3c 47 77       	cmpw   $0x77,(%edi,%eax,2)
483d6c:	8d 3c 47             	lea    (%edi,%eax,2),%edi
483d6f:	0f 84 1f ff ff ff    	je     0x483c94
483d75:	8b 45 d8             	mov    -0x28(%ebp),%eax
483d78:	85 c0                	test   %eax,%eax