41512f:	3b f9                	cmp    %ecx,%edi
415131:	0f 83 2f 97 03 00    	jae    0x44e866
415137:	83 7d e4 0c          	cmpl   $0xc,-0x1c(%ebp)
41513b:	75 28                	jne    0x415165
41513d:	8b 56 18             	mov    0x18(%esi),%edx
415140:	85 d2                	test   %edx,%edx
415142:	0f 84 db a5 03 00    	je     0x44f723
415148:	ff 75 dc             	push   -0x24(%ebp)
41514b:	8d 46 1c             	lea    0x1c(%esi),%eax
41514e:	50                   	push   %eax
41514f:	51                   	push   %ecx
415150:	8b cf                	mov    %edi,%ecx
415152:	e8 48 0d 00 00       	call   0x415e9f
415157:	83 c4 0c             	add    $0xc,%esp
41515a:	85 c0                	test   %eax,%eax
41515c:	0f 85 fc fe ff ff    	jne    0x41505e
415162:	8b 55 f4             	mov    -0xc(%ebp),%edx
415165:	0f b7 0f             	movzwl (%edi),%ecx
415168:	83 c7 02             	add    $0x2,%edi
41516b:	8b c1                	mov    %ecx,%eax
41516d:	25 00 fc 00 00       	and    $0xfc00,%eax
415172:	3d 00 d8 00 00       	cmp    $0xd800,%eax
415177:	0f 84 df a5 03 00    	je     0x44f75c
41517d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
415180:	83 f8 0c             	cmp    $0xc,%eax
415183:	0f 85 f4 a5 03 00    	jne    0x44f77d
415189:	83 be 8c 00 00 00 00 	cmpl   $0x0,0x8c(%esi)
415190:	0f 85 9a a8 03 00    	jne    0x44fa30
415196:	8b 45 18             	mov    0x18(%ebp),%eax
415199:	42                   	inc    %edx
41519a:	40                   	inc    %eax
41519b:	89 55 f4             	mov    %edx,-0xc(%ebp)
41519e:	50                   	push   %eax
41519f:	ff 75 14             	push   0x14(%ebp)
4151a2:	8b d3                	mov    %ebx,%edx
4151a4:	8b cf                	mov    %edi,%ecx
4151a6:	56                   	push   %esi
4151a7:	ff 75 0c             	push   0xc(%ebp)
4151aa:	ff 75 08             	push   0x8(%ebp)
4151ad:	e8 0e f8 ff ff       	call   0x4149c0
4151b2:	83 c4 14             	add    $0x14,%esp
4151b5:	85 c0                	test   %eax,%eax
4151b7:	0f 85 80 f9 ff ff    	jne    0x414b3d
4151bd:	e9 5e ff ff ff       	jmp    0x415120
4151c2:	83 e8 62             	sub    $0x62,%eax
4151c5:	83 f8 0b             	cmp    $0xb,%eax
4151c8:	0f 87 f7 fa ff ff    	ja     0x414cc5
4151ce:	0f b6 80 f8 55 41 00 	movzbl 0x4155f8(%eax),%eax
4151d5:	ff 24 85 f0 55 41 00 	jmp    *0x4155f0(,%eax,4)
4151dc:	8d 42 9e             	lea    -0x62(%edx),%eax
4151df:	83 c3 02             	add    $0x2,%ebx
4151e2:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4151e5:	83 f8 08             	cmp    $0x8,%eax
4151e8:	0f 82 8b 01 00 00    	jb     0x415379
4151ee:	8b 55 d4             	mov    -0x2c(%ebp),%edx
4151f1:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
4151f8:	0f be 88 30 57 4a 00 	movsbl 0x4a5730(%eax),%ecx
4151ff:	89 4d f0             	mov    %ecx,-0x10(%ebp)
415202:	0f be 88 3c 57 4a 00 	movsbl 0x4a573c(%eax),%ecx
415209:	8b 45 f0             	mov    -0x10(%ebp),%eax
41520c:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
41520f:	85 c9                	test   %ecx,%ecx
415211:	0f 85 be fa ff ff    	jne    0x414cd5
415217:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
41521c:	e9 b1 fa ff ff       	jmp    0x414cd2
415221:	8b 45 f8             	mov    -0x8(%ebp),%eax
415224:	e9 2e fb ff ff       	jmp    0x414d57
415229:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
415230:	8b 45 f8             	mov    -0x8(%ebp),%eax
415233:	b9 01 00 00 00       	mov    $0x1,%ecx
415238:	89 4d ec             	mov    %ecx,-0x14(%ebp)
41523b:	3b 46 7c             	cmp    0x7c(%esi),%eax
41523e:	0f 83 6f 4f 03 00    	jae    0x44a1b3
415244:	0f b7 10             	movzwl (%eax),%edx
415247:	8b c2                	mov    %edx,%eax
415249:	25 00 fc 00 00       	and    $0xfc00,%eax
41524e:	3d 00 d8 00 00       	cmp    $0xd800,%eax
415253:	0f 84 22 4f 03 00    	je     0x44a17b
415259:	81 fa ff 00 00 00    	cmp    $0xff,%edx
41525f:	0f 87 40 4f 03 00    	ja     0x44a1a5
415265:	8b ca                	mov    %edx,%ecx
415267:	b8 01 00 00 00       	mov    $0x1,%eax
41526c:	83 e1 07             	and    $0x7,%ecx
41526f:	c1 ea 03             	shr    $0x3,%edx
415272:	d3 e0                	shl    %cl,%eax
415274:	8b 4d e0             	mov    -0x20(%ebp),%ecx
415277:	84 04 0a             	test   %al,(%edx,%ecx,1)
41527a:	0f 85 04 01 00 00    	jne    0x415384
415280:	83 7d cc 00          	cmpl   $0x0,-0x34(%ebp)
415284:	0f 85 16 fa ff ff    	jne    0x414ca0
41528a:	8b 45 18             	mov    0x18(%ebp),%eax
41528d:	8b d3                	mov    %ebx,%edx
41528f:	8b 7d f8             	mov    -0x8(%ebp),%edi
415292:	40                   	inc    %eax
415293:	50                   	push   %eax
415294:	ff 75 14             	push   0x14(%ebp)
415297:	8b cf                	mov    %edi,%ecx
415299:	56                   	push   %esi
41529a:	ff 75 0c             	push   0xc(%ebp)
41529d:	ff 75 08             	push   0x8(%ebp)
4152a0:	e8 1b f7 ff ff       	call   0x4149c0
4152a5:	83 c4 14             	add    $0x14,%esp
4152a8:	85 c0                	test   %eax,%eax
4152aa:	0f 85 8d f8 ff ff    	jne    0x414b3d
4152b0:	e9 51 93 03 00       	jmp    0x44e606
4152b5:	eb 09                	jmp    0x4152c0
4152b7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4152be:	8b ff                	mov    %edi,%edi
4152c0:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
4152c4:	66 83 3c 43 77       	cmpw   $0x77,(%ebx,%eax,2)
4152c9:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
4152cc:	74 f2                	je     0x4152c0
4152ce:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4152d1:	e9 49 f7 ff ff       	jmp    0x414a1f
4152d6:	8b 45 18             	mov    0x18(%ebp),%eax
4152d9:	83 c3 02             	add    $0x2,%ebx
4152dc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4152df:	40                   	inc    %eax
4152e0:	50                   	push   %eax
4152e1:	ff 75 14             	push   0x14(%ebp)
4152e4:	8b d3                	mov    %ebx,%edx
4152e6:	56                   	push   %esi
4152e7:	ff 75 0c             	push   0xc(%ebp)
4152ea:	ff 75 08             	push   0x8(%ebp)
4152ed:	e8 ce f6 ff ff       	call   0x4149c0
4152f2:	83 c4 14             	add    $0x14,%esp
4152f5:	85 c0                	test   %eax,%eax
4152f7:	0f 85 40 f8 ff ff    	jne    0x414b3d
4152fd:	e9 10 39 03 00       	jmp    0x448c12
415302:	8b 86 b0 00 00 00    	mov    0xb0(%esi),%eax
415308:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41530b:	89 45 ec             	mov    %eax,-0x14(%ebp)
41530e:	8b 86 94 00 00 00    	mov    0x94(%esi),%eax
415314:	89 45 d8             	mov    %eax,-0x28(%ebp)
415317:	8b 45 18             	mov    0x18(%ebp),%eax
41531a:	40                   	inc    %eax
41531b:	50                   	push   %eax
41531c:	ff 75 14             	push   0x14(%ebp)
41531f:	0f b7 03             	movzwl (%ebx),%eax
415322:	56                   	push   %esi
415323:	ff 75 0c             	push   0xc(%ebp)
415326:	0f b6 80 50 57 4a 00 	movzbl 0x4a5750(%eax),%eax
41532d:	ff 75 08             	push   0x8(%ebp)
415330:	8d 14 43             	lea    (%ebx,%eax,2),%edx
415333:	e8 88 f6 ff ff       	call   0x4149c0
415338:	8b d0                	mov    %eax,%edx
41533a:	83 c4 14             	add    $0x14,%esp
41533d:	81 fa 20 fc ff ff    	cmp    $0xfffffc20,%edx
415343:	0f 84 c2 8f 03 00    	je     0x44e30b
415349:	85 d2                	test   %edx,%edx
41534b:	0f 85 35 ab 03 00    	jne    0x44fe86
415351:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
415355:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
415358:	8b 45 ec             	mov    -0x14(%ebp),%eax
41535b:	89 86 b0 00 00 00    	mov    %eax,0xb0(%esi)
415361:	66 83 3b 77          	cmpw   $0x77,(%ebx)
415365:	0f 85 f3 fc ff ff    	jne    0x41505e
41536b:	8b 45 d8             	mov    -0x28(%ebp),%eax
41536e:	89 86 94 00 00 00    	mov    %eax,0x94(%esi)
415374:	e9 cb f7 ff ff       	jmp    0x414b44
415379:	a8 01                	test   $0x1,%al
41537b:	75 40                	jne    0x4153bd
41537d:	33 d2                	xor    %edx,%edx
41537f:	e9 74 fe ff ff       	jmp    0x4151f8
415384:	8b 4d ec             	mov    -0x14(%ebp),%ecx
415387:	8b 45 f8             	mov    -0x8(%ebp),%eax
41538a:	8d 04 48             	lea    (%eax,%ecx,2),%eax
41538d:	89 45 f8             	mov    %eax,-0x8(%ebp)
415390:	8b 45 f0             	mov    -0x10(%ebp),%eax
415393:	40                   	inc    %eax
415394:	89 45 f0             	mov    %eax,-0x10(%ebp)
415397:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
41539a:	0f 8c 90 fe ff ff    	jl     0x415230
4153a0:	e9 db fe ff ff       	jmp    0x415280
4153a5:	83 c3 02             	add    $0x2,%ebx
4153a8:	e9 be 38 03 00       	jmp    0x448c6b
4153ad:	8b 45 f8             	mov    -0x8(%ebp),%eax
4153b0:	e9 ad 3b 03 00       	jmp    0x448f62
4153b5:	8b 7d dc             	mov    -0x24(%ebp),%edi
4153b8:	e9 b2 41 03 00       	jmp    0x44956f
4153bd:	ba 01 00 00 00       	mov    $0x1,%edx
4153c2:	e9 31 fe ff ff       	jmp    0x4151f8
4153c7:	bf 02 00 00 00       	mov    $0x2,%edi
4153cc:	e9 9a fb ff ff       	jmp    0x414f6b
4153d1:	33 c9                	xor    %ecx,%ecx
4153d3:	e9 cc 52 03 00       	jmp    0x44a6a4
4153d8:	33 c0                	xor    %eax,%eax
4153da:	e9 9c fc ff ff       	jmp    0x41507b
4153df:	b8 19 fc ff ff       	mov    $0xfffffc19,%eax
4153e4:	e9 54 f7 ff ff       	jmp    0x414b3d
4153e9:	b8 fb ff ff ff       	mov    $0xfffffffb,%eax
4153ee:	e9 4a f7 ff ff       	jmp    0x414b3d
4153f3:	b8 eb ff ff ff       	mov    $0xffffffeb,%eax
4153f8:	e9 40 f7 ff ff       	jmp    0x414b3d
4153fd:	8d 49 00             	lea    0x0(%ecx),%ecx
415400:	0d 4b 41 00 ad       	or     $0xad00414b,%eax
415405:	53                   	push   %ebx
415406:	41                   	inc    %ecx
415407:	00 0c 90             	add    %cl,(%eax,%edx,4)
41540a:	44                   	inc    %esp
41540b:	00 2b                	add    %ch,(%ebx)
41540d:	90                   	nop
41540e:	44                   	inc    %esp
41540f:	00 d8                	add    %bl,%al
415411:	91                   	xchg   %eax,%ecx
415412:	44                   	inc    %esp
415413:	00 cc                	add    %cl,%ah
415415:	95                   	xchg   %eax,%ebp
415416:	44                   	inc    %esp
415417:	00 33                	add    %dh,(%ebx)
415419:	96                   	xchg   %eax,%esi
41541a:	44                   	inc    %esp
41541b:	00 9a 96 44 00 01    	add    %bl,0x1004496(%edx)
415421:	97                   	xchg   %eax,%edi
415422:	44                   	inc    %esp
415423:	00 68 97             	add    %ch,-0x69(%eax)
415426:	44                   	inc    %esp
415427:	00 cf                	add    %cl,%bh
415429:	97                   	xchg   %eax,%edi
41542a:	44                   	inc    %esp
41542b:	00 cb                	add    %cl,%bl
41542d:	94                   	xchg   %eax,%esp
41542e:	44                   	inc    %esp
41542f:	00 b5 53 41 00 b5    	add    %dh,-0x4affbead(%ebp)
415435:	95                   	xchg   %eax,%ebp
415436:	44                   	inc    %esp
415437:	00 89 4e 41 00 36    	add    %cl,0x3600414e(%ecx)
41543d:	98                   	cwtl
41543e:	44                   	inc    %esp
41543f:	00 16                	add    %dl,(%esi)
415441:	99                   	cltd
415442:	44                   	inc    %esp
415443:	00 eb                	add    %ch,%bl
415445:	99                   	cltd
415446:	44                   	inc    %esp
415447:	00 c0                	add    %al,%al
415449:	9a 44 00 4b 9b 44 00 	lcall  $0x44,$0x9b4b0044
415450:	9e                   	sahf
415451:	4b                   	dec    %ebx
415452:	41                   	inc    %ecx
415453:	00 5d 91             	add    %bl,-0x6f(%ebp)
415456:	44                   	inc    %esp
415457:	00 4f 91             	add    %cl,-0x6f(%edi)
41545a:	44                   	inc    %esp
41545b:	00 3f                	add    %bh,(%edi)
41545d:	91                   	xchg   %eax,%ecx
41545e:	44                   	inc    %esp
41545f:	00 3c 90             	add    %bh,(%eax,%edx,4)
415462:	44                   	inc    %esp
415463:	00 50 8f             	add    %dl,-0x71(%eax)
415466:	44                   	inc    %esp
415467:	00 76 8f             	add    %dh,-0x71(%esi)
41546a:	44                   	inc    %esp
41546b:	00 3c 4f             	add    %bh,(%edi,%ecx,2)
41546e:	41                   	inc    %ecx
41546f:	00 9a 4d 41 00 b8    	add    %bl,-0x47ffbeb3(%edx)
415475:	ab                   	stos   %eax,%es:(%edi)
415476:	44                   	inc    %esp
415477:	00 c8                	add    %cl,%al
415479:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
41547a:	44                   	inc    %esp
41547b:	00 78 a6             	add    %bh,-0x5a(%eax)
41547e:	44                   	inc    %esp
41547f:	00 5a a6             	add    %bl,-0x5a(%edx)
415482:	44                   	inc    %esp
415483:	00 d1                	add    %dl,%cl
415485:	53                   	push   %ebx
415486:	41                   	inc    %ecx
415487:	00 9f a6 44 00 ad    	add    %bl,-0x52ffbb5a(%edi)
41548d:	a6                   	cmpsb  %es:(%edi),%ds:(%esi)
41548e:	44                   	inc    %esp
41548f:	00 71 a6             	add    %dh,-0x5a(%ecx)
415492:	44                   	inc    %esp
415493:	00 85 ad 44 00 1a    	add    %al,0x1a0044ad(%ebp)
415499:	ad                   	lods   %ds:(%esi),%eax
41549a:	44                   	inc    %esp
41549b:	00 05 ad 44 00 41    	add    %al,0x410044ad
4154a1:	ad                   	lods   %ds:(%esi),%eax
4154a2:	44                   	inc    %esp
4154a3:	00 4a ad             	add    %cl,-0x53(%edx)
4154a6:	44                   	inc    %esp
4154a7:	00 5a ad             	add    %bl,-0x53(%edx)
4154aa:	44                   	inc    %esp
4154ab:	00 69 ad             	add    %ch,-0x53(%ecx)
4154ae:	44                   	inc    %esp
4154af:	00 67 50             	add    %ah,0x50(%edi)
4154b2:	41                   	inc    %ecx
4154b3:	00 5f b3             	add    %bl,-0x4d(%edi)
4154b6:	44                   	inc    %esp
4154b7:	00 43 b3             	add    %al,-0x4d(%ebx)
4154ba:	44                   	inc    %esp
4154bb:	00 7e b3             	add    %bh,-0x4d(%esi)
4154be:	44                   	inc    %esp
4154bf:	00 95 b3 44 00 af    	add    %dl,-0x50ffbb4d(%ebp)
4154c5:	b3 44                	mov    $0x44,%bl
4154c7:	00 cd                	add    %cl,%ch
4154c9:	b3 44                	mov    $0x44,%bl
4154cb:	00 a8 4c 41 00 9d    	add    %ch,-0x62ffbeb4(%eax)
4154d1:	a2 44 00 d5 9e       	mov    %al,0x9ed50044
4154d6:	44                   	inc    %esp
4154d7:	00 55 9e             	add    %dl,-0x62(%ebp)
4154da:	44                   	inc    %esp
4154db:	00 77 8a             	add    %dh,-0x76(%edi)
4154de:	44                   	inc    %esp
4154df:	00 99 89 44 00 c0    	add    %bl,-0x3fffbb77(%ecx)
4154e5:	52                   	push   %edx
4154e6:	41                   	inc    %ecx
4154e7:	00 4c 4a 41          	add    %cl,0x41(%edx,%ecx,2)
4154eb:	00 1e                	add    %bl,(%esi)
4154ed:	89 44 00 70          	mov    %eax,0x70(%eax,%eax,1)
4154f1:	87 44 00 4b          	xchg   %eax,0x4b(%eax,%eax,1)
4154f5:	88 44 00 44          	mov    %al,0x44(%eax,%eax,1)
4154f9:	4b                   	dec    %ebx
4154fa:	41                   	inc    %ecx
4154fb:	00 7b 82             	add    %bh,-0x7e(%ebx)
4154fe:	44                   	inc    %esp
4154ff:	00 61 83             	add    %ah,-0x7d(%ecx)
415502:	44                   	inc    %esp
415503:	00 ab 4f 41 00 55    	add    %ch,0x5500414f(%ebx)
415509:	83 44 00 ff 83       	addl   $0xffffff83,-0x1(%eax,%eax,1)
41550e:	44                   	inc    %esp
41550f:	00 d6                	add    %dl,%dh
415511:	52                   	push   %edx
415512:	41                   	inc    %ecx
415513:	00 2b                	add    %ch,(%ebx)
415515:	8c 44 00 84          	mov    %es,-0x7c(%eax,%eax,1)
415519:	8c 44 00 cc          	mov    %es,-0x34(%eax,%eax,1)
41551d:	fe 44 00 8d          	incb   -0x73(%eax,%eax,1)
415521:	ff 44 00 c6          	incl   -0x3a(%eax,%eax,1)
415525:	ff 44 00 33          	incl   0x33(%eax,%eax,1)
415529:	00 45 00             	add    %al,0x0(%ebp)
41552c:	51                   	push   %ecx
41552d:	82 44 00 74 00       	addb   $0x0,0x74(%eax,%eax,1)
415532:	45                   	inc    %ebp
415533:	00 bb 00 45 00 54    	add    %bh,0x54004500(%ebx)
415539:	ff 44 00 5e          	incl   0x5e(%eax,%eax,1)
41553d:	50                   	push   %eax
41553e:	41                   	inc    %ecx
41553f:	00 f0                	add    %dh,%al
415541:	86 44 00 a5          	xchg   %al,-0x5b(%eax,%eax,1)
415545:	53                   	push   %ebx
415546:	41                   	inc    %ecx
415547:	00 e9                	add    %ch,%cl
415549:	53                   	push   %ebx
41554a:	41                   	inc    %ecx
41554b:	00 00                	add    %al,(%eax)
41554d:	01 02                	add    %eax,(%edx)
41554f:	03 04 04             	add    (%esp,%eax,1),%eax
415552:	05 06 07 08 09       	add    $0x9080706,%eax
415557:	0a 0b                	or     (%ebx),%cl