443fbe:	89 4d e8             	mov    %ecx,-0x18(%ebp)
443fc1:	3b d9                	cmp    %ecx,%ebx
443fc3:	73 1c                	jae    0x443fe1
443fc5:	8d 43 01             	lea    0x1(%ebx),%eax
443fc8:	89 46 10             	mov    %eax,0x10(%esi)
443fcb:	8b c6                	mov    %esi,%eax
443fcd:	83 f9 10             	cmp    $0x10,%ecx
443fd0:	72 02                	jb     0x443fd4
443fd2:	8b 06                	mov    (%esi),%eax
443fd4:	88 14 18             	mov    %dl,(%eax,%ebx,1)
443fd7:	c6 44 18 01 00       	movb   $0x0,0x1(%eax,%ebx,1)
443fdc:	e9 0c 01 00 00       	jmp    0x4440ed
443fe1:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
443fe6:	2b c3                	sub    %ebx,%eax
443fe8:	83 f8 01             	cmp    $0x1,%eax
443feb:	0f 82 22 01 00 00    	jb     0x444113
443ff1:	8d 7b 01             	lea    0x1(%ebx),%edi
443ff4:	83 cf 0f             	or     $0xf,%edi
443ff7:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
443ffd:	76 07                	jbe    0x444006
443fff:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
444004:	eb 1e                	jmp    0x444024
444006:	8b d1                	mov    %ecx,%edx
444008:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
44400d:	d1 ea                	shr    $1,%edx
44400f:	2b c2                	sub    %edx,%eax
444011:	3b c8                	cmp    %eax,%ecx
444013:	76 07                	jbe    0x44401c
444015:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
44401a:	eb 08                	jmp    0x444024
44401c:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
44401f:	3b f8                	cmp    %eax,%edi
444021:	0f 42 f8             	cmovb  %eax,%edi
444024:	33 c9                	xor    %ecx,%ecx
444026:	89 7d ec             	mov    %edi,-0x14(%ebp)
444029:	8b c7                	mov    %edi,%eax
44402b:	83 c0 01             	add    $0x1,%eax
44402e:	0f 92 c1             	setb   %cl
444031:	f7 d9                	neg    %ecx
444033:	0b c8                	or     %eax,%ecx
444035:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
44403b:	72 27                	jb     0x444064
44403d:	8d 41 23             	lea    0x23(%ecx),%eax
444040:	3b c1                	cmp    %ecx,%eax
444042:	0f 86 d0 00 00 00    	jbe    0x444118
444048:	50                   	push   %eax
444049:	e8 f4 cf 19 00       	call   0x5e1042
44404e:	83 c4 04             	add    $0x4,%esp
444051:	85 c0                	test   %eax,%eax
444053:	0f 84 c4 00 00 00    	je     0x44411d
444059:	8d 78 23             	lea    0x23(%eax),%edi
44405c:	83 e7 e0             	and    $0xffffffe0,%edi
44405f:	89 47 fc             	mov    %eax,-0x4(%edi)
444062:	eb 13                	jmp    0x444077
444064:	85 c9                	test   %ecx,%ecx
444066:	74 0d                	je     0x444075
444068:	51                   	push   %ecx
444069:	e8 d4 cf 19 00       	call   0x5e1042
44406e:	83 c4 04             	add    $0x4,%esp
444071:	8b f8                	mov    %eax,%edi
444073:	eb 02                	jmp    0x444077
444075:	33 ff                	xor    %edi,%edi
444077:	83 7d e8 10          	cmpl   $0x10,-0x18(%ebp)
44407b:	8d 43 01             	lea    0x1(%ebx),%eax
44407e:	89 46 10             	mov    %eax,0x10(%esi)
444081:	8b 45 ec             	mov    -0x14(%ebp),%eax
444084:	89 46 14             	mov    %eax,0x14(%esi)
444087:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
44408a:	89 45 ec             	mov    %eax,-0x14(%ebp)
44408d:	72 45                	jb     0x4440d4
44408f:	ff 75 e4             	push   -0x1c(%ebp)
444092:	8b 1e                	mov    (%esi),%ebx
444094:	53                   	push   %ebx
444095:	57                   	push   %edi
444096:	e8 65 ee 19 00       	call   0x5e2f00
44409b:	8b 45 ec             	mov    -0x14(%ebp),%eax
44409e:	83 c4 0c             	add    $0xc,%esp
4440a1:	8a 4d f3             	mov    -0xd(%ebp),%cl
4440a4:	88 08                	mov    %cl,(%eax)
4440a6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4440a9:	41                   	inc    %ecx
4440aa:	c6 40 01 00          	movb   $0x0,0x1(%eax)
4440ae:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4440b4:	72 12                	jb     0x4440c8
4440b6:	8b 53 fc             	mov    -0x4(%ebx),%edx
4440b9:	83 c1 23             	add    $0x23,%ecx
4440bc:	2b da                	sub    %edx,%ebx
4440be:	8d 43 fc             	lea    -0x4(%ebx),%eax
4440c1:	83 f8 1f             	cmp    $0x1f,%eax
4440c4:	77 57                	ja     0x44411d
4440c6:	8b da                	mov    %edx,%ebx
4440c8:	51                   	push   %ecx
4440c9:	53                   	push   %ebx
4440ca:	e8 a3 cf 19 00       	call   0x5e1072
4440cf:	83 c4 08             	add    $0x8,%esp
4440d2:	eb 17                	jmp    0x4440eb
4440d4:	53                   	push   %ebx
4440d5:	56                   	push   %esi
4440d6:	57                   	push   %edi
4440d7:	e8 24 ee 19 00       	call   0x5e2f00
4440dc:	8a 4d f3             	mov    -0xd(%ebp),%cl
4440df:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
4440e2:	83 c4 0c             	add    $0xc,%esp
4440e5:	88 08                	mov    %cl,(%eax)
4440e7:	c6 40 01 00          	movb   $0x0,0x1(%eax)
4440eb:	89 3e                	mov    %edi,(%esi)
4440ed:	8b 45 08             	mov    0x8(%ebp),%eax
4440f0:	83 c0 02             	add    $0x2,%eax
4440f3:	89 45 08             	mov    %eax,0x8(%ebp)
4440f6:	3b 45 0c             	cmp    0xc(%ebp),%eax
4440f9:	0f 85 b1 fe ff ff    	jne    0x443fb0
4440ff:	8b 4d f4             	mov    -0xc(%ebp),%ecx
444102:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
444109:	59                   	pop    %ecx
44410a:	5f                   	pop    %edi
44410b:	5e                   	pop    %esi
44410c:	5b                   	pop    %ebx
44410d:	8b e5                	mov    %ebp,%esp
44410f:	5d                   	pop    %ebp
444110:	c2 0c 00             	ret    $0xc
444113:	e8 18 0f 00 00       	call   0x445030
444118:	e8 c3 0d 00 00       	call   0x444ee0
44411d:	e8 0d 8e 1a 00       	call   0x5ecf2f
444122:	cc                   	int3
444123:	cc                   	int3
444124:	cc                   	int3
444125:	cc                   	int3
444126:	cc                   	int3
444127:	cc                   	int3
444128:	cc                   	int3
444129:	cc                   	int3
44412a:	cc                   	int3
44412b:	cc                   	int3
44412c:	cc                   	int3
44412d:	cc                   	int3
44412e:	cc                   	int3
44412f:	cc                   	int3
444130:	55                   	push   %ebp
444131:	8b ec                	mov    %esp,%ebp
444133:	83 ec 14             	sub    $0x14,%esp
444136:	8b 55 08             	mov    0x8(%ebp),%edx
444139:	56                   	push   %esi
44413a:	8b 75 0c             	mov    0xc(%ebp),%esi
44413d:	57                   	push   %edi
44413e:	8b f9                	mov    %ecx,%edi
444140:	89 75 ec             	mov    %esi,-0x14(%ebp)
444143:	2b f2                	sub    %edx,%esi
444145:	89 55 f4             	mov    %edx,-0xc(%ebp)
444148:	d1 fe                	sar    $1,%esi
44414a:	8b 57 10             	mov    0x10(%edi),%edx
44414d:	89 55 f8             	mov    %edx,-0x8(%ebp)
444150:	3b d6                	cmp    %esi,%edx
444152:	0f 87 e9 00 00 00    	ja     0x444241
444158:	53                   	push   %ebx
444159:	8b 5f 14             	mov    0x14(%edi),%ebx
44415c:	3b de                	cmp    %esi,%ebx
44415e:	0f 84 dc 00 00 00    	je     0x444240
444164:	0f 83 c7 00 00 00    	jae    0x444231
44416a:	8b ce                	mov    %esi,%ecx
44416c:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
444171:	2b ca                	sub    %edx,%ecx
444173:	2b c2                	sub    %edx,%eax
444175:	3b c1                	cmp    %ecx,%eax
444177:	0f 82 dc 00 00 00    	jb     0x444259
44417d:	8b d6                	mov    %esi,%edx
44417f:	83 ca 0f             	or     $0xf,%edx
444182:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
444188:	76 07                	jbe    0x444191
44418a:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
44418f:	eb 1e                	jmp    0x4441af
444191:	8b cb                	mov    %ebx,%ecx
444193:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
444198:	d1 e9                	shr    $1,%ecx
44419a:	2b c1                	sub    %ecx,%eax
44419c:	3b d8                	cmp    %eax,%ebx
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