51323c:	00 00 00
51323f:	66 89 85 28 01 00 00 	mov    %ax,0x128(%ebp)
513246:	33 db                	xor    %ebx,%ebx
513248:	89 45 ec             	mov    %eax,-0x14(%ebp)
51324b:	33 ff                	xor    %edi,%edi
51324d:	89 5d f0             	mov    %ebx,-0x10(%ebp)
513250:	89 5d d8             	mov    %ebx,-0x28(%ebp)
513253:	89 7d dc             	mov    %edi,-0x24(%ebp)
513256:	89 45 e0             	mov    %eax,-0x20(%ebp)
513259:	8b 4d e8             	mov    -0x18(%ebp),%ecx
51325c:	8d 95 10 01 00 00    	lea    0x110(%ebp),%edx
513262:	52                   	push   %edx
513263:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
513267:	8b 01                	mov    (%ecx),%eax
513269:	8b 40 0c             	mov    0xc(%eax),%eax
51326c:	ff d0                	call   *%eax
51326e:	84 c0                	test   %al,%al
513270:	0f 84 ae 02 00 00    	je     0x513524
513276:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
51327d:	00 00 00
513280:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
513283:	8d 45 00             	lea    0x0(%ebp),%eax
513286:	c7 45 00 f8 1c bd 00 	movl   $0xbd1cf8,0x0(%ebp)
51328d:	8d 75 04             	lea    0x4(%ebp),%esi
513290:	89 b5 08 01 00 00    	mov    %esi,0x108(%ebp)
513296:	c7 85 0c 01 00 00 04 	movl   $0x104,0x10c(%ebp)
51329d:	01 00 00
5132a0:	3b c1                	cmp    %ecx,%eax
5132a2:	74 70                	je     0x513314
5132a4:	8b 81 0c 01 00 00    	mov    0x10c(%ecx),%eax
5132aa:	89 45 f0             	mov    %eax,-0x10(%ebp)
5132ad:	3d 04 01 00 00       	cmp    $0x104,%eax
5132b2:	76 45                	jbe    0x5132f9
5132b4:	50                   	push   %eax
5132b5:	e8 dd 24 f2 ff       	call   0x435797
5132ba:	ff b5 0c 01 00 00    	push   0x10c(%ebp)
5132c0:	8b f0                	mov    %eax,%esi
5132c2:	ff b5 08 01 00 00    	push   0x108(%ebp)
5132c8:	56                   	push   %esi
5132c9:	e8 b4 13 f0 ff       	call   0x414682
5132ce:	8b 85 08 01 00 00    	mov    0x108(%ebp),%eax
5132d4:	8d 4d 04             	lea    0x4(%ebp),%ecx
5132d7:	83 c4 10             	add    $0x10,%esp
5132da:	3b c1                	cmp    %ecx,%eax
5132dc:	74 09                	je     0x5132e7
5132de:	50                   	push   %eax
5132df:	e8 2e b3 f2 ff       	call   0x43e612
5132e4:	83 c4 04             	add    $0x4,%esp
5132e7:	8b 45 f0             	mov    -0x10(%ebp),%eax
5132ea:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
5132ed:	89 b5 08 01 00 00    	mov    %esi,0x108(%ebp)
5132f3:	89 85 0c 01 00 00    	mov    %eax,0x10c(%ebp)
5132f9:	ff b1 0c 01 00 00    	push   0x10c(%ecx)
5132ff:	ff b1 08 01 00 00    	push   0x108(%ecx)
513305:	56                   	push   %esi
513306:	e8 77 13 f0 ff       	call   0x414682
51330b:	8b b5 08 01 00 00    	mov    0x108(%ebp),%esi
513311:	83 c4 0c             	add    $0xc,%esp
513314:	c7 45 00 04 1d bd 00 	movl   $0xbd1d04,0x0(%ebp)
51331b:	83 bd 24 01 00 00 10 	cmpl   $0x10,0x124(%ebp)
513322:	8d 85 10 01 00 00    	lea    0x110(%ebp),%eax
513328:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
51332c:	0f 43 85 10 01 00 00 	cmovae 0x110(%ebp),%eax
513333:	80 3e 00             	cmpb   $0x0,(%esi)
513336:	89 45 f0             	mov    %eax,-0x10(%ebp)
513339:	74 0b                	je     0x513346
51333b:	8d 4d 00             	lea    0x0(%ebp),%ecx
51333e:	e8 a2 eb f0 ff       	call   0x421ee5
513343:	8b 45 f0             	mov    -0x10(%ebp),%eax
513346:	50                   	push   %eax
513347:	8d 4d 00             	lea    0x0(%ebp),%ecx
51334a:	e8 76 f6 f1 ff       	call   0x4329c5
51334f:	8d 45 00             	lea    0x0(%ebp),%eax
513352:	3b c7                	cmp    %edi,%eax
513354:	0f 83 da 00 00 00    	jae    0x513434
51335a:	3b d8                	cmp    %eax,%ebx
51335c:	0f 87 d2 00 00 00    	ja     0x513434
513362:	8b c8                	mov    %eax,%ecx
513364:	b8 79 78 78 78       	mov    $0x78787879,%eax
513369:	2b cb                	sub    %ebx,%ecx
51336b:	f7 e9                	imul   %ecx
51336d:	c1 fa 07             	sar    $0x7,%edx
513370:	8b f2                	mov    %edx,%esi
513372:	c1 ee 1f             	shr    $0x1f,%esi
513375:	03 f2                	add    %edx,%esi
513377:	3b 7d ec             	cmp    -0x14(%ebp),%edi
51337a:	75 16                	jne    0x513392
51337c:	6a 01                	push   $0x1
51337e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
513381:	e8 f7 db ef ff       	call   0x410f7d
513386:	8b 45 e0             	mov    -0x20(%ebp),%eax
513389:	8b 7d dc             	mov    -0x24(%ebp),%edi
51338c:	8b 5d d8             	mov    -0x28(%ebp),%ebx
51338f:	89 45 ec             	mov    %eax,-0x14(%ebp)
513392:	69 f6 10 01 00 00    	imul   $0x110,%esi,%esi
513398:	89 7d f0             	mov    %edi,-0x10(%ebp)
51339b:	89 7d c4             	mov    %edi,-0x3c(%ebp)
51339e:	03 f3                	add    %ebx,%esi
5133a0:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
5133a4:	85 ff                	test   %edi,%edi
5133a6:	0f 84 47 01 00 00    	je     0x5134f3
5133ac:	c7 07 f8 1c bd 00    	movl   $0xbd1cf8,(%edi)
5133b2:	8d 47 04             	lea    0x4(%edi),%eax
5133b5:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
5133bb:	c7 87 0c 01 00 00 04 	movl   $0x104,0x10c(%edi)
5133c2:	01 00 00
5133c5:	3b fe                	cmp    %esi,%edi
5133c7:	0f 84 20 01 00 00    	je     0x5134ed
5133cd:	8b 86 0c 01 00 00    	mov    0x10c(%esi),%eax
5133d3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
5133d6:	3d 04 01 00 00       	cmp    $0x104,%eax
5133db:	76 46                	jbe    0x513423
5133dd:	50                   	push   %eax
5133de:	e8 b4 23 f2 ff       	call   0x435797
5133e3:	ff b7 0c 01 00 00    	push   0x10c(%edi)
5133e9:	89 45 f0             	mov    %eax,-0x10(%ebp)
5133ec:	ff b7 08 01 00 00    	push   0x108(%edi)
5133f2:	50                   	push   %eax
5133f3:	e8 8a 12 f0 ff       	call   0x414682
5133f8:	8b 97 08 01 00 00    	mov    0x108(%edi),%edx
5133fe:	8d 4f 04             	lea    0x4(%edi),%ecx
513401:	83 c4 10             	add    $0x10,%esp
513404:	3b d1                	cmp    %ecx,%edx
513406:	74 09                	je     0x513411
513408:	52                   	push   %edx
513409:	e8 04 b2 f2 ff       	call   0x43e612
51340e:	83 c4 04             	add    $0x4,%esp
513411:	8b 45 f0             	mov    -0x10(%ebp),%eax
513414:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
51341a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
51341d:	89 87 0c 01 00 00    	mov    %eax,0x10c(%edi)
513423:	ff b6 0c 01 00 00    	push   0x10c(%esi)
513429:	ff b6 08 01 00 00    	push   0x108(%esi)
51342f:	e9 ab 00 00 00       	jmp    0x5134df
513434:	3b 7d ec             	cmp    -0x14(%ebp),%edi
513437:	75 16                	jne    0x51344f
513439:	6a 01                	push   $0x1
51343b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
51343e:	e8 3a db ef ff       	call   0x410f7d
513443:	8b 45 e0             	mov    -0x20(%ebp),%eax
513446:	8b 7d dc             	mov    -0x24(%ebp),%edi
513449:	8b 5d d8             	mov    -0x28(%ebp),%ebx
51344c:	89 45 ec             	mov    %eax,-0x14(%ebp)
51344f:	89 7d c4             	mov    %edi,-0x3c(%ebp)
513452:	89 7d e4             	mov    %edi,-0x1c(%ebp)
513455:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
513459:	85 ff                	test   %edi,%edi
51345b:	0f 84 92 00 00 00    	je     0x5134f3
513461:	8d 47 04             	lea    0x4(%edi),%eax
513464:	c7 07 f8 1c bd 00    	movl   $0xbd1cf8,(%edi)
51346a:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
513470:	8d 45 00             	lea    0x0(%ebp),%eax
513473:	c7 87 0c 01 00 00 04 	movl   $0x104,0x10c(%edi)
51347a:	01 00 00
51347d:	3b f8                	cmp    %eax,%edi
51347f:	74 6c                	je     0x5134ed
513481:	8b b5 0c 01 00 00    	mov    0x10c(%ebp),%esi
513487:	81 fe 04 01 00 00    	cmp    $0x104,%esi
51348d:	76 49                	jbe    0x5134d8
51348f:	56                   	push   %esi
513490:	e8 02 23 f2 ff       	call   0x435797
513495:	ff b7 0c 01 00 00    	push   0x10c(%edi)
51349b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
51349e:	ff b7 08 01 00 00    	push   0x108(%edi)
5134a4:	50                   	push   %eax
5134a5:	e8 d8 11 f0 ff       	call   0x414682
5134aa:	8b 97 08 01 00 00    	mov    0x108(%edi),%edx
5134b0:	8d 4f 04             	lea    0x4(%edi),%ecx
5134b3:	83 c4 10             	add    $0x10,%esp
5134b6:	3b d1                	cmp    %ecx,%edx
5134b8:	74 09                	je     0x5134c3
5134ba:	52                   	push   %edx
5134bb:	e8 52 b1 f2 ff       	call   0x43e612
5134c0:	83 c4 04             	add    $0x4,%esp
5134c3:	8b 45 e4             	mov    -0x1c(%ebp),%eax
5134c6:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
5134cc:	89 b7 0c 01 00 00    	mov    %esi,0x10c(%edi)
5134d2:	8b b5 0c 01 00 00    	mov    0x10c(%ebp),%esi
5134d8:	56                   	push   %esi
5134d9:	ff b5 08 01 00 00    	push   0x108(%ebp)
5134df:	ff b7 08 01 00 00    	push   0x108(%edi)
5134e5:	e8 98 11 f0 ff       	call   0x414682
5134ea:	83 c4 0c             	add    $0xc,%esp
5134ed:	c7 07 04 1d bd 00    	movl   $0xbd1d04,(%edi)
5134f3:	81 c7 10 01 00 00    	add    $0x110,%edi
5134f9:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
5134fd:	8d 4d 00             	lea    0x0(%ebp),%ecx
513500:	89 7d dc             	mov    %edi,-0x24(%ebp)
513503:	e8 f0 af ef ff       	call   0x40e4f8
513508:	8b 4d e8             	mov    -0x18(%ebp),%ecx
51350b:	8d 95 10 01 00 00    	lea    0x110(%ebp),%edx
513511:	52                   	push   %edx
513512:	8b 01                	mov    (%ecx),%eax
513514:	8b 40 0c             	mov    0xc(%eax),%eax
513517:	ff d0                	call   *%eax
513519:	84 c0                	test   %al,%al
51351b:	0f 85 5f fd ff ff    	jne    0x513280
513521:	89 5d f0             	mov    %ebx,-0x10(%ebp)
513524:	8b 4d e8             	mov    -0x18(%ebp),%ecx
513527:	8b 01                	mov    (%ecx),%eax
513529:	ff 50 04             	call   *0x4(%eax)
51352c:	8b f3                	mov    %ebx,%esi
51352e:	3b df                	cmp    %edi,%ebx
513530:	74 35                	je     0x513567
513532:	8b 5d c8             	mov    -0x38(%ebp),%ebx
513535:	8b 83 08 01 00 00    	mov    0x108(%ebx),%eax
51353b:	80 38 00             	cmpb   $0x0,(%eax)
51353e:	74 0d                	je     0x51354d
513540:	ff 75 d0             	push   -0x30(%ebp)
513543:	8b 4d cc             	mov    -0x34(%ebp),%ecx
513546:	53                   	push   %ebx
513547:	56                   	push   %esi
513548:	e8 0e dc f1 ff       	call   0x43115b
51354d:	ff 75 d0             	push   -0x30(%ebp)
513550:	8b 4d cc             	mov    -0x34(%ebp),%ecx
513553:	53                   	push   %ebx
513554:	56                   	push   %esi
513555:	e8 d1 a3 f0 ff       	call   0x41d92b
51355a:	81 c6 10 01 00 00    	add    $0x110,%esi
513560:	3b f7                	cmp    %edi,%esi
513562:	75 d1                	jne    0x513535
513564:	8b 5d f0             	mov    -0x10(%ebp),%ebx
513567:	85 db                	test   %ebx,%ebx
513569:	74 7e                	je     0x5135e9
51356b:	8b f3                	mov    %ebx,%esi
51356d:	3b df                	cmp    %edi,%ebx
51356f:	74 12                	je     0x513583
513571:	8b 06                	mov    (%esi),%eax
513573:	8b ce                	mov    %esi,%ecx
513575:	6a 00                	push   $0x0
513577:	ff 10                	call   *(%eax)
513579:	81 c6 10 01 00 00    	add    $0x110,%esi
51357f:	3b f7                	cmp    %edi,%esi
513581:	75 ee                	jne    0x513571
513583:	8b 4d ec             	mov    -0x14(%ebp),%ecx
513586:	b8 79 78 78 78       	mov    $0x78787879,%eax
51358b:	2b cb                	sub    %ebx,%ecx
51358d:	f7 e9                	imul   %ecx
51358f:	c1 fa 07             	sar    $0x7,%edx
513592:	8b c2                	mov    %edx,%eax
513594:	c1 e8 1f             	shr    $0x1f,%eax
513597:	03 c2                	add    %edx,%eax
513599:	3d f0 f0 f0 00       	cmp    $0xf0f0f0,%eax
51359e:	76 05                	jbe    0x5135a5
5135a0:	e8 e8 a3 f2 ff       	call   0x43d98d
5135a5:	69 c0 10 01 00 00    	imul   $0x110,%eax,%eax
5135ab:	3d 00 10 00 00       	cmp    $0x1000,%eax
5135b0:	72 2e                	jb     0x5135e0
5135b2:	f6 c3 1f             	test   $0x1f,%bl
5135b5:	74 05                	je     0x5135bc
5135b7:	e8 d1 a3 f2 ff       	call   0x43d98d
5135bc:	8b 43 fc             	mov    -0x4(%ebx),%eax
5135bf:	3b c3                	cmp    %ebx,%eax
5135c1:	72 05                	jb     0x5135c8
5135c3:	e8 c5 a3 f2 ff       	call   0x43d98d
5135c8:	2b d8                	sub    %eax,%ebx
5135ca:	83 fb 04             	cmp    $0x4,%ebx
5135cd:	73 05                	jae    0x5135d4
5135cf:	e8 b9 a3 f2 ff       	call   0x43d98d
5135d4:	83 fb 23             	cmp    $0x23,%ebx
5135d7:	76 05                	jbe    0x5135de
5135d9:	e8 af a3 f2 ff       	call   0x43d98d
5135de:	8b d8                	mov    %eax,%ebx
5135e0:	53                   	push   %ebx
5135e1:	e8 a9 e1 ee ff       	call   0x40178f
5135e6:	83 c4 04             	add    $0x4,%esp
5135e9:	8b 85 3c 01 00 00    	mov    0x13c(%ebp),%eax
5135ef:	83 f8 08             	cmp    $0x8,%eax
5135f2:	72 57                	jb     0x51364b
5135f4:	8b 8d 28 01 00 00    	mov    0x128(%ebp),%ecx
5135fa:	40                   	inc    %eax
5135fb:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
513600:	76 05                	jbe    0x513607
513602:	e8 86 a3 f2 ff       	call   0x43d98d
513607:	03 c0                	add    %eax,%eax
513609:	3d 00 10 00 00       	cmp    $0x1000,%eax
51360e:	72 32                	jb     0x513642
513610:	f6 85 28 01 00 00 1f 	testb  $0x1f,0x128(%ebp)
513617:	74 05                	je     0x51361e
513619:	e8 6f a3 f2 ff       	call   0x43d98d
51361e:	8b 41 fc             	mov    -0x4(%ecx),%eax
513621:	3b c1                	cmp    %ecx,%eax
513623:	72 05                	jb     0x51362a
513625:	e8 63 a3 f2 ff       	call   0x43d98d
51362a:	2b c8                	sub    %eax,%ecx
51362c:	83 f9 04             	cmp    $0x4,%ecx
51362f:	73 05                	jae    0x513636
513631:	e8 57 a3 f2 ff       	call   0x43d98d
513636:	83 f9 23             	cmp    $0x23,%ecx
513639:	76 05                	jbe    0x513640
51363b:	e8 4d a3 f2 ff       	call   0x43d98d
513640:	8b c8                	mov    %eax,%ecx
513642:	51                   	push   %ecx
513643:	e8 47 e1 ee ff       	call   0x40178f
513648:	83 c4 04             	add    $0x4,%esp
51364b:	33 c0                	xor    %eax,%eax
51364d:	c7 85 3c 01 00 00 07 	movl   $0x7,0x13c(%ebp)
513654:	00 00 00
513657:	66 89 85 28 01 00 00 	mov    %ax,0x128(%ebp)
51365e:	8b 85 24 01 00 00    	mov    0x124(%ebp),%eax
513664:	c7 85 38 01 00 00 00 	movl   $0x0,0x138(%ebp)
51366b:	00 00 00
51366e:	83 f8 10             	cmp    $0x10,%eax
513671:	72 45                	jb     0x5136b8
513673:	8b 8d 10 01 00 00    	mov    0x110(%ebp),%ecx
513679:	40                   	inc    %eax
51367a:	3d 00 10 00 00       	cmp    $0x1000,%eax
51367f:	72 2e                	jb     0x5136af
513681:	f6 c1 1f             	test   $0x1f,%cl
513684:	74 05                	je     0x51368b
513686:	e8 02 a3 f2 ff       	call   0x43d98d
51368b:	8b 41 fc             	mov    -0x4(%ecx),%eax
51368e:	3b c1                	cmp    %ecx,%eax
513690:	72 05                	jb     0x513697
513692:	e8 f6 a2 f2 ff       	call   0x43d98d
513697:	2b c8                	sub    %eax,%ecx
513699:	83 f9 04             	cmp    $0x4,%ecx
51369c:	73 05                	jae    0x5136a3
51369e:	e8 ea a2 f2 ff       	call   0x43d98d
5136a3:	83 f9 23             	cmp    $0x23,%ecx
5136a6:	76 05                	jbe    0x5136ad
5136a8:	e8 e0 a2 f2 ff       	call   0x43d98d
5136ad:	8b c8                	mov    %eax,%ecx
5136af:	51                   	push   %ecx
5136b0:	e8 da e0 ee ff       	call   0x40178f
5136b5:	83 c4 04             	add    $0x4,%esp
5136b8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
5136bb:	c7 85 24 01 00 00 0f 	movl   $0xf,0x124(%ebp)
5136c2:	00 00 00
5136c5:	c7 85 20 01 00 00 00 	movl   $0x0,0x120(%ebp)
5136cc:	00 00 00
5136cf:	c6 85 10 01 00 00 00 	movb   $0x0,0x110(%ebp)
5136d6:	85 c9                	test   %ecx,%ecx
5136d8:	74 06                	je     0x5136e0
5136da:	8b 01                	mov    (%ecx),%eax
5136dc:	6a 01                	push   $0x1
5136de:	ff 10                	call   *(%eax)
5136e0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5136e3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5136ea:	59                   	pop    %ecx
5136eb:	5f                   	pop    %edi
5136ec:	5e                   	pop    %esi
5136ed:	5b                   	pop    %ebx
5136ee:	8b 8d 44 01 00 00    	mov    0x144(%ebp),%ecx
5136f4:	33 cd                	xor    %ebp,%ecx
5136f6:	e8 bb 80 f0 ff       	call   0x41b7b6
5136fb:	8d a5 48 01 00 00    	lea    0x148(%ebp),%esp
513701:	5d                   	pop    %ebp
513702:	c2 0c 00             	ret    $0xc
513705:	cc                   	int3