40b00d:	8b 00                	mov    (%eax),%eax
40b00f:	8b 4e 08             	mov    0x8(%esi),%ecx
40b012:	89 44 24 4c          	mov    %eax,0x4c(%esp)
40b016:	0f 84 92 4e 03 00    	je     0x43feae
40b01c:	85 c9                	test   %ecx,%ecx
40b01e:	0f 85 95 4e 03 00    	jne    0x43feb9
40b024:	8b 46 0c             	mov    0xc(%esi),%eax
40b027:	83 f8 05             	cmp    $0x5,%eax
40b02a:	0f 8d 9b 4e 03 00    	jge    0x43fecb
40b030:	6a 10                	push   $0x10
40b032:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40b038:	c7 46 0c 04 00 00 00 	movl   $0x4,0xc(%esi)
40b03f:	e8 b2 5f 01 00       	call   0x420ff6
40b044:	8b d0                	mov    %eax,%edx
40b046:	83 c4 04             	add    $0x4,%esp
40b049:	85 d2                	test   %edx,%edx
40b04b:	0f 84 53 06 00 00    	je     0x40b6a4
40b051:	8b 44 24 4c          	mov    0x4c(%esp),%eax
40b055:	8b 08                	mov    (%eax),%ecx
40b057:	89 0a                	mov    %ecx,(%edx)
40b059:	8b 48 04             	mov    0x4(%eax),%ecx
40b05c:	89 4a 04             	mov    %ecx,0x4(%edx)
40b05f:	8b 48 08             	mov    0x8(%eax),%ecx
40b062:	89 4a 08             	mov    %ecx,0x8(%edx)
40b065:	8b 40 0c             	mov    0xc(%eax),%eax
40b068:	89 42 0c             	mov    %eax,0xc(%edx)
40b06b:	ff 00                	incl   (%eax)
40b06d:	89 56 08             	mov    %edx,0x8(%esi)
40b070:	8b 75 0c             	mov    0xc(%ebp),%esi
40b073:	8b 44 24 0c          	mov    0xc(%esp),%eax
40b077:	ff 06                	incl   (%esi)
40b079:	80 b8 fd 00 00 00 00 	cmpb   $0x0,0xfd(%eax)
40b080:	0f 85 f6 4e 03 00    	jne    0x43ff7c
40b086:	80 b8 fe 00 00 00 00 	cmpb   $0x0,0xfe(%eax)
40b08d:	8b 55 08             	mov    0x8(%ebp),%edx
40b090:	8b 45 14             	mov    0x14(%ebp),%eax
40b093:	0f 84 74 f0 ff ff    	je     0x40a10d
40b099:	e9 f6 4e 03 00       	jmp    0x43ff94
40b09e:	8b 44 24 10          	mov    0x10(%esp),%eax
40b0a2:	83 f8 16             	cmp    $0x16,%eax
40b0a5:	0f 85 52 02 00 00    	jne    0x40b2fd
40b0ab:	c7 44 24 10 0c 00 00 	movl   $0xc,0x10(%esp)
40b0b2:	00
40b0b3:	8b 74 24 10          	mov    0x10(%esp),%esi
40b0b7:	8d 41 01             	lea    0x1(%ecx),%eax
40b0ba:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b0bd:	89 01                	mov    %eax,(%ecx)
40b0bf:	e9 ac f0 ff ff       	jmp    0x40a170
40b0c4:	8b 52 04             	mov    0x4(%edx),%edx
40b0c7:	e9 9c f9 ff ff       	jmp    0x40aa68
40b0cc:	8b 44 24 08          	mov    0x8(%esp),%eax
40b0d0:	3d 88 74 4c 00       	cmp    $0x4c7488,%eax
40b0d5:	74 1f                	je     0x40b0f6
40b0d7:	83 78 0c 04          	cmpl   $0x4,0xc(%eax)
40b0db:	0f 84 9a 57 03 00    	je     0x44087b
40b0e1:	8b c8                	mov    %eax,%ecx
40b0e3:	e8 38 e9 ff ff       	call   0x409a20
40b0e8:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40b0ec:	68 88 74 4c 00       	push   $0x4c7488
40b0f1:	e8 ca e9 ff ff       	call   0x409ac0
40b0f6:	c6 44 24 2d 00       	movb   $0x0,0x2d(%esp)
40b0fb:	e9 56 f4 ff ff       	jmp    0x40a556
40b100:	4e                   	dec    %esi
40b101:	8d 41 01             	lea    0x1(%ecx),%eax
40b104:	e9 38 fb ff ff       	jmp    0x40ac41
40b109:	46                   	inc    %esi
40b10a:	8d 41 01             	lea    0x1(%ecx),%eax
40b10d:	e9 2f fb ff ff       	jmp    0x40ac41
40b112:	8d 41 01             	lea    0x1(%ecx),%eax
40b115:	be 0e 00 00 00       	mov    $0xe,%esi
40b11a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b11d:	89 01                	mov    %eax,(%ecx)
40b11f:	e9 47 f0 ff ff       	jmp    0x40a16b
40b124:	83 c0 02             	add    $0x2,%eax
40b127:	83 c2 02             	add    $0x2,%edx
40b12a:	89 44 24 38          	mov    %eax,0x38(%esp)
40b12e:	49                   	dec    %ecx
40b12f:	0f 85 eb f1 ff ff    	jne    0x40a320
40b135:	e9 cf f1 ff ff       	jmp    0x40a309
40b13a:	83 3d 94 74 4c 00 04 	cmpl   $0x4,0x4c7494
40b141:	0f 85 bb f0 ff ff    	jne    0x40a202
40b147:	e9 12 58 03 00       	jmp    0x44095e
40b14c:	8b 46 0c             	mov    0xc(%esi),%eax
40b14f:	ff 08                	decl   (%eax)
40b151:	8b 46 0c             	mov    0xc(%esi),%eax
40b154:	83 38 00             	cmpl   $0x0,(%eax)
40b157:	0f 84 14 58 03 00    	je     0x440971
40b15d:	56                   	push   %esi
40b15e:	e8 09 5f 01 00       	call   0x42106c
40b163:	83 c4 04             	add    $0x4,%esp
40b166:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
40b16d:	e9 9b f0 ff ff       	jmp    0x40a20d
40b172:	8d 41 01             	lea    0x1(%ecx),%eax
40b175:	be 09 00 00 00       	mov    $0x9,%esi
40b17a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b17d:	89 01                	mov    %eax,(%ecx)
40b17f:	e9 e7 ef ff ff       	jmp    0x40a16b
40b184:	83 f8 13             	cmp    $0x13,%eax
40b187:	0f 84 9f fd ff ff    	je     0x40af2c
40b18d:	8d 41 01             	lea    0x1(%ecx),%eax
40b190:	c7 44 24 10 11 00 00 	movl   $0x11,0x10(%esp)
40b197:	00
40b198:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b19b:	8b 74 24 10          	mov    0x10(%esp),%esi
40b19f:	89 01                	mov    %eax,(%ecx)
40b1a1:	e9 ca ef ff ff       	jmp    0x40a170
40b1a6:	48                   	dec    %eax
40b1a7:	83 f8 29             	cmp    $0x29,%eax
40b1aa:	0f 87 b6 ef ff ff    	ja     0x40a166
40b1b0:	0f b6 80 44 b8 40 00 	movzbl 0x40b844(%eax),%eax
40b1b7:	ff 24 85 24 b8 40 00 	jmp    *0x40b824(,%eax,4)
40b1be:	8d 41 01             	lea    0x1(%ecx),%eax
40b1c1:	be 07 00 00 00       	mov    $0x7,%esi
40b1c6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b1c9:	89 01                	mov    %eax,(%ecx)
40b1cb:	e9 9b ef ff ff       	jmp    0x40a16b
40b1d0:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
40b1d5:	0f 84 d2 01 00 00    	je     0x40b3ad
40b1db:	8b 44 24 08          	mov    0x8(%esp),%eax
40b1df:	3d 88 74 4c 00       	cmp    $0x4c7488,%eax
40b1e4:	74 22                	je     0x40b208
40b1e6:	83 3d 94 74 4c 00 04 	cmpl   $0x4,0x4c7494
40b1ed:	0f 84 c6 03 00 00    	je     0x40b5b9
40b1f3:	8b c8                	mov    %eax,%ecx
40b1f5:	e8 26 e8 ff ff       	call   0x409a20
40b1fa:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40b1fe:	68 88 74 4c 00       	push   $0x4c7488
40b203:	e8 b8 e8 ff ff       	call   0x409ac0
40b208:	c6 44 24 2d 00       	movb   $0x0,0x2d(%esp)
40b20d:	e9 d5 fd ff ff       	jmp    0x40afe7
40b212:	80 7c 24 2d 00       	cmpb   $0x0,0x2d(%esp)
40b217:	0f 85 7f 04 00 00    	jne    0x40b69c
40b21d:	8b f2                	mov    %edx,%esi
40b21f:	e9 e5 fd ff ff       	jmp    0x40b009
40b224:	8b 74 24 24          	mov    0x24(%esp),%esi
40b228:	85 f6                	test   %esi,%esi
40b22a:	0f 84 b5 f2 ff ff    	je     0x40a4e5
40b230:	8b 44 24 28          	mov    0x28(%esp),%eax
40b234:	8b 7c 24 20          	mov    0x20(%esp),%edi
40b238:	89 44 24 08          	mov    %eax,0x8(%esp)
40b23c:	89 7d 10             	mov    %edi,0x10(%ebp)
40b23f:	83 fe 01             	cmp    $0x1,%esi
40b242:	0f 85 97 59 03 00    	jne    0x440bdf
40b248:	8b c7                	mov    %edi,%eax
40b24a:	50                   	push   %eax
40b24b:	8d 8c 24 ec 00 00 00 	lea    0xec(%esp),%ecx
40b252:	c7 84 24 f4 00 00 00 	movl   $0x0,0xf4(%esp)
40b259:	00 00 00 00
40b25d:	e8 5e e8 ff ff       	call   0x409ac0
40b262:	8d 8c 24 e8 00 00 00 	lea    0xe8(%esp),%ecx
40b269:	e8 2b e1 ff ff       	call   0x409399
40b26e:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40b272:	84 c0                	test   %al,%al
40b274:	0f 85 90 02 00 00    	jne    0x40b50a
40b27a:	83 f9 07             	cmp    $0x7,%ecx
40b27d:	75 5d                	jne    0x40b2dc
40b27f:	ff 75 0c             	push   0xc(%ebp)
40b282:	ff 75 08             	push   0x8(%ebp)
40b285:	e8 68 07 00 00       	call   0x40b9f2
40b28a:	85 c0                	test   %eax,%eax
40b28c:	0f 88 6e 5b 03 00    	js     0x440e00
40b292:	83 7c 24 10 08       	cmpl   $0x8,0x10(%esp)
40b297:	0f 84 55 59 03 00    	je     0x440bf2
40b29d:	83 fe 01             	cmp    $0x1,%esi
40b2a0:	0f 85 6a 59 03 00    	jne    0x440c10
40b2a6:	8b f7                	mov    %edi,%esi
40b2a8:	8b ce                	mov    %esi,%ecx
40b2aa:	e8 71 e7 ff ff       	call   0x409a20
40b2af:	c7 46 0c 09 00 00 00 	movl   $0x9,0xc(%esi)
40b2b6:	c6 06 00             	movb   $0x0,(%esi)
40b2b9:	80 7c 24 59 00       	cmpb   $0x0,0x59(%esp)
40b2be:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40b2c2:	0f 85 64 59 03 00    	jne    0x440c2c
40b2c8:	80 7c 24 58 00       	cmpb   $0x0,0x58(%esp)
40b2cd:	0f 84 74 59 03 00    	je     0x440c47
40b2d3:	c6 44 24 59 01       	movb   $0x1,0x59(%esp)
40b2d8:	ff 4c 24 50          	decl   0x50(%esp)
40b2dc:	8d 8c 24 e8 00 00 00 	lea    0xe8(%esp),%ecx
40b2e3:	e8 38 e7 ff ff       	call   0x409a20
40b2e8:	8b 75 0c             	mov    0xc(%ebp),%esi
40b2eb:	8b 45 14             	mov    0x14(%ebp),%eax
40b2ee:	8b 55 08             	mov    0x8(%ebp),%edx
40b2f1:	e9 17 ee ff ff       	jmp    0x40a10d
40b2f6:	8b d0                	mov    %eax,%edx
40b2f8:	e9 27 f5 ff ff       	jmp    0x40a824
40b2fd:	83 f8 13             	cmp    $0x13,%eax
40b300:	0f 84 a5 fd ff ff    	je     0x40b0ab
40b306:	e9 15 50 03 00       	jmp    0x440320
40b30b:	8d 41 01             	lea    0x1(%ecx),%eax
40b30e:	be 05 00 00 00       	mov    $0x5,%esi
40b313:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b316:	89 01                	mov    %eax,(%ecx)
40b318:	e9 4e ee ff ff       	jmp    0x40a16b
40b31d:	8b 46 0c             	mov    0xc(%esi),%eax
40b320:	ff 08                	decl   (%eax)
40b322:	8b 46 0c             	mov    0xc(%esi),%eax
40b325:	83 38 00             	cmpl   $0x0,(%eax)
40b328:	0f 84 3d 01 00 00    	je     0x40b46b
40b32e:	56                   	push   %esi
40b32f:	e8 38 5d 01 00       	call   0x42106c
40b334:	83 c4 04             	add    $0x4,%esp
40b337:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
40b33e:	e9 f4 f5 ff ff       	jmp    0x40a937
40b343:	8b 55 08             	mov    0x8(%ebp),%edx
40b346:	8b 42 04             	mov    0x4(%edx),%eax
40b349:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40b34c:	66 83 78 08 40       	cmpw   $0x40,0x8(%eax)
40b351:	0f 85 4b 59 03 00    	jne    0x440ca2
40b357:	8d 41 01             	lea    0x1(%ecx),%eax
40b35a:	3b c6                	cmp    %esi,%eax
40b35c:	0f 84 40 59 03 00    	je     0x440ca2
40b362:	8d 8c 24 80 00 00 00 	lea    0x80(%esp),%ecx
40b369:	89 44 24 74          	mov    %eax,0x74(%esp)
40b36d:	e8 ae e6 ff ff       	call   0x409a20
40b372:	39 74 24 74          	cmp    %esi,0x74(%esp)
40b376:	0f 82 14 f9 ff ff    	jb     0x40ac90
40b37c:	e9 0a fa ff ff       	jmp    0x40ad8b
40b381:	68 88 74 4c 00       	push   $0x4c7488
40b386:	8b cf                	mov    %edi,%ecx
40b388:	e8 0f eb ff ff       	call   0x409e9c
40b38d:	e9 e7 f7 ff ff       	jmp    0x40ab79
40b392:	89 7c 24 18          	mov    %edi,0x18(%esp)
40b396:	e9 1a f8 ff ff       	jmp    0x40abb5
40b39b:	8d 41 01             	lea    0x1(%ecx),%eax
40b39e:	be 02 00 00 00       	mov    $0x2,%esi
40b3a3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b3a6:	89 01                	mov    %eax,(%ecx)
40b3a8:	e9 be ed ff ff       	jmp    0x40a16b
40b3ad:	6a 18                	push   $0x18
40b3af:	e8 42 5c 01 00       	call   0x420ff6
40b3b4:	8b f0                	mov    %eax,%esi
40b3b6:	83 c4 04             	add    $0x4,%esp
40b3b9:	85 f6                	test   %esi,%esi
40b3bb:	0f 84 d4 02 00 00    	je     0x40b695
40b3c1:	68 88 74 4c 00       	push   $0x4c7488
40b3c6:	8b ce                	mov    %esi,%ecx
40b3c8:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40b3cf:	e8 ec e6 ff ff       	call   0x409ac0
40b3d4:	8b 44 24 08          	mov    0x8(%esp),%eax
40b3d8:	85 c0                	test   %eax,%eax
40b3da:	0f 85 40 01 00 00    	jne    0x40b520
40b3e0:	8b d6                	mov    %esi,%edx
40b3e2:	89 46 10             	mov    %eax,0x10(%esi)
40b3e5:	8b 74 24 24          	mov    0x24(%esp),%esi
40b3e9:	89 54 24 08          	mov    %edx,0x8(%esp)
40b3ed:	89 54 24 28          	mov    %edx,0x28(%esp)
40b3f1:	e9 f5 fb ff ff       	jmp    0x40afeb
40b3f6:	8d 41 01             	lea    0x1(%ecx),%eax
40b3f9:	be 04 00 00 00       	mov    $0x4,%esi
40b3fe:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b401:	89 01                	mov    %eax,(%ecx)
40b403:	e9 63 ed ff ff       	jmp    0x40a16b
40b408:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40b40c:	68 88 74 4c 00       	push   $0x4c7488
40b411:	e8 86 ea ff ff       	call   0x409e9c
40b416:	c6 44 24 2d 00       	movb   $0x0,0x2d(%esp)
40b41b:	e9 59 f7 ff ff       	jmp    0x40ab79
40b420:	68 88 74 4c 00       	push   $0x4c7488
40b425:	8d 4c 24 24          	lea    0x24(%esp),%ecx
40b429:	c7 44 24 14 16 00 00 	movl   $0x16,0x14(%esp)
40b430:	00
40b431:	e8 4e 47 01 00       	call   0x41fb84
40b436:	8d 4c 24 20          	lea    0x20(%esp),%ecx
40b43a:	e8 2e 47 01 00       	call   0x41fb6d
40b43f:	8b f0                	mov    %eax,%esi
40b441:	8b ce                	mov    %esi,%ecx
40b443:	e8 d8 e5 ff ff       	call   0x409a20
40b448:	8b 7c 24 20          	mov    0x20(%esp),%edi
40b44c:	8b 44 24 28          	mov    0x28(%esp),%eax
40b450:	c7 46 0c 09 00 00 00 	movl   $0x9,0xc(%esi)
40b457:	c6 06 00             	movb   $0x0,(%esi)
40b45a:	8b 75 0c             	mov    0xc(%ebp),%esi
40b45d:	89 7d 10             	mov    %edi,0x10(%ebp)
40b460:	89 44 24 08          	mov    %eax,0x8(%esp)
40b464:	ff 06                	incl   (%esi)
40b466:	e9 9c ec ff ff       	jmp    0x40a107
40b46b:	ff 36                	push   (%esi)
40b46d:	e8 fa 5b 01 00       	call   0x42106c
40b472:	83 c4 04             	add    $0x4,%esp
40b475:	ff 76 0c             	push   0xc(%esi)
40b478:	e8 ef 5b 01 00       	call   0x42106c
40b47d:	83 c4 04             	add    $0x4,%esp
40b480:	e9 a9 fe ff ff       	jmp    0x40b32e
40b485:	83 e8 05             	sub    $0x5,%eax
40b488:	83 f8 0a             	cmp    $0xa,%eax
40b48b:	0f 87 b2 f4 ff ff    	ja     0x40a943
40b491:	ff 24 85 70 b8 40 00 	jmp    *0x40b870(,%eax,4)
40b498:	68 88 74 4c 00       	push   $0x4c7488
40b49d:	8d 4c 24 24          	lea    0x24(%esp),%ecx
40b4a1:	c7 44 24 14 16 00 00 	movl   $0x16,0x14(%esp)
40b4a8:	00
40b4a9:	e8 d6 46 01 00       	call   0x41fb84
40b4ae:	c6 84 24 a4 00 00 00 	movb   $0x1,0xa4(%esp)
40b4b5:	01
40b4b6:	8d 4c 24 20          	lea    0x20(%esp),%ecx
40b4ba:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
40b4c1:	e8 a7 46 01 00       	call   0x41fb6d
40b4c6:	8b c8                	mov    %eax,%ecx
40b4c8:	e8 96 e3 ff ff       	call   0x409863
40b4cd:	8b 75 0c             	mov    0xc(%ebp),%esi
40b4d0:	8b 7c 24 20          	mov    0x20(%esp),%edi
40b4d4:	8b 44 24 28          	mov    0x28(%esp),%eax
40b4d8:	89 7d 10             	mov    %edi,0x10(%ebp)
40b4db:	ff 06                	incl   (%esi)
40b4dd:	89 44 24 08          	mov    %eax,0x8(%esp)
40b4e1:	e9 21 ec ff ff       	jmp    0x40a107
40b4e6:	8d 41 01             	lea    0x1(%ecx),%eax
40b4e9:	be 03 00 00 00       	mov    $0x3,%esi
40b4ee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b4f1:	89 01                	mov    %eax,(%ecx)
40b4f3:	e9 73 ec ff ff       	jmp    0x40a16b
40b4f8:	8d 41 01             	lea    0x1(%ecx),%eax
40b4fb:	be 08 00 00 00       	mov    $0x8,%esi
40b500:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b503:	89 01                	mov    %eax,(%ecx)
40b505:	e9 61 ec ff ff       	jmp    0x40a16b
40b50a:	83 f9 08             	cmp    $0x8,%ecx
40b50d:	0f 84 6c fd ff ff    	je     0x40b27f
40b513:	84 c0                	test   %al,%al
40b515:	0f 85 c1 fd ff ff    	jne    0x40b2dc
40b51b:	e9 5a fd ff ff       	jmp    0x40b27a
40b520:	8b d6                	mov    %esi,%edx
40b522:	89 46 10             	mov    %eax,0x10(%esi)
40b525:	8b 74 24 24          	mov    0x24(%esp),%esi
40b529:	89 54 24 08          	mov    %edx,0x8(%esp)
40b52d:	89 54 24 28          	mov    %edx,0x28(%esp)
40b531:	e9 b5 fa ff ff       	jmp    0x40afeb
40b536:	83 c8 01             	or     $0x1,%eax
40b539:	c7 05 88 74 4c 00 00 	movl   $0x0,0x4c7488
40b540:	00 00 00
40b543:	68 3c b8 43 00       	push   $0x43b83c
40b548:	a3 80 74 4c 00       	mov    %eax,0x4c7480
40b54d:	c7 05 90 74 4c 00 00 	movl   $0x0,0x4c7490
40b554:	00 00 00
40b557:	c7 05 94 74 4c 00 01 	movl   $0x1,0x4c7494
40b55e:	00 00 00
40b561:	e8 1a 7a 01 00       	call   0x422f80
40b566:	83 c4 04             	add    $0x4,%esp
40b569:	e9 b1 ea ff ff       	jmp    0x40a01f
40b56e:	68 88 74 4c 00       	push   $0x4c7488
40b573:	8d 4c 24 24          	lea    0x24(%esp),%ecx
40b577:	c7 44 24 14 16 00 00 	movl   $0x16,0x14(%esp)
40b57e:	00
40b57f:	e8 00 46 01 00       	call   0x41fb84
40b584:	8b 75 0c             	mov    0xc(%ebp),%esi
40b587:	8d 4c 24 20          	lea    0x20(%esp),%ecx
40b58b:	8b 7d 08             	mov    0x8(%ebp),%edi
40b58e:	8b 16                	mov    (%esi),%edx
40b590:	8d 42 01             	lea    0x1(%edx),%eax
40b593:	89 06                	mov    %eax,(%esi)