69730c:	5f                   	pop    %edi
69730d:	8d 46 0c             	lea    0xc(%esi),%eax
697310:	5e                   	pop    %esi
697311:	c2 04 00             	ret    $0x4
697314:	6a 68                	push   $0x68
697316:	6a 00                	push   $0x0
697318:	56                   	push   %esi
697319:	e8 9a d4 d7 ff       	call   0x4147b8
69731e:	83 c4 0c             	add    $0xc,%esp
697321:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
697328:	89 37                	mov    %esi,(%edi)
69732a:	33 c0                	xor    %eax,%eax
69732c:	5f                   	pop    %edi
69732d:	5e                   	pop    %esi
69732e:	c2 04 00             	ret    $0x4
697331:	cc                   	int3
697332:	cc                   	int3
697333:	cc                   	int3
697334:	cc                   	int3
697335:	cc                   	int3
697336:	cc                   	int3
697337:	cc                   	int3
697338:	cc                   	int3
697339:	cc                   	int3
69733a:	cc                   	int3
69733b:	cc                   	int3
69733c:	cc                   	int3
69733d:	cc                   	int3
69733e:	cc                   	int3
69733f:	cc                   	int3
697340:	cc                   	int3
697341:	cc                   	int3
697342:	cc                   	int3
697343:	cc                   	int3
697344:	cc                   	int3
697345:	cc                   	int3
697346:	cc                   	int3
697347:	cc                   	int3
697348:	cc                   	int3
697349:	cc                   	int3
69734a:	cc                   	int3
69734b:	cc                   	int3
69734c:	cc                   	int3
69734d:	cc                   	int3
69734e:	cc                   	int3
69734f:	cc                   	int3
697350:	53                   	push   %ebx
697351:	8b 5c 24 08          	mov    0x8(%esp),%ebx
697355:	56                   	push   %esi
697356:	57                   	push   %edi
697357:	bf 14 00 00 00       	mov    $0x14,%edi
69735c:	8d 73 14             	lea    0x14(%ebx),%esi
69735f:	90                   	nop
697360:	8b 06                	mov    (%esi),%eax
697362:	85 c0                	test   %eax,%eax
697364:	74 13                	je     0x697379
697366:	8b 08                	mov    (%eax),%ecx
697368:	50                   	push   %eax
697369:	89 0e                	mov    %ecx,(%esi)
69736b:	e8 62 e5 d9 ff       	call   0x4358d2
697370:	8b 06                	mov    (%esi),%eax
697372:	83 c4 04             	add    $0x4,%esp
697375:	85 c0                	test   %eax,%eax
697377:	75 ed                	jne    0x697366
697379:	83 c6 04             	add    $0x4,%esi
69737c:	83 ef 01             	sub    $0x1,%edi
69737f:	75 df                	jne    0x697360
697381:	53                   	push   %ebx
697382:	e8 4b e5 d9 ff       	call   0x4358d2
697387:	83 c4 04             	add    $0x4,%esp
69738a:	5f                   	pop    %edi
69738b:	5e                   	pop    %esi
69738c:	5b                   	pop    %ebx
69738d:	c2 04 00             	ret    $0x4
697390:	cc                   	int3
697391:	cc                   	int3
697392:	cc                   	int3
697393:	cc                   	int3
697394:	cc                   	int3
697395:	cc                   	int3
697396:	cc                   	int3
697397:	cc                   	int3
697398:	cc                   	int3
697399:	cc                   	int3
69739a:	cc                   	int3
69739b:	cc                   	int3
69739c:	cc                   	int3
69739d:	cc                   	int3
69739e:	cc                   	int3
69739f:	cc                   	int3
6973a0:	ff 74 24 08          	push   0x8(%esp)
6973a4:	ff 74 24 08          	push   0x8(%esp)
6973a8:	e8 23 fe ff ff       	call   0x6971d0
6973ad:	83 c4 08             	add    $0x8,%esp
6973b0:	c2 08 00             	ret    $0x8
6973b3:	cc                   	int3
6973b4:	cc                   	int3
6973b5:	cc                   	int3
6973b6:	cc                   	int3
6973b7:	cc                   	int3
6973b8:	cc                   	int3
6973b9:	cc                   	int3
6973ba:	cc                   	int3
6973bb:	cc                   	int3
6973bc:	cc                   	int3
6973bd:	cc                   	int3
6973be:	cc                   	int3
6973bf:	cc                   	int3
6973c0:	56                   	push   %esi
6973c1:	57                   	push   %edi
6973c2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
6973c6:	57                   	push   %edi
6973c7:	e8 f8 d7 d6 ff       	call   0x404bc4
6973cc:	8b f0                	mov    %eax,%esi
6973ce:	85 f6                	test   %esi,%esi
6973d0:	74 06                	je     0x6973d8
6973d2:	56                   	push   %esi
6973d3:	e8 c9 62 d8 ff       	call   0x41d6a1
6973d8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
6973dc:	81 c1 ff 0f 00 00    	add    $0xfff,%ecx
6973e2:	c1 e9 0c             	shr    $0xc,%ecx
6973e5:	8b c1                	mov    %ecx,%eax
6973e7:	2b 47 04             	sub    0x4(%edi),%eax
6973ea:	01 47 08             	add    %eax,0x8(%edi)
6973ed:	89 4f 04             	mov    %ecx,0x4(%edi)
6973f0:	39 4f 08             	cmp    %ecx,0x8(%edi)
6973f3:	76 03                	jbe    0x6973f8
6973f5:	89 4f 08             	mov    %ecx,0x8(%edi)
6973f8:	85 f6                	test   %esi,%esi
6973fa:	74 06                	je     0x697402
6973fc:	56                   	push   %esi
6973fd:	e8 1b c0 d6 ff       	call   0x40341d
697402:	5f                   	pop    %edi
697403:	5e                   	pop    %esi
697404:	c2 08 00             	ret    $0x8
697407:	cc                   	int3
697408:	cc                   	int3
697409:	cc                   	int3
69740a:	cc                   	int3
69740b:	cc                   	int3
69740c:	cc                   	int3
69740d:	cc                   	int3
69740e:	cc                   	int3
69740f:	cc                   	int3
697410:	cc                   	int3
697411:	cc                   	int3
697412:	cc                   	int3
697413:	cc                   	int3
697414:	cc                   	int3
697415:	cc                   	int3
697416:	cc                   	int3
697417:	cc                   	int3
697418:	cc                   	int3
697419:	cc                   	int3
69741a:	cc                   	int3
69741b:	cc                   	int3
69741c:	cc                   	int3
69741d:	cc                   	int3
69741e:	cc                   	int3
69741f:	cc                   	int3
697420:	8b 44 24 04          	mov    0x4(%esp),%eax
697424:	8b 40 0c             	mov    0xc(%eax),%eax
697427:	c2 04 00             	ret    $0x4
69742a:	cc                   	int3
69742b:	cc                   	int3
69742c:	cc                   	int3
69742d:	cc                   	int3
69742e:	cc                   	int3
69742f:	cc                   	int3
697430:	8b 44 24 04          	mov    0x4(%esp),%eax
697434:	8b 4c 24 08          	mov    0x8(%esp),%ecx
697438:	89 48 0c             	mov    %ecx,0xc(%eax)
69743b:	c2 08 00             	ret    $0x8
69743e:	cc                   	int3
69743f:	cc                   	int3
697440:	cc                   	int3
697441:	cc                   	int3
697442:	cc                   	int3
697443:	cc                   	int3
697444:	cc                   	int3
697445:	cc                   	int3
697446:	cc                   	int3
697447:	cc                   	int3
697448:	cc                   	int3
697449:	cc                   	int3
69744a:	cc                   	int3
69744b:	cc                   	int3
69744c:	cc                   	int3
69744d:	cc                   	int3
69744e:	cc                   	int3
69744f:	cc                   	int3
697450:	8b 44 24 04          	mov    0x4(%esp),%eax
697454:	8b 40 10             	mov    0x10(%eax),%eax
697457:	c2 04 00             	ret    $0x4
69745a:	cc                   	int3
69745b:	cc                   	int3
69745c:	cc                   	int3
69745d:	cc                   	int3
69745e:	cc                   	int3
69745f:	cc                   	int3
697460:	8b 44 24 04          	mov    0x4(%esp),%eax
697464:	8b 4c 24 08          	mov    0x8(%esp),%ecx
697468:	89 48 10             	mov    %ecx,0x10(%eax)
69746b:	c2 08 00             	ret    $0x8
69746e:	cc                   	int3
69746f:	cc                   	int3
697470:	cc                   	int3
697471:	cc                   	int3
697472:	cc                   	int3
697473:	cc                   	int3
697474:	cc                   	int3
697475:	cc                   	int3
697476:	cc                   	int3
697477:	cc                   	int3
697478:	cc                   	int3
697479:	cc                   	int3
69747a:	cc                   	int3
69747b:	cc                   	int3
69747c:	cc                   	int3
69747d:	cc                   	int3
69747e:	cc                   	int3
69747f:	cc                   	int3
697480:	8b 44 24 08          	mov    0x8(%esp),%eax
697484:	57                   	push   %edi
697485:	8d 78 07             	lea    0x7(%eax),%edi
697488:	83 e7 f8             	and    $0xfffffff8,%edi
69748b:	3b f8                	cmp    %eax,%edi
69748d:	73 18                	jae    0x6974a7
69748f:	8b 44 24 08          	mov    0x8(%esp),%eax
697493:	8b 40 20             	mov    0x20(%eax),%eax
697496:	85 c0                	test   %eax,%eax
697498:	74 07                	je     0x6974a1
69749a:	6a 0c                	push   $0xc
69749c:	ff d0                	call   *%eax
69749e:	83 c4 04             	add    $0x4,%esp
6974a1:	33 c0                	xor    %eax,%eax
6974a3:	5f                   	pop    %edi
6974a4:	c2 08 00             	ret    $0x8
6974a7:	53                   	push   %ebx
6974a8:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
6974ac:	56                   	push   %esi
6974ad:	8b 73 2c             	mov    0x2c(%ebx),%esi
6974b0:	8b 4e 14             	mov    0x14(%esi),%ecx
6974b3:	8b 46 10             	mov    0x10(%esi),%eax
6974b6:	2b c8                	sub    %eax,%ecx
6974b8:	3b f9                	cmp    %ecx,%edi
6974ba:	77 0c                	ja     0x6974c8
6974bc:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
6974bf:	89 4e 10             	mov    %ecx,0x10(%esi)
6974c2:	5e                   	pop    %esi
6974c3:	5b                   	pop    %ebx
6974c4:	5f                   	pop    %edi
6974c5:	c2 08 00             	ret    $0x8
6974c8:	8b 16                	mov    (%esi),%edx
6974ca:	8b 42 14             	mov    0x14(%edx),%eax
6974cd:	2b 42 10             	sub    0x10(%edx),%eax
6974d0:	3b f8                	cmp    %eax,%edi
6974d2:	77 7c                	ja     0x697550
6974d4:	8b 4a 04             	mov    0x4(%edx),%ecx
6974d7:	8b 02                	mov    (%edx),%eax
6974d9:	89 01                	mov    %eax,(%ecx)
6974db:	8b 0a                	mov    (%edx),%ecx
6974dd:	8b 42 04             	mov    0x4(%edx),%eax
6974e0:	89 41 04             	mov    %eax,0x4(%ecx)
6974e3:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
6974ea:	55                   	push   %ebp
6974eb:	8b 6a 10             	mov    0x10(%edx),%ebp
6974ee:	8d 04 2f             	lea    (%edi,%ebp,1),%eax
6974f1:	89 42 10             	mov    %eax,0x10(%edx)
6974f4:	8b 46 04             	mov    0x4(%esi),%eax
6974f7:	89 42 04             	mov    %eax,0x4(%edx)
6974fa:	89 10                	mov    %edx,(%eax)
6974fc:	89 32                	mov    %esi,(%edx)
6974fe:	89 56 04             	mov    %edx,0x4(%esi)
697501:	89 53 2c             	mov    %edx,0x2c(%ebx)
697504:	8b 4e 14             	mov    0x14(%esi),%ecx
697507:	2b 4e 10             	sub    0x10(%esi),%ecx
69750a:	8b 3e                	mov    (%esi),%edi
69750c:	81 c1 00 10 00 00    	add    $0x1000,%ecx
697512:	81 e1 00 f0 ff ff    	and    $0xfffff000,%ecx
697518:	8b d7                	mov    %edi,%edx
69751a:	49                   	dec    %ecx
69751b:	c1 f9 0c             	sar    $0xc,%ecx
69751e:	89 4e 0c             	mov    %ecx,0xc(%esi)
697521:	3b 4a 0c             	cmp    0xc(%edx),%ecx
697524:	73 21                	jae    0x697547
697526:	8b 12                	mov    (%edx),%edx
697528:	3b 4a 0c             	cmp    0xc(%edx),%ecx
69752b:	72 f9                	jb     0x697526
69752d:	8b 46 04             	mov    0x4(%esi),%eax
697530:	89 38                	mov    %edi,(%eax)
697532:	8b 0e                	mov    (%esi),%ecx
697534:	8b 46 04             	mov    0x4(%esi),%eax
697537:	89 41 04             	mov    %eax,0x4(%ecx)
69753a:	8b 42 04             	mov    0x4(%edx),%eax
69753d:	89 46 04             	mov    %eax,0x4(%esi)
697540:	89 30                	mov    %esi,(%eax)
697542:	89 16                	mov    %edx,(%esi)
697544:	89 72 04             	mov    %esi,0x4(%edx)
697547:	8b c5                	mov    %ebp,%eax
697549:	5d                   	pop    %ebp
69754a:	5e                   	pop    %esi
69754b:	5b                   	pop    %ebx
69754c:	5f                   	pop    %edi
69754d:	c2 08 00             	ret    $0x8
697550:	57                   	push   %edi
697551:	ff 73 18             	push   0x18(%ebx)
697554:	e8 b7 fa ff ff       	call   0x697010
697559:	8b d0                	mov    %eax,%edx
69755b:	83 c4 08             	add    $0x8,%esp
69755e:	85 d2                	test   %edx,%edx
697560:	75 81                	jne    0x6974e3
697562:	8b 43 20             	mov    0x20(%ebx),%eax
697565:	85 c0                	test   %eax,%eax
697567:	74 07                	je     0x697570
697569:	6a 0c                	push   $0xc
69756b:	ff d0                	call   *%eax
69756d:	83 c4 04             	add    $0x4,%esp
697570:	5e                   	pop    %esi
697571:	5b                   	pop    %ebx
697572:	33 c0                	xor    %eax,%eax
697574:	5f                   	pop    %edi
697575:	c2 08 00             	ret    $0x8
697578:	cc                   	int3
697579:	cc                   	int3
69757a:	cc                   	int3
69757b:	cc                   	int3
69757c:	cc                   	int3
69757d:	cc                   	int3
69757e:	cc                   	int3
69757f:	cc                   	int3
697580:	cc                   	int3
697581:	cc                   	int3
697582:	cc                   	int3
697583:	cc                   	int3
697584:	cc                   	int3
697585:	cc                   	int3
697586:	cc                   	int3
697587:	cc                   	int3
697588:	cc                   	int3
697589:	cc                   	int3
69758a:	cc                   	int3
69758b:	cc                   	int3
69758c:	cc                   	int3
69758d:	cc                   	int3
69758e:	cc                   	int3
69758f:	cc                   	int3
697590:	cc                   	int3
697591:	cc                   	int3
697592:	cc                   	int3