4e5189:	51                   	push   %ecx
4e518a:	50                   	push   %eax
4e518b:	e8 50 01 00 00       	call   0x4e52e0
4e5190:	83 c4 0c             	add    $0xc,%esp
4e5193:	c3                   	ret
4e5194:	cc                   	int3
4e5195:	cc                   	int3
4e5196:	cc                   	int3
4e5197:	cc                   	int3
4e5198:	cc                   	int3
4e5199:	cc                   	int3
4e519a:	cc                   	int3
4e519b:	cc                   	int3
4e519c:	cc                   	int3
4e519d:	cc                   	int3
4e519e:	cc                   	int3
4e519f:	cc                   	int3
4e51a0:	8b 44 24 04          	mov    0x4(%esp),%eax
4e51a4:	56                   	push   %esi
4e51a5:	85 c0                	test   %eax,%eax
4e51a7:	74 25                	je     0x4e51ce
4e51a9:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e51ad:	85 f6                	test   %esi,%esi
4e51af:	78 1d                	js     0x4e51ce
4e51b1:	3b 30                	cmp    (%eax),%esi
4e51b3:	7d 19                	jge    0x4e51ce
4e51b5:	8b 50 04             	mov    0x4(%eax),%edx
4e51b8:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4e51bc:	89 0c b2             	mov    %ecx,(%edx,%esi,4)
4e51bf:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
4e51c6:	8b 40 04             	mov    0x4(%eax),%eax
4e51c9:	8b 04 b0             	mov    (%eax,%esi,4),%eax
4e51cc:	5e                   	pop    %esi
4e51cd:	c3                   	ret
4e51ce:	33 c0                	xor    %eax,%eax
4e51d0:	5e                   	pop    %esi
4e51d1:	c3                   	ret
4e51d2:	cc                   	int3
4e51d3:	cc                   	int3
4e51d4:	cc                   	int3
4e51d5:	cc                   	int3
4e51d6:	cc                   	int3
4e51d7:	cc                   	int3
4e51d8:	cc                   	int3
4e51d9:	cc                   	int3
4e51da:	cc                   	int3
4e51db:	cc                   	int3
4e51dc:	cc                   	int3
4e51dd:	cc                   	int3
4e51de:	cc                   	int3
4e51df:	cc                   	int3
4e51e0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4e51e4:	8b 54 24 08          	mov    0x8(%esp),%edx
4e51e8:	8b 41 10             	mov    0x10(%ecx),%eax
4e51eb:	89 51 10             	mov    %edx,0x10(%ecx)
4e51ee:	3b c2                	cmp    %edx,%eax
4e51f0:	74 07                	je     0x4e51f9
4e51f2:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
4e51f9:	c3                   	ret
4e51fa:	cc                   	int3
4e51fb:	cc                   	int3
4e51fc:	cc                   	int3
4e51fd:	cc                   	int3
4e51fe:	cc                   	int3
4e51ff:	cc                   	int3
4e5200:	56                   	push   %esi
4e5201:	8b 74 24 08          	mov    0x8(%esp),%esi
4e5205:	85 f6                	test   %esi,%esi
4e5207:	74 32                	je     0x4e523b
4e5209:	8b 0e                	mov    (%esi),%ecx
4e520b:	85 c9                	test   %ecx,%ecx
4e520d:	74 2c                	je     0x4e523b
4e520f:	8b 56 04             	mov    0x4(%esi),%edx
4e5212:	8d 41 ff             	lea    -0x1(%ecx),%eax
4e5215:	57                   	push   %edi
4e5216:	8b 3a                	mov    (%edx),%edi
4e5218:	85 c0                	test   %eax,%eax
4e521a:	74 17                	je     0x4e5233
4e521c:	8d 04 8d fc ff ff ff 	lea    -0x4(,%ecx,4),%eax
4e5223:	50                   	push   %eax
4e5224:	8d 4a 04             	lea    0x4(%edx),%ecx
4e5227:	51                   	push   %ecx
4e5228:	52                   	push   %edx
4e5229:	e8 a2 db 0e 00       	call   0x5d2dd0
4e522e:	8b 0e                	mov    (%esi),%ecx
4e5230:	83 c4 0c             	add    $0xc,%esp
4e5233:	49                   	dec    %ecx
4e5234:	8b c7                	mov    %edi,%eax
4e5236:	5f                   	pop    %edi
4e5237:	89 0e                	mov    %ecx,(%esi)
4e5239:	5e                   	pop    %esi
4e523a:	c3                   	ret
4e523b:	33 c0                	xor    %eax,%eax
4e523d:	5e                   	pop    %esi
4e523e:	c3                   	ret
4e523f:	cc                   	int3
4e5240:	56                   	push   %esi
4e5241:	8b 74 24 08          	mov    0x8(%esp),%esi
4e5245:	85 f6                	test   %esi,%esi
4e5247:	74 2a                	je     0x4e5273
4e5249:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
4e524d:	75 24                	jne    0x4e5273
4e524f:	8b 46 10             	mov    0x10(%esi),%eax
4e5252:	85 c0                	test   %eax,%eax
4e5254:	74 1d                	je     0x4e5273
4e5256:	8b 0e                	mov    (%esi),%ecx
4e5258:	83 f9 01             	cmp    $0x1,%ecx
4e525b:	7e 0f                	jle    0x4e526c
4e525d:	50                   	push   %eax
4e525e:	6a 04                	push   $0x4
4e5260:	51                   	push   %ecx
4e5261:	ff 76 04             	push   0x4(%esi)
4e5264:	e8 37 f7 0f 00       	call   0x5e49a0
4e5269:	83 c4 10             	add    $0x10,%esp
4e526c:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
4e5273:	5e                   	pop    %esi
4e5274:	c3                   	ret
4e5275:	cc                   	int3
4e5276:	cc                   	int3
4e5277:	cc                   	int3
4e5278:	cc                   	int3
4e5279:	cc                   	int3
4e527a:	cc                   	int3
4e527b:	cc                   	int3
4e527c:	cc                   	int3
4e527d:	cc                   	int3
4e527e:	cc                   	int3
4e527f:	cc                   	int3
4e5280:	8b 44 24 04          	mov    0x4(%esp),%eax
4e5284:	85 c0                	test   %eax,%eax
4e5286:	74 13                	je     0x4e529b
4e5288:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4e528c:	85 c9                	test   %ecx,%ecx
4e528e:	78 0b                	js     0x4e529b
4e5290:	3b 08                	cmp    (%eax),%ecx
4e5292:	7d 07                	jge    0x4e529b
4e5294:	8b 40 04             	mov    0x4(%eax),%eax
4e5297:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4e529a:	c3                   	ret
4e529b:	33 c0                	xor    %eax,%eax
4e529d:	c3                   	ret
4e529e:	cc                   	int3
4e529f:	cc                   	int3
4e52a0:	8b 54 24 08          	mov    0x8(%esp),%edx
4e52a4:	53                   	push   %ebx
4e52a5:	56                   	push   %esi
4e52a6:	8b 74 24 0c          	mov    0xc(%esp),%esi
4e52aa:	57                   	push   %edi
4e52ab:	8b 46 04             	mov    0x4(%esi),%eax
4e52ae:	8b 0e                	mov    (%esi),%ecx
4e52b0:	8d 3c 90             	lea    (%eax,%edx,4),%edi
4e52b3:	8b 1f                	mov    (%edi),%ebx
4e52b5:	8d 41 ff             	lea    -0x1(%ecx),%eax
4e52b8:	3b d0                	cmp    %eax,%edx
4e52ba:	74 19                	je     0x4e52d5
4e52bc:	2b ca                	sub    %edx,%ecx
4e52be:	8d 04 8d fc ff ff ff 	lea    -0x4(,%ecx,4),%eax
4e52c5:	50                   	push   %eax
4e52c6:	8d 4f 04             	lea    0x4(%edi),%ecx
4e52c9:	51                   	push   %ecx
4e52ca:	57                   	push   %edi
4e52cb:	e8 00 db 0e 00       	call   0x5d2dd0
4e52d0:	8b 0e                	mov    (%esi),%ecx
4e52d2:	83 c4 0c             	add    $0xc,%esp
4e52d5:	49                   	dec    %ecx
4e52d6:	8b c3                	mov    %ebx,%eax
4e52d8:	5f                   	pop    %edi
4e52d9:	89 0e                	mov    %ecx,(%esi)
4e52db:	5e                   	pop    %esi
4e52dc:	5b                   	pop    %ebx
4e52dd:	c3                   	ret
4e52de:	cc                   	int3
4e52df:	cc                   	int3
4e52e0:	8b 54 24 08          	mov    0x8(%esp),%edx
4e52e4:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
4e52e9:	56                   	push   %esi
4e52ea:	57                   	push   %edi
4e52eb:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4e52ef:	8b 0f                	mov    (%edi),%ecx
4e52f1:	2b c1                	sub    %ecx,%eax
4e52f3:	3b d0                	cmp    %eax,%edx
4e52f5:	7f 53                	jg     0x4e534a
4e52f7:	8d 34 11             	lea    (%ecx,%edx,1),%esi
4e52fa:	b8 04 00 00 00       	mov    $0x4,%eax
4e52ff:	3b f0                	cmp    %eax,%esi
4e5301:	0f 4c f0             	cmovl  %eax,%esi
4e5304:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
4e5308:	75 45                	jne    0x4e534f
4e530a:	68 b4 00 00 00       	push   $0xb4
4e530f:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
4e5316:	68 d8 3f 61 00       	push   $0x613fd8
4e531b:	50                   	push   %eax
4e531c:	e8 1f b7 ff ff       	call   0x4e0a40
4e5321:	83 c4 0c             	add    $0xc,%esp
4e5324:	89 47 04             	mov    %eax,0x4(%edi)
4e5327:	85 c0                	test   %eax,%eax
4e5329:	0f 85 88 00 00 00    	jne    0x4e53b7
4e532f:	68 b5 00 00 00       	push   $0xb5
4e5334:	68 d8 3f 61 00       	push   $0x613fd8
4e5339:	6a 41                	push   $0x41
4e533b:	68 81 00 00 00       	push   $0x81
4e5340:	6a 0f                	push   $0xf
4e5342:	e8 39 3c ff ff       	call   0x4d8f80
4e5347:	83 c4 14             	add    $0x14,%esp
4e534a:	5f                   	pop    %edi
4e534b:	33 c0                	xor    %eax,%eax
4e534d:	5e                   	pop    %esi
4e534e:	c3                   	ret
4e534f:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
4e5354:	8b 4f 0c             	mov    0xc(%edi),%ecx
4e5357:	75 36                	jne    0x4e538f
4e5359:	3b f1                	cmp    %ecx,%esi
4e535b:	7e 5d                	jle    0x4e53ba
4e535d:	0f 1f 00             	nopl   (%eax)
4e5360:	81 f9 ff ff ff 3f    	cmp    $0x3fffffff,%ecx
4e5366:	7d e2                	jge    0x4e534a
4e5368:	81 f9 aa aa aa 2a    	cmp    $0x2aaaaaaa,%ecx
4e536e:	7d 0b                	jge    0x4e537b
4e5370:	8b c1                	mov    %ecx,%eax
4e5372:	99                   	cltd
4e5373:	2b c2                	sub    %edx,%eax
4e5375:	d1 f8                	sar    $1,%eax
4e5377:	03 c8                	add    %eax,%ecx
4e5379:	eb 05                	jmp    0x4e5380
4e537b:	b9 ff ff ff 3f       	mov    $0x3fffffff,%ecx
4e5380:	3b ce                	cmp    %esi,%ecx
4e5382:	7c dc                	jl     0x4e5360
4e5384:	8b f1                	mov    %ecx,%esi
4e5386:	85 c9                	test   %ecx,%ecx
4e5388:	75 09                	jne    0x4e5393
4e538a:	5f                   	pop    %edi
4e538b:	33 c0                	xor    %eax,%eax
4e538d:	5e                   	pop    %esi
4e538e:	c3                   	ret
4e538f:	3b f1                	cmp    %ecx,%esi
4e5391:	74 27                	je     0x4e53ba
4e5393:	68 c6 00 00 00       	push   $0xc6
4e5398:	68 d8 3f 61 00       	push   $0x613fd8
4e539d:	8d 04 b5 00 00 00 00 	lea    0x0(,%esi,4),%eax
4e53a4:	50                   	push   %eax
4e53a5:	ff 77 04             	push   0x4(%edi)
4e53a8:	e8 f3 b3 ff ff       	call   0x4e07a0
4e53ad:	83 c4 10             	add    $0x10,%esp
4e53b0:	85 c0                	test   %eax,%eax
4e53b2:	74 96                	je     0x4e534a
4e53b4:	89 47 04             	mov    %eax,0x4(%edi)
4e53b7:	89 77 0c             	mov    %esi,0xc(%edi)
4e53ba:	5f                   	pop    %edi
4e53bb:	b8 01 00 00 00       	mov    $0x1,%eax
4e53c0:	5e                   	pop    %esi
4e53c1:	c3                   	ret
4e53c2:	cc                   	int3
4e53c3:	cc                   	int3
4e53c4:	cc                   	int3
4e53c5:	cc                   	int3
4e53c6:	cc                   	int3
4e53c7:	cc                   	int3
4e53c8:	cc                   	int3
4e53c9:	cc                   	int3
4e53ca:	cc                   	int3
4e53cb:	cc                   	int3
4e53cc:	cc                   	int3
4e53cd:	cc                   	int3
4e53ce:	cc                   	int3
4e53cf:	cc                   	int3
4e53d0:	56                   	push   %esi
4e53d1:	8b 74 24 10          	mov    0x10(%esp),%esi
4e53d5:	83 3e 00             	cmpl   $0x0,(%esi)
4e53d8:	0f 84 0d 01 00 00    	je     0x4e54eb
4e53de:	8b 4e 04             	mov    0x4(%esi),%ecx
4e53e1:	85 c9                	test   %ecx,%ecx
4e53e3:	0f 84 02 01 00 00    	je     0x4e54eb
4e53e9:	8b 46 14             	mov    0x14(%esi),%eax
4e53ec:	57                   	push   %edi
4e53ed:	8b 7c 24 18          	mov    0x18(%esp),%edi
4e53f1:	83 f8 ff             	cmp    $0xffffffff,%eax
4e53f4:	75 0c                	jne    0x4e5402
4e53f6:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4e53fd:	e9 9a 00 00 00       	jmp    0x4e549c
4e5402:	40                   	inc    %eax
4e5403:	53                   	push   %ebx
4e5404:	33 db                	xor    %ebx,%ebx
4e5406:	89 46 14             	mov    %eax,0x14(%esi)
4e5409:	83 f8 20             	cmp    $0x20,%eax
4e540c:	75 1b                	jne    0x4e5429
4e540e:	39 5e 08             	cmp    %ebx,0x8(%esi)
4e5411:	74 16                	je     0x4e5429
4e5413:	f6 46 18 02          	testb  $0x2,0x18(%esi)
4e5417:	75 10                	jne    0x4e5429
4e5419:	53                   	push   %ebx
4e541a:	53                   	push   %ebx
4e541b:	57                   	push   %edi
4e541c:	53                   	push   %ebx
4e541d:	53                   	push   %ebx
4e541e:	56                   	push   %esi
4e541f:	e8 ec 00 00 00       	call   0x4e5510
4e5424:	83 c4 18             	add    $0x18,%esp
4e5427:	eb 58                	jmp    0x4e5481
4e5429:	f6 46 18 01          	testb  $0x1,0x18(%esi)
4e542d:	75 56                	jne    0x4e5485
4e542f:	8b 46 1c             	mov    0x1c(%esi),%eax
4e5432:	57                   	push   %edi
4e5433:	85 c0                	test   %eax,%eax
4e5435:	74 27                	je     0x4e545e
4e5437:	50                   	push   %eax
4e5438:	51                   	push   %ecx
4e5439:	51                   	push   %ecx
4e543a:	51                   	push   %ecx
4e543b:	e8 b0 f6 ff ff       	call   0x4e4af0
4e5440:	83 c4 14             	add    $0x14,%esp
4e5443:	85 c0                	test   %eax,%eax
4e5445:	74 43                	je     0x4e548a
4e5447:	8b 06                	mov    (%esi),%eax
4e5449:	57                   	push   %edi
4e544a:	ff 76 1c             	push   0x1c(%esi)
4e544d:	50                   	push   %eax
4e544e:	50                   	push   %eax
4e544f:	50                   	push   %eax
4e5450:	e8 9b f6 ff ff       	call   0x4e4af0
4e5455:	83 c4 14             	add    $0x14,%esp
4e5458:	85 c0                	test   %eax,%eax
4e545a:	75 29                	jne    0x4e5485
4e545c:	eb 2c                	jmp    0x4e548a
4e545e:	ff 76 0c             	push   0xc(%esi)
4e5461:	51                   	push   %ecx
4e5462:	51                   	push   %ecx
4e5463:	51                   	push   %ecx
4e5464:	e8 e7 81 01 00       	call   0x4fd650
4e5469:	83 c4 14             	add    $0x14,%esp
4e546c:	85 c0                	test   %eax,%eax
4e546e:	74 1a                	je     0x4e548a
4e5470:	8b 06                	mov    (%esi),%eax
4e5472:	57                   	push   %edi
4e5473:	ff 76 0c             	push   0xc(%esi)
4e5476:	50                   	push   %eax
4e5477:	50                   	push   %eax
4e5478:	50                   	push   %eax
4e5479:	e8 d2 81 01 00       	call   0x4fd650
4e547e:	83 c4 14             	add    $0x14,%esp
4e5481:	85 c0                	test   %eax,%eax
4e5483:	74 05                	je     0x4e548a
4e5485:	bb 01 00 00 00       	mov    $0x1,%ebx
4e548a:	83 7e 14 20          	cmpl   $0x20,0x14(%esi)
4e548e:	75 07                	jne    0x4e5497
4e5490:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
4e5497:	85 db                	test   %ebx,%ebx
4e5499:	5b                   	pop    %ebx
4e549a:	74 4a                	je     0x4e54e6
4e549c:	8b 44 24 10          	mov    0x10(%esp),%eax
4e54a0:	85 c0                	test   %eax,%eax