488e54:	7c 87                	jl     0x488ddd
488e56:	e9 d4 02 00 00       	jmp    0x48912f
488e5b:	8b 55 f0             	mov    -0x10(%ebp),%edx
488e5e:	3b 55 dc             	cmp    -0x24(%ebp),%edx
488e61:	0f 8d c8 02 00 00    	jge    0x48912f
488e67:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
488e6e:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
488e71:	0f 83 b3 fc ff ff    	jae    0x488b2a
488e77:	0f b7 01             	movzwl (%ecx),%eax
488e7a:	89 45 ec             	mov    %eax,-0x14(%ebp)
488e7d:	25 00 fc 00 00       	and    $0xfc00,%eax
488e82:	3d 00 d8 00 00       	cmp    $0xd800,%eax
488e87:	75 2b                	jne    0x488eb4
488e89:	8b 5d ec             	mov    -0x14(%ebp),%ebx
488e8c:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
488e90:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
488e96:	c1 e3 0a             	shl    $0xa,%ebx
488e99:	25 ff 03 00 00       	and    $0x3ff,%eax
488e9e:	0b c3                	or     %ebx,%eax
488ea0:	8b 5d 10             	mov    0x10(%ebp),%ebx
488ea3:	05 00 00 01 00       	add    $0x10000,%eax
488ea8:	89 45 ec             	mov    %eax,-0x14(%ebp)
488eab:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
488eb2:	eb 03                	jmp    0x488eb7
488eb4:	0f b7 01             	movzwl (%ecx),%eax
488eb7:	3d 00 01 00 00       	cmp    $0x100,%eax
488ebc:	0f 83 6d 02 00 00    	jae    0x48912f
488ec2:	8b 4d ec             	mov    -0x14(%ebp),%ecx
488ec5:	8b 43 44             	mov    0x44(%ebx),%eax
488ec8:	f6 04 01 04          	testb  $0x4,(%ecx,%eax,1)
488ecc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
488ecf:	0f 84 5a 02 00 00    	je     0x48912f
488ed5:	8b 45 f4             	mov    -0xc(%ebp),%eax
488ed8:	42                   	inc    %edx
488ed9:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
488edc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
488edf:	3b 55 dc             	cmp    -0x24(%ebp),%edx
488ee2:	7c 83                	jl     0x488e67
488ee4:	e9 46 02 00 00       	jmp    0x48912f
488ee9:	8b 55 f0             	mov    -0x10(%ebp),%edx
488eec:	3b 55 dc             	cmp    -0x24(%ebp),%edx
488eef:	0f 8d 3a 02 00 00    	jge    0x48912f
488ef5:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
488efc:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
488eff:	0f 83 25 fc ff ff    	jae    0x488b2a
488f05:	0f b7 01             	movzwl (%ecx),%eax
488f08:	89 45 ec             	mov    %eax,-0x14(%ebp)
488f0b:	25 00 fc 00 00       	and    $0xfc00,%eax
488f10:	3d 00 d8 00 00       	cmp    $0xd800,%eax
488f15:	75 2b                	jne    0x488f42
488f17:	8b 5d ec             	mov    -0x14(%ebp),%ebx
488f1a:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
488f1e:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
488f24:	c1 e3 0a             	shl    $0xa,%ebx
488f27:	25 ff 03 00 00       	and    $0x3ff,%eax
488f2c:	0b c3                	or     %ebx,%eax
488f2e:	8b 5d 10             	mov    0x10(%ebp),%ebx
488f31:	05 00 00 01 00       	add    $0x10000,%eax
488f36:	89 45 ec             	mov    %eax,-0x14(%ebp)
488f39:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
488f40:	eb 03                	jmp    0x488f45
488f42:	0f b7 01             	movzwl (%ecx),%eax
488f45:	3d 00 01 00 00       	cmp    $0x100,%eax
488f4a:	73 13                	jae    0x488f5f
488f4c:	8b 4d ec             	mov    -0x14(%ebp),%ecx
488f4f:	8b 43 44             	mov    0x44(%ebx),%eax
488f52:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
488f56:	8b 4d f8             	mov    -0x8(%ebp),%ecx
488f59:	0f 85 d0 01 00 00    	jne    0x48912f
488f5f:	8b 45 f4             	mov    -0xc(%ebp),%eax
488f62:	42                   	inc    %edx
488f63:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
488f66:	89 4d f8             	mov    %ecx,-0x8(%ebp)
488f69:	3b 55 dc             	cmp    -0x24(%ebp),%edx
488f6c:	7c 87                	jl     0x488ef5
488f6e:	e9 bc 01 00 00       	jmp    0x48912f
488f73:	8b 55 f0             	mov    -0x10(%ebp),%edx
488f76:	3b 55 dc             	cmp    -0x24(%ebp),%edx
488f79:	0f 8d b0 01 00 00    	jge    0x48912f
488f7f:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
488f86:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
488f89:	0f 83 9b fb ff ff    	jae    0x488b2a
488f8f:	0f b7 01             	movzwl (%ecx),%eax
488f92:	89 45 ec             	mov    %eax,-0x14(%ebp)
488f95:	25 00 fc 00 00       	and    $0xfc00,%eax
488f9a:	3d 00 d8 00 00       	cmp    $0xd800,%eax
488f9f:	75 2b                	jne    0x488fcc
488fa1:	8b 5d ec             	mov    -0x14(%ebp),%ebx
488fa4:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
488fa8:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
488fae:	c1 e3 0a             	shl    $0xa,%ebx
488fb1:	25 ff 03 00 00       	and    $0x3ff,%eax
488fb6:	0b c3                	or     %ebx,%eax
488fb8:	8b 5d 10             	mov    0x10(%ebp),%ebx
488fbb:	05 00 00 01 00       	add    $0x10000,%eax
488fc0:	89 45 ec             	mov    %eax,-0x14(%ebp)
488fc3:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
488fca:	eb 03                	jmp    0x488fcf
488fcc:	0f b7 01             	movzwl (%ecx),%eax
488fcf:	3d 00 01 00 00       	cmp    $0x100,%eax
488fd4:	0f 83 55 01 00 00    	jae    0x48912f
488fda:	8b 4d ec             	mov    -0x14(%ebp),%ecx
488fdd:	8b 43 44             	mov    0x44(%ebx),%eax
488fe0:	f6 04 01 01          	testb  $0x1,(%ecx,%eax,1)
488fe4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
488fe7:	0f 84 42 01 00 00    	je     0x48912f
488fed:	8b 45 f4             	mov    -0xc(%ebp),%eax
488ff0:	42                   	inc    %edx
488ff1:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
488ff4:	89 4d f8             	mov    %ecx,-0x8(%ebp)
488ff7:	3b 55 dc             	cmp    -0x24(%ebp),%edx
488ffa:	7c 83                	jl     0x488f7f
488ffc:	e9 2e 01 00 00       	jmp    0x48912f
489001:	8b 55 f0             	mov    -0x10(%ebp),%edx
489004:	3b 55 dc             	cmp    -0x24(%ebp),%edx
489007:	0f 8d 22 01 00 00    	jge    0x48912f
48900d:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
489014:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
489017:	0f 83 0d fb ff ff    	jae    0x488b2a
48901d:	0f b7 01             	movzwl (%ecx),%eax
489020:	89 45 ec             	mov    %eax,-0x14(%ebp)
489023:	25 00 fc 00 00       	and    $0xfc00,%eax
489028:	3d 00 d8 00 00       	cmp    $0xd800,%eax
48902d:	75 2b                	jne    0x48905a
48902f:	8b 5d ec             	mov    -0x14(%ebp),%ebx
489032:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
489036:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
48903c:	c1 e3 0a             	shl    $0xa,%ebx
48903f:	25 ff 03 00 00       	and    $0x3ff,%eax
489044:	0b c3                	or     %ebx,%eax
489046:	8b 5d 10             	mov    0x10(%ebp),%ebx
489049:	05 00 00 01 00       	add    $0x10000,%eax
48904e:	89 45 ec             	mov    %eax,-0x14(%ebp)
489051:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
489058:	eb 03                	jmp    0x48905d
48905a:	0f b7 01             	movzwl (%ecx),%eax
48905d:	3d 00 01 00 00       	cmp    $0x100,%eax
489062:	73 13                	jae    0x489077
489064:	8b 4d ec             	mov    -0x14(%ebp),%ecx
489067:	8b 43 44             	mov    0x44(%ebx),%eax
48906a:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
48906e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489071:	0f 85 b8 00 00 00    	jne    0x48912f
489077:	8b 45 f4             	mov    -0xc(%ebp),%eax
48907a:	42                   	inc    %edx
48907b:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
48907e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489081:	3b 55 dc             	cmp    -0x24(%ebp),%edx
489084:	7c 87                	jl     0x48900d
489086:	e9 a4 00 00 00       	jmp    0x48912f
48908b:	8b 55 f0             	mov    -0x10(%ebp),%edx
48908e:	3b 55 dc             	cmp    -0x24(%ebp),%edx
489091:	0f 8d 98 00 00 00    	jge    0x48912f
489097:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
48909e:	3b 4b 7c             	cmp    0x7c(%ebx),%ecx
4890a1:	73 67                	jae    0x48910a
4890a3:	0f b7 01             	movzwl (%ecx),%eax
4890a6:	89 45 ec             	mov    %eax,-0x14(%ebp)
4890a9:	25 00 fc 00 00       	and    $0xfc00,%eax
4890ae:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4890b3:	75 2b                	jne    0x4890e0
4890b5:	8b 5d ec             	mov    -0x14(%ebp),%ebx
4890b8:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
4890bc:	81 e3 ff 03 00 00    	and    $0x3ff,%ebx
4890c2:	c1 e3 0a             	shl    $0xa,%ebx
4890c5:	25 ff 03 00 00       	and    $0x3ff,%eax
4890ca:	0b c3                	or     %ebx,%eax
4890cc:	8b 5d 10             	mov    0x10(%ebp),%ebx
4890cf:	05 00 00 01 00       	add    $0x10000,%eax
4890d4:	89 45 ec             	mov    %eax,-0x14(%ebp)
4890d7:	c7 45 f4 02 00 00 00 	movl   $0x2,-0xc(%ebp)
4890de:	eb 03                	jmp    0x4890e3
4890e0:	0f b7 01             	movzwl (%ecx),%eax
4890e3:	3d 00 01 00 00       	cmp    $0x100,%eax
4890e8:	73 45                	jae    0x48912f
4890ea:	8b 4d ec             	mov    -0x14(%ebp),%ecx
4890ed:	8b 43 44             	mov    0x44(%ebx),%eax
4890f0:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
4890f4:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4890f7:	74 36                	je     0x48912f
4890f9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4890fc:	42                   	inc    %edx
4890fd:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
489100:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489103:	3b 55 dc             	cmp    -0x24(%ebp),%edx
489106:	7c 8f                	jl     0x489097
489108:	eb 25                	jmp    0x48912f
48910a:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
489111:	74 1c                	je     0x48912f
489113:	3b 8b 88 00 00 00    	cmp    0x88(%ebx),%ecx
489119:	76 14                	jbe    0x48912f
48911b:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
489122:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
489129:	0f 8f fe af ff ff    	jg     0x48412d
48912f:	85 f6                	test   %esi,%esi
489131:	0f 85 29 12 f8 ff    	jne    0x40a360
489137:	8b 75 c8             	mov    -0x38(%ebp),%esi
48913a:	3b ce                	cmp    %esi,%ecx
48913c:	0f 84 8f 12 f8 ff    	je     0x40a3d1
489142:	8b 45 18             	mov    0x18(%ebp),%eax
489145:	40                   	inc    %eax
489146:	50                   	push   %eax
489147:	ff 75 14             	push   0x14(%ebp)
48914a:	8b d7                	mov    %edi,%edx
48914c:	53                   	push   %ebx
48914d:	ff 75 0c             	push   0xc(%ebp)
489150:	ff 75 08             	push   0x8(%ebp)
489153:	e8 a8 11 f8 ff       	call   0x40a300
489158:	83 c4 14             	add    $0x14,%esp
48915b:	85 c0                	test   %eax,%eax
48915d:	0f 85 64 13 f8 ff    	jne    0x40a4c7
489163:	8b 4d f8             	mov    -0x8(%ebp),%ecx
489166:	83 e9 02             	sub    $0x2,%ecx
489169:	ba 00 fc 00 00       	mov    $0xfc00,%edx
48916e:	66 8b 01             	mov    (%ecx),%ax
489171:	66 23 c2             	and    %dx,%ax
489174:	ba 00 dc 00 00       	mov    $0xdc00,%edx
489179:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48917c:	66 3b c2             	cmp    %dx,%ax
48917f:	75 06                	jne    0x489187
489181:	83 e9 02             	sub    $0x2,%ecx
489184:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489187:	83 7d d8 11          	cmpl   $0x11,-0x28(%ebp)
48918b:	75 17                	jne    0x4891a4
48918d:	3b ce                	cmp    %esi,%ecx
48918f:	76 15                	jbe    0x4891a6
489191:	66 83 39 0a          	cmpw   $0xa,(%ecx)
489195:	75 0d                	jne    0x4891a4
489197:	66 83 79 fe 0d       	cmpw   $0xd,-0x2(%ecx)
48919c:	75 06                	jne    0x4891a4
48919e:	83 c1 fe             	add    $0xfffffffe,%ecx
4891a1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4891a4:	3b ce                	cmp    %esi,%ecx
4891a6:	75 9a                	jne    0x489142
4891a8:	e9 24 12 f8 ff       	jmp    0x40a3d1
4891ad:	8d 42 fa             	lea    -0x6(%edx),%eax
4891b0:	83 f8 0f             	cmp    $0xf,%eax
4891b3:	0f 87 5e 09 00 00    	ja     0x489b17
4891b9:	ff 24 85 9e ba 48 00 	jmp    *0x48ba9e(,%eax,4)
4891c0:	8b 55 f0             	mov    -0x10(%ebp),%edx
4891c3:	3b 55 dc             	cmp    -0x24(%ebp),%edx
4891c6:	0f 8d 36 05 00 00    	jge    0x489702
4891cc:	8b 43 7c             	mov    0x7c(%ebx),%eax
4891cf:	89 45 ec             	mov    %eax,-0x14(%ebp)
4891d2:	3b c8                	cmp    %eax,%ecx
4891d4:	0f 83 c4 00 00 00    	jae    0x48929e
4891da:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
4891de:	74 22                	je     0x489202
4891e0:	8d 53 1c             	lea    0x1c(%ebx),%edx
4891e3:	6a 00                	push   $0x0
4891e5:	52                   	push   %edx
4891e6:	8b 53 18             	mov    0x18(%ebx),%edx
4891e9:	50                   	push   %eax
4891ea:	e8 0f fe f7 ff       	call   0x408ffe
4891ef:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4891f2:	83 c4 0c             	add    $0xc,%esp
4891f5:	85 c0                	test   %eax,%eax
4891f7:	0f 85 05 05 00 00    	jne    0x489702
4891fd:	8b 55 f0             	mov    -0x10(%ebp),%edx
489200:	eb 2e                	jmp    0x489230
489202:	8b 43 1c             	mov    0x1c(%ebx),%eax
489205:	03 c0                	add    %eax,%eax
489207:	29 45 ec             	sub    %eax,-0x14(%ebp)
48920a:	3b 4d ec             	cmp    -0x14(%ebp),%ecx
48920d:	77 21                	ja     0x489230
48920f:	66 8b 01             	mov    (%ecx),%ax
489212:	66 3b 43 34          	cmp    0x34(%ebx),%ax
489216:	75 18                	jne    0x489230
489218:	83 7b 1c 01          	cmpl   $0x1,0x1c(%ebx)
48921c:	0f 84 e0 04 00 00    	je     0x489702
489222:	66 8b 41 02          	mov    0x2(%ecx),%ax
489226:	66 3b 43 36          	cmp    0x36(%ebx),%ax
48922a:	0f 84 d2 04 00 00    	je     0x489702
489230:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
489237:	74 31                	je     0x48926a
489239:	8d 41 02             	lea    0x2(%ecx),%eax
48923c:	3b 43 7c             	cmp    0x7c(%ebx),%eax
48923f:	72 29                	jb     0x48926a
489241:	83 7b 18 00          	cmpl   $0x0,0x18(%ebx)
489245:	75 23                	jne    0x48926a
489247:	83 7b 1c 02          	cmpl   $0x2,0x1c(%ebx)
48924b:	75 1d                	jne    0x48926a
48924d:	66 8b 01             	mov    (%ecx),%ax
489250:	66 3b 43 34          	cmp    0x34(%ebx),%ax
489254:	75 14                	jne    0x48926a
489256:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
48925d:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
489264:	0f 8f c3 ae ff ff    	jg     0x48412d
48926a:	42                   	inc    %edx
48926b:	83 c1 02             	add    $0x2,%ecx
48926e:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489271:	89 55 f0             	mov    %edx,-0x10(%ebp)
489274:	3b 55 dc             	cmp    -0x24(%ebp),%edx
489277:	0f 8c 4f ff ff ff    	jl     0x4891cc
48927d:	e9 80 04 00 00       	jmp    0x489702
489282:	8b 45 dc             	mov    -0x24(%ebp),%eax
489285:	2b 45 f0             	sub    -0x10(%ebp),%eax
489288:	8b 53 7c             	mov    0x7c(%ebx),%edx
48928b:	89 45 dc             	mov    %eax,-0x24(%ebp)
48928e:	8b c2                	mov    %edx,%eax
489290:	2b c1                	sub    %ecx,%eax
489292:	d1 f8                	sar    $1,%eax
489294:	39 45 dc             	cmp    %eax,-0x24(%ebp)
489297:	76 3c                	jbe    0x4892d5
489299:	8b ca                	mov    %edx,%ecx
48929b:	89 4d f8             	mov    %ecx,-0x8(%ebp)
48929e:	83 bb 8c 00 00 00 00 	cmpl   $0x0,0x8c(%ebx)
4892a5:	0f 84 57 04 00 00    	je     0x489702
4892ab:	3b 8b 88 00 00 00    	cmp    0x88(%ebx),%ecx
4892b1:	0f 86 4b 04 00 00    	jbe    0x489702
4892b7:	c7 43 68 01 00 00 00 	movl   $0x1,0x68(%ebx)
4892be:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
4892c5:	0f 8e 37 04 00 00    	jle    0x489702
4892cb:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
4892d0:	e9 f2 11 f8 ff       	jmp    0x40a4c7
4892d5:	8b 45 dc             	mov    -0x24(%ebp),%eax
4892d8:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
4892db:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4892de:	e9 1f 04 00 00       	jmp    0x489702
4892e3:	8b 45 f0             	mov    -0x10(%ebp),%eax
4892e6:	3b 45 dc             	cmp    -0x24(%ebp),%eax
4892e9:	0f 8d 13 04 00 00    	jge    0x489702
4892ef:	8b 53 7c             	mov    0x7c(%ebx),%edx
4892f2:	3b ca                	cmp    %edx,%ecx
4892f4:	73 a8                	jae    0x48929e
4892f6:	0f b7 11             	movzwl (%ecx),%edx
4892f9:	83 fa 0d             	cmp    $0xd,%edx
4892fc:	75 19                	jne    0x489317
4892fe:	8b 53 7c             	mov    0x7c(%ebx),%edx
489301:	83 c1 02             	add    $0x2,%ecx
489304:	89 4d f8             	mov    %ecx,-0x8(%ebp)
489307:	3b ca                	cmp    %edx,%ecx
489309:	0f 83 f3 03 00 00    	jae    0x489702
48930f:	66 83 39 0a          	cmpw   $0xa,(%ecx)
489313:	74 3a                	je     0x48934f
489315:	eb 3e                	jmp    0x489355
489317:	83 fa 0a             	cmp    $0xa,%edx
48931a:	74 30                	je     0x48934c
48931c:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
489320:	0f 85 dc 03 00 00    	jne    0x489702
489326:	83 fa 0b             	cmp    $0xb,%edx
489329:	74 21                	je     0x48934c
48932b:	83 fa 0c             	cmp    $0xc,%edx
48932e:	74 1c                	je     0x48934c
489330:	81 fa 85 00 00 00    	cmp    $0x85,%edx
489336:	74 14                	je     0x48934c
489338:	81 fa 28 20 00 00    	cmp    $0x2028,%edx
48933e:	74 0c                	je     0x48934c
489340:	81 fa 29 20 00 00    	cmp    $0x2029,%edx
489346:	0f 85 b6 03 00 00    	jne    0x489702