444fa8:	8b c6                	mov    %esi,%eax
444faa:	31 95 14 f2 ff ff    	xor    %edx,-0xdec(%ebp)
444fb0:	2b 85 20 f2 ff ff    	sub    -0xde0(%ebp),%eax
444fb6:	8b 95 10 f2 ff ff    	mov    -0xdf0(%ebp),%edx
444fbc:	c1 c0 03             	rol    $0x3,%eax
444fbf:	0f af d0             	imul   %eax,%edx
444fc2:	8b c6                	mov    %esi,%eax
444fc4:	c1 e8 0f             	shr    $0xf,%eax
444fc7:	33 d0                	xor    %eax,%edx
444fc9:	8b 85 14 f2 ff ff    	mov    -0xdec(%ebp),%eax
444fcf:	33 c2                	xor    %edx,%eax
444fd1:	8b d0                	mov    %eax,%edx
444fd3:	89 85 14 f2 ff ff    	mov    %eax,-0xdec(%ebp)
444fd9:	2b 95 20 f2 ff ff    	sub    -0xde0(%ebp),%edx
444fdf:	0f af 95 f8 f1 ff ff 	imul   -0xe08(%ebp),%edx
444fe6:	c1 e8 0d             	shr    $0xd,%eax
444fe9:	2b d0                	sub    %eax,%edx
444feb:	8b 85 20 f2 ff ff    	mov    -0xde0(%ebp),%eax
444ff1:	33 f2                	xor    %edx,%esi
444ff3:	89 b5 1c f2 ff ff    	mov    %esi,-0xde4(%ebp)
444ff9:	be 58 4a b5 b1       	mov    $0xb1b54a58,%esi
444ffe:	8b 95 1c f2 ff ff    	mov    -0xde4(%ebp),%edx
445004:	2b f2                	sub    %edx,%esi
445006:	c1 ce 09             	ror    $0x9,%esi
445009:	0f af c6             	imul   %esi,%eax
44500c:	8b b5 1c f2 ff ff    	mov    -0xde4(%ebp),%esi
445012:	c1 ca 0b             	ror    $0xb,%edx
445015:	33 d0                	xor    %eax,%edx
445017:	8b 85 14 f2 ff ff    	mov    -0xdec(%ebp),%eax
44501d:	33 c2                	xor    %edx,%eax
44501f:	89 85 14 f2 ff ff    	mov    %eax,-0xdec(%ebp)
445025:	2d 58 4a b5 b1       	sub    $0xb1b54a58,%eax
44502a:	2b 85 ec f1 ff ff    	sub    -0xe14(%ebp),%eax
445030:	33 f0                	xor    %eax,%esi
445032:	8b 85 f8 f1 ff ff    	mov    -0xe08(%ebp),%eax
445038:	8b d6                	mov    %esi,%edx
44503a:	89 b5 1c f2 ff ff    	mov    %esi,-0xde4(%ebp)
445040:	c1 ca 07             	ror    $0x7,%edx
445043:	33 c6                	xor    %esi,%eax
445045:	0f af 85 10 f2 ff ff 	imul   -0xdf0(%ebp),%eax
44504c:	8b b5 ec f1 ff ff    	mov    -0xe14(%ebp),%esi
445052:	2b c2                	sub    %edx,%eax
445054:	8b 95 14 f2 ff ff    	mov    -0xdec(%ebp),%edx
44505a:	33 d0                	xor    %eax,%edx
44505c:	8b 85 f8 f1 ff ff    	mov    -0xe08(%ebp),%eax
445062:	33 f2                	xor    %edx,%esi
445064:	89 95 14 f2 ff ff    	mov    %edx,-0xdec(%ebp)
44506a:	c1 c6 04             	rol    $0x4,%esi
44506d:	0f af c6             	imul   %esi,%eax
445070:	be 58 4a b5 b1       	mov    $0xb1b54a58,%esi
445075:	c1 ca 10             	ror    $0x10,%edx
445078:	2b c2                	sub    %edx,%eax
44507a:	8b 95 1c f2 ff ff    	mov    -0xde4(%ebp),%edx
445080:	33 d0                	xor    %eax,%edx
445082:	8b 85 20 f2 ff ff    	mov    -0xde0(%ebp),%eax
445088:	2b f2                	sub    %edx,%esi
44508a:	89 95 1c f2 ff ff    	mov    %edx,-0xde4(%ebp)
445090:	c1 ce 0a             	ror    $0xa,%esi
445093:	0f af c6             	imul   %esi,%eax
445096:	c1 ca 04             	ror    $0x4,%edx
445099:	03 d0                	add    %eax,%edx
44509b:	8b 85 14 f2 ff ff    	mov    -0xdec(%ebp),%eax
4450a1:	33 c2                	xor    %edx,%eax
4450a3:	8b f0                	mov    %eax,%esi
4450a5:	89 85 14 f2 ff ff    	mov    %eax,-0xdec(%ebp)
4450ab:	8b d0                	mov    %eax,%edx
4450ad:	81 ee 58 4a b5 b1    	sub    $0xb1b54a58,%esi
4450b3:	8b 85 ec f1 ff ff    	mov    -0xe14(%ebp),%eax
4450b9:	c1 ce 04             	ror    $0x4,%esi
4450bc:	0f af c6             	imul   %esi,%eax
4450bf:	be 17 cb 1e c8       	mov    $0xc81ecb17,%esi
4450c4:	c1 ca 09             	ror    $0x9,%edx
4450c7:	33 d0                	xor    %eax,%edx
4450c9:	8b 85 1c f2 ff ff    	mov    -0xde4(%ebp),%eax
4450cf:	33 c2                	xor    %edx,%eax
4450d1:	33 f0                	xor    %eax,%esi
4450d3:	89 85 1c f2 ff ff    	mov    %eax,-0xde4(%ebp)
4450d9:	8b d0                	mov    %eax,%edx
4450db:	c1 c6 08             	rol    $0x8,%esi
4450de:	8b 85 10 f2 ff ff    	mov    -0xdf0(%ebp),%eax
4450e4:	0f af c6             	imul   %esi,%eax
4450e7:	be 17 cb 1e c8       	mov    $0xc81ecb17,%esi
4450ec:	c1 c2 02             	rol    $0x2,%edx
4450ef:	2b c2                	sub    %edx,%eax
4450f1:	8b 95 14 f2 ff ff    	mov    -0xdec(%ebp),%edx
4450f7:	33 d0                	xor    %eax,%edx
4450f9:	8b 85 f8 f1 ff ff    	mov    -0xe08(%ebp),%eax
4450ff:	2b f2                	sub    %edx,%esi
445101:	89 95 14 f2 ff ff    	mov    %edx,-0xdec(%ebp)
445107:	c1 ce 0b             	ror    $0xb,%esi
44510a:	0f af c6             	imul   %esi,%eax
44510d:	8b b5 1c f2 ff ff    	mov    -0xde4(%ebp),%esi
445113:	c1 ca 0c             	ror    $0xc,%edx
445116:	2b c2                	sub    %edx,%eax
445118:	8b 95 f8 f1 ff ff    	mov    -0xe08(%ebp),%edx
44511e:	33 f0                	xor    %eax,%esi
445120:	33 d6                	xor    %esi,%edx
445122:	8b c6                	mov    %esi,%eax
445124:	0f af 95 20 f2 ff ff 	imul   -0xde0(%ebp),%edx
44512b:	c1 e8 08             	shr    $0x8,%eax
44512e:	33 d0                	xor    %eax,%edx
445130:	b8 17 cb 1e c8       	mov    $0xc81ecb17,%eax
445135:	31 95 14 f2 ff ff    	xor    %edx,-0xdec(%ebp)
44513b:	35 58 4a b5 b1       	xor    $0xb1b54a58,%eax
445140:	8b 95 14 f2 ff ff    	mov    -0xdec(%ebp),%edx
445146:	33 c6                	xor    %esi,%eax
445148:	8b b5 8c f1 ff ff    	mov    -0xe74(%ebp),%esi
44514e:	33 c2                	xor    %edx,%eax
445150:	33 95 f0 f1 ff ff    	xor    -0xe10(%ebp),%edx
445156:	33 85 88 f1 ff ff    	xor    -0xe78(%ebp),%eax
44515c:	88 56 fc             	mov    %dl,-0x4(%esi)
44515f:	88 06                	mov    %al,(%esi)
445161:	c1 ca 08             	ror    $0x8,%edx
445164:	88 56 fb             	mov    %dl,-0x5(%esi)
445167:	c1 c8 08             	ror    $0x8,%eax
44516a:	c1 ca 08             	ror    $0x8,%edx
44516d:	88 46 ff             	mov    %al,-0x1(%esi)
445170:	c1 c8 08             	ror    $0x8,%eax
445173:	88 56 fa             	mov    %dl,-0x6(%esi)
445176:	c1 ca 08             	ror    $0x8,%edx
445179:	88 46 fe             	mov    %al,-0x2(%esi)
44517c:	c1 c8 08             	ror    $0x8,%eax
44517f:	88 56 f9             	mov    %dl,-0x7(%esi)
445182:	88 46 fd             	mov    %al,-0x3(%esi)
445185:	83 c6 08             	add    $0x8,%esi
445188:	c1 c8 08             	ror    $0x8,%eax
44518b:	c1 ca 08             	ror    $0x8,%edx
44518e:	83 ad c8 f1 ff ff 01 	subl   $0x1,-0xe38(%ebp)
445195:	89 85 1c f2 ff ff    	mov    %eax,-0xde4(%ebp)
44519b:	8b 85 d8 f1 ff ff    	mov    -0xe28(%ebp),%eax
4451a1:	89 bd 88 f1 ff ff    	mov    %edi,-0xe78(%ebp)
4451a7:	8b bd e0 f1 ff ff    	mov    -0xe20(%ebp),%edi
4451ad:	89 b5 8c f1 ff ff    	mov    %esi,-0xe74(%ebp)
4451b3:	8b b5 1c f2 ff ff    	mov    -0xde4(%ebp),%esi
4451b9:	89 95 14 f2 ff ff    	mov    %edx,-0xdec(%ebp)
4451bf:	89 85 f0 f1 ff ff    	mov    %eax,-0xe10(%ebp)
4451c5:	0f 85 fe fb ff ff    	jne    0x444dc9
4451cb:	8b b5 84 f1 ff ff    	mov    -0xe7c(%ebp),%esi
4451d1:	8b bd bc f1 ff ff    	mov    -0xe44(%ebp),%edi
4451d7:	0f b6 c1             	movzbl %cl,%eax
4451da:	99                   	cltd
4451db:	89 04 37             	mov    %eax,(%edi,%esi,1)
4451de:	89 54 37 04          	mov    %edx,0x4(%edi,%esi,1)
4451e2:	6a 18                	push   $0x18
4451e4:	6a 08                	push   $0x8
4451e6:	ff 15 74 72 4a 00    	call   *0x4a7274
4451ec:	50                   	push   %eax
4451ed:	ff 15 84 72 4a 00    	call   *0x4a7284
4451f3:	8b f8                	mov    %eax,%edi
4451f5:	89 bd d8 f1 ff ff    	mov    %edi,-0xe28(%ebp)
4451fb:	85 ff                	test   %edi,%edi
4451fd:	75 0a                	jne    0x445209
4451ff:	be 17 00 00 c0       	mov    $0xc0000017,%esi
445204:	e9 13 01 00 00       	jmp    0x44531c
445209:	8b b5 08 f2 ff ff    	mov    -0xdf8(%ebp),%esi
44520f:	56                   	push   %esi
445210:	6a 08                	push   $0x8
445212:	89 37                	mov    %esi,(%edi)
445214:	ff 15 74 72 4a 00    	call   *0x4a7274
44521a:	50                   	push   %eax
44521b:	ff 15 84 72 4a 00    	call   *0x4a7284
445221:	85 c0                	test   %eax,%eax
445223:	75 0c                	jne    0x445231
445225:	be 17 00 00 c0       	mov    $0xc0000017,%esi
44522a:	33 d2                	xor    %edx,%edx
44522c:	e9 84 00 00 00       	jmp    0x4452b5
445231:	89 47 04             	mov    %eax,0x4(%edi)
445234:	56                   	push   %esi
445235:	ff b5 bc f1 ff ff    	push   -0xe44(%ebp)
44523b:	50                   	push   %eax
44523c:	e8 ec bd 04 00       	call   0x49102d
445241:	83 c4 0c             	add    $0xc,%esp
445244:	b8 a0 00 00 00       	mov    $0xa0,%eax
445249:	89 47 08             	mov    %eax,0x8(%edi)
44524c:	50                   	push   %eax
44524d:	6a 08                	push   $0x8
44524f:	ff 15 74 72 4a 00    	call   *0x4a7274
445255:	50                   	push   %eax
445256:	ff 15 84 72 4a 00    	call   *0x4a7284
44525c:	85 c0                	test   %eax,%eax
44525e:	74 c5                	je     0x445225
445260:	89 47 0c             	mov    %eax,0xc(%edi)
445263:	6a 28                	push   $0x28
445265:	59                   	pop    %ecx
445266:	8b f8                	mov    %eax,%edi
445268:	be 78 3f 4a 00       	mov    $0x4a3f78,%esi
44526d:	6a 08                	push   $0x8
44526f:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
445271:	8b bd d8 f1 ff ff    	mov    -0xe28(%ebp),%edi
445277:	58                   	pop    %eax
445278:	50                   	push   %eax
445279:	50                   	push   %eax
44527a:	89 47 10             	mov    %eax,0x10(%edi)
44527d:	ff 15 74 72 4a 00    	call   *0x4a7274
445283:	50                   	push   %eax
445284:	ff 15 84 72 4a 00    	call   *0x4a7284
44528a:	8b c8                	mov    %eax,%ecx
44528c:	33 d2                	xor    %edx,%edx
44528e:	85 c9                	test   %ecx,%ecx
445290:	75 07                	jne    0x445299
445292:	be 17 00 00 c0       	mov    $0xc0000017,%esi
445297:	eb 1c                	jmp    0x4452b5
445299:	89 4f 14             	mov    %ecx,0x14(%edi)
44529c:	8b f2                	mov    %edx,%esi
44529e:	a1 18 40 4a 00       	mov    0x4a4018,%eax
4452a3:	89 01                	mov    %eax,(%ecx)
4452a5:	a1 1c 40 4a 00       	mov    0x4a401c,%eax
4452aa:	89 bd 9c f1 ff ff    	mov    %edi,-0xe64(%ebp)
4452b0:	8b fa                	mov    %edx,%edi
4452b2:	89 41 04             	mov    %eax,0x4(%ecx)
4452b5:	85 ff                	test   %edi,%edi
4452b7:	74 63                	je     0x44531c
4452b9:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
4452bd:	74 16                	je     0x4452d5
4452bf:	ff 77 04             	push   0x4(%edi)
4452c2:	52                   	push   %edx
4452c3:	ff 15 74 72 4a 00    	call   *0x4a7274
4452c9:	50                   	push   %eax
4452ca:	ff 15 94 72 4a 00    	call   *0x4a7294
4452d0:	33 d2                	xor    %edx,%edx
4452d2:	89 57 04             	mov    %edx,0x4(%edi)
4452d5:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
4452d9:	74 16                	je     0x4452f1
4452db:	ff 77 0c             	push   0xc(%edi)
4452de:	52                   	push   %edx
4452df:	ff 15 74 72 4a 00    	call   *0x4a7274
4452e5:	50                   	push   %eax
4452e6:	ff 15 94 72 4a 00    	call   *0x4a7294
4452ec:	33 d2                	xor    %edx,%edx
4452ee:	89 57 0c             	mov    %edx,0xc(%edi)
4452f1:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
4452f5:	74 16                	je     0x44530d
4452f7:	ff 77 14             	push   0x14(%edi)
4452fa:	52                   	push   %edx
4452fb:	ff 15 74 72 4a 00    	call   *0x4a7274
445301:	50                   	push   %eax
445302:	ff 15 94 72 4a 00    	call   *0x4a7294
445308:	33 d2                	xor    %edx,%edx
44530a:	89 57 14             	mov    %edx,0x14(%edi)
44530d:	57                   	push   %edi
44530e:	52                   	push   %edx
44530f:	ff 15 74 72 4a 00    	call   *0x4a7274
445315:	50                   	push   %eax
445316:	ff 15 94 72 4a 00    	call   *0x4a7294
44531c:	85 f6                	test   %esi,%esi
44531e:	78 12                	js     0x445332
445320:	8b 85 9c f1 ff ff    	mov    -0xe64(%ebp),%eax
445326:	89 85 0c f2 ff ff    	mov    %eax,-0xdf4(%ebp)
44532c:	33 c0                	xor    %eax,%eax
44532e:	8b f8                	mov    %eax,%edi
445330:	eb 08                	jmp    0x44533a
445332:	8b bd 9c f1 ff ff    	mov    -0xe64(%ebp),%edi
445338:	33 c0                	xor    %eax,%eax
44533a:	ff b5 bc f1 ff ff    	push   -0xe44(%ebp)
445340:	50                   	push   %eax
445341:	ff 15 74 72 4a 00    	call   *0x4a7274
445347:	50                   	push   %eax
445348:	ff 15 94 72 4a 00    	call   *0x4a7294
44534e:	85 ff                	test   %edi,%edi
445350:	74 6b                	je     0x4453bd
445352:	33 c0                	xor    %eax,%eax
445354:	39 47 04             	cmp    %eax,0x4(%edi)
445357:	74 16                	je     0x44536f
445359:	ff 77 04             	push   0x4(%edi)
44535c:	50                   	push   %eax
44535d:	ff 15 74 72 4a 00    	call   *0x4a7274
445363:	50                   	push   %eax
445364:	ff 15 94 72 4a 00    	call   *0x4a7294
44536a:	33 c0                	xor    %eax,%eax
44536c:	89 47 04             	mov    %eax,0x4(%edi)
44536f:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
445373:	74 16                	je     0x44538b
445375:	ff 77 0c             	push   0xc(%edi)
445378:	50                   	push   %eax
445379:	ff 15 74 72 4a 00    	call   *0x4a7274
44537f:	50                   	push   %eax
445380:	ff 15 94 72 4a 00    	call   *0x4a7294
445386:	33 c0                	xor    %eax,%eax
445388:	89 47 0c             	mov    %eax,0xc(%edi)
44538b:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
44538f:	74 16                	je     0x4453a7
445391:	ff 77 14             	push   0x14(%edi)
445394:	50                   	push   %eax
445395:	ff 15 74 72 4a 00    	call   *0x4a7274
44539b:	50                   	push   %eax
44539c:	ff 15 94 72 4a 00    	call   *0x4a7294
4453a2:	33 c0                	xor    %eax,%eax
4453a4:	89 47 14             	mov    %eax,0x14(%edi)
4453a7:	57                   	push   %edi
4453a8:	50                   	push   %eax
4453a9:	ff 15 74 72 4a 00    	call   *0x4a7274
4453af:	50                   	push   %eax
4453b0:	ff 15 94 72 4a 00    	call   *0x4a7294
4453b6:	eb 05                	jmp    0x4453bd
4453b8:	be 01 00 00 c0       	mov    $0xc0000001,%esi
4453bd:	81 ce 00 00 00 10    	or     $0x10000000,%esi
4453c3:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
4453c9:	0f 8c 25 0f 00 00    	jl     0x4462f4
4453cf:	8b 95 0c f2 ff ff    	mov    -0xdf4(%ebp),%edx
4453d5:	8b 02                	mov    (%edx),%eax
4453d7:	8b 72 10             	mov    0x10(%edx),%esi
4453da:	83 c0 04             	add    $0x4,%eax
4453dd:	8b 4a 08             	mov    0x8(%edx),%ecx
4453e0:	83 f8 04             	cmp    $0x4,%eax
4453e3:	0f 82 18 01 00 00    	jb     0x445501
4453e9:	8d 50 04             	lea    0x4(%eax),%edx
4453ec:	3b d0                	cmp    %eax,%edx
4453ee:	0f 82 0d 01 00 00    	jb     0x445501
4453f4:	03 ca                	add    %edx,%ecx
4453f6:	3b ca                	cmp    %edx,%ecx
4453f8:	0f 82 03 01 00 00    	jb     0x445501
4453fe:	8d 41 04             	lea    0x4(%ecx),%eax
445401:	3b c1                	cmp    %ecx,%eax
445403:	0f 82 f8 00 00 00    	jb     0x445501
445409:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
44540c:	89 8d d8 f1 ff ff    	mov    %ecx,-0xe28(%ebp)
445412:	3b c8                	cmp    %eax,%ecx
445414:	0f 82 e7 00 00 00    	jb     0x445501
44541a:	51                   	push   %ecx
44541b:	6a 08                	push   $0x8
44541d:	ff 15 74 72 4a 00    	call   *0x4a7274
445423:	50                   	push   %eax
445424:	ff 15 84 72 4a 00    	call   *0x4a7284
44542a:	8b f8                	mov    %eax,%edi
44542c:	85 ff                	test   %edi,%edi
44542e:	75 0f                	jne    0x44543f
445430:	be 17 00 00 c0       	mov    $0xc0000017,%esi
445435:	bf 95 00 00 c0       	mov    $0xc0000095,%edi
44543a:	e9 c9 00 00 00       	jmp    0x445508
44543f:	8b 95 0c f2 ff ff    	mov    -0xdf4(%ebp),%edx
445445:	8d 77 04             	lea    0x4(%edi),%esi
445448:	8b 02                	mov    (%edx),%eax
44544a:	89 07                	mov    %eax,(%edi)
44544c:	3b f7                	cmp    %edi,%esi
44544e:	0f 82 8a 00 00 00    	jb     0x4454de
445454:	ff 32                	push   (%edx)
445456:	ff 72 04             	push   0x4(%edx)
445459:	56                   	push   %esi
44545a:	e8 ce bb 04 00       	call   0x49102d
44545f:	8b 95 0c f2 ff ff    	mov    -0xdf4(%ebp),%edx
445465:	83 c4 0c             	add    $0xc,%esp
445468:	8b 0a                	mov    (%edx),%ecx
44546a:	03 ce                	add    %esi,%ecx
44546c:	3b ce                	cmp    %esi,%ecx
44546e:	72 6e                	jb     0x4454de
445470:	8b 42 08             	mov    0x8(%edx),%eax
445473:	8d 71 04             	lea    0x4(%ecx),%esi
445476:	89 01                	mov    %eax,(%ecx)
445478:	3b f1                	cmp    %ecx,%esi
44547a:	72 62                	jb     0x4454de