44f15e:	c2 04 00             	ret    $0x4
44f161:	cc                   	int3
44f162:	cc                   	int3
44f163:	cc                   	int3
44f164:	cc                   	int3
44f165:	cc                   	int3
44f166:	cc                   	int3
44f167:	cc                   	int3
44f168:	cc                   	int3
44f169:	cc                   	int3
44f16a:	cc                   	int3
44f16b:	cc                   	int3
44f16c:	cc                   	int3
44f16d:	cc                   	int3
44f16e:	cc                   	int3
44f16f:	cc                   	int3
44f170:	8b ff                	mov    %edi,%edi
44f172:	55                   	push   %ebp
44f173:	8b ec                	mov    %esp,%ebp
44f175:	53                   	push   %ebx
44f176:	8b 5d 08             	mov    0x8(%ebp),%ebx
44f179:	57                   	push   %edi
44f17a:	8b 7d 0c             	mov    0xc(%ebp),%edi
44f17d:	8b 0b                	mov    (%ebx),%ecx
44f17f:	8b 07                	mov    (%edi),%eax
44f181:	3b c8                	cmp    %eax,%ecx
44f183:	76 06                	jbe    0x44f18b
44f185:	5f                   	pop    %edi
44f186:	32 c0                	xor    %al,%al
44f188:	5b                   	pop    %ebx
44f189:	5d                   	pop    %ebp
44f18a:	c3                   	ret
44f18b:	73 06                	jae    0x44f193
44f18d:	5f                   	pop    %edi
44f18e:	b0 01                	mov    $0x1,%al
44f190:	5b                   	pop    %ebx
44f191:	5d                   	pop    %ebp
44f192:	c3                   	ret
44f193:	49                   	dec    %ecx
44f194:	56                   	push   %esi
44f195:	83 f9 ff             	cmp    $0xffffffff,%ecx
44f198:	74 1a                	je     0x44f1b4
44f19a:	8d 57 04             	lea    0x4(%edi),%edx
44f19d:	8b f3                	mov    %ebx,%esi
44f19f:	8d 14 8a             	lea    (%edx,%ecx,4),%edx
44f1a2:	2b f7                	sub    %edi,%esi
44f1a4:	8b 04 16             	mov    (%esi,%edx,1),%eax
44f1a7:	3b 02                	cmp    (%edx),%eax
44f1a9:	75 10                	jne    0x44f1bb
44f1ab:	49                   	dec    %ecx
44f1ac:	83 ea 04             	sub    $0x4,%edx
44f1af:	83 f9 ff             	cmp    $0xffffffff,%ecx
44f1b2:	75 f0                	jne    0x44f1a4
44f1b4:	5e                   	pop    %esi
44f1b5:	5f                   	pop    %edi
44f1b6:	32 c0                	xor    %al,%al
44f1b8:	5b                   	pop    %ebx
44f1b9:	5d                   	pop    %ebp
44f1ba:	c3                   	ret
44f1bb:	83 f9 ff             	cmp    $0xffffffff,%ecx
44f1be:	74 f4                	je     0x44f1b4
44f1c0:	8b 44 8b 04          	mov    0x4(%ebx,%ecx,4),%eax
44f1c4:	3b 44 8f 04          	cmp    0x4(%edi,%ecx,4),%eax
44f1c8:	5e                   	pop    %esi
44f1c9:	5f                   	pop    %edi
44f1ca:	0f 96 c0             	setbe  %al
44f1cd:	5b                   	pop    %ebx
44f1ce:	5d                   	pop    %ebp
44f1cf:	c3                   	ret
44f1d0:	8b ff                	mov    %edi,%edi
44f1d2:	56                   	push   %esi
44f1d3:	8b f1                	mov    %ecx,%esi
44f1d5:	8b 46 04             	mov    0x4(%esi),%eax
44f1d8:	8b 0e                	mov    (%esi),%ecx
44f1da:	0f b6 00             	movzbl (%eax),%eax
44f1dd:	50                   	push   %eax
44f1de:	e8 dd 41 00 00       	call   0x4533c0
44f1e3:	8b 46 04             	mov    0x4(%esi),%eax
44f1e6:	c6 00 00             	movb   $0x0,(%eax)
44f1e9:	8b 46 08             	mov    0x8(%esi),%eax
44f1ec:	8b 0e                	mov    (%esi),%ecx
44f1ee:	5e                   	pop    %esi
44f1ef:	8b 00                	mov    (%eax),%eax
44f1f1:	89 01                	mov    %eax,(%ecx)
44f1f3:	b0 01                	mov    $0x1,%al
44f1f5:	c3                   	ret
44f1f6:	8b ff                	mov    %edi,%edi
44f1f8:	56                   	push   %esi
44f1f9:	8b f1                	mov    %ecx,%esi
44f1fb:	8b 46 04             	mov    0x4(%esi),%eax
44f1fe:	8b 0e                	mov    (%esi),%ecx
44f200:	0f b7 00             	movzwl (%eax),%eax
44f203:	50                   	push   %eax
44f204:	e8 df 41 00 00       	call   0x4533e8
44f209:	8b 46 04             	mov    0x4(%esi),%eax
44f20c:	33 c9                	xor    %ecx,%ecx
44f20e:	66 89 08             	mov    %cx,(%eax)
44f211:	8b 46 08             	mov    0x8(%esi),%eax
44f214:	8b 0e                	mov    (%esi),%ecx
44f216:	5e                   	pop    %esi
44f217:	8b 00                	mov    (%eax),%eax
44f219:	89 01                	mov    %eax,(%ecx)
44f21b:	b0 01                	mov    $0x1,%al
44f21d:	c3                   	ret
44f21e:	8b ff                	mov    %edi,%edi
44f220:	56                   	push   %esi
44f221:	8b f1                	mov    %ecx,%esi
44f223:	8b 46 04             	mov    0x4(%esi),%eax
44f226:	8b 0e                	mov    (%esi),%ecx
44f228:	0f b6 00             	movzbl (%eax),%eax
44f22b:	50                   	push   %eax
44f22c:	e8 8f 41 00 00       	call   0x4533c0
44f231:	8b 46 04             	mov    0x4(%esi),%eax
44f234:	c6 00 00             	movb   $0x0,(%eax)
44f237:	8b 46 08             	mov    0x8(%esi),%eax
44f23a:	8b 0e                	mov    (%esi),%ecx
44f23c:	5e                   	pop    %esi
44f23d:	8b 00                	mov    (%eax),%eax
44f23f:	89 01                	mov    %eax,(%ecx)
44f241:	b0 01                	mov    $0x1,%al
44f243:	c3                   	ret
44f244:	8b ff                	mov    %edi,%edi
44f246:	56                   	push   %esi
44f247:	8b f1                	mov    %ecx,%esi
44f249:	8b 46 04             	mov    0x4(%esi),%eax
44f24c:	8b 0e                	mov    (%esi),%ecx
44f24e:	0f b7 00             	movzwl (%eax),%eax
44f251:	50                   	push   %eax
44f252:	e8 91 41 00 00       	call   0x4533e8
44f257:	8b 46 04             	mov    0x4(%esi),%eax
44f25a:	33 c9                	xor    %ecx,%ecx
44f25c:	66 89 08             	mov    %cx,(%eax)
44f25f:	8b 46 08             	mov    0x8(%esi),%eax
44f262:	8b 0e                	mov    (%esi),%ecx
44f264:	5e                   	pop    %esi
44f265:	8b 00                	mov    (%eax),%eax
44f267:	89 01                	mov    %eax,(%ecx)
44f269:	b0 01                	mov    $0x1,%al
44f26b:	c3                   	ret
44f26c:	8b ff                	mov    %edi,%edi
44f26e:	56                   	push   %esi
44f26f:	8b f1                	mov    %ecx,%esi
44f271:	8b 46 04             	mov    0x4(%esi),%eax
44f274:	8b 0e                	mov    (%esi),%ecx
44f276:	0f b7 00             	movzwl (%eax),%eax
44f279:	50                   	push   %eax
44f27a:	e8 69 41 00 00       	call   0x4533e8
44f27f:	8b 46 04             	mov    0x4(%esi),%eax
44f282:	33 c9                	xor    %ecx,%ecx
44f284:	66 89 08             	mov    %cx,(%eax)
44f287:	8b 46 08             	mov    0x8(%esi),%eax
44f28a:	8b 0e                	mov    (%esi),%ecx
44f28c:	5e                   	pop    %esi
44f28d:	8b 00                	mov    (%eax),%eax
44f28f:	89 01                	mov    %eax,(%ecx)
44f291:	b0 01                	mov    $0x1,%al
44f293:	c3                   	ret
44f294:	8b ff                	mov    %edi,%edi
44f296:	56                   	push   %esi
44f297:	8b f1                	mov    %ecx,%esi
44f299:	8b 46 04             	mov    0x4(%esi),%eax
44f29c:	8b 0e                	mov    (%esi),%ecx
44f29e:	0f b6 00             	movzbl (%eax),%eax
44f2a1:	50                   	push   %eax
44f2a2:	e8 19 41 00 00       	call   0x4533c0
44f2a7:	8b 46 04             	mov    0x4(%esi),%eax
44f2aa:	c6 00 00             	movb   $0x0,(%eax)
44f2ad:	8b 46 08             	mov    0x8(%esi),%eax
44f2b0:	8b 0e                	mov    (%esi),%ecx
44f2b2:	5e                   	pop    %esi
44f2b3:	8b 00                	mov    (%eax),%eax
44f2b5:	89 01                	mov    %eax,(%ecx)
44f2b7:	b0 01                	mov    $0x1,%al
44f2b9:	c3                   	ret
44f2ba:	8d 41 04             	lea    0x4(%ecx),%eax
44f2bd:	c3                   	ret
44f2be:	8b ff                	mov    %edi,%edi
44f2c0:	55                   	push   %ebp
44f2c1:	8b ec                	mov    %esp,%ebp
44f2c3:	81 ec a4 05 00 00    	sub    $0x5a4,%esp
44f2c9:	a1 94 80 4b 00       	mov    0x4b8094,%eax
44f2ce:	33 c5                	xor    %ebp,%eax
44f2d0:	89 45 fc             	mov    %eax,-0x4(%ebp)
44f2d3:	53                   	push   %ebx
44f2d4:	8b 5d 10             	mov    0x10(%ebp),%ebx
44f2d7:	33 c9                	xor    %ecx,%ecx
44f2d9:	56                   	push   %esi
44f2da:	57                   	push   %edi
44f2db:	8b 7d 08             	mov    0x8(%ebp),%edi
44f2de:	33 f6                	xor    %esi,%esi
44f2e0:	89 9d 50 fc ff ff    	mov    %ebx,-0x3b0(%ebp)
44f2e6:	89 b5 3c fc ff ff    	mov    %esi,-0x3c4(%ebp)
44f2ec:	3b 7d 0c             	cmp    0xc(%ebp),%edi
44f2ef:	0f 84 da 05 00 00    	je     0x44f8cf
44f2f5:	83 f9 09             	cmp    $0x9,%ecx
44f2f8:	0f 85 e6 00 00 00    	jne    0x44f3e4
44f2fe:	8b 03                	mov    (%ebx),%eax
44f300:	89 85 58 fc ff ff    	mov    %eax,-0x3a8(%ebp)
44f306:	85 c0                	test   %eax,%eax
44f308:	74 73                	je     0x44f37d
44f30a:	8b b5 58 fc ff ff    	mov    -0x3a8(%ebp),%esi
44f310:	8d 43 04             	lea    0x4(%ebx),%eax
44f313:	33 c9                	xor    %ecx,%ecx
44f315:	89 85 54 fc ff ff    	mov    %eax,-0x3ac(%ebp)
44f31b:	33 ff                	xor    %edi,%edi
44f31d:	8b d8                	mov    %eax,%ebx
44f31f:	8b 04 bb             	mov    (%ebx,%edi,4),%eax
44f322:	ba 00 ca 9a 3b       	mov    $0x3b9aca00,%edx
44f327:	f7 e2                	mul    %edx
44f329:	03 c1                	add    %ecx,%eax
44f32b:	89 04 bb             	mov    %eax,(%ebx,%edi,4)
44f32e:	83 d2 00             	adc    $0x0,%edx
44f331:	47                   	inc    %edi
44f332:	8b ca                	mov    %edx,%ecx
44f334:	3b fe                	cmp    %esi,%edi
44f336:	75 e7                	jne    0x44f31f
44f338:	8b 9d 50 fc ff ff    	mov    -0x3b0(%ebp),%ebx
44f33e:	8b b5 3c fc ff ff    	mov    -0x3c4(%ebp),%esi
44f344:	8b 7d 08             	mov    0x8(%ebp),%edi
44f347:	85 c9                	test   %ecx,%ecx
44f349:	74 32                	je     0x44f37d
44f34b:	8b 03                	mov    (%ebx),%eax
44f34d:	83 f8 73             	cmp    $0x73,%eax
44f350:	73 08                	jae    0x44f35a
44f352:	89 4c 83 04          	mov    %ecx,0x4(%ebx,%eax,4)
44f356:	ff 03                	incl   (%ebx)
44f358:	eb 23                	jmp    0x44f37d
44f35a:	33 c0                	xor    %eax,%eax
44f35c:	50                   	push   %eax
44f35d:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
44f363:	89 03                	mov    %eax,(%ebx)
44f365:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
44f36b:	50                   	push   %eax
44f36c:	8d 43 04             	lea    0x4(%ebx),%eax
44f36f:	68 cc 01 00 00       	push   $0x1cc
44f374:	50                   	push   %eax
44f375:	e8 28 43 00 00       	call   0x4536a2
44f37a:	83 c4 10             	add    $0x10,%esp
44f37d:	85 f6                	test   %esi,%esi
44f37f:	74 5f                	je     0x44f3e0
44f381:	83 a5 54 fc ff ff 00 	andl   $0x0,-0x3ac(%ebp)
44f388:	83 3b 00             	cmpl   $0x0,(%ebx)
44f38b:	74 1c                	je     0x44f3a9
44f38d:	8b bd 54 fc ff ff    	mov    -0x3ac(%ebp),%edi
44f393:	8d 53 04             	lea    0x4(%ebx),%edx
44f396:	33 c0                	xor    %eax,%eax
44f398:	01 32                	add    %esi,(%edx)
44f39a:	8d 52 04             	lea    0x4(%edx),%edx
44f39d:	13 c0                	adc    %eax,%eax
44f39f:	47                   	inc    %edi
44f3a0:	8b f0                	mov    %eax,%esi
44f3a2:	3b 3b                	cmp    (%ebx),%edi
44f3a4:	75 f0                	jne    0x44f396
44f3a6:	8b 7d 08             	mov    0x8(%ebp),%edi
44f3a9:	85 f6                	test   %esi,%esi
44f3ab:	74 33                	je     0x44f3e0
44f3ad:	8b 03                	mov    (%ebx),%eax
44f3af:	83 f8 73             	cmp    $0x73,%eax
44f3b2:	73 08                	jae    0x44f3bc
44f3b4:	89 74 83 04          	mov    %esi,0x4(%ebx,%eax,4)
44f3b8:	ff 03                	incl   (%ebx)
44f3ba:	eb 24                	jmp    0x44f3e0
44f3bc:	83 a5 5c fc ff ff 00 	andl   $0x0,-0x3a4(%ebp)
44f3c3:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
44f3c9:	83 23 00             	andl   $0x0,(%ebx)
44f3cc:	6a 00                	push   $0x0
44f3ce:	50                   	push   %eax
44f3cf:	8d 43 04             	lea    0x4(%ebx),%eax
44f3d2:	68 cc 01 00 00       	push   $0x1cc
44f3d7:	50                   	push   %eax
44f3d8:	e8 c5 42 00 00       	call   0x4536a2
44f3dd:	83 c4 10             	add    $0x10,%esp
44f3e0:	33 f6                	xor    %esi,%esi
44f3e2:	33 c9                	xor    %ecx,%ecx
44f3e4:	0f b6 07             	movzbl (%edi),%eax
44f3e7:	6b f6 0a             	imul   $0xa,%esi,%esi
44f3ea:	03 f0                	add    %eax,%esi
44f3ec:	41                   	inc    %ecx
44f3ed:	47                   	inc    %edi
44f3ee:	89 b5 3c fc ff ff    	mov    %esi,-0x3c4(%ebp)
44f3f4:	89 7d 08             	mov    %edi,0x8(%ebp)
44f3f7:	3b 7d 0c             	cmp    0xc(%ebp),%edi
44f3fa:	0f 85 f5 fe ff ff    	jne    0x44f2f5
44f400:	85 c9                	test   %ecx,%ecx
44f402:	0f 84 c7 04 00 00    	je     0x44f8cf
44f408:	8b c1                	mov    %ecx,%eax
44f40a:	33 d2                	xor    %edx,%edx
44f40c:	6a 0a                	push   $0xa
44f40e:	59                   	pop    %ecx
44f40f:	f7 f1                	div    %ecx
44f411:	89 85 54 fc ff ff    	mov    %eax,-0x3ac(%ebp)
44f417:	8b ca                	mov    %edx,%ecx
44f419:	89 8d 34 fc ff ff    	mov    %ecx,-0x3cc(%ebp)
44f41f:	85 c0                	test   %eax,%eax
44f421:	0f 84 83 03 00 00    	je     0x44f7aa
44f427:	83 f8 26             	cmp    $0x26,%eax
44f42a:	76 03                	jbe    0x44f42f
44f42c:	6a 26                	push   $0x26
44f42e:	58                   	pop    %eax
44f42f:	0f b6 0c 85 2e c7 49 	movzbl 0x49c72e(,%eax,4),%ecx
44f436:	00
44f437:	0f b6 34 85 2f c7 49 	movzbl 0x49c72f(,%eax,4),%esi
44f43e:	00
44f43f:	8b f9                	mov    %ecx,%edi
44f441:	89 85 40 fc ff ff    	mov    %eax,-0x3c0(%ebp)
44f447:	c1 e7 02             	shl    $0x2,%edi
44f44a:	57                   	push   %edi
44f44b:	8d 04 31             	lea    (%ecx,%esi,1),%eax
44f44e:	89 85 5c fc ff ff    	mov    %eax,-0x3a4(%ebp)
44f454:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
44f45a:	6a 00                	push   $0x0
44f45c:	50                   	push   %eax
44f45d:	e8 fe 49 ff ff       	call   0x443e60
44f462:	8b c6                	mov    %esi,%eax
44f464:	c1 e0 02             	shl    $0x2,%eax
44f467:	50                   	push   %eax
44f468:	8b 85 40 fc ff ff    	mov    -0x3c0(%ebp),%eax
44f46e:	0f b7 04 85 2c c7 49 	movzwl 0x49c72c(,%eax,4),%eax
44f475:	00
44f476:	8d 04 85 28 be 49 00 	lea    0x49be28(,%eax,4),%eax
44f47d:	50                   	push   %eax
44f47e:	8d 85 60 fc ff ff    	lea    -0x3a0(%ebp),%eax
44f484:	03 c7                	add    %edi,%eax
44f486:	50                   	push   %eax
44f487:	e8 d4 3e ff ff       	call   0x443360
44f48c:	8b 85 5c fc ff ff    	mov    -0x3a4(%ebp),%eax
44f492:	83 c4 18             	add    $0x18,%esp
44f495:	83 f8 01             	cmp    $0x1,%eax
44f498:	0f 87 98 00 00 00    	ja     0x44f536
44f49e:	8b 8d 60 fc ff ff    	mov    -0x3a0(%ebp),%ecx
44f4a4:	85 c9                	test   %ecx,%ecx
44f4a6:	75 0f                	jne    0x44f4b7
44f4a8:	33 c0                	xor    %eax,%eax
44f4aa:	89 85 2c fe ff ff    	mov    %eax,-0x1d4(%ebp)
44f4b0:	89 03                	mov    %eax,(%ebx)
44f4b2:	e9 b2 02 00 00       	jmp    0x44f769
44f4b7:	83 f9 01             	cmp    $0x1,%ecx
44f4ba:	0f 84 c2 02 00 00    	je     0x44f782
44f4c0:	8b 03                	mov    (%ebx),%eax
44f4c2:	89 85 58 fc ff ff    	mov    %eax,-0x3a8(%ebp)
44f4c8:	85 c0                	test   %eax,%eax
44f4ca:	0f 84 b2 02 00 00    	je     0x44f782
44f4d0:	8d 53 04             	lea    0x4(%ebx),%edx
44f4d3:	33 f6                	xor    %esi,%esi
44f4d5:	89 95 4c fc ff ff    	mov    %edx,-0x3b4(%ebp)
44f4db:	33 ff                	xor    %edi,%edi
44f4dd:	8b d8                	mov    %eax,%ebx
44f4df:	8b c1                	mov    %ecx,%eax
44f4e1:	f7 24 ba             	mull   (%edx,%edi,4)
44f4e4:	03 c6                	add    %esi,%eax