557fde:	8b 13                	mov    (%ebx),%edx
557fe0:	88 04 16             	mov    %al,(%esi,%edx,1)
557fe3:	8b 45 10             	mov    0x10(%ebp),%eax
557fe6:	50                   	push   %eax
557fe7:	e8 c0 f5 ff ff       	call   0x5575ac
557fec:	59                   	pop    %ecx
557fed:	8b 13                	mov    (%ebx),%edx
557fef:	88 44 16 01          	mov    %al,0x1(%esi,%edx,1)
557ff3:	8b 45 10             	mov    0x10(%ebp),%eax
557ff6:	50                   	push   %eax
557ff7:	e8 b0 f5 ff ff       	call   0x5575ac
557ffc:	59                   	pop    %ecx
557ffd:	8b 13                	mov    (%ebx),%edx
557fff:	88 44 16 02          	mov    %al,0x2(%esi,%edx,1)
558003:	80 7d ff 01          	cmpb   $0x1,-0x1(%ebp)
558007:	75 30                	jne    0x558039
558009:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
55800d:	74 20                	je     0x55802f
55800f:	8b 45 10             	mov    0x10(%ebp),%eax
558012:	50                   	push   %eax
558013:	e8 94 f5 ff ff       	call   0x5575ac
558018:	59                   	pop    %ecx
558019:	8b c8                	mov    %eax,%ecx
55801b:	8b 03                	mov    (%ebx),%eax
55801d:	51                   	push   %ecx
55801e:	b9 03 00 00 00       	mov    $0x3,%ecx
558023:	99                   	cltd
558024:	f7 f9                	idiv   %ecx
558026:	59                   	pop    %ecx
558027:	8b 55 08             	mov    0x8(%ebp),%edx
55802a:	88 0c 02             	mov    %cl,(%edx,%eax,1)
55802d:	eb 0a                	jmp    0x558039
55802f:	8b 45 10             	mov    0x10(%ebp),%eax
558032:	50                   	push   %eax
558033:	e8 74 f5 ff ff       	call   0x5575ac
558038:	59                   	pop    %ecx
558039:	83 03 03             	addl   $0x3,(%ebx)
55803c:	4f                   	dec    %edi
55803d:	75 95                	jne    0x557fd4
55803f:	5f                   	pop    %edi
558040:	5e                   	pop    %esi
558041:	5b                   	pop    %ebx
558042:	59                   	pop    %ecx
558043:	5d                   	pop    %ebp
558044:	c2 08 00             	ret    $0x8
558047:	90                   	nop
558048:	55                   	push   %ebp
558049:	8b ec                	mov    %esp,%ebp
55804b:	53                   	push   %ebx
55804c:	56                   	push   %esi
55804d:	57                   	push   %edi
55804e:	8b 45 08             	mov    0x8(%ebp),%eax
558051:	8b 40 08             	mov    0x8(%eax),%eax
558054:	8b 58 fc             	mov    -0x4(%eax),%ebx
558057:	33 f6                	xor    %esi,%esi
558059:	8b 45 08             	mov    0x8(%ebp),%eax
55805c:	8b 40 08             	mov    0x8(%eax),%eax
55805f:	0f b7 78 da          	movzwl -0x26(%eax),%edi
558063:	4f                   	dec    %edi
558064:	85 ff                	test   %edi,%edi
558066:	0f 8c 92 00 00 00    	jl     0x5580fe
55806c:	47                   	inc    %edi
55806d:	8b 45 08             	mov    0x8(%ebp),%eax
558070:	8b 40 08             	mov    0x8(%eax),%eax
558073:	50                   	push   %eax
558074:	e8 33 f5 ff ff       	call   0x5575ac
558079:	59                   	pop    %ecx
55807a:	8b 55 08             	mov    0x8(%ebp),%edx
55807d:	88 42 f3             	mov    %al,-0xd(%edx)
558080:	8b 55 08             	mov    0x8(%ebp),%edx
558083:	0f b6 52 f3          	movzbl -0xd(%edx),%edx
558087:	8d 14 52             	lea    (%edx,%edx,2),%edx
55808a:	8a 94 13 00 20 00 00 	mov    0x2000(%ebx,%edx,1),%dl
558091:	8b 83 04 24 00 00    	mov    0x2404(%ebx),%eax
558097:	88 14 30             	mov    %dl,(%eax,%esi,1)
55809a:	8b 55 08             	mov    0x8(%ebp),%edx
55809d:	0f b6 52 f3          	movzbl -0xd(%edx),%edx
5580a1:	8d 14 52             	lea    (%edx,%edx,2),%edx
5580a4:	8a 94 13 01 20 00 00 	mov    0x2001(%ebx,%edx,1),%dl
5580ab:	88 54 30 01          	mov    %dl,0x1(%eax,%esi,1)
5580af:	8b 55 08             	mov    0x8(%ebp),%edx
5580b2:	0f b6 52 f3          	movzbl -0xd(%edx),%edx
5580b6:	8d 14 52             	lea    (%edx,%edx,2),%edx
5580b9:	8a 94 13 02 20 00 00 	mov    0x2002(%ebx,%edx,1),%dl
5580c0:	88 54 30 02          	mov    %dl,0x2(%eax,%esi,1)
5580c4:	8b 8b 0c 24 00 00    	mov    0x240c(%ebx),%ecx
5580ca:	85 c9                	test   %ecx,%ecx
5580cc:	74 26                	je     0x5580f4
5580ce:	80 bb 00 24 00 00 00 	cmpb   $0x0,0x2400(%ebx)
5580d5:	74 1d                	je     0x5580f4
5580d7:	8b c6                	mov    %esi,%eax
5580d9:	51                   	push   %ecx
5580da:	b9 03 00 00 00       	mov    $0x3,%ecx
5580df:	99                   	cltd
5580e0:	f7 f9                	idiv   %ecx
5580e2:	59                   	pop    %ecx
5580e3:	8b 55 08             	mov    0x8(%ebp),%edx
5580e6:	0f b6 52 f3          	movzbl -0xd(%edx),%edx
5580ea:	8a 94 13 00 23 00 00 	mov    0x2300(%ebx,%edx,1),%dl
5580f1:	88 14 01             	mov    %dl,(%ecx,%eax,1)
5580f4:	83 c6 03             	add    $0x3,%esi
5580f7:	4f                   	dec    %edi
5580f8:	0f 85 6f ff ff ff    	jne    0x55806d
5580fe:	5f                   	pop    %edi
5580ff:	5e                   	pop    %esi
558100:	5b                   	pop    %ebx
558101:	5d                   	pop    %ebp
558102:	c3                   	ret
558103:	90                   	nop
558104:	55                   	push   %ebp
558105:	8b ec                	mov    %esp,%ebp
558107:	53                   	push   %ebx
558108:	56                   	push   %esi
558109:	57                   	push   %edi
55810a:	8b 7d 08             	mov    0x8(%ebp),%edi
55810d:	83 c7 f3             	add    $0xfffffff3,%edi
558110:	8b 45 08             	mov    0x8(%ebp),%eax
558113:	8b 40 08             	mov    0x8(%eax),%eax
558116:	8b 58 fc             	mov    -0x4(%eax),%ebx
558119:	8b 45 08             	mov    0x8(%ebp),%eax
55811c:	8b 70 fc             	mov    -0x4(%eax),%esi
55811f:	4e                   	dec    %esi
558120:	85 f6                	test   %esi,%esi
558122:	0f 8c a8 00 00 00    	jl     0x5581d0
558128:	46                   	inc    %esi
558129:	8b 45 08             	mov    0x8(%ebp),%eax
55812c:	8b 40 08             	mov    0x8(%eax),%eax
55812f:	50                   	push   %eax
558130:	e8 77 f4 ff ff       	call   0x5575ac
558135:	59                   	pop    %ecx
558136:	88 07                	mov    %al,(%edi)
558138:	8b 45 08             	mov    0x8(%ebp),%eax
55813b:	8b 40 f4             	mov    -0xc(%eax),%eax
55813e:	8b 93 04 24 00 00    	mov    0x2404(%ebx),%edx
558144:	33 c9                	xor    %ecx,%ecx
558146:	8a 0f                	mov    (%edi),%cl
558148:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
55814b:	8a 8c 0b 00 20 00 00 	mov    0x2000(%ebx,%ecx,1),%cl
558152:	88 0c 02             	mov    %cl,(%edx,%eax,1)
558155:	8b 45 08             	mov    0x8(%ebp),%eax
558158:	8b 40 f4             	mov    -0xc(%eax),%eax
55815b:	8b 93 04 24 00 00    	mov    0x2404(%ebx),%edx
558161:	33 c9                	xor    %ecx,%ecx
558163:	8a 0f                	mov    (%edi),%cl
558165:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
558168:	8a 8c 0b 01 20 00 00 	mov    0x2001(%ebx,%ecx,1),%cl
55816f:	88 4c 02 01          	mov    %cl,0x1(%edx,%eax,1)
558173:	8b 45 08             	mov    0x8(%ebp),%eax
558176:	8b 40 f4             	mov    -0xc(%eax),%eax
558179:	8b 93 04 24 00 00    	mov    0x2404(%ebx),%edx
55817f:	33 c9                	xor    %ecx,%ecx
558181:	8a 0f                	mov    (%edi),%cl
558183:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
558186:	8a 8c 0b 02 20 00 00 	mov    0x2002(%ebx,%ecx,1),%cl
55818d:	88 4c 02 02          	mov    %cl,0x2(%edx,%eax,1)
558191:	8b 8b 0c 24 00 00    	mov    0x240c(%ebx),%ecx
558197:	85 c9                	test   %ecx,%ecx
558199:	74 27                	je     0x5581c2
55819b:	80 bb 00 24 00 00 00 	cmpb   $0x0,0x2400(%ebx)
5581a2:	74 1e                	je     0x5581c2
5581a4:	8b 45 08             	mov    0x8(%ebp),%eax
5581a7:	8b 40 f4             	mov    -0xc(%eax),%eax
5581aa:	51                   	push   %ecx
5581ab:	b9 03 00 00 00       	mov    $0x3,%ecx
5581b0:	99                   	cltd
5581b1:	f7 f9                	idiv   %ecx
5581b3:	59                   	pop    %ecx
5581b4:	33 d2                	xor    %edx,%edx
5581b6:	8a 17                	mov    (%edi),%dl
5581b8:	8a 94 13 00 23 00 00 	mov    0x2300(%ebx,%edx,1),%dl
5581bf:	88 14 01             	mov    %dl,(%ecx,%eax,1)
5581c2:	8b 45 08             	mov    0x8(%ebp),%eax
5581c5:	83 40 f4 03          	addl   $0x3,-0xc(%eax)
5581c9:	4e                   	dec    %esi
5581ca:	0f 85 59 ff ff ff    	jne    0x558129
5581d0:	5f                   	pop    %edi
5581d1:	5e                   	pop    %esi
5581d2:	5b                   	pop    %ebx
5581d3:	5d                   	pop    %ebp
5581d4:	c3                   	ret
5581d5:	8d 40 00             	lea    0x0(%eax),%eax
5581d8:	55                   	push   %ebp
5581d9:	8b ec                	mov    %esp,%ebp
5581db:	51                   	push   %ecx
5581dc:	53                   	push   %ebx
5581dd:	56                   	push   %esi
5581de:	57                   	push   %edi
5581df:	8b d8                	mov    %eax,%ebx
5581e1:	8b 75 08             	mov    0x8(%ebp),%esi
5581e4:	83 c6 f4             	add    $0xfffffff4,%esi
5581e7:	8b 45 08             	mov    0x8(%ebp),%eax
5581ea:	8b 40 08             	mov    0x8(%eax),%eax
5581ed:	8b 48 fc             	mov    -0x4(%eax),%ecx
5581f0:	33 c0                	xor    %eax,%eax
5581f2:	8a c3                	mov    %bl,%al
5581f4:	8d 04 40             	lea    (%eax,%eax,2),%eax
5581f7:	8a 94 01 02 20 00 00 	mov    0x2002(%ecx,%eax,1),%dl
5581fe:	88 55 ff             	mov    %dl,-0x1(%ebp)
558201:	8a 94 01 01 20 00 00 	mov    0x2001(%ecx,%eax,1),%dl
558208:	88 55 fe             	mov    %dl,-0x2(%ebp)
55820b:	8a 84 01 00 20 00 00 	mov    0x2000(%ecx,%eax,1),%al
558212:	88 45 fd             	mov    %al,-0x3(%ebp)
558215:	8b 45 08             	mov    0x8(%ebp),%eax
558218:	8b 78 fc             	mov    -0x4(%eax),%edi
55821b:	4f                   	dec    %edi
55821c:	85 ff                	test   %edi,%edi
55821e:	7c 6e                	jl     0x55828e
558220:	47                   	inc    %edi
558221:	8b 06                	mov    (%esi),%eax
558223:	8b 91 04 24 00 00    	mov    0x2404(%ecx),%edx
558229:	03 d0                	add    %eax,%edx
55822b:	8a 45 fd             	mov    -0x3(%ebp),%al
55822e:	88 02                	mov    %al,(%edx)
558230:	8b 06                	mov    (%esi),%eax
558232:	8b 91 04 24 00 00    	mov    0x2404(%ecx),%edx
558238:	8d 54 02 01          	lea    0x1(%edx,%eax,1),%edx
55823c:	8a 45 fe             	mov    -0x2(%ebp),%al
55823f:	88 02                	mov    %al,(%edx)
558241:	8b 06                	mov    (%esi),%eax
558243:	8b 91 04 24 00 00    	mov    0x2404(%ecx),%edx
558249:	8d 54 02 02          	lea    0x2(%edx,%eax,1),%edx
55824d:	8a 45 ff             	mov    -0x1(%ebp),%al
558250:	88 02                	mov    %al,(%edx)
558252:	83 b9 0c 24 00 00 00 	cmpl   $0x0,0x240c(%ecx)
558259:	74 2d                	je     0x558288
55825b:	80 b9 00 24 00 00 00 	cmpb   $0x0,0x2400(%ecx)
558262:	74 24                	je     0x558288
558264:	8b 06                	mov    (%esi),%eax
558266:	51                   	push   %ecx
558267:	b9 03 00 00 00       	mov    $0x3,%ecx
55826c:	99                   	cltd
55826d:	f7 f9                	idiv   %ecx
55826f:	59                   	pop    %ecx
558270:	8b 91 0c 24 00 00    	mov    0x240c(%ecx),%edx
558276:	8d 04 02             	lea    (%edx,%eax,1),%eax
558279:	50                   	push   %eax
55827a:	33 c0                	xor    %eax,%eax
55827c:	8a c3                	mov    %bl,%al
55827e:	8a 84 01 00 23 00 00 	mov    0x2300(%ecx,%eax,1),%al
558285:	5a                   	pop    %edx
558286:	88 02                	mov    %al,(%edx)
558288:	83 06 03             	addl   $0x3,(%esi)
55828b:	4f                   	dec    %edi
55828c:	75 93                	jne    0x558221
55828e:	5f                   	pop    %edi
55828f:	5e                   	pop    %esi
558290:	5b                   	pop    %ebx
558291:	59                   	pop    %ecx
558292:	5d                   	pop    %ebp
558293:	c3                   	ret
558294:	55                   	push   %ebp
558295:	8b ec                	mov    %esp,%ebp
558297:	53                   	push   %ebx
558298:	56                   	push   %esi
558299:	8b 4d 08             	mov    0x8(%ebp),%ecx
55829c:	83 c1 f4             	add    $0xfffffff4,%ecx
55829f:	8b 45 08             	mov    0x8(%ebp),%eax
5582a2:	8b 40 08             	mov    0x8(%eax),%eax
5582a5:	8b 40 fc             	mov    -0x4(%eax),%eax
5582a8:	8b 55 08             	mov    0x8(%ebp),%edx
5582ab:	8b 52 fc             	mov    -0x4(%edx),%edx
5582ae:	4a                   	dec    %edx
5582af:	85 d2                	test   %edx,%edx
5582b1:	7c 41                	jl     0x5582f4
5582b3:	42                   	inc    %edx
5582b4:	8b 19                	mov    (%ecx),%ebx
5582b6:	8b b0 04 24 00 00    	mov    0x2404(%eax),%esi
5582bc:	03 f3                	add    %ebx,%esi
5582be:	8b 5d 08             	mov    0x8(%ebp),%ebx
5582c1:	8a 5b f9             	mov    -0x7(%ebx),%bl
5582c4:	88 1e                	mov    %bl,(%esi)
5582c6:	8b 19                	mov    (%ecx),%ebx
5582c8:	8b b0 04 24 00 00    	mov    0x2404(%eax),%esi
5582ce:	8d 74 1e 01          	lea    0x1(%esi,%ebx,1),%esi
5582d2:	8b 5d 08             	mov    0x8(%ebp),%ebx
5582d5:	8a 5b fa             	mov    -0x6(%ebx),%bl
5582d8:	88 1e                	mov    %bl,(%esi)
5582da:	8b 19                	mov    (%ecx),%ebx
5582dc:	8b b0 04 24 00 00    	mov    0x2404(%eax),%esi
5582e2:	8d 74 1e 02          	lea    0x2(%esi,%ebx,1),%esi
5582e6:	8b 5d 08             	mov    0x8(%ebp),%ebx
5582e9:	8a 5b fb             	mov    -0x5(%ebx),%bl
5582ec:	88 1e                	mov    %bl,(%esi)
5582ee:	83 01 03             	addl   $0x3,(%ecx)
5582f1:	4a                   	dec    %edx
5582f2:	75 c0                	jne    0x5582b4
5582f4:	5e                   	pop    %esi
5582f5:	5b                   	pop    %ebx
5582f6:	5d                   	pop    %ebp
5582f7:	c3                   	ret
5582f8:	55                   	push   %ebp
5582f9:	8b ec                	mov    %esp,%ebp
5582fb:	83 c4 ec             	add    $0xffffffec,%esp
5582fe:	53                   	push   %ebx
5582ff:	56                   	push   %esi
558300:	57                   	push   %edi
558301:	8b 45 08             	mov    0x8(%ebp),%eax
558304:	8b 58 fc             	mov    -0x4(%eax),%ebx
558307:	8b 45 08             	mov    0x8(%ebp),%eax
55830a:	66 83 78 de 01       	cmpw   $0x1,-0x22(%eax)
55830f:	75 0f                	jne    0x558320
558311:	8b 45 08             	mov    0x8(%ebp),%eax
558314:	0f b7 78 da          	movzwl -0x26(%eax),%edi
558318:	83 c7 07             	add    $0x7,%edi
55831b:	c1 ef 03             	shr    $0x3,%edi
55831e:	eb 07                	jmp    0x558327
558320:	8b 45 08             	mov    0x8(%ebp),%eax
558323:	0f b7 78 da          	movzwl -0x26(%eax),%edi
558327:	8b 45 08             	mov    0x8(%ebp),%eax
55832a:	8a 40 e8             	mov    -0x18(%eax),%al
55832d:	48                   	dec    %eax
55832e:	2c 03                	sub    $0x3,%al
558330:	0f 83 d2 00 00 00    	jae    0x558408
558336:	8b 45 08             	mov    0x8(%ebp),%eax
558339:	0f bf 40 de          	movswl -0x22(%eax),%eax
55833d:	83 f8 10             	cmp    $0x10,%eax
558340:	7f 0f                	jg     0x558351
558342:	74 44                	je     0x558388
558344:	48                   	dec    %eax
558345:	74 19                	je     0x558360
558347:	83 e8 07             	sub    $0x7,%eax
55834a:	74 30                	je     0x55837c
55834c:	e9 c1 02 00 00       	jmp    0x558612
558351:	83 e8 18             	sub    $0x18,%eax
558354:	74 56                	je     0x5583ac
558356:	83 e8 08             	sub    $0x8,%eax
558359:	74 7f                	je     0x5583da
55835b:	e9 b2 02 00 00       	jmp    0x558612
558360:	8b 45 08             	mov    0x8(%ebp),%eax
558363:	50                   	push   %eax
558364:	8b 45 08             	mov    0x8(%ebp),%eax
558367:	66 8b 50 dc          	mov    -0x24(%eax),%dx
55836b:	8b 83 04 24 00 00    	mov    0x2404(%ebx),%eax
558371:	e8 9e f1 ff ff       	call   0x557514
558376:	59                   	pop    %ecx
558377:	e9 96 02 00 00       	jmp    0x558612
55837c:	55                   	push   %ebp
55837d:	e8 c6 fc ff ff       	call   0x558048
558382:	59                   	pop    %ecx
558383:	e9 8a 02 00 00       	jmp    0x558612
558388:	33 c0                	xor    %eax,%eax
55838a:	89 45 f4             	mov    %eax,-0xc(%ebp)
55838d:	8b 45 08             	mov    0x8(%ebp),%eax
558390:	50                   	push   %eax
558391:	8b 45 08             	mov    0x8(%ebp),%eax
558394:	66 8b 48 da          	mov    -0x26(%eax),%cx
558398:	8b 93 04 24 00 00    	mov    0x2404(%ebx),%edx
55839e:	8d 45 f4             	lea    -0xc(%ebp),%eax
5583a1:	e8 a6 fb ff ff       	call   0x557f4c
5583a6:	59                   	pop    %ecx