40b1cd:	75 15                	jne    0x40b1e4
40b1cf:	e8 5b f5 ff ff       	call   0x40a72f
40b1d4:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40b1da:	e8 ea c2 ff ff       	call   0x4074c9
40b1df:	83 c8 ff             	or     $0xffffffff,%eax
40b1e2:	5d                   	pop    %ebp
40b1e3:	c3                   	ret
40b1e4:	8b 40 10             	mov    0x10(%eax),%eax
40b1e7:	90                   	nop
40b1e8:	5d                   	pop    %ebp
40b1e9:	c3                   	ret
40b1ea:	8b ff                	mov    %edi,%edi
40b1ec:	55                   	push   %ebp
40b1ed:	8b ec                	mov    %esp,%ebp
40b1ef:	6a ff                	push   $0xffffffff
40b1f1:	68 98 80 41 00       	push   $0x418098
40b1f6:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40b1fc:	50                   	push   %eax
40b1fd:	83 ec 74             	sub    $0x74,%esp
40b200:	a1 c0 10 42 00       	mov    0x4210c0,%eax
40b205:	33 c5                	xor    %ebp,%eax
40b207:	89 45 f0             	mov    %eax,-0x10(%ebp)
40b20a:	53                   	push   %ebx
40b20b:	56                   	push   %esi
40b20c:	57                   	push   %edi
40b20d:	50                   	push   %eax
40b20e:	8d 45 f4             	lea    -0xc(%ebp),%eax
40b211:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40b217:	8b 45 0c             	mov    0xc(%ebp),%eax
40b21a:	8b d0                	mov    %eax,%edx
40b21c:	8b 75 10             	mov    0x10(%ebp),%esi
40b21f:	83 e0 3f             	and    $0x3f,%eax
40b222:	8b 5d 18             	mov    0x18(%ebp),%ebx
40b225:	6b c8 38             	imul   $0x38,%eax,%ecx
40b228:	c1 fa 06             	sar    $0x6,%edx
40b22b:	89 75 a0             	mov    %esi,-0x60(%ebp)
40b22e:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
40b231:	89 55 bc             	mov    %edx,-0x44(%ebp)
40b234:	8b 04 95 a8 21 42 00 	mov    0x4221a8(,%edx,4),%eax
40b23b:	89 4d b0             	mov    %ecx,-0x50(%ebp)
40b23e:	8b 44 01 18          	mov    0x18(%ecx,%eax,1),%eax
40b242:	89 45 9c             	mov    %eax,-0x64(%ebp)
40b245:	8b 45 14             	mov    0x14(%ebp),%eax
40b248:	03 c6                	add    %esi,%eax
40b24a:	89 45 ac             	mov    %eax,-0x54(%ebp)
40b24d:	ff 15 e4 90 41 00    	call   *0x4190e4
40b253:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
40b257:	89 45 94             	mov    %eax,-0x6c(%ebp)
40b25a:	75 07                	jne    0x40b263
40b25c:	8b cb                	mov    %ebx,%ecx
40b25e:	e8 3d dc ff ff       	call   0x408ea0
40b263:	8b 43 0c             	mov    0xc(%ebx),%eax
40b266:	8b 75 08             	mov    0x8(%ebp),%esi
40b269:	8b fe                	mov    %esi,%edi
40b26b:	8b 48 08             	mov    0x8(%eax),%ecx
40b26e:	33 c0                	xor    %eax,%eax
40b270:	ab                   	stos   %eax,%es:(%edi)
40b271:	89 4d 90             	mov    %ecx,-0x70(%ebp)
40b274:	ab                   	stos   %eax,%es:(%edi)
40b275:	ab                   	stos   %eax,%es:(%edi)
40b276:	8b 45 a0             	mov    -0x60(%ebp),%eax
40b279:	8b d0                	mov    %eax,%edx
40b27b:	89 55 d4             	mov    %edx,-0x2c(%ebp)
40b27e:	3b 45 ac             	cmp    -0x54(%ebp),%eax
40b281:	0f 83 09 03 00 00    	jae    0x40b590
40b287:	8b 7d b0             	mov    -0x50(%ebp),%edi
40b28a:	33 db                	xor    %ebx,%ebx
40b28c:	89 5d b8             	mov    %ebx,-0x48(%ebp)
40b28f:	8a 02                	mov    (%edx),%al
40b291:	88 45 d3             	mov    %al,-0x2d(%ebp)
40b294:	8b 45 bc             	mov    -0x44(%ebp),%eax
40b297:	89 5d c0             	mov    %ebx,-0x40(%ebp)
40b29a:	c7 45 cc 01 00 00 00 	movl   $0x1,-0x34(%ebp)
40b2a1:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
40b2a7:	0f 85 2c 01 00 00    	jne    0x40b3d9
40b2ad:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
40b2b4:	8b cb                	mov    %ebx,%ecx
40b2b6:	83 c0 2e             	add    $0x2e,%eax
40b2b9:	03 c7                	add    %edi,%eax
40b2bb:	89 45 b8             	mov    %eax,-0x48(%ebp)
40b2be:	80 38 00             	cmpb   $0x0,(%eax)
40b2c1:	74 07                	je     0x40b2ca
40b2c3:	41                   	inc    %ecx
40b2c4:	40                   	inc    %eax
40b2c5:	83 f9 05             	cmp    $0x5,%ecx
40b2c8:	7c f4                	jl     0x40b2be
40b2ca:	8b 7d ac             	mov    -0x54(%ebp),%edi
40b2cd:	2b fa                	sub    %edx,%edi
40b2cf:	89 4d cc             	mov    %ecx,-0x34(%ebp)
40b2d2:	85 c9                	test   %ecx,%ecx
40b2d4:	0f 8e a4 00 00 00    	jle    0x40b37e
40b2da:	8b 45 b8             	mov    -0x48(%ebp),%eax
40b2dd:	0f b6 00             	movzbl (%eax),%eax
40b2e0:	0f be 80 70 18 42 00 	movsbl 0x421870(%eax),%eax
40b2e7:	40                   	inc    %eax
40b2e8:	89 45 c8             	mov    %eax,-0x38(%ebp)
40b2eb:	2b c1                	sub    %ecx,%eax
40b2ed:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40b2f0:	3b c7                	cmp    %edi,%eax
40b2f2:	0f 8f 21 02 00 00    	jg     0x40b519
40b2f8:	8b fb                	mov    %ebx,%edi
40b2fa:	8b 5d b8             	mov    -0x48(%ebp),%ebx
40b2fd:	8a 03                	mov    (%ebx),%al
40b2ff:	88 44 3d e8          	mov    %al,-0x18(%ebp,%edi,1)
40b303:	47                   	inc    %edi
40b304:	43                   	inc    %ebx
40b305:	3b f9                	cmp    %ecx,%edi
40b307:	7c f4                	jl     0x40b2fd
40b309:	8b 75 b4             	mov    -0x4c(%ebp),%esi
40b30c:	33 db                	xor    %ebx,%ebx
40b30e:	85 f6                	test   %esi,%esi
40b310:	7e 13                	jle    0x40b325
40b312:	56                   	push   %esi
40b313:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b316:	03 c1                	add    %ecx,%eax
40b318:	52                   	push   %edx
40b319:	50                   	push   %eax
40b31a:	e8 11 90 ff ff       	call   0x404330
40b31f:	8b 4d cc             	mov    -0x34(%ebp),%ecx
40b322:	83 c4 0c             	add    $0xc,%esp
40b325:	8b 7d b0             	mov    -0x50(%ebp),%edi
40b328:	8b d3                	mov    %ebx,%edx
40b32a:	8b 75 bc             	mov    -0x44(%ebp),%esi
40b32d:	8b 04 b5 a8 21 42 00 	mov    0x4221a8(,%esi,4),%eax
40b334:	03 c7                	add    %edi,%eax
40b336:	88 5c 10 2e          	mov    %bl,0x2e(%eax,%edx,1)
40b33a:	42                   	inc    %edx
40b33b:	3b d1                	cmp    %ecx,%edx
40b33d:	7c ee                	jl     0x40b32d
40b33f:	ff 75 c4             	push   -0x3c(%ebp)
40b342:	8b 75 08             	mov    0x8(%ebp),%esi
40b345:	8d 45 e8             	lea    -0x18(%ebp),%eax
40b348:	89 45 98             	mov    %eax,-0x68(%ebp)
40b34b:	8d 4d 88             	lea    -0x78(%ebp),%ecx
40b34e:	33 c0                	xor    %eax,%eax
40b350:	89 5d 88             	mov    %ebx,-0x78(%ebp)
40b353:	83 7d c8 04          	cmpl   $0x4,-0x38(%ebp)
40b357:	51                   	push   %ecx
40b358:	0f 94 c0             	sete   %al
40b35b:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
40b35e:	40                   	inc    %eax
40b35f:	50                   	push   %eax
40b360:	89 45 cc             	mov    %eax,-0x34(%ebp)
40b363:	8d 45 98             	lea    -0x68(%ebp),%eax
40b366:	50                   	push   %eax
40b367:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b36a:	50                   	push   %eax
40b36b:	e8 9c 5b 00 00       	call   0x410f0c
40b370:	83 c4 14             	add    $0x14,%esp
40b373:	83 f8 ff             	cmp    $0xffffffff,%eax
40b376:	0f 84 14 02 00 00    	je     0x40b590
40b37c:	eb 4f                	jmp    0x40b3cd
40b37e:	0f b6 02             	movzbl (%edx),%eax
40b381:	0f be 88 70 18 42 00 	movsbl 0x421870(%eax),%ecx
40b388:	41                   	inc    %ecx
40b389:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
40b38c:	3b cf                	cmp    %edi,%ecx
40b38e:	0f 8f b2 01 00 00    	jg     0x40b546
40b394:	ff 75 c4             	push   -0x3c(%ebp)
40b397:	33 c0                	xor    %eax,%eax
40b399:	89 5d 80             	mov    %ebx,-0x80(%ebp)
40b39c:	83 f9 04             	cmp    $0x4,%ecx
40b39f:	89 5d 84             	mov    %ebx,-0x7c(%ebp)
40b3a2:	8d 4d 80             	lea    -0x80(%ebp),%ecx
40b3a5:	89 55 c8             	mov    %edx,-0x38(%ebp)
40b3a8:	0f 94 c0             	sete   %al
40b3ab:	40                   	inc    %eax
40b3ac:	51                   	push   %ecx
40b3ad:	50                   	push   %eax
40b3ae:	89 45 cc             	mov    %eax,-0x34(%ebp)
40b3b1:	8d 45 c8             	lea    -0x38(%ebp),%eax
40b3b4:	50                   	push   %eax
40b3b5:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b3b8:	50                   	push   %eax
40b3b9:	e8 4e 5b 00 00       	call   0x410f0c
40b3be:	83 c4 14             	add    $0x14,%esp
40b3c1:	83 f8 ff             	cmp    $0xffffffff,%eax
40b3c4:	0f 84 c6 01 00 00    	je     0x40b590
40b3ca:	8b 7d b0             	mov    -0x50(%ebp),%edi
40b3cd:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40b3d0:	03 45 b4             	add    -0x4c(%ebp),%eax
40b3d3:	48                   	dec    %eax
40b3d4:	e9 8f 00 00 00       	jmp    0x40b468
40b3d9:	8b 0c 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%ecx
40b3e0:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
40b3e3:	8a 64 39 2d          	mov    0x2d(%ecx,%edi,1),%ah
40b3e7:	f6 c4 04             	test   $0x4,%ah
40b3ea:	74 1e                	je     0x40b40a
40b3ec:	8a 44 39 2e          	mov    0x2e(%ecx,%edi,1),%al
40b3f0:	80 e4 fb             	and    $0xfb,%ah
40b3f3:	ff 75 c4             	push   -0x3c(%ebp)
40b3f6:	88 45 e0             	mov    %al,-0x20(%ebp)
40b3f9:	8a 02                	mov    (%edx),%al
40b3fb:	88 45 e1             	mov    %al,-0x1f(%ebp)
40b3fe:	88 64 39 2d          	mov    %ah,0x2d(%ecx,%edi,1)
40b402:	8d 45 e0             	lea    -0x20(%ebp),%eax
40b405:	6a 02                	push   $0x2
40b407:	50                   	push   %eax
40b408:	eb 46                	jmp    0x40b450
40b40a:	8b 45 c4             	mov    -0x3c(%ebp),%eax
40b40d:	0f b6 0a             	movzbl (%edx),%ecx
40b410:	8b 40 0c             	mov    0xc(%eax),%eax
40b413:	8b 00                	mov    (%eax),%eax
40b415:	66 39 1c 48          	cmp    %bx,(%eax,%ecx,2)
40b419:	7d 2f                	jge    0x40b44a
40b41b:	8d 42 01             	lea    0x1(%edx),%eax
40b41e:	89 45 c8             	mov    %eax,-0x38(%ebp)
40b421:	3b 45 ac             	cmp    -0x54(%ebp),%eax
40b424:	0f 83 3d 01 00 00    	jae    0x40b567
40b42a:	ff 75 c4             	push   -0x3c(%ebp)
40b42d:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b430:	6a 02                	push   $0x2
40b432:	52                   	push   %edx
40b433:	50                   	push   %eax
40b434:	e8 66 29 00 00       	call   0x40dd9f
40b439:	83 c4 10             	add    $0x10,%esp
40b43c:	83 f8 ff             	cmp    $0xffffffff,%eax
40b43f:	0f 84 4b 01 00 00    	je     0x40b590
40b445:	8b 45 c8             	mov    -0x38(%ebp),%eax
40b448:	eb 1e                	jmp    0x40b468
40b44a:	ff 75 c4             	push   -0x3c(%ebp)
40b44d:	6a 01                	push   $0x1
40b44f:	52                   	push   %edx
40b450:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b453:	50                   	push   %eax
40b454:	e8 46 29 00 00       	call   0x40dd9f
40b459:	83 c4 10             	add    $0x10,%esp
40b45c:	83 f8 ff             	cmp    $0xffffffff,%eax
40b45f:	0f 84 2b 01 00 00    	je     0x40b590
40b465:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40b468:	53                   	push   %ebx
40b469:	53                   	push   %ebx
40b46a:	40                   	inc    %eax
40b46b:	6a 05                	push   $0x5
40b46d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
40b470:	8d 45 d8             	lea    -0x28(%ebp),%eax
40b473:	50                   	push   %eax
40b474:	ff 75 cc             	push   -0x34(%ebp)
40b477:	8d 45 c0             	lea    -0x40(%ebp),%eax
40b47a:	50                   	push   %eax
40b47b:	53                   	push   %ebx
40b47c:	ff 75 94             	push   -0x6c(%ebp)
40b47f:	e8 aa 3b 00 00       	call   0x40f02e
40b484:	83 c4 20             	add    $0x20,%esp
40b487:	89 45 c8             	mov    %eax,-0x38(%ebp)
40b48a:	85 c0                	test   %eax,%eax
40b48c:	0f 84 fe 00 00 00    	je     0x40b590
40b492:	53                   	push   %ebx
40b493:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
40b496:	51                   	push   %ecx
40b497:	50                   	push   %eax
40b498:	8d 45 d8             	lea    -0x28(%ebp),%eax
40b49b:	50                   	push   %eax
40b49c:	ff 75 9c             	push   -0x64(%ebp)
40b49f:	ff 15 c0 90 41 00    	call   *0x4190c0
40b4a5:	85 c0                	test   %eax,%eax
40b4a7:	0f 84 db 00 00 00    	je     0x40b588
40b4ad:	8b 46 08             	mov    0x8(%esi),%eax
40b4b0:	2b 45 a0             	sub    -0x60(%ebp),%eax
40b4b3:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40b4b6:	03 c2                	add    %edx,%eax
40b4b8:	89 45 b8             	mov    %eax,-0x48(%ebp)
40b4bb:	89 46 04             	mov    %eax,0x4(%esi)
40b4be:	8b 45 c8             	mov    -0x38(%ebp),%eax
40b4c1:	39 45 a4             	cmp    %eax,-0x5c(%ebp)
40b4c4:	0f 82 c6 00 00 00    	jb     0x40b590
40b4ca:	80 7d d3 0a          	cmpb   $0xa,-0x2d(%ebp)
40b4ce:	75 3c                	jne    0x40b50c
40b4d0:	6a 0d                	push   $0xd
40b4d2:	58                   	pop    %eax
40b4d3:	53                   	push   %ebx
40b4d4:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
40b4d8:	8d 45 a4             	lea    -0x5c(%ebp),%eax
40b4db:	50                   	push   %eax
40b4dc:	6a 01                	push   $0x1
40b4de:	8d 45 a8             	lea    -0x58(%ebp),%eax
40b4e1:	50                   	push   %eax
40b4e2:	ff 75 9c             	push   -0x64(%ebp)
40b4e5:	ff 15 c0 90 41 00    	call   *0x4190c0
40b4eb:	85 c0                	test   %eax,%eax
40b4ed:	0f 84 95 00 00 00    	je     0x40b588
40b4f3:	83 7d a4 01          	cmpl   $0x1,-0x5c(%ebp)
40b4f7:	0f 82 93 00 00 00    	jb     0x40b590
40b4fd:	ff 46 08             	incl   0x8(%esi)
40b500:	ff 46 04             	incl   0x4(%esi)
40b503:	8b 46 04             	mov    0x4(%esi),%eax
40b506:	8b 55 d4             	mov    -0x2c(%ebp),%edx
40b509:	89 45 b8             	mov    %eax,-0x48(%ebp)
40b50c:	3b 55 ac             	cmp    -0x54(%ebp),%edx
40b50f:	73 7f                	jae    0x40b590
40b511:	8b 4d 90             	mov    -0x70(%ebp),%ecx
40b514:	e9 76 fd ff ff       	jmp    0x40b28f
40b519:	85 ff                	test   %edi,%edi
40b51b:	7e 24                	jle    0x40b541
40b51d:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40b520:	8b 75 cc             	mov    -0x34(%ebp),%esi
40b523:	8b 4d bc             	mov    -0x44(%ebp),%ecx
40b526:	8b 14 8d a8 21 42 00 	mov    0x4221a8(,%ecx,4),%edx
40b52d:	03 55 b0             	add    -0x50(%ebp),%edx
40b530:	8a 0c 03             	mov    (%ebx,%eax,1),%cl
40b533:	03 d3                	add    %ebx,%edx
40b535:	43                   	inc    %ebx
40b536:	88 4c 32 2e          	mov    %cl,0x2e(%edx,%esi,1)
40b53a:	3b df                	cmp    %edi,%ebx
40b53c:	7c e5                	jl     0x40b523
40b53e:	8b 75 08             	mov    0x8(%ebp),%esi
40b541:	01 7e 04             	add    %edi,0x4(%esi)
40b544:	eb 4a                	jmp    0x40b590
40b546:	85 ff                	test   %edi,%edi
40b548:	7e f7                	jle    0x40b541
40b54a:	8b 75 b0             	mov    -0x50(%ebp),%esi
40b54d:	8b 45 bc             	mov    -0x44(%ebp),%eax
40b550:	8b 0c 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%ecx
40b557:	8a 04 13             	mov    (%ebx,%edx,1),%al
40b55a:	03 ce                	add    %esi,%ecx
40b55c:	88 44 19 2e          	mov    %al,0x2e(%ecx,%ebx,1)
40b560:	43                   	inc    %ebx
40b561:	3b df                	cmp    %edi,%ebx
40b563:	7c e8                	jl     0x40b54d
40b565:	eb d7                	jmp    0x40b53e
40b567:	8b 45 b4             	mov    -0x4c(%ebp),%eax
40b56a:	8a 0a                	mov    (%edx),%cl
40b56c:	88 4c 38 2e          	mov    %cl,0x2e(%eax,%edi,1)
40b570:	8b 45 bc             	mov    -0x44(%ebp),%eax
40b573:	8b 04 85 a8 21 42 00 	mov    0x4221a8(,%eax,4),%eax
40b57a:	80 4c 38 2d 04       	orb    $0x4,0x2d(%eax,%edi,1)
40b57f:	8b 45 b8             	mov    -0x48(%ebp),%eax
40b582:	40                   	inc    %eax
40b583:	89 46 04             	mov    %eax,0x4(%esi)
40b586:	eb 08                	jmp    0x40b590
40b588:	ff 15 28 90 41 00    	call   *0x419028
40b58e:	89 06                	mov    %eax,(%esi)
40b590:	8b c6                	mov    %esi,%eax
40b592:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40b595:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40b59c:	59                   	pop    %ecx
40b59d:	5f                   	pop    %edi
40b59e:	5e                   	pop    %esi
40b59f:	5b                   	pop    %ebx
40b5a0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40b5a3:	33 cd                	xor    %ebp,%ecx
40b5a5:	e8 1e 8b ff ff       	call   0x4040c8
40b5aa:	c9                   	leave
40b5ab:	c3                   	ret
40b5ac:	cc                   	int3
40b5ad:	cc                   	int3
40b5ae:	cc                   	int3
40b5af:	cc                   	int3
40b5b0:	cc                   	int3
40b5b1:	8b ff                	mov    %edi,%edi