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
6524e6:	42                   	inc    %edx
6524e7:	89 55 e8             	mov    %edx,-0x18(%ebp)
6524ea:	89 45 f4             	mov    %eax,-0xc(%ebp)
6524ed:	8b 55 f4             	mov    -0xc(%ebp),%edx
6524f0:	8b 47 2c             	mov    0x2c(%edi),%eax
6524f3:	ff 57 28             	call   *0x28(%edi)
6524f6:	03 d8                	add    %eax,%ebx
6524f8:	3b 5f 08             	cmp    0x8(%edi),%ebx
6524fb:	7f 47                	jg     0x652544
6524fd:	8b c3                	mov    %ebx,%eax
6524ff:	2b 45 f0             	sub    -0x10(%ebp),%eax
652502:	3b 45 fc             	cmp    -0x4(%ebp),%eax
652505:	7f 33                	jg     0x65253a
652507:	03 45 ec             	add    -0x14(%ebp),%eax
65250a:	3b 45 fc             	cmp    -0x4(%ebp),%eax
65250d:	7c 2b                	jl     0x65253a
65250f:	8b 45 08             	mov    0x8(%ebp),%eax
652512:	8b 40 18             	mov    0x18(%eax),%eax
652515:	8a 55 fb             	mov    -0x5(%ebp),%dl
652518:	88 10                	mov    %dl,(%eax)
65251a:	8b 45 08             	mov    0x8(%ebp),%eax
65251d:	8b 40 10             	mov    0x10(%eax),%eax
652520:	89 18                	mov    %ebx,(%eax)
652522:	2b 5d fc             	sub    -0x4(%ebp),%ebx
652525:	8b 45 08             	mov    0x8(%ebp),%eax
652528:	8b 40 0c             	mov    0xc(%eax),%eax
65252b:	89 18                	mov    %ebx,(%eax)
65252d:	8b 45 08             	mov    0x8(%ebp),%eax
652530:	8b 40 14             	mov    0x14(%eax),%eax
652533:	8b 55 f4             	mov    -0xc(%ebp),%edx
652536:	89 10                	mov    %edx,(%eax)
652538:	eb 51                	jmp    0x65258b
65253a:	03 1f                	add    (%edi),%ebx
65253c:	ff 45 f4             	incl   -0xc(%ebp)
65253f:	ff 4d e8             	decl   -0x18(%ebp)
652542:	75 a9                	jne    0x6524ed
652544:	8b 47 0c             	mov    0xc(%edi),%eax
652547:	3b 47 08             	cmp    0x8(%edi),%eax
65254a:	75 3f                	jne    0x65258b
65254c:	8b d0                	mov    %eax,%edx
65254e:	2b 55 f0             	sub    -0x10(%ebp),%edx
652551:	3b 55 fc             	cmp    -0x4(%ebp),%edx
652554:	7f 35                	jg     0x65258b
652556:	3b 45 fc             	cmp    -0x4(%ebp),%eax
652559:	7c 30                	jl     0x65258b
65255b:	8b 45 08             	mov    0x8(%ebp),%eax
65255e:	8b 40 18             	mov    0x18(%eax),%eax
652561:	8a 55 fb             	mov    -0x5(%ebp),%dl
652564:	88 10                	mov    %dl,(%eax)
652566:	8b 47 0c             	mov    0xc(%edi),%eax
652569:	8b 55 08             	mov    0x8(%ebp),%edx
65256c:	8b 52 10             	mov    0x10(%edx),%edx
65256f:	89 02                	mov    %eax,(%edx)
652571:	8b 47 0c             	mov    0xc(%edi),%eax
652574:	2b 45 fc             	sub    -0x4(%ebp),%eax
652577:	8b 55 08             	mov    0x8(%ebp),%edx
65257a:	8b 52 0c             	mov    0xc(%edx),%edx
65257d:	89 02                	mov    %eax,(%edx)
65257f:	8b 47 10             	mov    0x10(%edi),%eax
652582:	40                   	inc    %eax
652583:	8b 55 08             	mov    0x8(%ebp),%edx
652586:	8b 52 14             	mov    0x14(%edx),%edx
652589:	89 02                	mov    %eax,(%edx)
65258b:	5f                   	pop    %edi
65258c:	5e                   	pop    %esi
65258d:	5b                   	pop    %ebx
65258e:	8b e5                	mov    %ebp,%esp
652590:	5d                   	pop    %ebp
652591:	c3                   	ret
652592:	8b c0                	mov    %eax,%eax
652594:	55                   	push   %ebp
652595:	8b ec                	mov    %esp,%ebp
652597:	56                   	push   %esi
652598:	8b 45 08             	mov    0x8(%ebp),%eax
65259b:	8b 40 fc             	mov    -0x4(%eax),%eax
65259e:	66 be c8 ff          	mov    $0xffc8,%si
6525a2:	e8 cd 16 db ff       	call   0x403c74
6525a7:	84 c0                	test   %al,%al
6525a9:	75 15                	jne    0x6525c0
6525ab:	8b 45 08             	mov    0x8(%ebp),%eax
6525ae:	8b 40 f8             	mov    -0x8(%eax),%eax
6525b1:	8b 55 08             	mov    0x8(%ebp),%edx
6525b4:	8b 52 08             	mov    0x8(%edx),%edx
6525b7:	3b 42 04             	cmp    0x4(%edx),%eax
6525ba:	0f 9f c0             	setg   %al
6525bd:	5e                   	pop    %esi
6525be:	5d                   	pop    %ebp
6525bf:	c3                   	ret
6525c0:	8b 45 08             	mov    0x8(%ebp),%eax
6525c3:	8b 40 fc             	mov    -0x4(%eax),%eax
6525c6:	e8 05 5c df ff       	call   0x4481d0
6525cb:	8b 55 08             	mov    0x8(%ebp),%edx
6525ce:	8b 52 08             	mov    0x8(%edx),%edx
6525d1:	2b 42 04             	sub    0x4(%edx),%eax
6525d4:	8b 55 08             	mov    0x8(%ebp),%edx
6525d7:	3b 42 f8             	cmp    -0x8(%edx),%eax
6525da:	0f 9f c0             	setg   %al
6525dd:	5e                   	pop    %esi
6525de:	5d                   	pop    %ebp
6525df:	c3                   	ret
6525e0:	55                   	push   %ebp
6525e1:	8b ec                	mov    %esp,%ebp
6525e3:	56                   	push   %esi
6525e4:	8b 45 08             	mov    0x8(%ebp),%eax
6525e7:	8b 40 fc             	mov    -0x4(%eax),%eax
6525ea:	66 be c8 ff          	mov    $0xffc8,%si
6525ee:	e8 81 16 db ff       	call   0x403c74
6525f3:	84 c0                	test   %al,%al
6525f5:	75 15                	jne    0x65260c
6525f7:	8b 45 08             	mov    0x8(%ebp),%eax
6525fa:	8b 40 f8             	mov    -0x8(%eax),%eax
6525fd:	8b 55 08             	mov    0x8(%ebp),%edx
652600:	8b 52 08             	mov    0x8(%edx),%edx
652603:	3b 42 04             	cmp    0x4(%edx),%eax
652606:	0f 9d c0             	setge  %al
652609:	5e                   	pop    %esi
65260a:	5d                   	pop    %ebp
65260b:	c3                   	ret
65260c:	8b 45 08             	mov    0x8(%ebp),%eax
65260f:	8b 40 fc             	mov    -0x4(%eax),%eax
652612:	e8 b9 5b df ff       	call   0x4481d0
652617:	8b 55 08             	mov    0x8(%ebp),%edx
65261a:	8b 52 08             	mov    0x8(%edx),%edx
65261d:	2b 42 04             	sub    0x4(%edx),%eax
652620:	8b 55 08             	mov    0x8(%ebp),%edx
652623:	3b 42 f8             	cmp    -0x8(%edx),%eax
652626:	0f 9d c0             	setge  %al
652629:	5e                   	pop    %esi
65262a:	5d                   	pop    %ebp
65262b:	c3                   	ret
65262c:	55                   	push   %ebp
65262d:	8b ec                	mov    %esp,%ebp
65262f:	83 c4 f8             	add    $0xfffffff8,%esp
652632:	53                   	push   %ebx
652633:	56                   	push   %esi
652634:	8b f1                	mov    %ecx,%esi
652636:	89 55 f8             	mov    %edx,-0x8(%ebp)
652639:	89 45 fc             	mov    %eax,-0x4(%ebp)
65263c:	8b 45 18             	mov    0x18(%ebp),%eax
65263f:	c6 00 00             	movb   $0x0,(%eax)
652642:	8b 45 14             	mov    0x14(%ebp),%eax
652645:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
65264b:	8b 45 fc             	mov    -0x4(%ebp),%eax
65264e:	66 8b 98 48 02 00 00 	mov    0x248(%eax),%bx
652655:	8b 45 fc             	mov    -0x4(%ebp),%eax
652658:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
65265c:	74 0f                	je     0x65266d
65265e:	8b 45 fc             	mov    -0x4(%ebp),%eax
652661:	66 8b 80 90 02 00 00 	mov    0x290(%eax),%ax
652668:	66 0b c3             	or     %bx,%ax
65266b:	8b d8                	mov    %eax,%ebx
65266d:	8b c3                	mov    %ebx,%eax
65266f:	66 23 05 f8 26 65 00 	and    0x6526f8,%ax
652676:	66 8b 15 fc 26 65 00 	mov    0x6526fc,%dx
65267d:	66 3b d0             	cmp    %ax,%dx
652680:	74 6e                	je     0x6526f0
652682:	8b 45 fc             	mov    -0x4(%ebp),%eax
652685:	e8 8a 5b df ff       	call   0x448214
65268a:	8b 55 08             	mov    0x8(%ebp),%edx
65268d:	89 42 3c             	mov    %eax,0x3c(%edx)
652690:	8b 45 fc             	mov    -0x4(%ebp),%eax
652693:	e8 38 5b df ff       	call   0x4481d0
652698:	8b 55 08             	mov    0x8(%ebp),%edx
65269b:	89 42 0c             	mov    %eax,0xc(%edx)
65269e:	55                   	push   %ebp
65269f:	e8 f0 fe ff ff       	call   0x652594
6526a4:	59                   	pop    %ecx
6526a5:	84 c0                	test   %al,%al
6526a7:	74 1e                	je     0x6526c7
6526a9:	f6 c3 80             	test   $0x80,%bl
6526ac:	74 19                	je     0x6526c7
6526ae:	8b 45 08             	mov    0x8(%ebp),%eax
6526b1:	3b 70 34             	cmp    0x34(%eax),%esi
6526b4:	7d 3a                	jge    0x6526f0
6526b6:	55                   	push   %ebp