4d8342:	83 c4 14             	add    $0x14,%esp
4d8345:	33 c0                	xor    %eax,%eax
4d8347:	5e                   	pop    %esi
4d8348:	5d                   	pop    %ebp
4d8349:	5b                   	pop    %ebx
4d834a:	83 c4 08             	add    $0x8,%esp
4d834d:	c3                   	ret
4d834e:	57                   	push   %edi
4d834f:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
4d8353:	3b 6f 08             	cmp    0x8(%edi),%ebp
4d8356:	7f 04                	jg     0x4d835c
4d8358:	8b cf                	mov    %edi,%ecx
4d835a:	eb 10                	jmp    0x4d836c
4d835c:	55                   	push   %ebp
4d835d:	57                   	push   %edi
4d835e:	e8 3d b3 fd ff       	call   0x4b36a0
4d8363:	8b c8                	mov    %eax,%ecx
4d8365:	83 c4 08             	add    $0x8,%esp
4d8368:	8b 44 24 20          	mov    0x20(%esp),%eax
4d836c:	85 c9                	test   %ecx,%ecx
4d836e:	74 5b                	je     0x4d83cb
4d8370:	8b 4c 24 24          	mov    0x24(%esp),%ecx
4d8374:	8b 13                	mov    (%ebx),%edx
4d8376:	33 db                	xor    %ebx,%ebx
4d8378:	8b 3f                	mov    (%edi),%edi
4d837a:	8b 09                	mov    (%ecx),%ecx
4d837c:	85 c0                	test   %eax,%eax
4d837e:	74 6b                	je     0x4d83eb
4d8380:	8b 6c 24 20          	mov    0x20(%esp),%ebp
4d8384:	8b f1                	mov    %ecx,%esi
4d8386:	8b 0a                	mov    (%edx),%ecx
4d8388:	8d 76 04             	lea    0x4(%esi),%esi
4d838b:	8b 46 fc             	mov    -0x4(%esi),%eax
4d838e:	83 c2 04             	add    $0x4,%edx
4d8391:	89 44 24 24          	mov    %eax,0x24(%esp)
4d8395:	85 db                	test   %ebx,%ebx
4d8397:	74 10                	je     0x4d83a9
4d8399:	3b c1                	cmp    %ecx,%eax
4d839b:	1b db                	sbb    %ebx,%ebx
4d839d:	83 c8 ff             	or     $0xffffffff,%eax
4d83a0:	2b 44 24 24          	sub    0x24(%esp),%eax
4d83a4:	43                   	inc    %ebx
4d83a5:	03 c8                	add    %eax,%ecx
4d83a7:	eb 08                	jmp    0x4d83b1
4d83a9:	3b c8                	cmp    %eax,%ecx
4d83ab:	1b db                	sbb    %ebx,%ebx
4d83ad:	f7 db                	neg    %ebx
4d83af:	2b c8                	sub    %eax,%ecx
4d83b1:	89 0f                	mov    %ecx,(%edi)
4d83b3:	83 c7 04             	add    $0x4,%edi
4d83b6:	83 ed 01             	sub    $0x1,%ebp
4d83b9:	75 cb                	jne    0x4d8386
4d83bb:	8b 74 24 10          	mov    0x10(%esp),%esi
4d83bf:	8b 6c 24 14          	mov    0x14(%esp),%ebp
4d83c3:	85 db                	test   %ebx,%ebx
4d83c5:	74 24                	je     0x4d83eb
4d83c7:	85 f6                	test   %esi,%esi
4d83c9:	75 0a                	jne    0x4d83d5
4d83cb:	5f                   	pop    %edi
4d83cc:	5e                   	pop    %esi
4d83cd:	5d                   	pop    %ebp
4d83ce:	33 c0                	xor    %eax,%eax
4d83d0:	5b                   	pop    %ebx
4d83d1:	83 c4 08             	add    $0x8,%esp
4d83d4:	c3                   	ret
4d83d5:	8b 0a                	mov    (%edx),%ecx
4d83d7:	4e                   	dec    %esi
4d83d8:	83 c2 04             	add    $0x4,%edx
4d83db:	8d 41 ff             	lea    -0x1(%ecx),%eax
4d83de:	89 07                	mov    %eax,(%edi)
4d83e0:	83 c7 04             	add    $0x4,%edi
4d83e3:	85 c9                	test   %ecx,%ecx
4d83e5:	75 04                	jne    0x4d83eb
4d83e7:	85 f6                	test   %esi,%esi
4d83e9:	75 ea                	jne    0x4d83d5
4d83eb:	3b fa                	cmp    %edx,%edi
4d83ed:	74 4a                	je     0x4d8439
4d83ef:	85 f6                	test   %esi,%esi
4d83f1:	74 46                	je     0x4d8439
4d83f3:	8d 5a 08             	lea    0x8(%edx),%ebx
4d83f6:	2b d7                	sub    %edi,%edx
4d83f8:	8d 4f 08             	lea    0x8(%edi),%ecx
4d83fb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4d8400:	8b 44 0a f8          	mov    -0x8(%edx,%ecx,1),%eax
4d8404:	89 41 f8             	mov    %eax,-0x8(%ecx)
4d8407:	8d 46 ff             	lea    -0x1(%esi),%eax
4d840a:	85 c0                	test   %eax,%eax
4d840c:	74 2b                	je     0x4d8439
4d840e:	8b 43 fc             	mov    -0x4(%ebx),%eax
4d8411:	89 41 fc             	mov    %eax,-0x4(%ecx)
4d8414:	8d 46 fe             	lea    -0x2(%esi),%eax
4d8417:	85 c0                	test   %eax,%eax
4d8419:	74 1e                	je     0x4d8439
4d841b:	8b 03                	mov    (%ebx),%eax
4d841d:	89 01                	mov    %eax,(%ecx)
4d841f:	8d 46 fd             	lea    -0x3(%esi),%eax
4d8422:	83 ee 04             	sub    $0x4,%esi
4d8425:	85 c0                	test   %eax,%eax
4d8427:	74 10                	je     0x4d8439
4d8429:	8b 43 04             	mov    0x4(%ebx),%eax
4d842c:	83 c3 10             	add    $0x10,%ebx
4d842f:	89 41 04             	mov    %eax,0x4(%ecx)
4d8432:	83 c1 10             	add    $0x10,%ecx
4d8435:	85 f6                	test   %esi,%esi
4d8437:	75 c7                	jne    0x4d8400
4d8439:	8b 54 24 1c          	mov    0x1c(%esp),%edx
4d843d:	89 6a 04             	mov    %ebp,0x4(%edx)
4d8440:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
4d8447:	85 ed                	test   %ebp,%ebp
4d8449:	7e 19                	jle    0x4d8464
4d844b:	8b 0a                	mov    (%edx),%ecx
4d844d:	83 c1 fc             	add    $0xfffffffc,%ecx
4d8450:	8d 0c a9             	lea    (%ecx,%ebp,4),%ecx
4d8453:	8b 01                	mov    (%ecx),%eax
4d8455:	8d 49 fc             	lea    -0x4(%ecx),%ecx
4d8458:	85 c0                	test   %eax,%eax
4d845a:	75 05                	jne    0x4d8461
4d845c:	4d                   	dec    %ebp
4d845d:	85 ed                	test   %ebp,%ebp
4d845f:	7f f2                	jg     0x4d8453
4d8461:	89 6a 04             	mov    %ebp,0x4(%edx)
4d8464:	83 7a 04 00          	cmpl   $0x0,0x4(%edx)
4d8468:	75 07                	jne    0x4d8471
4d846a:	c7 42 0c 00 00 00 00 	movl   $0x0,0xc(%edx)
4d8471:	5f                   	pop    %edi
4d8472:	5e                   	pop    %esi
4d8473:	5d                   	pop    %ebp
4d8474:	b8 01 00 00 00       	mov    $0x1,%eax
4d8479:	5b                   	pop    %ebx
4d847a:	83 c4 08             	add    $0x8,%esp
4d847d:	c3                   	ret
4d847e:	cc                   	int3
4d847f:	cc                   	int3
4d8480:	b8 10 00 00 00       	mov    $0x10,%eax
4d8485:	e8 66 90 10 00       	call   0x5e14f0
4d848a:	8b 44 24 18          	mov    0x18(%esp),%eax
4d848e:	53                   	push   %ebx
4d848f:	57                   	push   %edi
4d8490:	c7 44 24 14 00 00 00 	movl   $0x0,0x14(%esp)
4d8497:	00
4d8498:	8b 78 04             	mov    0x4(%eax),%edi
4d849b:	8b 44 24 24          	mov    0x24(%esp),%eax
4d849f:	8b 58 04             	mov    0x4(%eax),%ebx
4d84a2:	85 ff                	test   %edi,%edi
4d84a4:	0f 84 9a 02 00 00    	je     0x4d8744
4d84aa:	85 db                	test   %ebx,%ebx
4d84ac:	0f 84 92 02 00 00    	je     0x4d8744
4d84b2:	56                   	push   %esi
4d84b3:	8b 74 24 2c          	mov    0x2c(%esp),%esi
4d84b7:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
4d84ba:	56                   	push   %esi
4d84bb:	89 44 24 18          	mov    %eax,0x18(%esp)
4d84bf:	e8 dc f9 ff ff       	call   0x4d7ea0
4d84c4:	8b 44 24 24          	mov    0x24(%esp),%eax
4d84c8:	83 c4 04             	add    $0x4,%esp
4d84cb:	8b 54 24 24          	mov    0x24(%esp),%edx
4d84cf:	3b c2                	cmp    %edx,%eax
4d84d1:	74 0c                	je     0x4d84df
4d84d3:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4d84d7:	3b c1                	cmp    %ecx,%eax
4d84d9:	74 04                	je     0x4d84df
4d84db:	8b f0                	mov    %eax,%esi
4d84dd:	eb 1b                	jmp    0x4d84fa
4d84df:	56                   	push   %esi
4d84e0:	e8 db f8 ff ff       	call   0x4d7dc0
4d84e5:	8b f0                	mov    %eax,%esi
4d84e7:	83 c4 04             	add    $0x4,%esp
4d84ea:	85 f6                	test   %esi,%esi
4d84ec:	0f 84 3b 02 00 00    	je     0x4d872d
4d84f2:	8b 4c 24 28          	mov    0x28(%esp),%ecx
4d84f6:	8b 54 24 24          	mov    0x24(%esp),%edx
4d84fa:	8b 42 0c             	mov    0xc(%edx),%eax
4d84fd:	33 41 0c             	xor    0xc(%ecx),%eax
4d8500:	55                   	push   %ebp
4d8501:	8b ef                	mov    %edi,%ebp
4d8503:	89 46 0c             	mov    %eax,0xc(%esi)
4d8506:	2b eb                	sub    %ebx,%ebp
4d8508:	75 44                	jne    0x4d854e
4d850a:	83 ff 08             	cmp    $0x8,%edi
4d850d:	75 3f                	jne    0x4d854e
4d850f:	83 7e 08 10          	cmpl   $0x10,0x8(%esi)
4d8513:	7c 04                	jl     0x4d8519
4d8515:	8b c6                	mov    %esi,%eax
4d8517:	eb 13                	jmp    0x4d852c
4d8519:	6a 10                	push   $0x10
4d851b:	56                   	push   %esi
4d851c:	e8 7f b1 fd ff       	call   0x4b36a0
4d8521:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4d8525:	83 c4 08             	add    $0x8,%esp
4d8528:	8b 54 24 28          	mov    0x28(%esp),%edx
4d852c:	85 c0                	test   %eax,%eax
4d852e:	0f 84 f8 01 00 00    	je     0x4d872c
4d8534:	c7 46 04 10 00 00 00 	movl   $0x10,0x4(%esi)
4d853b:	ff 31                	push   (%ecx)
4d853d:	ff 32                	push   (%edx)
4d853f:	ff 36                	push   (%esi)
4d8541:	e8 8a 26 ff ff       	call   0x4cabd0
4d8546:	83 c4 0c             	add    $0xc,%esp
4d8549:	e9 93 01 00 00       	jmp    0x4d86e1
4d854e:	83 ff 10             	cmp    $0x10,%edi
4d8551:	0f 8c 54 01 00 00    	jl     0x4d86ab
4d8557:	83 fb 10             	cmp    $0x10,%ebx
4d855a:	0f 8c 4b 01 00 00    	jl     0x4d86ab
4d8560:	8d 45 01             	lea    0x1(%ebp),%eax
4d8563:	83 f8 02             	cmp    $0x2,%eax
4d8566:	0f 87 3f 01 00 00    	ja     0x4d86ab
4d856c:	85 ed                	test   %ebp,%ebp
4d856e:	78 0b                	js     0x4d857b
4d8570:	57                   	push   %edi
4d8571:	e8 6a ae fd ff       	call   0x4b33e0
4d8576:	83 c4 04             	add    $0x4,%esp
4d8579:	eb 02                	jmp    0x4d857d
4d857b:	33 c0                	xor    %eax,%eax
4d857d:	83 fd ff             	cmp    $0xffffffff,%ebp
4d8580:	75 09                	jne    0x4d858b
4d8582:	53                   	push   %ebx
4d8583:	e8 58 ae fd ff       	call   0x4b33e0
4d8588:	83 c4 04             	add    $0x4,%esp
4d858b:	ff 74 24 30          	push   0x30(%esp)
4d858f:	8d 48 ff             	lea    -0x1(%eax),%ecx
4d8592:	b8 01 00 00 00       	mov    $0x1,%eax
4d8597:	d3 e0                	shl    %cl,%eax
4d8599:	89 44 24 14          	mov    %eax,0x14(%esp)
4d859d:	03 c0                	add    %eax,%eax
4d859f:	89 44 24 18          	mov    %eax,0x18(%esp)
4d85a3:	e8 18 f8 ff ff       	call   0x4d7dc0
4d85a8:	8b e8                	mov    %eax,%ebp
4d85aa:	83 c4 04             	add    $0x4,%esp
4d85ad:	85 ed                	test   %ebp,%ebp
4d85af:	0f 84 77 01 00 00    	je     0x4d872c
4d85b5:	8b 44 24 10          	mov    0x10(%esp),%eax
4d85b9:	3b f8                	cmp    %eax,%edi
4d85bb:	7f 7a                	jg     0x4d8637
4d85bd:	3b d8                	cmp    %eax,%ebx
4d85bf:	7f 76                	jg     0x4d8637
4d85c1:	8b 44 24 14          	mov    0x14(%esp),%eax
4d85c5:	03 c0                	add    %eax,%eax
4d85c7:	89 44 24 14          	mov    %eax,0x14(%esp)
4d85cb:	3b 45 08             	cmp    0x8(%ebp),%eax
4d85ce:	7f 04                	jg     0x4d85d4
4d85d0:	8b cd                	mov    %ebp,%ecx
4d85d2:	eb 10                	jmp    0x4d85e4
4d85d4:	50                   	push   %eax
4d85d5:	55                   	push   %ebp
4d85d6:	e8 c5 b0 fd ff       	call   0x4b36a0
4d85db:	8b c8                	mov    %eax,%ecx
4d85dd:	83 c4 08             	add    $0x8,%esp
4d85e0:	8b 44 24 14          	mov    0x14(%esp),%eax
4d85e4:	85 c9                	test   %ecx,%ecx
4d85e6:	0f 84 40 01 00 00    	je     0x4d872c
4d85ec:	3b 46 08             	cmp    0x8(%esi),%eax
4d85ef:	7f 04                	jg     0x4d85f5
4d85f1:	8b c6                	mov    %esi,%eax
4d85f3:	eb 0a                	jmp    0x4d85ff
4d85f5:	50                   	push   %eax
4d85f6:	56                   	push   %esi
4d85f7:	e8 a4 b0 fd ff       	call   0x4b36a0
4d85fc:	83 c4 08             	add    $0x8,%esp
4d85ff:	85 c0                	test   %eax,%eax
4d8601:	0f 84 25 01 00 00    	je     0x4d872c
4d8607:	ff 75 00             	push   0x0(%ebp)
4d860a:	8b 44 24 14          	mov    0x14(%esp),%eax
4d860e:	2b d8                	sub    %eax,%ebx
4d8610:	53                   	push   %ebx
4d8611:	2b f8                	sub    %eax,%edi
4d8613:	57                   	push   %edi
4d8614:	50                   	push   %eax
4d8615:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4d8619:	ff 30                	push   (%eax)
4d861b:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4d861f:	ff 30                	push   (%eax)
4d8621:	ff 36                	push   (%esi)
4d8623:	e8 58 06 00 00       	call   0x4d8c80
4d8628:	8b 44 24 34          	mov    0x34(%esp),%eax
4d862c:	83 c4 1c             	add    $0x1c,%esp
4d862f:	89 46 04             	mov    %eax,0x4(%esi)
4d8632:	e9 aa 00 00 00       	jmp    0x4d86e1
4d8637:	8b 44 24 14          	mov    0x14(%esp),%eax
4d863b:	c1 e0 02             	shl    $0x2,%eax
4d863e:	89 44 24 14          	mov    %eax,0x14(%esp)
4d8642:	3b 45 08             	cmp    0x8(%ebp),%eax
4d8645:	7f 04                	jg     0x4d864b
4d8647:	8b cd                	mov    %ebp,%ecx
4d8649:	eb 10                	jmp    0x4d865b
4d864b:	50                   	push   %eax
4d864c:	55                   	push   %ebp
4d864d:	e8 4e b0 fd ff       	call   0x4b36a0
4d8652:	8b c8                	mov    %eax,%ecx
4d8654:	83 c4 08             	add    $0x8,%esp
4d8657:	8b 44 24 14          	mov    0x14(%esp),%eax
4d865b:	85 c9                	test   %ecx,%ecx
4d865d:	0f 84 c9 00 00 00    	je     0x4d872c
4d8663:	3b 46 08             	cmp    0x8(%esi),%eax
4d8666:	7f 04                	jg     0x4d866c
4d8668:	8b c6                	mov    %esi,%eax
4d866a:	eb 0a                	jmp    0x4d8676
4d866c:	50                   	push   %eax
4d866d:	56                   	push   %esi
4d866e:	e8 2d b0 fd ff       	call   0x4b36a0
4d8673:	83 c4 08             	add    $0x8,%esp
4d8676:	85 c0                	test   %eax,%eax
4d8678:	0f 84 ae 00 00 00    	je     0x4d872c
4d867e:	ff 75 00             	push   0x0(%ebp)
4d8681:	8b 44 24 14          	mov    0x14(%esp),%eax
4d8685:	2b d8                	sub    %eax,%ebx
4d8687:	53                   	push   %ebx
4d8688:	2b f8                	sub    %eax,%edi
4d868a:	57                   	push   %edi
4d868b:	50                   	push   %eax
4d868c:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4d8690:	ff 30                	push   (%eax)
4d8692:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4d8696:	ff 30                	push   (%eax)
4d8698:	ff 36                	push   (%esi)
4d869a:	e8 d1 01 00 00       	call   0x4d8870
4d869f:	8b 44 24 34          	mov    0x34(%esp),%eax
4d86a3:	83 c4 1c             	add    $0x1c,%esp
4d86a6:	89 46 04             	mov    %eax,0x4(%esi)
4d86a9:	eb 36                	jmp    0x4d86e1
4d86ab:	8b 6c 24 18          	mov    0x18(%esp),%ebp
4d86af:	3b 6e 08             	cmp    0x8(%esi),%ebp
4d86b2:	7f 04                	jg     0x4d86b8
4d86b4:	8b c6                	mov    %esi,%eax
4d86b6:	eb 12                	jmp    0x4d86ca
4d86b8:	55                   	push   %ebp
4d86b9:	56                   	push   %esi
4d86ba:	e8 e1 af fd ff       	call   0x4b36a0
4d86bf:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4d86c3:	83 c4 08             	add    $0x8,%esp
4d86c6:	8b 54 24 28          	mov    0x28(%esp),%edx
4d86ca:	85 c0                	test   %eax,%eax
4d86cc:	74 5e                	je     0x4d872c
4d86ce:	53                   	push   %ebx
4d86cf:	89 6e 04             	mov    %ebp,0x4(%esi)
4d86d2:	ff 31                	push   (%ecx)
4d86d4:	57                   	push   %edi
4d86d5:	ff 32                	push   (%edx)
4d86d7:	ff 36                	push   (%esi)
4d86d9:	e8 82 00 00 00       	call   0x4d8760
4d86de:	83 c4 14             	add    $0x14,%esp
4d86e1:	8b 4e 04             	mov    0x4(%esi),%ecx
4d86e4:	85 c9                	test   %ecx,%ecx
4d86e6:	7e 19                	jle    0x4d8701
4d86e8:	8b 06                	mov    (%esi),%eax
4d86ea:	8d 51 ff             	lea    -0x1(%ecx),%edx
4d86ed:	8d 14 90             	lea    (%eax,%edx,4),%edx
4d86f0:	8b 02                	mov    (%edx),%eax
4d86f2:	8d 52 fc             	lea    -0x4(%edx),%edx
4d86f5:	85 c0                	test   %eax,%eax
4d86f7:	75 05                	jne    0x4d86fe