44419e:	76 07                	jbe    0x4441a7
4441a0:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
4441a5:	eb 08                	jmp    0x4441af
4441a7:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
4441aa:	3b d0                	cmp    %eax,%edx
4441ac:	0f 42 d0             	cmovb  %eax,%edx
4441af:	33 c9                	xor    %ecx,%ecx
4441b1:	89 55 fc             	mov    %edx,-0x4(%ebp)
4441b4:	83 c2 01             	add    $0x1,%edx
4441b7:	0f 92 c1             	setb   %cl
4441ba:	f7 d9                	neg    %ecx
4441bc:	0b ca                	or     %edx,%ecx
4441be:	51                   	push   %ecx
4441bf:	8b cf                	mov    %edi,%ecx
4441c1:	e8 8a 52 ff ff       	call   0x439450
4441c6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4441c9:	89 4f 14             	mov    %ecx,0x14(%edi)
4441cc:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4441cf:	41                   	inc    %ecx
4441d0:	89 45 f0             	mov    %eax,-0x10(%ebp)
4441d3:	89 77 10             	mov    %esi,0x10(%edi)
4441d6:	51                   	push   %ecx
4441d7:	83 fb 10             	cmp    $0x10,%ebx
4441da:	72 3e                	jb     0x44421a
4441dc:	8b 37                	mov    (%edi),%esi
4441de:	56                   	push   %esi
4441df:	50                   	push   %eax
4441e0:	e8 1b ed 19 00       	call   0x5e2f00
4441e5:	43                   	inc    %ebx
4441e6:	83 c4 0c             	add    $0xc,%esp
4441e9:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
4441ef:	72 12                	jb     0x444203
4441f1:	8b 4e fc             	mov    -0x4(%esi),%ecx
4441f4:	83 c3 23             	add    $0x23,%ebx
4441f7:	2b f1                	sub    %ecx,%esi
4441f9:	8d 46 fc             	lea    -0x4(%esi),%eax
4441fc:	83 f8 1f             	cmp    $0x1f,%eax
4441ff:	77 5d                	ja     0x44425e
444201:	8b f1                	mov    %ecx,%esi
444203:	53                   	push   %ebx
444204:	56                   	push   %esi
444205:	e8 68 ce 19 00       	call   0x5e1072
44420a:	8b 45 f0             	mov    -0x10(%ebp),%eax
44420d:	83 c4 08             	add    $0x8,%esp
444210:	89 07                	mov    %eax,(%edi)
444212:	8b 45 f8             	mov    -0x8(%ebp),%eax
444215:	89 47 10             	mov    %eax,0x10(%edi)
444218:	eb 26                	jmp    0x444240
44421a:	57                   	push   %edi
44421b:	50                   	push   %eax
44421c:	e8 df ec 19 00       	call   0x5e2f00
444221:	8b 45 f0             	mov    -0x10(%ebp),%eax
444224:	83 c4 0c             	add    $0xc,%esp
444227:	89 07                	mov    %eax,(%edi)
444229:	8b 45 f8             	mov    -0x8(%ebp),%eax
44422c:	89 47 10             	mov    %eax,0x10(%edi)
44422f:	eb 0f                	jmp    0x444240
444231:	83 fe 10             	cmp    $0x10,%esi
444234:	73 0a                	jae    0x444240
444236:	83 fb 10             	cmp    $0x10,%ebx
444239:	72 05                	jb     0x444240
44423b:	e8 20 0c 00 00       	call   0x444e60
444240:	5b                   	pop    %ebx
444241:	ff 75 f4             	push   -0xc(%ebp)
444244:	8b cf                	mov    %edi,%ecx
444246:	ff 75 ec             	push   -0x14(%ebp)
444249:	ff 75 f4             	push   -0xc(%ebp)
44424c:	e8 1f fd ff ff       	call   0x443f70
444251:	5f                   	pop    %edi
444252:	5e                   	pop    %esi
444253:	8b e5                	mov    %ebp,%esp
444255:	5d                   	pop    %ebp
444256:	c2 0c 00             	ret    $0xc
444259:	e8 d2 0d 00 00       	call   0x445030
44425e:	e8 cc 8c 1a 00       	call   0x5ecf2f
444263:	cc                   	int3
444264:	cc                   	int3
444265:	cc                   	int3
444266:	cc                   	int3
444267:	cc                   	int3
444268:	cc                   	int3
444269:	cc                   	int3
44426a:	cc                   	int3
44426b:	cc                   	int3
44426c:	cc                   	int3
44426d:	cc                   	int3
44426e:	cc                   	int3
44426f:	cc                   	int3
444270:	55                   	push   %ebp
444271:	8b ec                	mov    %esp,%ebp
444273:	8b 4d 0c             	mov    0xc(%ebp),%ecx
444276:	8b 45 08             	mov    0x8(%ebp),%eax
444279:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
44427f:	72 12                	jb     0x444293
444281:	8b 50 fc             	mov    -0x4(%eax),%edx
444284:	83 c1 23             	add    $0x23,%ecx
444287:	2b c2                	sub    %edx,%eax
444289:	83 c0 fc             	add    $0xfffffffc,%eax
44428c:	83 f8 1f             	cmp    $0x1f,%eax
44428f:	77 0e                	ja     0x44429f
444291:	8b c2                	mov    %edx,%eax
444293:	89 4d 0c             	mov    %ecx,0xc(%ebp)
444296:	89 45 08             	mov    %eax,0x8(%ebp)
444299:	5d                   	pop    %ebp
44429a:	e9 d3 cd 19 00       	jmp    0x5e1072
44429f:	e9 8b 8c 1a 00       	jmp    0x5ecf2f
4442a4:	cc                   	int3
4442a5:	cc                   	int3
4442a6:	cc                   	int3
4442a7:	cc                   	int3
4442a8:	cc                   	int3
4442a9:	cc                   	int3
4442aa:	cc                   	int3
4442ab:	cc                   	int3
4442ac:	cc                   	int3
4442ad:	cc                   	int3
4442ae:	cc                   	int3
4442af:	cc                   	int3
4442b0:	55                   	push   %ebp
4442b1:	8b ec                	mov    %esp,%ebp
4442b3:	56                   	push   %esi
4442b4:	8b 75 08             	mov    0x8(%ebp),%esi
4442b7:	57                   	push   %edi
4442b8:	8b 7d 0c             	mov    0xc(%ebp),%edi
4442bb:	3b f7                	cmp    %edi,%esi
4442bd:	74 48                	je     0x444307
4442bf:	90                   	nop
4442c0:	8b 4e 14             	mov    0x14(%esi),%ecx
4442c3:	83 f9 10             	cmp    $0x10,%ecx
4442c6:	72 27                	jb     0x4442ef
4442c8:	8b 06                	mov    (%esi),%eax
4442ca:	41                   	inc    %ecx
4442cb:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4442d1:	72 12                	jb     0x4442e5
4442d3:	8b 50 fc             	mov    -0x4(%eax),%edx
4442d6:	83 c1 23             	add    $0x23,%ecx
4442d9:	2b c2                	sub    %edx,%eax
4442db:	83 c0 fc             	add    $0xfffffffc,%eax
4442de:	83 f8 1f             	cmp    $0x1f,%eax
4442e1:	77 28                	ja     0x44430b
4442e3:	8b c2                	mov    %edx,%eax
4442e5:	51                   	push   %ecx
4442e6:	50                   	push   %eax
4442e7:	e8 86 cd 19 00       	call   0x5e1072
4442ec:	83 c4 08             	add    $0x8,%esp
4442ef:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4442f6:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
4442fd:	c6 06 00             	movb   $0x0,(%esi)
444300:	83 c6 18             	add    $0x18,%esi
444303:	3b f7                	cmp    %edi,%esi
444305:	75 b9                	jne    0x4442c0
444307:	5f                   	pop    %edi
444308:	5e                   	pop    %esi
444309:	5d                   	pop    %ebp
44430a:	c3                   	ret
44430b:	e8 1f 8c 1a 00       	call   0x5ecf2f
444310:	cc                   	int3
444311:	cc                   	int3
444312:	cc                   	int3
444313:	cc                   	int3
444314:	cc                   	int3
444315:	cc                   	int3
444316:	cc                   	int3
444317:	cc                   	int3
444318:	cc                   	int3
444319:	cc                   	int3
44431a:	cc                   	int3
44431b:	cc                   	int3
44431c:	cc                   	int3
44431d:	cc                   	int3
44431e:	cc                   	int3
44431f:	cc                   	int3
444320:	55                   	push   %ebp
444321:	8b ec                	mov    %esp,%ebp
444323:	6a ff                	push   $0xffffffff
444325:	68 00 c4 64 00       	push   $0x64c400
44432a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
444330:	50                   	push   %eax
444331:	83 ec 28             	sub    $0x28,%esp
444334:	53                   	push   %ebx
444335:	56                   	push   %esi
444336:	57                   	push   %edi
444337:	a1 d4 89 72 00       	mov    0x7289d4,%eax
44433c:	33 c5                	xor    %ebp,%eax
44433e:	50                   	push   %eax
44433f:	8d 45 f4             	lea    -0xc(%ebp),%eax
444342:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
444348:	89 65 f0             	mov    %esp,-0x10(%ebp)
44434b:	8b d9                	mov    %ecx,%ebx
44434d:	8b 45 08             	mov    0x8(%ebp),%eax
444350:	8b 4d 0c             	mov    0xc(%ebp),%ecx
444353:	8b 3b                	mov    (%ebx),%edi
444355:	89 45 e0             	mov    %eax,-0x20(%ebp)
444358:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
44435b:	8b c8                	mov    %eax,%ecx
44435d:	2b cf                	sub    %edi,%ecx
44435f:	89 5d cc             	mov    %ebx,-0x34(%ebp)
444362:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
444367:	f7 e9                	imul   %ecx
444369:	8b 4b 04             	mov    0x4(%ebx),%ecx
44436c:	d1 fa                	sar    $1,%edx
44436e:	2b cf                	sub    %edi,%ecx
444370:	8b c2                	mov    %edx,%eax
444372:	c1 e8 1f             	shr    $0x1f,%eax
444375:	03 c2                	add    %edx,%eax
444377:	89 45 e8             	mov    %eax,-0x18(%ebp)
44437a:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
44437f:	f7 e9                	imul   %ecx
444381:	d1 fa                	sar    $1,%edx
444383:	8b c2                	mov    %edx,%eax
444385:	c1 e8 1f             	shr    $0x1f,%eax
444388:	03 c2                	add    %edx,%eax
44438a:	89 45 d8             	mov    %eax,-0x28(%ebp)
44438d:	3d 55 55 55 15       	cmp    $0x15555555,%eax
444392:	0f 84 7a 01 00 00    	je     0x444512
444398:	8b 4b 08             	mov    0x8(%ebx),%ecx
44439b:	8d 70 01             	lea    0x1(%eax),%esi
44439e:	2b cf                	sub    %edi,%ecx
4443a0:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4443a5:	f7 e9                	imul   %ecx
4443a7:	b8 55 55 55 15       	mov    $0x15555555,%eax
4443ac:	d1 fa                	sar    $1,%edx
4443ae:	8b ca                	mov    %edx,%ecx
4443b0:	c1 e9 1f             	shr    $0x1f,%ecx
4443b3:	03 ca                	add    %edx,%ecx
4443b5:	8b d1                	mov    %ecx,%edx
4443b7:	d1 ea                	shr    $1,%edx
4443b9:	2b c2                	sub    %edx,%eax
4443bb:	3b c8                	cmp    %eax,%ecx
4443bd:	76 07                	jbe    0x4443c6
4443bf:	8b c6                	mov    %esi,%eax
4443c1:	89 75 dc             	mov    %esi,-0x24(%ebp)
4443c4:	eb 0b                	jmp    0x4443d1
4443c6:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
4443c9:	3b c6                	cmp    %esi,%eax
4443cb:	0f 42 c6             	cmovb  %esi,%eax
4443ce:	89 45 dc             	mov    %eax,-0x24(%ebp)
4443d1:	3d 55 55 55 15       	cmp    $0x15555555,%eax
4443d6:	0f 87 31 01 00 00    	ja     0x44450d
4443dc:	8d 04 40             	lea    (%eax,%eax,2),%eax
4443df:	c1 e0 02             	shl    $0x2,%eax
4443e2:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4443e5:	3d 00 10 00 00       	cmp    $0x1000,%eax
4443ea:	72 27                	jb     0x444413
4443ec:	8d 48 23             	lea    0x23(%eax),%ecx
4443ef:	3b c8                	cmp    %eax,%ecx
4443f1:	0f 86 16 01 00 00    	jbe    0x44450d
4443f7:	51                   	push   %ecx
4443f8:	e8 45 cc 19 00       	call   0x5e1042
4443fd:	83 c4 04             	add    $0x4,%esp
444400:	85 c0                	test   %eax,%eax
444402:	0f 84 0f 01 00 00    	je     0x444517
444408:	8d 78 23             	lea    0x23(%eax),%edi
44440b:	83 e7 e0             	and    $0xffffffe0,%edi
44440e:	89 47 fc             	mov    %eax,-0x4(%edi)
444411:	eb 16                	jmp    0x444429
444413:	85 c0                	test   %eax,%eax
444415:	74 10                	je     0x444427
444417:	50                   	push   %eax
444418:	e8 25 cc 19 00       	call   0x5e1042
44441d:	83 c4 04             	add    $0x4,%esp
444420:	89 45 ec             	mov    %eax,-0x14(%ebp)
444423:	8b f8                	mov    %eax,%edi
444425:	eb 05                	jmp    0x44442c
444427:	33 ff                	xor    %edi,%edi
444429:	89 7d ec             	mov    %edi,-0x14(%ebp)
44442c:	8b 45 e8             	mov    -0x18(%ebp),%eax
44442f:	ff 75 e4             	push   -0x1c(%ebp)
444432:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
444439:	8d 04 40             	lea    (%eax,%eax,2),%eax
44443c:	8d 04 87             	lea    (%edi,%eax,4),%eax
44443f:	50                   	push   %eax
444440:	8d 70 0c             	lea    0xc(%eax),%esi
444443:	89 45 e8             	mov    %eax,-0x18(%ebp)
444446:	53                   	push   %ebx
444447:	89 75 d0             	mov    %esi,-0x30(%ebp)
44444a:	e8 a1 04 00 00       	call   0x4448f0
44444f:	8b 43 04             	mov    0x4(%ebx),%eax
444452:	83 c4 0c             	add    $0xc,%esp
444455:	8b 55 e0             	mov    -0x20(%ebp),%edx
444458:	8b 0b                	mov    (%ebx),%ecx
44445a:	3b d0                	cmp    %eax,%edx
44445c:	75 04                	jne    0x444462
44445e:	8b f7                	mov    %edi,%esi
444460:	eb 12                	jmp    0x444474
444462:	53                   	push   %ebx
444463:	57                   	push   %edi
444464:	52                   	push   %edx
444465:	51                   	push   %ecx
444466:	e8 25 03 00 00       	call   0x444790
44446b:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44446e:	83 c4 10             	add    $0x10,%esp
444471:	8b 43 04             	mov    0x4(%ebx),%eax
444474:	53                   	push   %ebx
444475:	56                   	push   %esi
444476:	50                   	push   %eax
444477:	51                   	push   %ecx
444478:	e8 13 03 00 00       	call   0x444790
44447d:	8b 33                	mov    (%ebx),%esi
44447f:	83 c4 10             	add    $0x10,%esp
444482:	85 f6                	test   %esi,%esi
444484:	74 59                	je     0x4444df
444486:	8b 43 04             	mov    0x4(%ebx),%eax
444489:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44448c:	3b f0                	cmp    %eax,%esi
44448e:	74 11                	je     0x4444a1
444490:	8b ce                	mov    %esi,%ecx
444492:	e8 69 0a 00 00       	call   0x444f00
444497:	83 c6 0c             	add    $0xc,%esi
44449a:	3b 75 e4             	cmp    -0x1c(%ebp),%esi
44449d:	75 f1                	jne    0x444490
44449f:	8b 33                	mov    (%ebx),%esi
4444a1:	8b 4b 08             	mov    0x8(%ebx),%ecx
4444a4:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
4444a9:	2b ce                	sub    %esi,%ecx
4444ab:	f7 e9                	imul   %ecx
4444ad:	d1 fa                	sar    $1,%edx
4444af:	8b c2                	mov    %edx,%eax
4444b1:	c1 e8 1f             	shr    $0x1f,%eax
4444b4:	03 c2                	add    %edx,%eax
4444b6:	8d 04 40             	lea    (%eax,%eax,2),%eax
4444b9:	c1 e0 02             	shl    $0x2,%eax
4444bc:	3d 00 10 00 00       	cmp    $0x1000,%eax
4444c1:	72 12                	jb     0x4444d5
4444c3:	8b 4e fc             	mov    -0x4(%esi),%ecx
4444c6:	83 c0 23             	add    $0x23,%eax
4444c9:	2b f1                	sub    %ecx,%esi
4444cb:	83 c6 fc             	add    $0xfffffffc,%esi
4444ce:	83 fe 1f             	cmp    $0x1f,%esi
4444d1:	77 44                	ja     0x444517
4444d3:	8b f1                	mov    %ecx,%esi
4444d5:	50                   	push   %eax
4444d6:	56                   	push   %esi
4444d7:	e8 96 cb 19 00       	call   0x5e1072
4444dc:	83 c4 08             	add    $0x8,%esp
4444df:	8b 45 d8             	mov    -0x28(%ebp),%eax
4444e2:	40                   	inc    %eax
4444e3:	89 3b                	mov    %edi,(%ebx)
4444e5:	8d 0c 40             	lea    (%eax,%eax,2),%ecx
4444e8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4444eb:	8d 0c 8f             	lea    (%edi,%ecx,4),%ecx
4444ee:	89 4b 04             	mov    %ecx,0x4(%ebx)
4444f1:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4444f4:	03 cf                	add    %edi,%ecx
4444f6:	89 4b 08             	mov    %ecx,0x8(%ebx)
4444f9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4444fc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
444503:	59                   	pop    %ecx
444504:	5f                   	pop    %edi
444505:	5e                   	pop    %esi