551037:	89 86 48 01 00 00    	mov    %eax,0x148(%esi)
55103d:	57                   	push   %edi
55103e:	8b 55 fc             	mov    -0x4(%ebp),%edx
551041:	52                   	push   %edx
551042:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
551045:	51                   	push   %ecx
551046:	e8 95 53 fd ff       	call   0x5263e0
55104b:	83 c4 0c             	add    $0xc,%esp
55104e:	81 8b b8 00 00 00 00 	orl    $0x2000,0xb8(%ebx)
551055:	20 00 00
551058:	8b 45 08             	mov    0x8(%ebp),%eax
55105b:	85 c0                	test   %eax,%eax
55105d:	74 1b                	je     0x55107a
55105f:	6a 0a                	push   $0xa
551061:	8b 55 08             	mov    0x8(%ebp),%edx
551064:	52                   	push   %edx
551065:	8d 4b 50             	lea    0x50(%ebx),%ecx
551068:	51                   	push   %ecx
551069:	e8 72 53 fd ff       	call   0x5263e0
55106e:	83 c4 0c             	add    $0xc,%esp
551071:	85 ff                	test   %edi,%edi
551073:	75 05                	jne    0x55107a
551075:	bf 01 00 00 00       	mov    $0x1,%edi
55107a:	66 89 7b 16          	mov    %di,0x16(%ebx)
55107e:	83 4b 08 10          	orl    $0x10,0x8(%ebx)
551082:	5f                   	pop    %edi
551083:	5e                   	pop    %esi
551084:	5b                   	pop    %ebx
551085:	59                   	pop    %ecx
551086:	5d                   	pop    %ebp
551087:	c2 08 00             	ret    $0x8
55108a:	90                   	nop
55108b:	90                   	nop
55108c:	55                   	push   %ebp
55108d:	8b ec                	mov    %esp,%ebp
55108f:	83 c4 f0             	add    $0xfffffff0,%esp
551092:	53                   	push   %ebx
551093:	56                   	push   %esi
551094:	57                   	push   %edi
551095:	89 4d f4             	mov    %ecx,-0xc(%ebp)
551098:	89 55 f8             	mov    %edx,-0x8(%ebp)
55109b:	89 45 fc             	mov    %eax,-0x4(%ebp)
55109e:	8b 45 f8             	mov    -0x8(%ebp),%eax
5510a1:	8b 4d 08             	mov    0x8(%ebp),%ecx
5510a4:	8b 90 d8 00 00 00    	mov    0xd8(%eax),%edx
5510aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
5510ad:	03 d1                	add    %ecx,%edx
5510af:	c1 e2 04             	shl    $0x4,%edx
5510b2:	e8 e5 0a 00 00       	call   0x551b9c
5510b7:	89 45 f0             	mov    %eax,-0x10(%ebp)
5510ba:	8b 55 f0             	mov    -0x10(%ebp),%edx
5510bd:	85 d2                	test   %edx,%edx
5510bf:	75 12                	jne    0x5510d3
5510c1:	ba 47 c4 69 00       	mov    $0x69c447,%edx
5510c6:	8b 45 fc             	mov    -0x4(%ebp),%eax
5510c9:	e8 1a 0c 00 00       	call   0x551ce8
5510ce:	e9 16 01 00 00       	jmp    0x5511e9
5510d3:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5510d6:	8b 81 d8 00 00 00    	mov    0xd8(%ecx),%eax
5510dc:	c1 e0 04             	shl    $0x4,%eax
5510df:	50                   	push   %eax
5510e0:	8b 55 f8             	mov    -0x8(%ebp),%edx
5510e3:	8b 8a d4 00 00 00    	mov    0xd4(%edx),%ecx
5510e9:	51                   	push   %ecx
5510ea:	8b 45 f0             	mov    -0x10(%ebp),%eax
5510ed:	50                   	push   %eax
5510ee:	e8 ed 52 fd ff       	call   0x5263e0
5510f3:	83 c4 0c             	add    $0xc,%esp
5510f6:	8b 55 f8             	mov    -0x8(%ebp),%edx
5510f9:	8b 92 d4 00 00 00    	mov    0xd4(%edx),%edx
5510ff:	8b 45 fc             	mov    -0x4(%ebp),%eax
551102:	e8 61 0a 00 00       	call   0x551b68
551107:	8b 4d f8             	mov    -0x8(%ebp),%ecx
55110a:	33 c0                	xor    %eax,%eax
55110c:	89 81 d4 00 00 00    	mov    %eax,0xd4(%ecx)
551112:	33 ff                	xor    %edi,%edi
551114:	8b 45 08             	mov    0x8(%ebp),%eax
551117:	3b f8                	cmp    %eax,%edi
551119:	0f 8d 9e 00 00 00    	jge    0x5511bd
55111f:	8b 55 f8             	mov    -0x8(%ebp),%edx
551122:	8b c7                	mov    %edi,%eax
551124:	c1 e0 04             	shl    $0x4,%eax
551127:	8b d8                	mov    %eax,%ebx
551129:	8b b2 d8 00 00 00    	mov    0xd8(%edx),%esi
55112f:	c1 e6 04             	shl    $0x4,%esi
551132:	8b 55 f0             	mov    -0x10(%ebp),%edx
551135:	03 f2                	add    %edx,%esi
551137:	03 f0                	add    %eax,%esi
551139:	8b 45 f4             	mov    -0xc(%ebp),%eax
55113c:	03 d8                	add    %eax,%ebx
55113e:	8b 13                	mov    (%ebx),%edx
551140:	52                   	push   %edx
551141:	e8 ea 53 fd ff       	call   0x526530
551146:	59                   	pop    %ecx
551147:	8b d0                	mov    %eax,%edx
551149:	42                   	inc    %edx
55114a:	8b 45 fc             	mov    -0x4(%ebp),%eax
55114d:	e8 a2 09 00 00       	call   0x551af4
551152:	89 06                	mov    %eax,(%esi)
551154:	8b 03                	mov    (%ebx),%eax
551156:	8b 0e                	mov    (%esi),%ecx
551158:	56                   	push   %esi
551159:	57                   	push   %edi
55115a:	8b f8                	mov    %eax,%edi
55115c:	33 c0                	xor    %eax,%eax
55115e:	8b f1                	mov    %ecx,%esi
551160:	83 c9 ff             	or     $0xffffffff,%ecx
551163:	f2 ae                	repnz scas %es:(%edi),%al
551165:	f7 d1                	not    %ecx
551167:	2b f9                	sub    %ecx,%edi
551169:	8b d1                	mov    %ecx,%edx
55116b:	87 f7                	xchg   %esi,%edi
55116d:	c1 e9 02             	shr    $0x2,%ecx
551170:	8b c7                	mov    %edi,%eax
551172:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
551174:	8b ca                	mov    %edx,%ecx
551176:	83 e1 03             	and    $0x3,%ecx
551179:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
55117b:	8b 53 0c             	mov    0xc(%ebx),%edx
55117e:	5f                   	pop    %edi
55117f:	c1 e2 04             	shl    $0x4,%edx
551182:	5e                   	pop    %esi
551183:	8b 45 fc             	mov    -0x4(%ebp),%eax
551186:	e8 69 09 00 00       	call   0x551af4
55118b:	89 46 08             	mov    %eax,0x8(%esi)
55118e:	8b 4b 0c             	mov    0xc(%ebx),%ecx
551191:	c1 e1 04             	shl    $0x4,%ecx
551194:	51                   	push   %ecx
551195:	8b 43 08             	mov    0x8(%ebx),%eax
551198:	50                   	push   %eax
551199:	8b 56 08             	mov    0x8(%esi),%edx
55119c:	52                   	push   %edx
55119d:	e8 3e 52 fd ff       	call   0x5263e0
5511a2:	83 c4 0c             	add    $0xc,%esp
5511a5:	8b 4b 0c             	mov    0xc(%ebx),%ecx
5511a8:	89 4e 0c             	mov    %ecx,0xc(%esi)
5511ab:	8a 43 04             	mov    0x4(%ebx),%al
5511ae:	88 46 04             	mov    %al,0x4(%esi)
5511b1:	47                   	inc    %edi
5511b2:	8b 55 08             	mov    0x8(%ebp),%edx
5511b5:	3b fa                	cmp    %edx,%edi
5511b7:	0f 8c 62 ff ff ff    	jl     0x55111f
5511bd:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5511c0:	8b 45 f0             	mov    -0x10(%ebp),%eax
5511c3:	89 81 d4 00 00 00    	mov    %eax,0xd4(%ecx)
5511c9:	8b 55 f8             	mov    -0x8(%ebp),%edx
5511cc:	8b 4d 08             	mov    0x8(%ebp),%ecx
5511cf:	01 8a d8 00 00 00    	add    %ecx,0xd8(%edx)
5511d5:	8b 45 f8             	mov    -0x8(%ebp),%eax
5511d8:	81 48 08 00 20 00 00 	orl    $0x2000,0x8(%eax)
5511df:	8b 55 f8             	mov    -0x8(%ebp),%edx
5511e2:	83 8a b8 00 00 00 20 	orl    $0x20,0xb8(%edx)
5511e9:	5f                   	pop    %edi
5511ea:	5e                   	pop    %esi
5511eb:	5b                   	pop    %ebx
5511ec:	8b e5                	mov    %ebp,%esp
5511ee:	5d                   	pop    %ebp
5511ef:	c2 04 00             	ret    $0x4
5511f2:	90                   	nop
5511f3:	90                   	nop
5511f4:	55                   	push   %ebp
5511f5:	8b ec                	mov    %esp,%ebp
5511f7:	83 c4 f0             	add    $0xfffffff0,%esp
5511fa:	53                   	push   %ebx
5511fb:	56                   	push   %esi
5511fc:	57                   	push   %edi
5511fd:	89 4d f4             	mov    %ecx,-0xc(%ebp)
551200:	89 55 f8             	mov    %edx,-0x8(%ebp)
551203:	89 45 fc             	mov    %eax,-0x4(%ebp)
551206:	8b 45 fc             	mov    -0x4(%ebp),%eax
551209:	85 c0                	test   %eax,%eax
55120b:	0f 84 62 01 00 00    	je     0x551373
551211:	8b 55 f8             	mov    -0x8(%ebp),%edx
551214:	85 d2                	test   %edx,%edx
551216:	0f 84 57 01 00 00    	je     0x551373
55121c:	8b 4d 08             	mov    0x8(%ebp),%ecx
55121f:	85 c9                	test   %ecx,%ecx
551221:	0f 84 4c 01 00 00    	je     0x551373
551227:	8b 45 f8             	mov    -0x8(%ebp),%eax
55122a:	8b 4d 08             	mov    0x8(%ebp),%ecx
55122d:	8b 90 c0 00 00 00    	mov    0xc0(%eax),%edx
551233:	8b 45 fc             	mov    -0x4(%ebp),%eax
551236:	03 d1                	add    %ecx,%edx
551238:	c1 e2 02             	shl    $0x2,%edx
55123b:	8d 14 92             	lea    (%edx,%edx,4),%edx
55123e:	e8 59 09 00 00       	call   0x551b9c
551243:	89 45 f0             	mov    %eax,-0x10(%ebp)
551246:	8b 4d f0             	mov    -0x10(%ebp),%ecx
551249:	85 c9                	test   %ecx,%ecx
55124b:	75 12                	jne    0x55125f
55124d:	ba 64 c4 69 00       	mov    $0x69c464,%edx
551252:	8b 45 fc             	mov    -0x4(%ebp),%eax
551255:	e8 8e 0a 00 00       	call   0x551ce8
55125a:	e9 14 01 00 00       	jmp    0x551373
55125f:	8b 4d f8             	mov    -0x8(%ebp),%ecx
551262:	8b 81 c0 00 00 00    	mov    0xc0(%ecx),%eax
551268:	c1 e0 02             	shl    $0x2,%eax
55126b:	8d 04 80             	lea    (%eax,%eax,4),%eax
55126e:	50                   	push   %eax
55126f:	8b 55 f8             	mov    -0x8(%ebp),%edx
551272:	8b 8a bc 00 00 00    	mov    0xbc(%edx),%ecx
551278:	51                   	push   %ecx
551279:	8b 45 f0             	mov    -0x10(%ebp),%eax
55127c:	50                   	push   %eax
55127d:	e8 5e 51 fd ff       	call   0x5263e0
551282:	83 c4 0c             	add    $0xc,%esp
551285:	8b 55 f8             	mov    -0x8(%ebp),%edx
551288:	8b 92 bc 00 00 00    	mov    0xbc(%edx),%edx
55128e:	8b 45 fc             	mov    -0x4(%ebp),%eax
551291:	e8 d2 08 00 00       	call   0x551b68
551296:	8b 4d f8             	mov    -0x8(%ebp),%ecx
551299:	33 c0                	xor    %eax,%eax
55129b:	89 81 bc 00 00 00    	mov    %eax,0xbc(%ecx)
5512a1:	33 ff                	xor    %edi,%edi
5512a3:	8b 45 08             	mov    0x8(%ebp),%eax
5512a6:	3b f8                	cmp    %eax,%edi
5512a8:	0f 8d a0 00 00 00    	jge    0x55134e
5512ae:	8b 55 f8             	mov    -0x8(%ebp),%edx
5512b1:	8b c7                	mov    %edi,%eax
5512b3:	c1 e0 02             	shl    $0x2,%eax
5512b6:	8b 9a c0 00 00 00    	mov    0xc0(%edx),%ebx
5512bc:	c1 e3 02             	shl    $0x2,%ebx
5512bf:	8b 55 f0             	mov    -0x10(%ebp),%edx
5512c2:	8d 04 80             	lea    (%eax,%eax,4),%eax
5512c5:	8b f0                	mov    %eax,%esi
5512c7:	8d 1c 9b             	lea    (%ebx,%ebx,4),%ebx
5512ca:	03 da                	add    %edx,%ebx
5512cc:	03 d8                	add    %eax,%ebx
5512ce:	8b 45 f4             	mov    -0xc(%ebp),%eax
5512d1:	03 f0                	add    %eax,%esi
5512d3:	33 c0                	xor    %eax,%eax
5512d5:	56                   	push   %esi
5512d6:	57                   	push   %edi
5512d7:	8b fe                	mov    %esi,%edi
5512d9:	83 c9 ff             	or     $0xffffffff,%ecx
5512dc:	f2 ae                	repnz scas %es:(%edi),%al
5512de:	f7 d1                	not    %ecx
5512e0:	2b f9                	sub    %ecx,%edi
5512e2:	8b f3                	mov    %ebx,%esi
5512e4:	87 f7                	xchg   %esi,%edi
5512e6:	8b d1                	mov    %ecx,%edx
5512e8:	8b c7                	mov    %edi,%eax
5512ea:	c1 e9 02             	shr    $0x2,%ecx
5512ed:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
5512ef:	8b ca                	mov    %edx,%ecx
5512f1:	83 e1 03             	and    $0x3,%ecx
5512f4:	f3 a4                	rep movsb %ds:(%esi),%es:(%edi)
5512f6:	5f                   	pop    %edi
5512f7:	5e                   	pop    %esi
5512f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
5512fb:	8b 56 0c             	mov    0xc(%esi),%edx
5512fe:	e8 f1 07 00 00       	call   0x551af4
551303:	89 43 08             	mov    %eax,0x8(%ebx)
551306:	8b 4b 08             	mov    0x8(%ebx),%ecx
551309:	85 c9                	test   %ecx,%ecx
55130b:	75 0f                	jne    0x55131c
55130d:	ba 92 c4 69 00       	mov    $0x69c492,%edx
551312:	8b 45 fc             	mov    -0x4(%ebp),%eax
551315:	e8 ce 09 00 00       	call   0x551ce8
55131a:	eb 26                	jmp    0x551342
55131c:	8b 4e 0c             	mov    0xc(%esi),%ecx
55131f:	51                   	push   %ecx
551320:	8b 46 08             	mov    0x8(%esi),%eax
551323:	50                   	push   %eax
551324:	8b 53 08             	mov    0x8(%ebx),%edx
551327:	52                   	push   %edx
551328:	e8 b3 50 fd ff       	call   0x5263e0
55132d:	83 c4 0c             	add    $0xc,%esp
551330:	8b 4e 0c             	mov    0xc(%esi),%ecx
551333:	89 4b 0c             	mov    %ecx,0xc(%ebx)
551336:	8b 45 fc             	mov    -0x4(%ebp),%eax
551339:	8a 50 28             	mov    0x28(%eax),%dl
55133c:	80 e2 ff             	and    $0xff,%dl
55133f:	88 53 10             	mov    %dl,0x10(%ebx)
551342:	47                   	inc    %edi
551343:	8b 4d 08             	mov    0x8(%ebp),%ecx
551346:	3b f9                	cmp    %ecx,%edi
551348:	0f 8c 60 ff ff ff    	jl     0x5512ae
55134e:	8b 45 f8             	mov    -0x8(%ebp),%eax
551351:	8b 55 f0             	mov    -0x10(%ebp),%edx
551354:	89 90 bc 00 00 00    	mov    %edx,0xbc(%eax)
55135a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
55135d:	8b 45 08             	mov    0x8(%ebp),%eax
551360:	01 81 c0 00 00 00    	add    %eax,0xc0(%ecx)
551366:	8b 55 f8             	mov    -0x8(%ebp),%edx
551369:	81 8a b8 00 00 00 00 	orl    $0x200,0xb8(%edx)
551370:	02 00 00
551373:	5f                   	pop    %edi
551374:	5e                   	pop    %esi
551375:	5b                   	pop    %ebx
551376:	8b e5                	mov    %ebp,%esp
551378:	5d                   	pop    %ebp
551379:	c2 04 00             	ret    $0x4
55137c:	55                   	push   %ebp
55137d:	8b ec                	mov    %esp,%ebp
55137f:	85 c0                	test   %eax,%eax
551381:	74 22                	je     0x5513a5
551383:	85 d2                	test   %edx,%edx
551385:	74 1e                	je     0x5513a5
551387:	85 c9                	test   %ecx,%ecx
551389:	7c 1a                	jl     0x5513a5
55138b:	8b 82 c0 00 00 00    	mov    0xc0(%edx),%eax
551391:	3b c8                	cmp    %eax,%ecx
551393:	7d 10                	jge    0x5513a5
551395:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
551398:	8b 92 bc 00 00 00    	mov    0xbc(%edx),%edx
55139e:	8a 45 08             	mov    0x8(%ebp),%al
5513a1:	88 44 8a 10          	mov    %al,0x10(%edx,%ecx,4)
5513a5:	5d                   	pop    %ebp
5513a6:	c2 04 00             	ret    $0x4
5513a9:	90                   	nop
5513aa:	90                   	nop
5513ab:	90                   	nop
5513ac:	85 c0                	test   %eax,%eax
5513ae:	74 18                	je     0x5513c8
5513b0:	8a 88 ec 01 00 00    	mov    0x1ec(%eax),%cl
5513b6:	80 e1 fe             	and    $0xfe,%cl
5513b9:	80 e2 01             	and    $0x1,%dl
5513bc:	0a ca                	or     %dl,%cl
5513be:	33 d2                	xor    %edx,%edx
5513c0:	8a d1                	mov    %cl,%dl
5513c2:	89 90 ec 01 00 00    	mov    %edx,0x1ec(%eax)
5513c8:	c3                   	ret
5513c9:	90                   	nop
5513ca:	90                   	nop
5513cb:	90                   	nop
5513cc:	85 c0                	test   %eax,%eax
5513ce:	75 03                	jne    0x5513d3
5513d0:	33 c0                	xor    %eax,%eax
5513d2:	c3                   	ret
5513d3:	8b ca                	mov    %edx,%ecx
5513d5:	80 e1 05             	and    $0x5,%cl
5513d8:	81 e1 ff 00 00 00    	and    $0xff,%ecx
5513de:	89 88 ec 01 00 00    	mov    %ecx,0x1ec(%eax)
5513e4:	8b c1                	mov    %ecx,%eax
5513e6:	c3                   	ret
5513e7:	90                   	nop
5513e8:	55                   	push   %ebp
5513e9:	8b ec                	mov    %esp,%ebp
5513eb:	83 c4 f4             	add    $0xfffffff4,%esp
5513ee:	53                   	push   %ebx
5513ef:	56                   	push   %esi
5513f0:	57                   	push   %edi
5513f1:	8b f9                	mov    %ecx,%edi
5513f3:	89 55 fc             	mov    %edx,-0x4(%ebp)
5513f6:	8b d8                	mov    %eax,%ebx
5513f8:	8b 75 08             	mov    0x8(%ebp),%esi
5513fb:	85 f6                	test   %esi,%esi
5513fd:	75 40                	jne    0x55143f
5513ff:	8b 45 fc             	mov    -0x4(%ebp),%eax