40d186:	8d 41 01             	lea    0x1(%ecx),%eax
40d189:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d18c:	89 06                	mov    %eax,(%esi)
40d18e:	e8 09 cb ff ff       	call   0x409c9c
40d193:	85 c0                	test   %eax,%eax
40d195:	0f 88 9e 00 00 00    	js     0x40d239
40d19b:	8b 45 18             	mov    0x18(%ebp),%eax
40d19e:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d1a1:	8b 30                	mov    (%eax),%esi
40d1a3:	e8 f4 ca ff ff       	call   0x409c9c
40d1a8:	8b 4d 14             	mov    0x14(%ebp),%ecx
40d1ab:	8b 55 18             	mov    0x18(%ebp),%edx
40d1ae:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
40d1b1:	8d 46 01             	lea    0x1(%esi),%eax
40d1b4:	8b 75 0c             	mov    0xc(%ebp),%esi
40d1b7:	89 02                	mov    %eax,(%edx)
40d1b9:	8b 45 08             	mov    0x8(%ebp),%eax
40d1bc:	8b 0e                	mov    (%esi),%ecx
40d1be:	8b 40 04             	mov    0x4(%eax),%eax
40d1c1:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d1c4:	e9 4e ff ff ff       	jmp    0x40d117
40d1c9:	8b 75 10             	mov    0x10(%ebp),%esi
40d1cc:	83 7e 0c 0f          	cmpl   $0xf,0xc(%esi)
40d1d0:	74 4f                	je     0x40d221
40d1d2:	8b ce                	mov    %esi,%ecx
40d1d4:	e8 55 c2 ff ff       	call   0x40942e
40d1d9:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
40d1dd:	75 62                	jne    0x40d241
40d1df:	8b 0e                	mov    (%esi),%ecx
40d1e1:	8b 45 18             	mov    0x18(%ebp),%eax
40d1e4:	8b 10                	mov    (%eax),%edx
40d1e6:	83 fa 01             	cmp    $0x1,%edx
40d1e9:	7c 5a                	jl     0x40d245
40d1eb:	8b 01                	mov    (%ecx),%eax
40d1ed:	33 f6                	xor    %esi,%esi
40d1ef:	83 a0 10 02 00 00 00 	andl   $0x0,0x210(%eax)
40d1f6:	85 d2                	test   %edx,%edx
40d1f8:	7e 19                	jle    0x40d213
40d1fa:	8b 5d 18             	mov    0x18(%ebp),%ebx
40d1fd:	8b 7d 14             	mov    0x14(%ebp),%edi
40d200:	ff 34 b7             	push   (%edi,%esi,4)
40d203:	e8 84 c0 ff ff       	call   0x40928c
40d208:	46                   	inc    %esi
40d209:	3b 33                	cmp    (%ebx),%esi
40d20b:	7c f3                	jl     0x40d200
40d20d:	8b 7d f8             	mov    -0x8(%ebp),%edi
40d210:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40d213:	6a 00                	push   $0x0
40d215:	51                   	push   %ecx
40d216:	e8 95 bf ff ff       	call   0x4091b0
40d21b:	59                   	pop    %ecx
40d21c:	59                   	pop    %ecx
40d21d:	84 c0                	test   %al,%al
40d21f:	74 2c                	je     0x40d24d
40d221:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40d225:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40d228:	e8 f3 c7 ff ff       	call   0x409a20
40d22d:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d230:	5f                   	pop    %edi
40d231:	5e                   	pop    %esi
40d232:	5b                   	pop    %ebx
40d233:	8b e5                	mov    %ebp,%esp
40d235:	5d                   	pop    %ebp
40d236:	c2 14 00             	ret    $0x14
40d239:	57                   	push   %edi
40d23a:	6a 7b                	push   $0x7b
40d23c:	e9 67 58 03 00       	jmp    0x442aa8
40d241:	33 c9                	xor    %ecx,%ecx
40d243:	eb 9c                	jmp    0x40d1e1
40d245:	57                   	push   %edi
40d246:	6a 7e                	push   $0x7e
40d248:	e9 5b 58 03 00       	jmp    0x442aa8
40d24d:	57                   	push   %edi
40d24e:	68 82 00 00 00       	push   $0x82
40d253:	e9 50 58 03 00       	jmp    0x442aa8
40d258:	cc                   	int3
40d259:	cc                   	int3
40d25a:	cc                   	int3
40d25b:	cc                   	int3
40d25c:	cc                   	int3
40d25d:	cc                   	int3
40d25e:	cc                   	int3
40d25f:	cc                   	int3
40d260:	55                   	push   %ebp
40d261:	8b ec                	mov    %esp,%ebp
40d263:	81 ec 48 01 00 00    	sub    $0x148,%esp
40d269:	8b 55 10             	mov    0x10(%ebp),%edx
40d26c:	53                   	push   %ebx
40d26d:	8b d9                	mov    %ecx,%ebx
40d26f:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40d272:	56                   	push   %esi
40d273:	57                   	push   %edi
40d274:	f6 c2 04             	test   $0x4,%dl
40d277:	0f 85 49 04 00 00    	jne    0x40d6c6
40d27d:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
40d281:	8b 75 0c             	mov    0xc(%ebp),%esi
40d284:	83 e2 03             	and    $0x3,%edx
40d287:	8b 7d 08             	mov    0x8(%ebp),%edi
40d28a:	89 55 10             	mov    %edx,0x10(%ebp)
40d28d:	ff 06                	incl   (%esi)
40d28f:	8b 0e                	mov    (%esi),%ecx
40d291:	8b 47 04             	mov    0x4(%edi),%eax
40d294:	8d 04 88             	lea    (%eax,%ecx,4),%eax
40d297:	8b 08                	mov    (%eax),%ecx
40d299:	66 83 79 08 00       	cmpw   $0x0,0x8(%ecx)
40d29e:	0f 84 10 58 03 00    	je     0x442ab4
40d2a4:	a1 6c 74 4c 00       	mov    0x4c746c,%eax
40d2a9:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40d2b0:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
40d2b7:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
40d2bb:	a8 01                	test   $0x1,%al
40d2bd:	0f 84 6c 03 00 00    	je     0x40d62f
40d2c3:	8b 0e                	mov    (%esi),%ecx
40d2c5:	8b 47 04             	mov    0x4(%edi),%eax
40d2c8:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d2cb:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
40d2d0:	0f 85 f3 59 03 00    	jne    0x442cc9
40d2d6:	eb 08                	jmp    0x40d2e0
40d2d8:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40d2df:	90                   	nop
40d2e0:	8b 18                	mov    (%eax),%ebx
40d2e2:	89 5d d0             	mov    %ebx,-0x30(%ebp)
40d2e5:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40d2ec:	83 fa 01             	cmp    $0x1,%edx
40d2ef:	0f 85 8b 02 00 00    	jne    0x40d580
40d2f5:	83 3d 80 72 4c 00 00 	cmpl   $0x0,0x4c7280
40d2fc:	0f 84 92 02 00 00    	je     0x40d594
40d302:	80 3d 89 72 4c 00 00 	cmpb   $0x0,0x4c7289
40d309:	0f 85 47 58 03 00    	jne    0x442b56
40d30f:	8b 35 84 72 4c 00    	mov    0x4c7284,%esi
40d315:	56                   	push   %esi
40d316:	53                   	push   %ebx
40d317:	e8 84 b5 ff ff       	call   0x4088a0
40d31c:	84 c0                	test   %al,%al
40d31e:	0f 84 4a 02 00 00    	je     0x40d56e
40d324:	8b 0e                	mov    (%esi),%ecx
40d326:	85 c9                	test   %ecx,%ecx
40d328:	0f 84 40 02 00 00    	je     0x40d56e
40d32e:	8b 41 10             	mov    0x10(%ecx),%eax
40d331:	8b 71 14             	mov    0x14(%ecx),%esi
40d334:	25 00 ff 00 00       	and    $0xff00,%eax
40d339:	89 75 f4             	mov    %esi,-0xc(%ebp)
40d33c:	8b 75 0c             	mov    0xc(%ebp),%esi
40d33f:	89 45 e8             	mov    %eax,-0x18(%ebp)
40d342:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d345:	8b 55 10             	mov    0x10(%ebp),%edx
40d348:	85 c0                	test   %eax,%eax
40d34a:	0f 84 f1 01 00 00    	je     0x40d541
40d350:	8b 45 e8             	mov    -0x18(%ebp),%eax
40d353:	a9 00 01 00 00       	test   $0x100,%eax
40d358:	0f 85 54 59 03 00    	jne    0x442cb2
40d35e:	a9 00 04 00 00       	test   $0x400,%eax
40d363:	0f 85 02 58 03 00    	jne    0x442b6b
40d369:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
40d36d:	f6 c2 01             	test   $0x1,%dl
40d370:	74 1f                	je     0x40d391
40d372:	52                   	push   %edx
40d373:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d376:	50                   	push   %eax
40d377:	53                   	push   %ebx
40d378:	e8 25 b3 ff ff       	call   0x4086a2
40d37d:	84 c0                	test   %al,%al
40d37f:	74 0d                	je     0x40d38e
40d381:	f7 45 e8 00 02 00 00 	testl  $0x200,-0x18(%ebp)
40d388:	0f 85 d7 58 03 00    	jne    0x442c65
40d38e:	8b 55 10             	mov    0x10(%ebp),%edx
40d391:	f6 c2 02             	test   $0x2,%dl
40d394:	0f 85 11 02 00 00    	jne    0x40d5ab
40d39a:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
40d39e:	8b 55 f4             	mov    -0xc(%ebp),%edx
40d3a1:	0f 85 e8 57 03 00    	jne    0x442b8f
40d3a7:	ff 06                	incl   (%esi)
40d3a9:	8b 0e                	mov    (%esi),%ecx
40d3ab:	8b 47 04             	mov    0x4(%edi),%eax
40d3ae:	8b 04 88             	mov    (%eax,%ecx,4),%eax
40d3b1:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
40d3b6:	0f 84 15 02 00 00    	je     0x40d5d1
40d3bc:	8b 0e                	mov    (%esi),%ecx
40d3be:	8b 57 04             	mov    0x4(%edi),%edx
40d3c1:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
40d3c4:	66 83 78 08 41       	cmpw   $0x41,0x8(%eax)
40d3c9:	0f 85 37 01 00 00    	jne    0x40d506
40d3cf:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
40d3d3:	8d 41 01             	lea    0x1(%ecx),%eax
40d3d6:	89 06                	mov    %eax,(%esi)
40d3d8:	8b 04 82             	mov    (%edx,%eax,4),%eax
40d3db:	0f bf 40 0a          	movswl 0xa(%eax),%eax
40d3df:	89 45 cc             	mov    %eax,-0x34(%ebp)
40d3e2:	0f 85 b0 58 03 00    	jne    0x442c98
40d3e8:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
40d3ec:	8b 7d f4             	mov    -0xc(%ebp),%edi
40d3ef:	74 25                	je     0x40d416
40d3f1:	81 ff 70 74 4c 00    	cmp    $0x4c7470,%edi
40d3f7:	74 1d                	je     0x40d416
40d3f9:	83 7f 0c 04          	cmpl   $0x4,0xc(%edi)
40d3fd:	0f 84 03 58 03 00    	je     0x442c06
40d403:	8b cf                	mov    %edi,%ecx
40d405:	e8 16 c6 ff ff       	call   0x409a20
40d40a:	68 70 74 4c 00       	push   $0x4c7470
40d40f:	8b cf                	mov    %edi,%ecx
40d411:	e8 aa c6 ff ff       	call   0x409ac0
40d416:	8b 4d 08             	mov    0x8(%ebp),%ecx
40d419:	8b 16                	mov    (%esi),%edx
40d41b:	8b 41 04             	mov    0x4(%ecx),%eax
40d41e:	8b 04 90             	mov    (%eax,%edx,4),%eax
40d421:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
40d426:	0f 84 2f 02 00 00    	je     0x40d65b
40d42c:	8b 49 08             	mov    0x8(%ecx),%ecx
40d42f:	33 db                	xor    %ebx,%ebx
40d431:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40d434:	89 4d d8             	mov    %ecx,-0x28(%ebp)
40d437:	3b d1                	cmp    %ecx,%edx
40d439:	0f 83 aa 00 00 00    	jae    0x40d4e9
40d43f:	8b 45 08             	mov    0x8(%ebp),%eax
40d442:	8b 40 04             	mov    0x4(%eax),%eax
40d445:	8d 34 90             	lea    (%eax,%edx,4),%esi
40d448:	eb 06                	jmp    0x40d450
40d44a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
40d450:	8b 3e                	mov    (%esi),%edi
40d452:	0f b7 47 08          	movzwl 0x8(%edi),%eax
40d456:	66 83 f8 33          	cmp    $0x33,%ax
40d45a:	74 37                	je     0x40d493
40d45c:	66 83 f8 4e          	cmp    $0x4e,%ax
40d460:	74 2e                	je     0x40d490
40d462:	66 83 f8 4f          	cmp    $0x4f,%ax
40d466:	74 1a                	je     0x40d482
40d468:	66 83 f8 47          	cmp    $0x47,%ax
40d46c:	74 22                	je     0x40d490
40d46e:	66 83 f8 48          	cmp    $0x48,%ax
40d472:	74 0e                	je     0x40d482
40d474:	66 83 f8 40          	cmp    $0x40,%ax
40d478:	74 68                	je     0x40d4e2
40d47a:	66 83 f8 7f          	cmp    $0x7f,%ax
40d47e:	74 66                	je     0x40d4e6
40d480:	eb 04                	jmp    0x40d486
40d482:	4b                   	dec    %ebx
40d483:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
40d486:	42                   	inc    %edx
40d487:	83 c6 04             	add    $0x4,%esi
40d48a:	3b d1                	cmp    %ecx,%edx
40d48c:	72 c2                	jb     0x40d450
40d48e:	eb 56                	jmp    0x40d4e6
40d490:	43                   	inc    %ebx
40d491:	eb f0                	jmp    0x40d483
40d493:	8b 0f                	mov    (%edi),%ecx
40d495:	8b 7d d0             	mov    -0x30(%ebp),%edi
40d498:	8b 59 04             	mov    0x4(%ecx),%ebx
40d49b:	3b 5f 04             	cmp    0x4(%edi),%ebx
40d49e:	74 08                	je     0x40d4a8
40d4a0:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
40d4a3:	8b 4d d8             	mov    -0x28(%ebp),%ecx
40d4a6:	eb b4                	jmp    0x40d45c
40d4a8:	8b 7d d0             	mov    -0x30(%ebp),%edi
40d4ab:	8b 09                	mov    (%ecx),%ecx
40d4ad:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40d4b0:	8b 3f                	mov    (%edi),%edi
40d4b2:	89 7d dc             	mov    %edi,-0x24(%ebp)
40d4b5:	8b 3e                	mov    (%esi),%edi
40d4b7:	85 db                	test   %ebx,%ebx
40d4b9:	0f 84 ca 57 03 00    	je     0x442c89
40d4bf:	90                   	nop
40d4c0:	8b 7d dc             	mov    -0x24(%ebp),%edi
40d4c3:	66 8b 09             	mov    (%ecx),%cx
40d4c6:	66 3b 0f             	cmp    (%edi),%cx
40d4c9:	8b 3e                	mov    (%esi),%edi
40d4cb:	75 d3                	jne    0x40d4a0
40d4cd:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40d4d0:	83 45 dc 02          	addl   $0x2,-0x24(%ebp)
40d4d4:	83 c1 02             	add    $0x2,%ecx
40d4d7:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40d4da:	4b                   	dec    %ebx
40d4db:	75 e3                	jne    0x40d4c0
40d4dd:	e9 a7 57 03 00       	jmp    0x442c89
40d4e2:	85 db                	test   %ebx,%ebx
40d4e4:	75 94                	jne    0x40d47a
40d4e6:	8b 75 0c             	mov    0xc(%ebp),%esi
40d4e9:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d4ec:	8b 7d 08             	mov    0x8(%ebp),%edi
40d4ef:	8b 5d ec             	mov    -0x14(%ebp),%ebx
40d4f2:	8b cb                	mov    %ebx,%ecx
40d4f4:	6a ff                	push   $0xffffffff
40d4f6:	50                   	push   %eax
40d4f7:	56                   	push   %esi
40d4f8:	57                   	push   %edi
40d4f9:	e8 02 cb ff ff       	call   0x40a000
40d4fe:	85 c0                	test   %eax,%eax
40d500:	0f 88 c9 01 00 00    	js     0x40d6cf
40d506:	8b 0e                	mov    (%esi),%ecx
40d508:	8b 57 04             	mov    0x4(%edi),%edx
40d50b:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
40d50e:	0f b7 40 08          	movzwl 0x8(%eax),%eax
40d512:	66 83 f8 7f          	cmp    $0x7f,%ax
40d516:	0f 84 8f 01 00 00    	je     0x40d6ab
40d51c:	66 83 f8 40          	cmp    $0x40,%ax
40d520:	0f 85 7d 57 03 00    	jne    0x442ca3
40d526:	8d 41 01             	lea    0x1(%ecx),%eax
40d529:	89 06                	mov    %eax,(%esi)
40d52b:	8b 04 82             	mov    (%edx,%eax,4),%eax
40d52e:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
40d533:	0f 85 a0 01 00 00    	jne    0x40d6d9
40d539:	8b 55 10             	mov    0x10(%ebp),%edx
40d53c:	e9 9f fd ff ff       	jmp    0x40d2e0
40d541:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
40d545:	0f 85 06 57 03 00    	jne    0x442c51
40d54b:	52                   	push   %edx
40d54c:	6a 00                	push   $0x0
40d54e:	68 70 74 4c 00       	push   $0x4c7470
40d553:	53                   	push   %ebx
40d554:	e8 c7 b0 ff ff       	call   0x408620
40d559:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d55c:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
40d560:	8b 55 10             	mov    0x10(%ebp),%edx
40d563:	0f 84 28 fe ff ff    	je     0x40d391
40d569:	e9 ff fd ff ff       	jmp    0x40d36d
40d56e:	8b 75 0c             	mov    0xc(%ebp),%esi
40d571:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
40d578:	8b 45 f4             	mov    -0xc(%ebp),%eax
40d57b:	e9 c5 fd ff ff       	jmp    0x40d345
40d580:	8b c2                	mov    %edx,%eax
40d582:	83 e8 00             	sub    $0x0,%eax
40d585:	0f 84 29 01 00 00    	je     0x40d6b4
40d58b:	83 e8 02             	sub    $0x2,%eax
40d58e:	0f 85 88 55 03 00    	jne    0x442b1c
40d594:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d597:	b9 70 72 4c 00       	mov    $0x4c7270,%ecx
40d59c:	50                   	push   %eax
40d59d:	53                   	push   %ebx
40d59e:	e8 0f b6 ff ff       	call   0x408bb2
40d5a3:	89 45 f4             	mov    %eax,-0xc(%ebp)
40d5a6:	e9 9a fd ff ff       	jmp    0x40d345
40d5ab:	6a 01                	push   $0x1
40d5ad:	8d 45 e8             	lea    -0x18(%ebp),%eax
40d5b0:	50                   	push   %eax
40d5b1:	53                   	push   %ebx
40d5b2:	e8 e3 af ff ff       	call   0x40859a
40d5b7:	85 c0                	test   %eax,%eax
40d5b9:	0f 84 db fd ff ff    	je     0x40d39a
40d5bf:	f7 45 e8 00 02 00 00 	testl  $0x200,-0x18(%ebp)
40d5c6:	0f 84 ce fd ff ff    	je     0x40d39a
40d5cc:	e9 94 56 03 00       	jmp    0x442c65
40d5d1:	33 f6                	xor    %esi,%esi
40d5d3:	bf 01 00 00 00       	mov    $0x1,%edi
40d5d8:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
40d5dc:	89 75 bc             	mov    %esi,-0x44(%ebp)
40d5df:	89 75 c4             	mov    %esi,-0x3c(%ebp)
40d5e2:	89 7d c8             	mov    %edi,-0x38(%ebp)
40d5e5:	0f 85 c5 55 03 00    	jne    0x442bb0
40d5eb:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
40d5ef:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40d5f2:	8d 45 e0             	lea    -0x20(%ebp),%eax