448fab:	ff 75 dc             	push   -0x24(%ebp)
448fae:	8d 46 1c             	lea    0x1c(%esi),%eax
448fb1:	50                   	push   %eax
448fb2:	51                   	push   %ecx
448fb3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
448fb6:	e8 72 5a 04 00       	call   0x48ea2d
448fbb:	83 c4 0c             	add    $0xc,%esp
448fbe:	85 c0                	test   %eax,%eax
448fc0:	0f 84 98 c0 fc ff    	je     0x41505e
448fc6:	e9 cf bc fc ff       	jmp    0x414c9a
448fcb:	8b 46 1c             	mov    0x1c(%esi),%eax
448fce:	8d 3c 00             	lea    (%eax,%eax,1),%edi
448fd1:	8d 04 0f             	lea    (%edi,%ecx,1),%eax
448fd4:	39 45 f8             	cmp    %eax,-0x8(%ebp)
448fd7:	0f 82 81 c0 fc ff    	jb     0x41505e
448fdd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
448fe0:	2b cf                	sub    %edi,%ecx
448fe2:	66 8b 01             	mov    (%ecx),%ax
448fe5:	66 3b 46 34          	cmp    0x34(%esi),%ax
448fe9:	0f 85 6f c0 fc ff    	jne    0x41505e
448fef:	83 7e 1c 01          	cmpl   $0x1,0x1c(%esi)
448ff3:	0f 84 a1 bc fc ff    	je     0x414c9a
448ff9:	66 8b 41 02          	mov    0x2(%ecx),%ax
448ffd:	66 3b 46 36          	cmp    0x36(%esi),%ax
449001:	0f 85 57 c0 fc ff    	jne    0x41505e
449007:	e9 8e bc fc ff       	jmp    0x414c9a
44900c:	8b 8e 98 00 00 00    	mov    0x98(%esi),%ecx
449012:	8b 46 78             	mov    0x78(%esi),%eax
449015:	8d 04 48             	lea    (%eax,%ecx,2),%eax
449018:	3b d0                	cmp    %eax,%edx
44901a:	0f 85 3e c0 fc ff    	jne    0x41505e
449020:	83 c3 02             	add    $0x2,%ebx
449023:	89 5d d0             	mov    %ebx,-0x30(%ebp)
449026:	e9 f4 b9 fc ff       	jmp    0x414a1f
44902b:	8b 45 f8             	mov    -0x8(%ebp),%eax
44902e:	83 c3 02             	add    $0x2,%ebx
449031:	89 45 08             	mov    %eax,0x8(%ebp)
449034:	89 5d d0             	mov    %ebx,-0x30(%ebp)
449037:	e9 64 bc fc ff       	jmp    0x414ca0
44903c:	8b 4e 7c             	mov    0x7c(%esi),%ecx
44903f:	8b 45 f8             	mov    -0x8(%ebp),%eax
449042:	3b c1                	cmp    %ecx,%eax
449044:	0f 83 b7 00 00 00    	jae    0x449101
44904a:	8b 56 18             	mov    0x18(%esi),%edx
44904d:	85 d2                	test   %edx,%edx
44904f:	74 79                	je     0x4490ca
449051:	ff 75 dc             	push   -0x24(%ebp)
449054:	8d 46 1c             	lea    0x1c(%esi),%eax
449057:	50                   	push   %eax
449058:	51                   	push   %ecx
449059:	8b 4d f8             	mov    -0x8(%ebp),%ecx
44905c:	e8 3e ce fc ff       	call   0x415e9f
449061:	83 c4 0c             	add    $0xc,%esp
449064:	85 c0                	test   %eax,%eax
449066:	0f 85 2e bc fc ff    	jne    0x414c9a
44906c:	8b 45 f8             	mov    -0x8(%ebp),%eax
44906f:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
449076:	0f 84 e2 bf fc ff    	je     0x41505e
44907c:	83 c0 02             	add    $0x2,%eax
44907f:	3b 46 7c             	cmp    0x7c(%esi),%eax
449082:	0f 82 d6 bf fc ff    	jb     0x41505e
449088:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
44908c:	0f 85 cc bf fc ff    	jne    0x41505e
449092:	83 7e 1c 02          	cmpl   $0x2,0x1c(%esi)
449096:	0f 85 c2 bf fc ff    	jne    0x41505e
44909c:	8b 45 f8             	mov    -0x8(%ebp),%eax
44909f:	66 8b 00             	mov    (%eax),%ax
4490a2:	66 3b 46 34          	cmp    0x34(%esi),%ax
4490a6:	0f 85 b2 bf fc ff    	jne    0x41505e
4490ac:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
4490b3:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
4490ba:	0f 8e 9e bf fc ff    	jle    0x41505e
4490c0:	b8 f4 ff ff ff       	mov    $0xfffffff4,%eax
4490c5:	e9 73 ba fc ff       	jmp    0x414b3d
4490ca:	8b 56 1c             	mov    0x1c(%esi),%edx
4490cd:	8d 04 12             	lea    (%edx,%edx,1),%eax
4490d0:	2b c8                	sub    %eax,%ecx
4490d2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4490d5:	3b c1                	cmp    %ecx,%eax
4490d7:	77 96                	ja     0x44906f
4490d9:	66 8b 00             	mov    (%eax),%ax
4490dc:	66 3b 46 34          	cmp    0x34(%esi),%ax
4490e0:	75 8a                	jne    0x44906c
4490e2:	83 fa 01             	cmp    $0x1,%edx
4490e5:	0f 84 af bb fc ff    	je     0x414c9a
4490eb:	8b 45 f8             	mov    -0x8(%ebp),%eax
4490ee:	66 8b 40 02          	mov    0x2(%eax),%ax
4490f2:	66 3b 46 36          	cmp    0x36(%esi),%ax
4490f6:	0f 85 70 ff ff ff    	jne    0x44906c
4490fc:	e9 99 bb fc ff       	jmp    0x414c9a
449101:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
449105:	0f 85 53 bf fc ff    	jne    0x41505e
44910b:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
449112:	0f 84 82 bb fc ff    	je     0x414c9a
449118:	3b 86 88 00 00 00    	cmp    0x88(%esi),%eax
44911e:	0f 86 76 bb fc ff    	jbe    0x414c9a
449124:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
44912b:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
449132:	7f 8c                	jg     0x4490c0
449134:	83 c3 02             	add    $0x2,%ebx
449137:	89 5d d0             	mov    %ebx,-0x30(%ebp)
44913a:	e9 61 bb fc ff       	jmp    0x414ca0
44913f:	83 7e 4c 00          	cmpl   $0x0,0x4c(%esi)
449143:	0f 85 15 bf fc ff    	jne    0x41505e
449149:	83 7e 5c 00          	cmpl   $0x0,0x5c(%esi)
44914d:	74 0e                	je     0x44915d
44914f:	8b 45 f8             	mov    -0x8(%ebp),%eax
449152:	3b 46 7c             	cmp    0x7c(%esi),%eax
449155:	0f 82 03 bf fc ff    	jb     0x41505e
44915b:	eb ae                	jmp    0x44910b
44915d:	8b 4e 7c             	mov    0x7c(%esi),%ecx
449160:	8b 45 f8             	mov    -0x8(%ebp),%eax
449163:	3b c1                	cmp    %ecx,%eax
449165:	73 a4                	jae    0x44910b
449167:	8b 56 18             	mov    0x18(%esi),%edx
44916a:	8d 7e 1c             	lea    0x1c(%esi),%edi
44916d:	85 d2                	test   %edx,%edx
44916f:	74 18                	je     0x449189
449171:	ff 75 dc             	push   -0x24(%ebp)
449174:	57                   	push   %edi
449175:	51                   	push   %ecx
449176:	8b c8                	mov    %eax,%ecx
449178:	e8 22 cd fc ff       	call   0x415e9f
44917d:	83 c4 0c             	add    $0xc,%esp
449180:	85 c0                	test   %eax,%eax
449182:	75 3a                	jne    0x4491be
449184:	e9 e3 fe ff ff       	jmp    0x44906c
449189:	8b 17                	mov    (%edi),%edx
44918b:	8d 04 12             	lea    (%edx,%edx,1),%eax
44918e:	2b c8                	sub    %eax,%ecx
449190:	8b 45 f8             	mov    -0x8(%ebp),%eax
449193:	3b c1                	cmp    %ecx,%eax
449195:	0f 87 d4 fe ff ff    	ja     0x44906f
44919b:	66 8b 00             	mov    (%eax),%ax
44919e:	66 3b 46 34          	cmp    0x34(%esi),%ax
4491a2:	0f 85 c4 fe ff ff    	jne    0x44906c
4491a8:	83 fa 01             	cmp    $0x1,%edx
4491ab:	74 11                	je     0x4491be
4491ad:	8b 45 f8             	mov    -0x8(%ebp),%eax
4491b0:	66 8b 40 02          	mov    0x2(%eax),%ax
4491b4:	66 3b 46 36          	cmp    0x36(%esi),%ax
4491b8:	0f 85 ae fe ff ff    	jne    0x44906c
4491be:	8b 0f                	mov    (%edi),%ecx
4491c0:	8b 46 7c             	mov    0x7c(%esi),%eax
4491c3:	03 c9                	add    %ecx,%ecx
4491c5:	2b c1                	sub    %ecx,%eax
4491c7:	39 45 f8             	cmp    %eax,-0x8(%ebp)
4491ca:	8b 45 f8             	mov    -0x8(%ebp),%eax
4491cd:	0f 85 9c fe ff ff    	jne    0x44906f
4491d3:	e9 33 ff ff ff       	jmp    0x44910b
4491d8:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
4491dc:	8b 45 f8             	mov    -0x8(%ebp),%eax
4491df:	0f 84 a5 01 00 00    	je     0x44938a
4491e5:	3b 46 78             	cmp    0x78(%esi),%eax
4491e8:	0f 84 d4 00 00 00    	je     0x4492c2
4491ee:	8d 50 fe             	lea    -0x2(%eax),%edx
4491f1:	b9 00 fc 00 00       	mov    $0xfc00,%ecx
4491f6:	66 8b 02             	mov    (%edx),%ax
4491f9:	66 23 c1             	and    %cx,%ax
4491fc:	b9 00 dc 00 00       	mov    $0xdc00,%ecx
449201:	66 3b c1             	cmp    %cx,%ax
449204:	75 03                	jne    0x449209
449206:	83 ea 02             	sub    $0x2,%edx
449209:	3b 96 88 00 00 00    	cmp    0x88(%esi),%edx
44920f:	73 06                	jae    0x449217
449211:	89 96 88 00 00 00    	mov    %edx,0x88(%esi)
449217:	0f b7 0a             	movzwl (%edx),%ecx
44921a:	8b c1                	mov    %ecx,%eax
44921c:	25 00 fc 00 00       	and    $0xfc00,%eax
449221:	3d 00 d8 00 00       	cmp    $0xd800,%eax
449226:	75 1a                	jne    0x449242
449228:	0f b7 42 02          	movzwl 0x2(%edx),%eax
44922c:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
449232:	25 ff 03 00 00       	and    $0x3ff,%eax
449237:	c1 e1 0a             	shl    $0xa,%ecx
44923a:	0b c8                	or     %eax,%ecx
44923c:	81 c1 00 00 01 00    	add    $0x10000,%ecx
449242:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
449246:	74 5c                	je     0x4492a4
449248:	83 f9 5f             	cmp    $0x5f,%ecx
44924b:	75 08                	jne    0x449255
44924d:	8b 45 f8             	mov    -0x8(%ebp),%eax
449250:	8d 79 a2             	lea    -0x5e(%ecx),%edi
449253:	eb 6f                	jmp    0x4492c4
449255:	8b c1                	mov    %ecx,%eax
449257:	99                   	cltd
449258:	83 e2 7f             	and    $0x7f,%edx
44925b:	03 c2                	add    %edx,%eax
44925d:	c1 f8 07             	sar    $0x7,%eax
449260:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
449267:	c1 e0 07             	shl    $0x7,%eax
44926a:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
449270:	79 05                	jns    0x449277
449272:	49                   	dec    %ecx
449273:	83 c9 80             	or     $0xffffff80,%ecx
449276:	41                   	inc    %ecx
449277:	03 c1                	add    %ecx,%eax
449279:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
449280:	00
449281:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
449288:	00
449289:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
449290:	83 f8 01             	cmp    $0x1,%eax
449293:	74 05                	je     0x44929a
449295:	83 f8 03             	cmp    $0x3,%eax
449298:	75 25                	jne    0x4492bf
44929a:	8b 45 f8             	mov    -0x8(%ebp),%eax
44929d:	bf 01 00 00 00       	mov    $0x1,%edi
4492a2:	eb 20                	jmp    0x4492c4
4492a4:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
4492aa:	73 13                	jae    0x4492bf
4492ac:	8b 46 44             	mov    0x44(%esi),%eax
4492af:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
4492b3:	74 0a                	je     0x4492bf
4492b5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4492b8:	bf 01 00 00 00       	mov    $0x1,%edi
4492bd:	eb 05                	jmp    0x4492c4
4492bf:	8b 45 f8             	mov    -0x8(%ebp),%eax
4492c2:	33 ff                	xor    %edi,%edi
4492c4:	3b 46 7c             	cmp    0x7c(%esi),%eax
4492c7:	73 63                	jae    0x44932c
4492c9:	0f b7 08             	movzwl (%eax),%ecx
4492cc:	8b c1                	mov    %ecx,%eax
4492ce:	25 00 fc 00 00       	and    $0xfc00,%eax
4492d3:	3d 00 d8 00 00       	cmp    $0xd800,%eax
4492d8:	75 1d                	jne    0x4492f7
4492da:	8b 45 f8             	mov    -0x8(%ebp),%eax
4492dd:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
4492e3:	c1 e1 0a             	shl    $0xa,%ecx
4492e6:	0f b7 40 02          	movzwl 0x2(%eax),%eax
4492ea:	25 ff 03 00 00       	and    $0x3ff,%eax
4492ef:	0b c8                	or     %eax,%ecx
4492f1:	81 c1 00 00 01 00    	add    $0x10000,%ecx
4492f7:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
4492fb:	74 76                	je     0x449373
4492fd:	83 f9 5f             	cmp    $0x5f,%ecx
449300:	0f 84 ae 01 00 00    	je     0x4494b4
449306:	8b c1                	mov    %ecx,%eax
449308:	99                   	cltd
449309:	83 e2 7f             	and    $0x7f,%edx
44930c:	03 c2                	add    %edx,%eax
44930e:	c1 f8 07             	sar    $0x7,%eax
449311:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
449318:	c1 e0 07             	shl    $0x7,%eax
44931b:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
449321:	0f 88 39 01 00 00    	js     0x449460
449327:	e9 39 01 00 00       	jmp    0x449465
44932c:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
449333:	74 1c                	je     0x449351
449335:	3b 86 88 00 00 00    	cmp    0x88(%esi),%eax
44933b:	76 14                	jbe    0x449351
44933d:	c7 46 68 01 00 00 00 	movl   $0x1,0x68(%esi)
449344:	83 be 8c 00 00 00 01 	cmpl   $0x1,0x8c(%esi)
44934b:	0f 8f 6f fd ff ff    	jg     0x4490c0
449351:	33 c9                	xor    %ecx,%ecx
449353:	66 8b 03             	mov    (%ebx),%ax
449356:	83 c3 02             	add    $0x2,%ebx
449359:	89 5d d0             	mov    %ebx,-0x30(%ebp)
44935c:	66 83 f8 05          	cmp    $0x5,%ax
449360:	0f 85 58 01 00 00    	jne    0x4494be
449366:	3b cf                	cmp    %edi,%ecx
449368:	0f 84 f0 bc fc ff    	je     0x41505e
44936e:	e9 2d b9 fc ff       	jmp    0x414ca0
449373:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
449379:	73 d6                	jae    0x449351
44937b:	8b 46 44             	mov    0x44(%esi),%eax
44937e:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
449382:	0f 85 2c 01 00 00    	jne    0x4494b4
449388:	eb c7                	jmp    0x449351
44938a:	3b 46 78             	cmp    0x78(%esi),%eax
44938d:	0f 84 97 00 00 00    	je     0x44942a
449393:	3b 86 88 00 00 00    	cmp    0x88(%esi),%eax
449399:	77 0c                	ja     0x4493a7
44939b:	83 c0 fe             	add    $0xfffffffe,%eax
44939e:	89 86 88 00 00 00    	mov    %eax,0x88(%esi)
4493a4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4493a7:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
4493ab:	0f b7 48 fe          	movzwl -0x2(%eax),%ecx
4493af:	74 59                	je     0x44940a
4493b1:	83 f9 5f             	cmp    $0x5f,%ecx
4493b4:	75 05                	jne    0x4493bb
4493b6:	8d 79 a2             	lea    -0x5e(%ecx),%edi
4493b9:	eb 71                	jmp    0x44942c
4493bb:	8b c1                	mov    %ecx,%eax
4493bd:	99                   	cltd
4493be:	83 e2 7f             	and    $0x7f,%edx
4493c1:	03 c2                	add    %edx,%eax
4493c3:	c1 f8 07             	sar    $0x7,%eax
4493c6:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
4493cd:	c1 e0 07             	shl    $0x7,%eax
4493d0:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
4493d6:	79 05                	jns    0x4493dd
4493d8:	49                   	dec    %ecx
4493d9:	83 c9 80             	or     $0xffffff80,%ecx
4493dc:	41                   	inc    %ecx
4493dd:	03 c1                	add    %ecx,%eax
4493df:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
4493e6:	00
4493e7:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
4493ee:	00
4493ef:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
4493f6:	83 f8 01             	cmp    $0x1,%eax
4493f9:	74 05                	je     0x449400
4493fb:	83 f8 03             	cmp    $0x3,%eax
4493fe:	75 27                	jne    0x449427
449400:	8b 45 f8             	mov    -0x8(%ebp),%eax
449403:	bf 01 00 00 00       	mov    $0x1,%edi
449408:	eb 22                	jmp    0x44942c
44940a:	ba ff 00 00 00       	mov    $0xff,%edx
44940f:	66 3b ca             	cmp    %dx,%cx
449412:	77 16                	ja     0x44942a
449414:	8b 46 44             	mov    0x44(%esi),%eax
449417:	f6 04 01 10          	testb  $0x10,(%ecx,%eax,1)
44941b:	74 0a                	je     0x449427
44941d:	8b 45 f8             	mov    -0x8(%ebp),%eax
449420:	bf 01 00 00 00       	mov    $0x1,%edi
449425:	eb 05                	jmp    0x44942c
449427:	8b 45 f8             	mov    -0x8(%ebp),%eax
44942a:	33 ff                	xor    %edi,%edi
44942c:	3b 46 7c             	cmp    0x7c(%esi),%eax
44942f:	0f 83 f7 fe ff ff    	jae    0x44932c
449435:	83 7e 58 00          	cmpl   $0x0,0x58(%esi)
449439:	74 59                	je     0x449494
44943b:	0f b7 08             	movzwl (%eax),%ecx
44943e:	83 f9 5f             	cmp    $0x5f,%ecx
449441:	74 71                	je     0x4494b4
449443:	8b c1                	mov    %ecx,%eax
449445:	99                   	cltd
449446:	83 e2 7f             	and    $0x7f,%edx
449449:	03 c2                	add    %edx,%eax
44944b:	c1 f8 07             	sar    $0x7,%eax
44944e:	0f b6 80 40 3b 4b 00 	movzbl 0x4b3b40(%eax),%eax
449455:	c1 e0 07             	shl    $0x7,%eax
449458:	81 e1 7f 00 00 80    	and    $0x8000007f,%ecx
44945e:	79 05                	jns    0x449465
449460:	49                   	dec    %ecx
449461:	83 c9 80             	or     $0xffffff80,%ecx
449464:	41                   	inc    %ecx
449465:	03 c1                	add    %ecx,%eax
449467:	0f b7 04 45 40 58 4a 	movzwl 0x4a5840(,%eax,2),%eax
44946e:	00
44946f:	0f b6 04 c5 51 2f 4a 	movzbl 0x4a2f51(,%eax,8),%eax
449476:	00
449477:	8b 04 85 a0 89 4b 00 	mov    0x4b89a0(,%eax,4),%eax
44947e:	83 f8 01             	cmp    $0x1,%eax
449481:	74 31                	je     0x4494b4
449483:	83 f8 03             	cmp    $0x3,%eax
449486:	0f 85 c5 fe ff ff    	jne    0x449351
44948c:	8d 48 fe             	lea    -0x2(%eax),%ecx
44948f:	e9 bf fe ff ff       	jmp    0x449353