652190:	8b 43 2c             	mov    0x2c(%ebx),%eax
652193:	ff 53 28             	call   *0x28(%ebx)
652196:	03 03                	add    (%ebx),%eax
652198:	01 45 f4             	add    %eax,-0xc(%ebp)
65219b:	8b 45 fc             	mov    -0x4(%ebp),%eax
65219e:	3b 45 f4             	cmp    -0xc(%ebp),%eax
6521a1:	7d 05                	jge    0x6521a8
6521a3:	89 75 f8             	mov    %esi,-0x8(%ebp)
6521a6:	eb 06                	jmp    0x6521ae
6521a8:	46                   	inc    %esi
6521a9:	ff 4d f0             	decl   -0x10(%ebp)
6521ac:	75 e0                	jne    0x65218e
6521ae:	8b 45 f8             	mov    -0x8(%ebp),%eax
6521b1:	5f                   	pop    %edi
6521b2:	5e                   	pop    %esi
6521b3:	5b                   	pop    %ebx
6521b4:	8b e5                	mov    %ebp,%esp
6521b6:	5d                   	pop    %ebp
6521b7:	c3                   	ret
6521b8:	55                   	push   %ebp
6521b9:	8b ec                	mov    %esp,%ebp
6521bb:	83 c4 f4             	add    $0xfffffff4,%esp
6521be:	53                   	push   %ebx
6521bf:	56                   	push   %esi
6521c0:	57                   	push   %edi
6521c1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
6521c4:	89 55 f8             	mov    %edx,-0x8(%ebp)
6521c7:	89 45 fc             	mov    %eax,-0x4(%ebp)
6521ca:	8b 7d 08             	mov    0x8(%ebp),%edi
6521cd:	8b 5d 0c             	mov    0xc(%ebp),%ebx
6521d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
6521d3:	66 be c8 ff          	mov    $0xffc8,%si
6521d7:	e8 98 1a db ff       	call   0x403c74
6521dc:	84 c0                	test   %al,%al
6521de:	75 0e                	jne    0x6521ee
6521e0:	8b c3                	mov    %ebx,%eax
6521e2:	8b 55 f8             	mov    -0x8(%ebp),%edx
6521e5:	e8 e6 fe ff ff       	call   0x6520d0
6521ea:	89 07                	mov    %eax,(%edi)
6521ec:	eb 0e                	jmp    0x6521fc
6521ee:	55                   	push   %ebp
6521ef:	8b c3                	mov    %ebx,%eax
6521f1:	8b 55 f8             	mov    -0x8(%ebp),%edx
6521f4:	e8 3f ff ff ff       	call   0x652138
6521f9:	59                   	pop    %ecx
6521fa:	89 07                	mov    %eax,(%edi)
6521fc:	8d 43 30             	lea    0x30(%ebx),%eax
6521ff:	8b 55 f4             	mov    -0xc(%ebp),%edx
652202:	e8 c9 fe ff ff       	call   0x6520d0
652207:	89 47 04             	mov    %eax,0x4(%edi)
65220a:	5f                   	pop    %edi
65220b:	5e                   	pop    %esi
65220c:	5b                   	pop    %ebx
65220d:	8b e5                	mov    %ebp,%esp
65220f:	5d                   	pop    %ebp
652210:	c2 08 00             	ret    $0x8
652213:	90                   	nop
652214:	53                   	push   %ebx
652215:	56                   	push   %esi
652216:	8b f2                	mov    %edx,%esi
652218:	8b d8                	mov    %eax,%ebx
65221a:	8b c3                	mov    %ebx,%eax
65221c:	e8 f3 5f df ff       	call   0x448214
652221:	50                   	push   %eax
652222:	8b c3                	mov    %ebx,%eax
652224:	e8 a7 5f df ff       	call   0x4481d0
652229:	8b c8                	mov    %eax,%ecx
65222b:	8b d6                	mov    %esi,%edx
65222d:	8b c3                	mov    %ebx,%eax
65222f:	e8 64 00 00 00       	call   0x652298
652234:	5e                   	pop    %esi
652235:	5b                   	pop    %ebx
652236:	c3                   	ret
652237:	90                   	nop
652238:	55                   	push   %ebp
652239:	8b ec                	mov    %esp,%ebp
65223b:	51                   	push   %ecx
65223c:	53                   	push   %ebx
65223d:	56                   	push   %esi
65223e:	8b d8                	mov    %eax,%ebx
652240:	89 53 0c             	mov    %edx,0xc(%ebx)
652243:	8b 43 04             	mov    0x4(%ebx),%eax
652246:	89 43 08             	mov    %eax,0x8(%ebx)
652249:	8b 43 04             	mov    0x4(%ebx),%eax
65224c:	89 43 14             	mov    %eax,0x14(%ebx)
65224f:	8b 43 1c             	mov    0x1c(%ebx),%eax
652252:	89 43 10             	mov    %eax,0x10(%ebx)
652255:	8b 73 1c             	mov    0x1c(%ebx),%esi
652258:	8b 43 20             	mov    0x20(%ebx),%eax
65225b:	48                   	dec    %eax
65225c:	2b c6                	sub    %esi,%eax
65225e:	7c 31                	jl     0x652291
652260:	40                   	inc    %eax
652261:	89 45 fc             	mov    %eax,-0x4(%ebp)
652264:	8b d6                	mov    %esi,%edx
652266:	8b 43 2c             	mov    0x2c(%ebx),%eax
652269:	ff 53 28             	call   *0x28(%ebx)
65226c:	03 03                	add    (%ebx),%eax
65226e:	01 43 08             	add    %eax,0x8(%ebx)
652271:	8b 43 0c             	mov    0xc(%ebx),%eax
652274:	8b d0                	mov    %eax,%edx
652276:	03 13                	add    (%ebx),%edx
652278:	3b 53 08             	cmp    0x8(%ebx),%edx
65227b:	7d 05                	jge    0x652282
65227d:	89 43 08             	mov    %eax,0x8(%ebx)
652280:	eb 0f                	jmp    0x652291
652282:	89 73 10             	mov    %esi,0x10(%ebx)
652285:	8b 43 08             	mov    0x8(%ebx),%eax
652288:	89 43 14             	mov    %eax,0x14(%ebx)
65228b:	46                   	inc    %esi
65228c:	ff 4d fc             	decl   -0x4(%ebp)
65228f:	75 d3                	jne    0x652264
652291:	5e                   	pop    %esi
652292:	5b                   	pop    %ebx
652293:	59                   	pop    %ecx
652294:	5d                   	pop    %ebp
652295:	c3                   	ret
652296:	8b c0                	mov    %eax,%eax
652298:	55                   	push   %ebp
652299:	8b ec                	mov    %esp,%ebp
65229b:	53                   	push   %ebx
65229c:	56                   	push   %esi
65229d:	8b f1                	mov    %ecx,%esi
65229f:	8b da                	mov    %edx,%ebx
6522a1:	8b d3                	mov    %ebx,%edx
6522a3:	e8 ac 00 00 00       	call   0x652354
6522a8:	8b c3                	mov    %ebx,%eax
6522aa:	8b d6                	mov    %esi,%edx
6522ac:	e8 87 ff ff ff       	call   0x652238
6522b1:	8d 43 30             	lea    0x30(%ebx),%eax
6522b4:	8b 55 08             	mov    0x8(%ebp),%edx
6522b7:	e8 7c ff ff ff       	call   0x652238
6522bc:	5e                   	pop    %esi
6522bd:	5b                   	pop    %ebx
6522be:	5d                   	pop    %ebp
6522bf:	c2 04 00             	ret    $0x4
6522c2:	8b c0                	mov    %eax,%eax
6522c4:	55                   	push   %ebp
6522c5:	8b ec                	mov    %esp,%ebp
6522c7:	83 c4 f8             	add    $0xfffffff8,%esp
6522ca:	53                   	push   %ebx
6522cb:	56                   	push   %esi
6522cc:	57                   	push   %edi
6522cd:	89 4d f8             	mov    %ecx,-0x8(%ebp)
6522d0:	66 89 55 fe          	mov    %dx,-0x2(%ebp)
6522d4:	8b d8                	mov    %eax,%ebx
6522d6:	8b 45 18             	mov    0x18(%ebp),%eax
6522d9:	8b 40 fc             	mov    -0x4(%eax),%eax
6522dc:	66 8b 80 48 02 00 00 	mov    0x248(%eax),%ax
6522e3:	66 23 45 fe          	and    -0x2(%ebp),%ax
6522e7:	66 8b 15 50 23 65 00 	mov    0x652350,%dx
6522ee:	66 3b d0             	cmp    %ax,%dx
6522f1:	75 06                	jne    0x6522f9
6522f3:	33 c0                	xor    %eax,%eax
6522f5:	89 03                	mov    %eax,(%ebx)
6522f7:	eb 0e                	jmp    0x652307
6522f9:	8b 45 18             	mov    0x18(%ebp),%eax
6522fc:	8b 40 fc             	mov    -0x4(%eax),%eax
6522ff:	8b 80 44 02 00 00    	mov    0x244(%eax),%eax
652305:	89 03                	mov    %eax,(%ebx)
652307:	33 c0                	xor    %eax,%eax
652309:	89 43 04             	mov    %eax,0x4(%ebx)
65230c:	8b 75 f8             	mov    -0x8(%ebp),%esi
65230f:	4e                   	dec    %esi
652310:	85 f6                	test   %esi,%esi
652312:	7c 14                	jl     0x652328
652314:	46                   	inc    %esi
652315:	33 ff                	xor    %edi,%edi
652317:	8b d7                	mov    %edi,%edx
652319:	8b 45 0c             	mov    0xc(%ebp),%eax
65231c:	ff 55 08             	call   *0x8(%ebp)
65231f:	03 03                	add    (%ebx),%eax
652321:	01 43 04             	add    %eax,0x4(%ebx)
652324:	47                   	inc    %edi
652325:	4e                   	dec    %esi
652326:	75 ef                	jne    0x652317
652328:	8b 45 f8             	mov    -0x8(%ebp),%eax
65232b:	89 43 18             	mov    %eax,0x18(%ebx)
65232e:	8b 45 14             	mov    0x14(%ebp),%eax
652331:	89 43 1c             	mov    %eax,0x1c(%ebx)
652334:	8b 45 10             	mov    0x10(%ebp),%eax
652337:	89 43 20             	mov    %eax,0x20(%ebx)
65233a:	8b 45 08             	mov    0x8(%ebp),%eax
65233d:	89 43 28             	mov    %eax,0x28(%ebx)
652340:	8b 45 0c             	mov    0xc(%ebp),%eax
652343:	89 43 2c             	mov    %eax,0x2c(%ebx)
652346:	5f                   	pop    %edi
652347:	5e                   	pop    %esi
652348:	5b                   	pop    %ebx
652349:	59                   	pop    %ecx
65234a:	59                   	pop    %ecx
65234b:	5d                   	pop    %ebp
65234c:	c2 10 00             	ret    $0x10
65234f:	00 00                	add    %al,(%eax)
652351:	00 00                	add    %al,(%eax)
652353:	00 55 8b             	add    %dl,-0x75(%ebp)
652356:	ec                   	in     (%dx),%al
652357:	51                   	push   %ecx
652358:	53                   	push   %ebx
652359:	8b da                	mov    %edx,%ebx
65235b:	89 45 fc             	mov    %eax,-0x4(%ebp)
65235e:	55                   	push   %ebp
65235f:	8b 45 fc             	mov    -0x4(%ebp),%eax
652362:	8b 80 58 02 00 00    	mov    0x258(%eax),%eax
652368:	50                   	push   %eax
652369:	8b 45 fc             	mov    -0x4(%ebp),%eax
65236c:	8b 80 1c 02 00 00    	mov    0x21c(%eax),%eax
652372:	50                   	push   %eax
652373:	8b 45 fc             	mov    -0x4(%ebp),%eax
652376:	50                   	push   %eax
652377:	68 88 52 65 00       	push   $0x655288
65237c:	8b 45 fc             	mov    -0x4(%ebp),%eax
65237f:	8b 88 38 02 00 00    	mov    0x238(%eax),%ecx
652385:	8b c3                	mov    %ebx,%eax
652387:	66 8b 15 d0 23 65 00 	mov    0x6523d0,%dx
65238e:	e8 31 ff ff ff       	call   0x6522c4
652393:	59                   	pop    %ecx
652394:	55                   	push   %ebp
652395:	8b 45 fc             	mov    -0x4(%ebp),%eax
652398:	8b 80 5c 02 00 00    	mov    0x25c(%eax),%eax
65239e:	50                   	push   %eax
65239f:	8b 45 fc             	mov    -0x4(%ebp),%eax
6523a2:	8b 80 4c 02 00 00    	mov    0x24c(%eax),%eax
6523a8:	50                   	push   %eax
6523a9:	8b 45 fc             	mov    -0x4(%ebp),%eax
6523ac:	50                   	push   %eax
6523ad:	68 a8 52 65 00       	push   $0x6552a8
6523b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
6523b5:	8b 88 3c 02 00 00    	mov    0x23c(%eax),%ecx
6523bb:	8d 43 30             	lea    0x30(%ebx),%eax
6523be:	66 8b 15 d4 23 65 00 	mov    0x6523d4,%dx
6523c5:	e8 fa fe ff ff       	call   0x6522c4
6523ca:	59                   	pop    %ecx
6523cb:	5b                   	pop    %ebx
6523cc:	59                   	pop    %ecx
6523cd:	5d                   	pop    %ebp
6523ce:	c3                   	ret
6523cf:	00 05 00 00 00 0a    	add    %al,0xa000000
6523d5:	00 00                	add    %al,(%eax)
6523d7:	00 55 8b             	add    %dl,-0x75(%ebp)
6523da:	ec                   	in     (%dx),%al
6523db:	83 c4 f0             	add    $0xfffffff0,%esp
6523de:	53                   	push   %ebx
6523df:	56                   	push   %esi
6523e0:	89 55 fc             	mov    %edx,-0x4(%ebp)
6523e3:	8b d8                	mov    %eax,%ebx
6523e5:	8b 45 fc             	mov    -0x4(%ebp),%eax
6523e8:	89 45 f8             	mov    %eax,-0x8(%ebp)
6523eb:	8b 43 0c             	mov    0xc(%ebx),%eax
6523ee:	03 03                	add    (%ebx),%eax
6523f0:	89 45 f4             	mov    %eax,-0xc(%ebp)
6523f3:	8b 75 fc             	mov    -0x4(%ebp),%esi
6523f6:	8b 43 18             	mov    0x18(%ebx),%eax
6523f9:	2b c6                	sub    %esi,%eax
6523fb:	7f 43                	jg     0x652440
6523fd:	48                   	dec    %eax
6523fe:	89 45 f0             	mov    %eax,-0x10(%ebp)
652401:	8b d6                	mov    %esi,%edx
652403:	8b 43 2c             	mov    0x2c(%ebx),%eax
652406:	ff 53 28             	call   *0x28(%ebx)
652409:	85 c0                	test   %eax,%eax
65240b:	7e 2d                	jle    0x65243a
65240d:	29 45 f4             	sub    %eax,-0xc(%ebp)
652410:	8b 03                	mov    (%ebx),%eax
652412:	29 45 f4             	sub    %eax,-0xc(%ebp)
652415:	8b 43 04             	mov    0x4(%ebx),%eax
652418:	3b 45 f4             	cmp    -0xc(%ebp),%eax
65241b:	7e 1a                	jle    0x652437
65241d:	8b 45 f8             	mov    -0x8(%ebp),%eax
652420:	3b 45 fc             	cmp    -0x4(%ebp),%eax
652423:	75 1b                	jne    0x652440
652425:	8b 55 fc             	mov    -0x4(%ebp),%edx
652428:	8b 43 2c             	mov    0x2c(%ebx),%eax
65242b:	ff 53 28             	call   *0x28(%ebx)
65242e:	85 c0                	test   %eax,%eax
652430:	7f 0e                	jg     0x652440
652432:	89 75 f8             	mov    %esi,-0x8(%ebp)
652435:	eb 09                	jmp    0x652440
652437:	89 75 f8             	mov    %esi,-0x8(%ebp)
65243a:	4e                   	dec    %esi
65243b:	ff 45 f0             	incl   -0x10(%ebp)
65243e:	75 c1                	jne    0x652401
652440:	8b 45 f8             	mov    -0x8(%ebp),%eax
652443:	5e                   	pop    %esi
652444:	5b                   	pop    %ebx
652445:	8b e5                	mov    %ebp,%esp
652447:	5d                   	pop    %ebp
652448:	c3                   	ret
652449:	8d 40 00             	lea    0x0(%eax),%eax
65244c:	55                   	push   %ebp
65244d:	8b ec                	mov    %esp,%ebp
65244f:	53                   	push   %ebx
652450:	56                   	push   %esi
652451:	57                   	push   %edi
652452:	8b f1                	mov    %ecx,%esi
652454:	8b da                	mov    %edx,%ebx
652456:	8b 7d 08             	mov    0x8(%ebp),%edi
652459:	8b 13                	mov    (%ebx),%edx
65245b:	8b c6                	mov    %esi,%eax
65245d:	e8 76 ff ff ff       	call   0x6523d8
652462:	89 07                	mov    %eax,(%edi)
652464:	8b 53 04             	mov    0x4(%ebx),%edx
652467:	8d 46 30             	lea    0x30(%esi),%eax
65246a:	e8 69 ff ff ff       	call   0x6523d8
65246f:	89 47 04             	mov    %eax,0x4(%edi)
652472:	5f                   	pop    %edi
652473:	5e                   	pop    %esi
652474:	5b                   	pop    %ebx
652475:	5d                   	pop    %ebp
652476:	c2 04 00             	ret    $0x4
652479:	8d 40 00             	lea    0x0(%eax),%eax
65247c:	55                   	push   %ebp
65247d:	8b ec                	mov    %esp,%ebp
65247f:	83 c4 e8             	add    $0xffffffe8,%esp
652482:	53                   	push   %ebx
652483:	56                   	push   %esi
652484:	57                   	push   %edi
652485:	88 4d fb             	mov    %cl,-0x5(%ebp)
652488:	89 55 fc             	mov    %edx,-0x4(%ebp)
65248b:	8b f8                	mov    %eax,%edi
65248d:	80 7d fb 03          	cmpb   $0x3,-0x5(%ebp)
652491:	75 24                	jne    0x6524b7
652493:	8b 45 08             	mov    0x8(%ebp),%eax
652496:	8b 40 fc             	mov    -0x4(%eax),%eax
652499:	66 be c8 ff          	mov    $0xffc8,%si
65249d:	e8 d2 17 db ff       	call   0x403c74
6524a2:	84 c0                	test   %al,%al
6524a4:	74 11                	je     0x6524b7
6524a6:	8b 45 08             	mov    0x8(%ebp),%eax
6524a9:	8b 40 fc             	mov    -0x4(%eax),%eax
6524ac:	e8 1f 5d df ff       	call   0x4481d0
6524b1:	2b 45 fc             	sub    -0x4(%ebp),%eax
6524b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
6524b7:	8b 5f 04             	mov    0x4(%edi),%ebx
6524ba:	8b 07                	mov    (%edi),%eax
6524bc:	89 45 ec             	mov    %eax,-0x14(%ebp)
6524bf:	33 d2                	xor    %edx,%edx
6524c1:	89 55 f0             	mov    %edx,-0x10(%ebp)
6524c4:	83 7d ec 07          	cmpl   $0x7,-0x14(%ebp)
6524c8:	7d 11                	jge    0x6524db
6524ca:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
6524d1:	8b 55 ec             	mov    -0x14(%ebp),%edx
6524d4:	2b d0                	sub    %eax,%edx
6524d6:	d1 ea                	shr    $1,%edx
6524d8:	89 55 f0             	mov    %edx,-0x10(%ebp)
6524db:	8b 47 1c             	mov    0x1c(%edi),%eax
6524de:	8b 57 20             	mov    0x20(%edi),%edx
6524e1:	4a                   	dec    %edx
6524e2:	2b d0                	sub    %eax,%edx
6524e4:	7c 5e                	jl     0x652544