44507f:	76 33                	jbe    0x4450b4
445081:	51                   	push   %ecx
445082:	e8 bb bf 19 00       	call   0x5e1042
445087:	8b c8                	mov    %eax,%ecx
445089:	83 c4 04             	add    $0x4,%esp
44508c:	85 c9                	test   %ecx,%ecx
44508e:	74 29                	je     0x4450b9
445090:	8d 41 23             	lea    0x23(%ecx),%eax
445093:	83 e0 e0             	and    $0xffffffe0,%eax
445096:	89 48 fc             	mov    %ecx,-0x4(%eax)
445099:	5d                   	pop    %ebp
44509a:	c2 04 00             	ret    $0x4
44509d:	85 c0                	test   %eax,%eax
44509f:	74 0d                	je     0x4450ae
4450a1:	50                   	push   %eax
4450a2:	e8 9b bf 19 00       	call   0x5e1042
4450a7:	83 c4 04             	add    $0x4,%esp
4450aa:	5d                   	pop    %ebp
4450ab:	c2 04 00             	ret    $0x4
4450ae:	33 c0                	xor    %eax,%eax
4450b0:	5d                   	pop    %ebp
4450b1:	c2 04 00             	ret    $0x4
4450b4:	e8 27 fe ff ff       	call   0x444ee0
4450b9:	e8 71 7e 1a 00       	call   0x5ecf2f
4450be:	cc                   	int3
4450bf:	cc                   	int3
4450c0:	55                   	push   %ebp
4450c1:	8b ec                	mov    %esp,%ebp
4450c3:	83 ec 18             	sub    $0x18,%esp
4450c6:	8b 55 08             	mov    0x8(%ebp),%edx
4450c9:	53                   	push   %ebx
4450ca:	56                   	push   %esi
4450cb:	8b f1                	mov    %ecx,%esi
4450cd:	89 55 f4             	mov    %edx,-0xc(%ebp)
4450d0:	57                   	push   %edi
4450d1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4450d4:	89 7d ec             	mov    %edi,-0x14(%ebp)
4450d7:	8b 4e 14             	mov    0x14(%esi),%ecx
4450da:	8b c1                	mov    %ecx,%eax
4450dc:	8b 5e 10             	mov    0x10(%esi),%ebx
4450df:	2b c3                	sub    %ebx,%eax
4450e1:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4450e4:	3b f8                	cmp    %eax,%edi
4450e6:	77 37                	ja     0x44511f
4450e8:	89 75 fc             	mov    %esi,-0x4(%ebp)
4450eb:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
4450ee:	89 46 10             	mov    %eax,0x10(%esi)
4450f1:	8b c6                	mov    %esi,%eax
4450f3:	83 f9 10             	cmp    $0x10,%ecx
4450f6:	72 05                	jb     0x4450fd
4450f8:	8b 06                	mov    (%esi),%eax
4450fa:	89 45 fc             	mov    %eax,-0x4(%ebp)
4450fd:	57                   	push   %edi
4450fe:	52                   	push   %edx
4450ff:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
445102:	51                   	push   %ecx
445103:	e8 78 e3 19 00       	call   0x5e3480
445108:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44510b:	83 c4 0c             	add    $0xc,%esp
44510e:	03 cf                	add    %edi,%ecx
445110:	8b c6                	mov    %esi,%eax
445112:	5f                   	pop    %edi
445113:	5e                   	pop    %esi
445114:	c6 04 19 00          	movb   $0x0,(%ecx,%ebx,1)
445118:	5b                   	pop    %ebx
445119:	8b e5                	mov    %ebp,%esp
44511b:	5d                   	pop    %ebp
44511c:	c2 08 00             	ret    $0x8
44511f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
445124:	2b c3                	sub    %ebx,%eax
445126:	3b c7                	cmp    %edi,%eax
445128:	0f 82 f8 00 00 00    	jb     0x445226
44512e:	8d 14 1f             	lea    (%edi,%ebx,1),%edx
445131:	83 ca 0f             	or     $0xf,%edx
445134:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
44513a:	76 07                	jbe    0x445143
44513c:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
445141:	eb 24                	jmp    0x445167
445143:	8b c1                	mov    %ecx,%eax
445145:	d1 e8                	shr    $1,%eax
445147:	89 45 fc             	mov    %eax,-0x4(%ebp)
44514a:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
44514f:	2b 45 fc             	sub    -0x4(%ebp),%eax
445152:	3b c8                	cmp    %eax,%ecx
445154:	76 07                	jbe    0x44515d
445156:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
44515b:	eb 0a                	jmp    0x445167
44515d:	8b 45 fc             	mov    -0x4(%ebp),%eax
445160:	03 c1                	add    %ecx,%eax
445162:	3b d0                	cmp    %eax,%edx
445164:	0f 42 d0             	cmovb  %eax,%edx
445167:	33 c9                	xor    %ecx,%ecx
445169:	89 55 fc             	mov    %edx,-0x4(%ebp)
44516c:	83 c2 01             	add    $0x1,%edx
44516f:	0f 92 c1             	setb   %cl
445172:	f7 d9                	neg    %ecx
445174:	0b ca                	or     %edx,%ecx
445176:	51                   	push   %ecx
445177:	8b ce                	mov    %esi,%ecx
445179:	e8 d2 42 ff ff       	call   0x439450
44517e:	8d 0c 1f             	lea    (%edi,%ebx,1),%ecx
445181:	89 45 e8             	mov    %eax,-0x18(%ebp)
445184:	89 4e 10             	mov    %ecx,0x10(%esi)
445187:	8b 4d fc             	mov    -0x4(%ebp),%ecx
44518a:	89 4e 14             	mov    %ecx,0x14(%esi)
44518d:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
445190:	89 4d fc             	mov    %ecx,-0x4(%ebp)
445193:	8d 0c 07             	lea    (%edi,%eax,1),%ecx
445196:	03 cb                	add    %ebx,%ecx
445198:	83 7d f8 10          	cmpl   $0x10,-0x8(%ebp)
44519c:	89 4d f0             	mov    %ecx,-0x10(%ebp)
44519f:	53                   	push   %ebx
4451a0:	72 58                	jb     0x4451fa
4451a2:	8b 3e                	mov    (%esi),%edi
4451a4:	57                   	push   %edi
4451a5:	50                   	push   %eax
4451a6:	e8 55 dd 19 00       	call   0x5e2f00
4451ab:	ff 75 ec             	push   -0x14(%ebp)
4451ae:	ff 75 f4             	push   -0xc(%ebp)
4451b1:	ff 75 fc             	push   -0x4(%ebp)
4451b4:	e8 47 dd 19 00       	call   0x5e2f00
4451b9:	8b 45 f0             	mov    -0x10(%ebp),%eax
4451bc:	83 c4 18             	add    $0x18,%esp
4451bf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4451c2:	41                   	inc    %ecx
4451c3:	c6 00 00             	movb   $0x0,(%eax)
4451c6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4451cc:	72 12                	jb     0x4451e0
4451ce:	8b 57 fc             	mov    -0x4(%edi),%edx
4451d1:	83 c1 23             	add    $0x23,%ecx
4451d4:	2b fa                	sub    %edx,%edi
4451d6:	8d 47 fc             	lea    -0x4(%edi),%eax
4451d9:	83 f8 1f             	cmp    $0x1f,%eax
4451dc:	77 4d                	ja     0x44522b
4451de:	8b fa                	mov    %edx,%edi
4451e0:	51                   	push   %ecx
4451e1:	57                   	push   %edi
4451e2:	e8 8b be 19 00       	call   0x5e1072
4451e7:	8b 45 e8             	mov    -0x18(%ebp),%eax
4451ea:	83 c4 08             	add    $0x8,%esp
4451ed:	89 06                	mov    %eax,(%esi)
4451ef:	8b c6                	mov    %esi,%eax
4451f1:	5f                   	pop    %edi
4451f2:	5e                   	pop    %esi
4451f3:	5b                   	pop    %ebx
4451f4:	8b e5                	mov    %ebp,%esp
4451f6:	5d                   	pop    %ebp
4451f7:	c2 08 00             	ret    $0x8
4451fa:	56                   	push   %esi
4451fb:	50                   	push   %eax
4451fc:	e8 ff dc 19 00       	call   0x5e2f00
445201:	57                   	push   %edi
445202:	ff 75 f4             	push   -0xc(%ebp)
445205:	ff 75 fc             	push   -0x4(%ebp)
445208:	e8 f3 dc 19 00       	call   0x5e2f00
44520d:	8b 45 f0             	mov    -0x10(%ebp),%eax
445210:	83 c4 18             	add    $0x18,%esp
445213:	c6 00 00             	movb   $0x0,(%eax)
445216:	8b 45 e8             	mov    -0x18(%ebp),%eax
445219:	89 06                	mov    %eax,(%esi)
44521b:	8b c6                	mov    %esi,%eax
44521d:	5f                   	pop    %edi
44521e:	5e                   	pop    %esi
44521f:	5b                   	pop    %ebx
445220:	8b e5                	mov    %ebp,%esp
445222:	5d                   	pop    %ebp
445223:	c2 08 00             	ret    $0x8
445226:	e8 05 fe ff ff       	call   0x445030
44522b:	e8 ff 7c 1a 00       	call   0x5ecf2f
445230:	cc                   	int3
445231:	cc                   	int3
445232:	cc                   	int3
445233:	cc                   	int3
445234:	cc                   	int3
445235:	cc                   	int3
445236:	cc                   	int3
445237:	cc                   	int3
445238:	cc                   	int3
445239:	cc                   	int3
44523a:	cc                   	int3
44523b:	cc                   	int3
44523c:	cc                   	int3
44523d:	cc                   	int3
44523e:	cc                   	int3
44523f:	cc                   	int3
445240:	55                   	push   %ebp
445241:	8b ec                	mov    %esp,%ebp
445243:	83 ec 0c             	sub    $0xc,%esp
445246:	8b 45 08             	mov    0x8(%ebp),%eax
445249:	53                   	push   %ebx
44524a:	56                   	push   %esi
44524b:	8b f1                	mov    %ecx,%esi
44524d:	89 45 fc             	mov    %eax,-0x4(%ebp)
445250:	57                   	push   %edi
445251:	8b 7d 0c             	mov    0xc(%ebp),%edi
445254:	8b 4e 14             	mov    0x14(%esi),%ecx
445257:	89 4d f4             	mov    %ecx,-0xc(%ebp)
44525a:	3b f9                	cmp    %ecx,%edi
44525c:	77 26                	ja     0x445284
44525e:	8b de                	mov    %esi,%ebx
445260:	83 f9 10             	cmp    $0x10,%ecx
445263:	72 02                	jb     0x445267
445265:	8b 1e                	mov    (%esi),%ebx
445267:	57                   	push   %edi
445268:	50                   	push   %eax
445269:	53                   	push   %ebx
44526a:	89 7e 10             	mov    %edi,0x10(%esi)
44526d:	e8 0e e2 19 00       	call   0x5e3480
445272:	83 c4 0c             	add    $0xc,%esp
445275:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
445279:	8b c6                	mov    %esi,%eax
44527b:	5f                   	pop    %edi
44527c:	5e                   	pop    %esi
44527d:	5b                   	pop    %ebx
44527e:	8b e5                	mov    %ebp,%esp
445280:	5d                   	pop    %ebp
445281:	c2 08 00             	ret    $0x8
445284:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
44528a:	0f 87 a6 00 00 00    	ja     0x445336
445290:	8b df                	mov    %edi,%ebx
445292:	83 cb 0f             	or     $0xf,%ebx
445295:	81 fb ff ff ff 7f    	cmp    $0x7fffffff,%ebx
44529b:	76 07                	jbe    0x4452a4
44529d:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4452a2:	eb 1e                	jmp    0x4452c2
4452a4:	8b d1                	mov    %ecx,%edx
4452a6:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
4452ab:	d1 ea                	shr    $1,%edx
4452ad:	2b c2                	sub    %edx,%eax
4452af:	3b c8                	cmp    %eax,%ecx
4452b1:	76 07                	jbe    0x4452ba
4452b3:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
4452b8:	eb 08                	jmp    0x4452c2
4452ba:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
4452bd:	3b d8                	cmp    %eax,%ebx
4452bf:	0f 42 d8             	cmovb  %eax,%ebx
4452c2:	33 c9                	xor    %ecx,%ecx
4452c4:	8b c3                	mov    %ebx,%eax
4452c6:	83 c0 01             	add    $0x1,%eax
4452c9:	0f 92 c1             	setb   %cl
4452cc:	f7 d9                	neg    %ecx
4452ce:	0b c8                	or     %eax,%ecx
4452d0:	51                   	push   %ecx
4452d1:	8b ce                	mov    %esi,%ecx
4452d3:	e8 78 41 ff ff       	call   0x439450
4452d8:	57                   	push   %edi
4452d9:	ff 75 fc             	push   -0x4(%ebp)
4452dc:	89 45 f8             	mov    %eax,-0x8(%ebp)
4452df:	50                   	push   %eax
4452e0:	89 7e 10             	mov    %edi,0x10(%esi)
4452e3:	89 5e 14             	mov    %ebx,0x14(%esi)
4452e6:	e8 15 dc 19 00       	call   0x5e2f00
4452eb:	8b 5d f8             	mov    -0x8(%ebp),%ebx
4452ee:	83 c4 0c             	add    $0xc,%esp
4452f1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4452f4:	c6 04 1f 00          	movb   $0x0,(%edi,%ebx,1)
4452f8:	83 f9 10             	cmp    $0x10,%ecx
4452fb:	72 27                	jb     0x445324
4452fd:	8b 06                	mov    (%esi),%eax
4452ff:	41                   	inc    %ecx
445300:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
445306:	72 12                	jb     0x44531a
445308:	8b 50 fc             	mov    -0x4(%eax),%edx
44530b:	83 c1 23             	add    $0x23,%ecx
44530e:	2b c2                	sub    %edx,%eax
445310:	83 c0 fc             	add    $0xfffffffc,%eax
445313:	83 f8 1f             	cmp    $0x1f,%eax
445316:	77 19                	ja     0x445331
445318:	8b c2                	mov    %edx,%eax
44531a:	51                   	push   %ecx
44531b:	50                   	push   %eax
44531c:	e8 51 bd 19 00       	call   0x5e1072
445321:	83 c4 08             	add    $0x8,%esp
445324:	5f                   	pop    %edi
445325:	89 1e                	mov    %ebx,(%esi)
445327:	8b c6                	mov    %esi,%eax
445329:	5e                   	pop    %esi
44532a:	5b                   	pop    %ebx
44532b:	8b e5                	mov    %ebp,%esp
44532d:	5d                   	pop    %ebp
44532e:	c2 08 00             	ret    $0x8
445331:	e8 f9 7b 1a 00       	call   0x5ecf2f
445336:	e8 f5 fc ff ff       	call   0x445030
44533b:	cc                   	int3
44533c:	cc                   	int3
44533d:	cc                   	int3
44533e:	cc                   	int3
44533f:	cc                   	int3
445340:	55                   	push   %ebp
445341:	8b ec                	mov    %esp,%ebp
445343:	83 ec 0c             	sub    $0xc,%esp
445346:	8b 45 0c             	mov    0xc(%ebp),%eax
445349:	8b 55 08             	mov    0x8(%ebp),%edx
44534c:	53                   	push   %ebx
44534d:	56                   	push   %esi
44534e:	57                   	push   %edi
44534f:	8b f9                	mov    %ecx,%edi
445351:	89 55 f4             	mov    %edx,-0xc(%ebp)
445354:	89 45 f8             	mov    %eax,-0x8(%ebp)
445357:	8b 5f 14             	mov    0x14(%edi),%ebx
44535a:	3b c3                	cmp    %ebx,%eax
44535c:	77 32                	ja     0x445390
44535e:	89 7d fc             	mov    %edi,-0x4(%ebp)
445361:	83 fb 08             	cmp    $0x8,%ebx
445364:	72 05                	jb     0x44536b
445366:	8b 0f                	mov    (%edi),%ecx
445368:	89 4d fc             	mov    %ecx,-0x4(%ebp)
44536b:	8d 34 00             	lea    (%eax,%eax,1),%esi
44536e:	89 47 10             	mov    %eax,0x10(%edi)
445371:	56                   	push   %esi
445372:	52                   	push   %edx
445373:	51                   	push   %ecx
445374:	e8 07 e1 19 00       	call   0x5e3480
445379:	8b 45 fc             	mov    -0x4(%ebp),%eax
44537c:	83 c4 0c             	add    $0xc,%esp
44537f:	33 c9                	xor    %ecx,%ecx
445381:	66 89 0c 06          	mov    %cx,(%esi,%eax,1)
445385:	8b c7                	mov    %edi,%eax
445387:	5f                   	pop    %edi
445388:	5e                   	pop    %esi
445389:	5b                   	pop    %ebx
44538a:	8b e5                	mov    %ebp,%esp
44538c:	5d                   	pop    %ebp
44538d:	c2 08 00             	ret    $0x8
445390:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
445395:	0f 87 a9 00 00 00    	ja     0x445444
44539b:	8b f0                	mov    %eax,%esi
44539d:	83 ce 07             	or     $0x7,%esi
4453a0:	81 fe fe ff ff 7f    	cmp    $0x7ffffffe,%esi
4453a6:	76 07                	jbe    0x4453af
4453a8:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
4453ad:	eb 1e                	jmp    0x4453cd
4453af:	8b cb                	mov    %ebx,%ecx
4453b1:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
4453b6:	d1 e9                	shr    $1,%ecx
4453b8:	2b c1                	sub    %ecx,%eax
4453ba:	3b d8                	cmp    %eax,%ebx
4453bc:	76 07                	jbe    0x4453c5
4453be:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
4453c3:	eb 08                	jmp    0x4453cd
4453c5:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
4453c8:	3b f0                	cmp    %eax,%esi
4453ca:	0f 42 f0             	cmovb  %eax,%esi
4453cd:	8d 46 01             	lea    0x1(%esi),%eax
4453d0:	8b cf                	mov    %edi,%ecx
4453d2:	50                   	push   %eax
4453d3:	e8 18 40 ff ff       	call   0x4393f0
4453d8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4453db:	89 77 14             	mov    %esi,0x14(%edi)
4453de:	89 45 fc             	mov    %eax,-0x4(%ebp)