406070:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406074:	0f 84 a6 08 00 00    	je     0x406920
40607a:	8b 45 b8             	mov    -0x48(%ebp),%eax
40607d:	ff 4d 94             	decl   -0x6c(%ebp)
406080:	8b c8                	mov    %eax,%ecx
406082:	8b 45 90             	mov    -0x70(%ebp),%eax
406085:	c1 e1 03             	shl    $0x3,%ecx
406088:	0f b6 00             	movzbl (%eax),%eax
40608b:	d3 e0                	shl    %cl,%eax
40608d:	09 45 c0             	or     %eax,-0x40(%ebp)
406090:	ff 45 90             	incl   -0x70(%ebp)
406093:	ff 45 b8             	incl   -0x48(%ebp)
406096:	83 7d b8 04          	cmpl   $0x4,-0x48(%ebp)
40609a:	7c d4                	jl     0x406070
40609c:	8b 45 c0             	mov    -0x40(%ebp),%eax
40609f:	3b 45 8c             	cmp    -0x74(%ebp),%eax
4060a2:	74 28                	je     0x4060cc
4060a4:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4060a8:	89 45 8c             	mov    %eax,-0x74(%ebp)
4060ab:	74 09                	je     0x4060b6
4060ad:	ff 75 f8             	push   -0x8(%ebp)
4060b0:	ff 15 fc 70 40 00    	call   *0x4070fc
4060b6:	ff 75 c0             	push   -0x40(%ebp)
4060b9:	6a 40                	push   $0x40
4060bb:	ff 15 00 71 40 00    	call   *0x407100
4060c1:	85 c0                	test   %eax,%eax
4060c3:	89 45 f8             	mov    %eax,-0x8(%ebp)
4060c6:	0f 84 00 09 00 00    	je     0x4069cc
4060cc:	8b 45 f8             	mov    -0x8(%ebp),%eax
4060cf:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4060d2:	c7 45 b8 05 00 00 00 	movl   $0x5,-0x48(%ebp)
4060d9:	80 64 08 ff 00       	andb   $0x0,-0x1(%eax,%ecx,1)
4060de:	eb 21                	jmp    0x406101
4060e0:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
4060e4:	0f 84 45 08 00 00    	je     0x40692f
4060ea:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4060ed:	8b 45 f4             	mov    -0xc(%ebp),%eax
4060f0:	ff 4d 94             	decl   -0x6c(%ebp)
4060f3:	0f b6 09             	movzbl (%ecx),%ecx
4060f6:	c1 e0 08             	shl    $0x8,%eax
4060f9:	0b c1                	or     %ecx,%eax
4060fb:	ff 45 90             	incl   -0x70(%ebp)
4060fe:	89 45 f4             	mov    %eax,-0xc(%ebp)
406101:	8b 45 b8             	mov    -0x48(%ebp),%eax
406104:	ff 4d b8             	decl   -0x48(%ebp)
406107:	85 c0                	test   %eax,%eax
406109:	75 d5                	jne    0x4060e0
40610b:	8b 45 a0             	mov    -0x60(%ebp),%eax
40610e:	8b 4d c8             	mov    -0x38(%ebp),%ecx
406111:	23 45 e4             	and    -0x1c(%ebp),%eax
406114:	c7 85 7c ff ff ff 06 	movl   $0x6,-0x84(%ebp)
40611b:	00 00 00
40611e:	c1 e1 04             	shl    $0x4,%ecx
406121:	89 45 b4             	mov    %eax,-0x4c(%ebp)
406124:	03 c8                	add    %eax,%ecx
406126:	8b 45 fc             	mov    -0x4(%ebp),%eax
406129:	8d 34 48             	lea    (%eax,%ecx,2),%esi
40612c:	e9 6c 06 00 00       	jmp    0x40679d
406131:	33 d2                	xor    %edx,%edx
406133:	39 55 c0             	cmp    %edx,-0x40(%ebp)
406136:	75 6f                	jne    0x4061a7
406138:	0f b6 45 a4          	movzbl -0x5c(%ebp),%eax
40613c:	8b 75 a0             	mov    -0x60(%ebp),%esi
40613f:	b1 08                	mov    $0x8,%cl
406141:	2a 4d c4             	sub    -0x3c(%ebp),%cl
406144:	23 75 e8             	and    -0x18(%ebp),%esi
406147:	d3 e8                	shr    %cl,%eax
406149:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
40614c:	d3 e6                	shl    %cl,%esi
40614e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406151:	03 c6                	add    %esi,%eax
406153:	8d 04 40             	lea    (%eax,%eax,2),%eax
406156:	c1 e0 09             	shl    $0x9,%eax
406159:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
40615d:	8d 84 08 6c 0e 00 00 	lea    0xe6c(%eax,%ecx,1),%eax
406164:	89 45 a8             	mov    %eax,-0x58(%ebp)
406167:	7d 05                	jge    0x40616e
406169:	89 55 c8             	mov    %edx,-0x38(%ebp)
40616c:	eb 10                	jmp    0x40617e
40616e:	83 7d c8 0a          	cmpl   $0xa,-0x38(%ebp)
406172:	7d 06                	jge    0x40617a
406174:	83 6d c8 03          	subl   $0x3,-0x38(%ebp)
406178:	eb 04                	jmp    0x40617e
40617a:	83 6d c8 06          	subl   $0x6,-0x38(%ebp)
40617e:	39 55 cc             	cmp    %edx,-0x34(%ebp)
406181:	74 1c                	je     0x40619f
406183:	8b 45 ec             	mov    -0x14(%ebp),%eax
406186:	2b 45 d4             	sub    -0x2c(%ebp),%eax
406189:	3b 45 8c             	cmp    -0x74(%ebp),%eax
40618c:	72 03                	jb     0x406191
40618e:	03 45 8c             	add    -0x74(%ebp),%eax
406191:	8b 4d f8             	mov    -0x8(%ebp),%ecx
406194:	33 db                	xor    %ebx,%ebx
406196:	43                   	inc    %ebx
406197:	8a 04 08             	mov    (%eax,%ecx,1),%al
40619a:	88 45 a5             	mov    %al,-0x5b(%ebp)
40619d:	eb 68                	jmp    0x406207
40619f:	33 db                	xor    %ebx,%ebx
4061a1:	43                   	inc    %ebx
4061a2:	e9 cd 01 00 00       	jmp    0x406374
4061a7:	8b 45 fc             	mov    -0x4(%ebp),%eax
4061aa:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4061ad:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
4061b4:	c7 85 7c ff ff ff 07 	movl   $0x7,-0x84(%ebp)
4061bb:	00 00 00
4061be:	8d b4 48 80 01 00 00 	lea    0x180(%eax,%ecx,2),%esi
4061c5:	e9 d3 05 00 00       	jmp    0x40679d
4061ca:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
4061ce:	0f 84 67 07 00 00    	je     0x40693b
4061d4:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4061d7:	8b 45 f4             	mov    -0xc(%ebp),%eax
4061da:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
4061de:	0f b6 09             	movzbl (%ecx),%ecx
4061e1:	ff 4d 94             	decl   -0x6c(%ebp)
4061e4:	c1 e0 08             	shl    $0x8,%eax
4061e7:	0b c1                	or     %ecx,%eax
4061e9:	ff 45 90             	incl   -0x70(%ebp)
4061ec:	89 45 f4             	mov    %eax,-0xc(%ebp)
4061ef:	8b 45 c0             	mov    -0x40(%ebp),%eax
4061f2:	39 45 b8             	cmp    %eax,-0x48(%ebp)
4061f5:	0f 85 ad 00 00 00    	jne    0x4062a8
4061fb:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
406201:	0f 8d 05 01 00 00    	jge    0x40630c
406207:	0f b6 45 a5          	movzbl -0x5b(%ebp),%eax
40620b:	d0 65 a5             	shlb   $1,-0x5b(%ebp)
40620e:	8b 4d a8             	mov    -0x58(%ebp),%ecx
406211:	c1 e8 07             	shr    $0x7,%eax
406214:	89 45 b8             	mov    %eax,-0x48(%ebp)
406217:	40                   	inc    %eax
406218:	c1 e0 08             	shl    $0x8,%eax
40621b:	03 c3                	add    %ebx,%eax
40621d:	8d 34 41             	lea    (%ecx,%eax,2),%esi
406220:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406223:	c1 e9 0b             	shr    $0xb,%ecx
406226:	66 8b 06             	mov    (%esi),%ax
406229:	89 75 ac             	mov    %esi,-0x54(%ebp)
40622c:	0f b7 d0             	movzwl %ax,%edx
40622f:	0f af ca             	imul   %edx,%ecx
406232:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
406235:	73 1a                	jae    0x406251
406237:	83 65 c0 00          	andl   $0x0,-0x40(%ebp)
40623b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40623e:	b9 00 08 00 00       	mov    $0x800,%ecx
406243:	2b ca                	sub    %edx,%ecx
406245:	c1 f9 05             	sar    $0x5,%ecx
406248:	03 c8                	add    %eax,%ecx
40624a:	03 db                	add    %ebx,%ebx
40624c:	66 89 0e             	mov    %cx,(%esi)
40624f:	eb 1d                	jmp    0x40626e
406251:	29 4d f0             	sub    %ecx,-0x10(%ebp)
406254:	29 4d f4             	sub    %ecx,-0xc(%ebp)
406257:	66 8b c8             	mov    %ax,%cx
40625a:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
406261:	66 c1 e9 05          	shr    $0x5,%cx
406265:	2b c1                	sub    %ecx,%eax
406267:	8d 5c 1b 01          	lea    0x1(%ebx,%ebx,1),%ebx
40626b:	66 89 06             	mov    %ax,(%esi)
40626e:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
406275:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406278:	0f 83 71 ff ff ff    	jae    0x4061ef
40627e:	e9 47 ff ff ff       	jmp    0x4061ca
406283:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
406287:	0f 84 ba 06 00 00    	je     0x406947
40628d:	8b 4d 90             	mov    -0x70(%ebp),%ecx
406290:	8b 45 f4             	mov    -0xc(%ebp),%eax
406293:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
406297:	0f b6 09             	movzbl (%ecx),%ecx
40629a:	ff 4d 94             	decl   -0x6c(%ebp)
40629d:	c1 e0 08             	shl    $0x8,%eax
4062a0:	0b c1                	or     %ecx,%eax
4062a2:	ff 45 90             	incl   -0x70(%ebp)
4062a5:	89 45 f4             	mov    %eax,-0xc(%ebp)
4062a8:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
4062ae:	7d 5c                	jge    0x40630c
4062b0:	8b 45 a8             	mov    -0x58(%ebp),%eax
4062b3:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
4062b6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4062b9:	8d 34 02             	lea    (%edx,%eax,1),%esi
4062bc:	c1 e9 0b             	shr    $0xb,%ecx
4062bf:	66 8b 06             	mov    (%esi),%ax
4062c2:	89 75 ac             	mov    %esi,-0x54(%ebp)
4062c5:	0f b7 f8             	movzwl %ax,%edi
4062c8:	0f af cf             	imul   %edi,%ecx
4062cb:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
4062ce:	73 16                	jae    0x4062e6
4062d0:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4062d3:	b9 00 08 00 00       	mov    $0x800,%ecx
4062d8:	2b cf                	sub    %edi,%ecx
4062da:	c1 f9 05             	sar    $0x5,%ecx
4062dd:	03 c8                	add    %eax,%ecx
4062df:	03 db                	add    %ebx,%ebx
4062e1:	66 89 0e             	mov    %cx,(%esi)
4062e4:	eb 15                	jmp    0x4062fb
4062e6:	29 4d f0             	sub    %ecx,-0x10(%ebp)
4062e9:	29 4d f4             	sub    %ecx,-0xc(%ebp)
4062ec:	66 8b c8             	mov    %ax,%cx
4062ef:	8d 5a 01             	lea    0x1(%edx),%ebx
4062f2:	66 c1 e9 05          	shr    $0x5,%cx
4062f6:	2b c1                	sub    %ecx,%eax
4062f8:	66 89 06             	mov    %ax,(%esi)
4062fb:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
406302:	89 5d bc             	mov    %ebx,-0x44(%ebp)
406305:	73 a1                	jae    0x4062a8
406307:	e9 77 ff ff ff       	jmp    0x406283
40630c:	83 65 cc 00          	andl   $0x0,-0x34(%ebp)
406310:	8a 45 bc             	mov    -0x44(%ebp),%al
406313:	88 45 a4             	mov    %al,-0x5c(%ebp)
406316:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
40631a:	0f 84 3f 06 00 00    	je     0x40695f
406320:	8b 4d 98             	mov    -0x68(%ebp),%ecx
406323:	8a 45 a4             	mov    -0x5c(%ebp),%al
406326:	8b 55 f8             	mov    -0x8(%ebp),%edx
406329:	ff 45 a0             	incl   -0x60(%ebp)
40632c:	ff 45 98             	incl   -0x68(%ebp)
40632f:	ff 4d 9c             	decl   -0x64(%ebp)
406332:	88 01                	mov    %al,(%ecx)
406334:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406337:	88 04 11             	mov    %al,(%ecx,%edx,1)
40633a:	8d 41 01             	lea    0x1(%ecx),%eax
40633d:	33 d2                	xor    %edx,%edx
40633f:	f7 75 8c             	divl   -0x74(%ebp)
406342:	e9 95 01 00 00       	jmp    0x4064dc
406347:	83 7d 94 00          	cmpl   $0x0,-0x6c(%ebp)
40634b:	0f 84 02 06 00 00    	je     0x406953
406351:	8b 4d 90             	mov    -0x70(%ebp),%ecx
406354:	8b 45 f4             	mov    -0xc(%ebp),%eax
406357:	c1 65 f0 08          	shll   $0x8,-0x10(%ebp)
40635b:	0f b6 09             	movzbl (%ecx),%ecx
40635e:	ff 4d 94             	decl   -0x6c(%ebp)
406361:	c1 e0 08             	shl    $0x8,%eax
406364:	0b c1                	or     %ecx,%eax
406366:	ff 45 90             	incl   -0x70(%ebp)
406369:	89 45 f4             	mov    %eax,-0xc(%ebp)
40636c:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
406372:	7d 9c                	jge    0x406310
406374:	8b 45 a8             	mov    -0x58(%ebp),%eax
406377:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
40637a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40637d:	8d 34 02             	lea    (%edx,%eax,1),%esi
406380:	c1 e9 0b             	shr    $0xb,%ecx
406383:	66 8b 06             	mov    (%esi),%ax
406386:	89 75 ac             	mov    %esi,-0x54(%ebp)
406389:	0f b7 f8             	movzwl %ax,%edi
40638c:	0f af cf             	imul   %edi,%ecx
40638f:	39 4d f4             	cmp    %ecx,-0xc(%ebp)
406392:	73 16                	jae    0x4063aa
406394:	89 4d f0             	mov    %ecx,-0x10(%ebp)
406397:	b9 00 08 00 00       	mov    $0x800,%ecx
40639c:	2b cf                	sub    %edi,%ecx
40639e:	c1 f9 05             	sar    $0x5,%ecx
4063a1:	03 c8                	add    %eax,%ecx
4063a3:	03 db                	add    %ebx,%ebx
4063a5:	66 89 0e             	mov    %cx,(%esi)
4063a8:	eb 15                	jmp    0x4063bf
4063aa:	29 4d f0             	sub    %ecx,-0x10(%ebp)
4063ad:	29 4d f4             	sub    %ecx,-0xc(%ebp)
4063b0:	66 8b c8             	mov    %ax,%cx
4063b3:	8d 5a 01             	lea    0x1(%edx),%ebx
4063b6:	66 c1 e9 05          	shr    $0x5,%cx
4063ba:	2b c1                	sub    %ecx,%eax
4063bc:	66 89 06             	mov    %ax,(%esi)
4063bf:	81 7d f0 00 00 00 01 	cmpl   $0x1000000,-0x10(%ebp)
4063c6:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4063c9:	73 a1                	jae    0x40636c
4063cb:	e9 77 ff ff ff       	jmp    0x406347
4063d0:	83 7d c0 01          	cmpl   $0x1,-0x40(%ebp)
4063d4:	75 1c                	jne    0x4063f2
4063d6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4063d9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
4063dc:	c7 85 7c ff ff ff 08 	movl   $0x8,-0x84(%ebp)
4063e3:	00 00 00
4063e6:	8d b4 48 98 01 00 00 	lea    0x198(%eax,%ecx,2),%esi
4063ed:	e9 ab 03 00 00       	jmp    0x40679d
4063f2:	8b 45 dc             	mov    -0x24(%ebp),%eax
4063f5:	c7 45 80 16 00 00 00 	movl   $0x16,-0x80(%ebp)
4063fc:	89 45 e0             	mov    %eax,-0x20(%ebp)
4063ff:	8b 45 d8             	mov    -0x28(%ebp),%eax
406402:	89 45 dc             	mov    %eax,-0x24(%ebp)
406405:	8b 45 d4             	mov    -0x2c(%ebp),%eax
406408:	89 45 d8             	mov    %eax,-0x28(%ebp)
40640b:	33 c0                	xor    %eax,%eax
40640d:	83 7d c8 07          	cmpl   $0x7,-0x38(%ebp)
406411:	0f 9d c0             	setge  %al
406414:	48                   	dec    %eax
406415:	24 fd                	and    $0xfd,%al
406417:	83 c0 0a             	add    $0xa,%eax
40641a:	89 45 c8             	mov    %eax,-0x38(%ebp)
40641d:	8b 45 fc             	mov    -0x4(%ebp),%eax
406420:	05 64 06 00 00       	add    $0x664,%eax
406425:	89 45 a8             	mov    %eax,-0x58(%ebp)
406428:	8b 75 a8             	mov    -0x58(%ebp),%esi
40642b:	c7 85 7c ff ff ff 12 	movl   $0x12,-0x84(%ebp)
406432:	00 00 00
406435:	e9 63 03 00 00       	jmp    0x40679d
40643a:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
40643e:	75 21                	jne    0x406461
406440:	8b 45 c8             	mov    -0x38(%ebp),%eax
406443:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406446:	83 c0 0f             	add    $0xf,%eax
406449:	c7 85 7c ff ff ff 09 	movl   $0x9,-0x84(%ebp)
406450:	00 00 00
406453:	c1 e0 04             	shl    $0x4,%eax
406456:	03 45 b4             	add    -0x4c(%ebp),%eax
406459:	8d 34 41             	lea    (%ecx,%eax,2),%esi
40645c:	e9 3c 03 00 00       	jmp    0x40679d
406461:	8b 45 fc             	mov    -0x4(%ebp),%eax
406464:	8b 4d c8             	mov    -0x38(%ebp),%ecx
406467:	c7 85 7c ff ff ff 0a 	movl   $0xa,-0x84(%ebp)
40646e:	00 00 00
406471:	8d b4 48 b0 01 00 00 	lea    0x1b0(%eax,%ecx,2),%esi
406478:	e9 20 03 00 00       	jmp    0x40679d
40647d:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
406481:	0f 85 b1 00 00 00    	jne    0x406538
406487:	83 7d a0 00          	cmpl   $0x0,-0x60(%ebp)
40648b:	0f 84 3b 05 00 00    	je     0x4069cc
406491:	33 c0                	xor    %eax,%eax
406493:	83 7d c8 07          	cmpl   $0x7,-0x38(%ebp)
406497:	0f 9d c0             	setge  %al
40649a:	8d 44 00 09          	lea    0x9(%eax,%eax,1),%eax
40649e:	89 45 c8             	mov    %eax,-0x38(%ebp)
4064a1:	83 7d 9c 00          	cmpl   $0x0,-0x64(%ebp)
4064a5:	0f 84 c0 04 00 00    	je     0x40696b
4064ab:	8b 45 ec             	mov    -0x14(%ebp),%eax
4064ae:	2b 45 d4             	sub    -0x2c(%ebp),%eax
4064b1:	3b 45 8c             	cmp    -0x74(%ebp),%eax
4064b4:	72 03                	jb     0x4064b9
4064b6:	03 45 8c             	add    -0x74(%ebp),%eax
4064b9:	8b 55 f8             	mov    -0x8(%ebp),%edx
4064bc:	8a 0c 10             	mov    (%eax,%edx,1),%cl
4064bf:	8b 45 ec             	mov    -0x14(%ebp),%eax
4064c2:	88 4d a4             	mov    %cl,-0x5c(%ebp)
4064c5:	88 0c 10             	mov    %cl,(%eax,%edx,1)
4064c8:	40                   	inc    %eax
4064c9:	33 d2                	xor    %edx,%edx
4064cb:	f7 75 8c             	divl   -0x74(%ebp)
4064ce:	8b 45 98             	mov    -0x68(%ebp),%eax
4064d1:	ff 45 a0             	incl   -0x60(%ebp)
4064d4:	ff 45 98             	incl   -0x68(%ebp)
4064d7:	ff 4d 9c             	decl   -0x64(%ebp)
4064da:	88 08                	mov    %cl,(%eax)
4064dc:	89 55 ec             	mov    %edx,-0x14(%ebp)
4064df:	c7 85 78 ff ff ff 02 	movl   $0x2,-0x88(%ebp)
4064e6:	00 00 00
4064e9:	e9 c7 fa ff ff       	jmp    0x405fb5
4064ee:	83 7d c0 00          	cmpl   $0x0,-0x40(%ebp)
4064f2:	75 05                	jne    0x4064f9
4064f4:	8b 45 d8             	mov    -0x28(%ebp),%eax
4064f7:	eb 36                	jmp    0x40652f
4064f9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4064fc:	8b 4d c8             	mov    -0x38(%ebp),%ecx