41b1e7:	83 38 00             	cmpl   $0x0,(%eax)
41b1ea:	0f 84 35 01 00 00    	je     0x41b325
41b1f0:	8b 17                	mov    (%edi),%edx
41b1f2:	8d 4d f0             	lea    -0x10(%ebp),%ecx
41b1f5:	51                   	push   %ecx
41b1f6:	50                   	push   %eax
41b1f7:	ff 75 0c             	push   0xc(%ebp)
41b1fa:	8b cf                	mov    %edi,%ecx
41b1fc:	ff 92 84 00 00 00    	call   *0x84(%edx)
41b202:	e9 14 04 00 00       	jmp    0x41b61b
41b207:	8b 75 10             	mov    0x10(%ebp),%esi
41b20a:	83 fb 06             	cmp    $0x6,%ebx
41b20d:	75 10                	jne    0x41b21f
41b20f:	56                   	push   %esi
41b210:	e8 ab f0 ff ff       	call   0x41a2c0
41b215:	50                   	push   %eax
41b216:	ff 75 0c             	push   0xc(%ebp)
41b219:	57                   	push   %edi
41b21a:	e8 cf f2 ff ff       	call   0x41a4ee
41b21f:	83 fb 20             	cmp    $0x20,%ebx
41b222:	75 18                	jne    0x41b23c
41b224:	8b c6                	mov    %esi,%eax
41b226:	c1 e8 10             	shr    $0x10,%eax
41b229:	50                   	push   %eax
41b22a:	0f bf c6             	movswl %si,%eax
41b22d:	50                   	push   %eax
41b22e:	57                   	push   %edi
41b22f:	e8 1b f3 ff ff       	call   0x41a54f
41b234:	85 c0                	test   %eax,%eax
41b236:	0f 85 bb 03 00 00    	jne    0x41b5f7
41b23c:	8b 07                	mov    (%edi),%eax
41b23e:	8b cf                	mov    %edi,%ecx
41b240:	ff 50 30             	call   *0x30(%eax)
41b243:	6a 07                	push   $0x7
41b245:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b248:	e8 eb a1 00 00       	call   0x425438
41b24d:	8b 55 ec             	mov    -0x14(%ebp),%edx
41b250:	8b c3                	mov    %ebx,%eax
41b252:	b9 ff 01 00 00       	mov    $0x1ff,%ecx
41b257:	23 c1                	and    %ecx,%eax
41b259:	23 d1                	and    %ecx,%edx
41b25b:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b25e:	33 c2                	xor    %edx,%eax
41b260:	8d 04 40             	lea    (%eax,%eax,2),%eax
41b263:	3b 0c 85 a0 51 43 00 	cmp    0x4351a0(,%eax,4),%ecx
41b26a:	8d 1c 85 a0 51 43 00 	lea    0x4351a0(,%eax,4),%ebx
41b271:	8b 45 ec             	mov    -0x14(%ebp),%eax
41b274:	75 2c                	jne    0x41b2a2
41b276:	3b 43 08             	cmp    0x8(%ebx),%eax
41b279:	75 27                	jne    0x41b2a2
41b27b:	8b 5b 04             	mov    0x4(%ebx),%ebx
41b27e:	6a 07                	push   $0x7
41b280:	89 5d 10             	mov    %ebx,0x10(%ebp)
41b283:	e8 20 a2 00 00       	call   0x4254a8
41b288:	85 db                	test   %ebx,%ebx
41b28a:	0f 84 95 00 00 00    	je     0x41b325
41b290:	81 7d 08 00 c0 00 00 	cmpl   $0xc000,0x8(%ebp)
41b297:	0f 82 a8 00 00 00    	jb     0x41b345
41b29d:	e9 8f 03 00 00       	jmp    0x41b631
41b2a2:	85 c0                	test   %eax,%eax
41b2a4:	89 0b                	mov    %ecx,(%ebx)
41b2a6:	89 43 08             	mov    %eax,0x8(%ebx)
41b2a9:	74 6f                	je     0x41b31a
41b2ab:	eb 06                	jmp    0x41b2b3
41b2ad:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b2b0:	8b 45 ec             	mov    -0x14(%ebp),%eax
41b2b3:	ba 00 c0 00 00       	mov    $0xc000,%edx
41b2b8:	6a 00                	push   $0x0
41b2ba:	3b ca                	cmp    %edx,%ecx
41b2bc:	6a 00                	push   $0x0
41b2be:	73 12                	jae    0x41b2d2
41b2c0:	51                   	push   %ecx
41b2c1:	ff 70 04             	push   0x4(%eax)
41b2c4:	e8 58 fe ff ff       	call   0x41b121
41b2c9:	85 c0                	test   %eax,%eax
41b2cb:	89 45 10             	mov    %eax,0x10(%ebp)
41b2ce:	75 68                	jne    0x41b338
41b2d0:	eb 3c                	jmp    0x41b30e
41b2d2:	52                   	push   %edx
41b2d3:	ff 70 04             	push   0x4(%eax)
41b2d6:	e8 46 fe ff ff       	call   0x41b121
41b2db:	85 c0                	test   %eax,%eax
41b2dd:	89 45 10             	mov    %eax,0x10(%ebp)
41b2e0:	74 2c                	je     0x41b30e
41b2e2:	eb 03                	jmp    0x41b2e7
41b2e4:	8b 45 10             	mov    0x10(%ebp),%eax
41b2e7:	8b 48 10             	mov    0x10(%eax),%ecx
41b2ea:	8b 55 08             	mov    0x8(%ebp),%edx
41b2ed:	39 11                	cmp    %edx,(%ecx)
41b2ef:	0f 84 2f 03 00 00    	je     0x41b624
41b2f5:	6a 00                	push   $0x0
41b2f7:	6a 00                	push   $0x0
41b2f9:	83 c0 18             	add    $0x18,%eax
41b2fc:	68 00 c0 00 00       	push   $0xc000
41b301:	50                   	push   %eax
41b302:	e8 1a fe ff ff       	call   0x41b121
41b307:	85 c0                	test   %eax,%eax
41b309:	89 45 10             	mov    %eax,0x10(%ebp)
41b30c:	75 d6                	jne    0x41b2e4
41b30e:	8b 45 ec             	mov    -0x14(%ebp),%eax
41b311:	8b 00                	mov    (%eax),%eax
41b313:	85 c0                	test   %eax,%eax
41b315:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b318:	75 93                	jne    0x41b2ad
41b31a:	83 63 04 00          	andl   $0x0,0x4(%ebx)
41b31e:	6a 07                	push   $0x7
41b320:	e8 83 a1 00 00       	call   0x4254a8
41b325:	33 c0                	xor    %eax,%eax
41b327:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41b32a:	5f                   	pop    %edi
41b32b:	5e                   	pop    %esi
41b32c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
41b333:	5b                   	pop    %ebx
41b334:	c9                   	leave
41b335:	c2 10 00             	ret    $0x10
41b338:	6a 07                	push   $0x7
41b33a:	89 43 04             	mov    %eax,0x4(%ebx)
41b33d:	e8 66 a1 00 00       	call   0x4254a8
41b342:	8b 5d 10             	mov    0x10(%ebp),%ebx
41b345:	8b 4d 10             	mov    0x10(%ebp),%ecx
41b348:	8b 5b 14             	mov    0x14(%ebx),%ebx
41b34b:	83 79 08 1a          	cmpl   $0x1a,0x8(%ecx)
41b34f:	8b 41 10             	mov    0x10(%ecx),%eax
41b352:	75 12                	jne    0x41b366
41b354:	ff 15 54 97 43 00    	call   *0x439754
41b35a:	8b 4d 10             	mov    0x10(%ebp),%ecx
41b35d:	3c 04                	cmp    $0x4,%al
41b35f:	1b c0                	sbb    %eax,%eax
41b361:	24 f0                	and    $0xf0,%al
41b363:	83 c0 2f             	add    $0x2f,%eax
41b366:	48                   	dec    %eax
41b367:	83 f8 30             	cmp    $0x30,%eax
41b36a:	0f 87 cd 02 00 00    	ja     0x41b63d
41b370:	ff 24 85 51 b6 41 00 	jmp    *0x41b651(,%eax,4)
41b377:	ff 75 0c             	push   0xc(%ebp)
41b37a:	e8 d1 43 00 00       	call   0x41f750
41b37f:	50                   	push   %eax
41b380:	e9 f6 00 00 00       	jmp    0x41b47b
41b385:	ff 75 0c             	push   0xc(%ebp)
41b388:	e9 ee 00 00 00       	jmp    0x41b47b
41b38d:	56                   	push   %esi
41b38e:	56                   	push   %esi
41b38f:	e8 2c ef ff ff       	call   0x41a2c0
41b394:	e9 12 02 00 00       	jmp    0x41b5ab
41b399:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41b39c:	e8 fb 42 00 00       	call   0x41f69c
41b3a1:	8b 46 04             	mov    0x4(%esi),%eax
41b3a4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
41b3a8:	8d 4d a0             	lea    -0x60(%ebp),%ecx
41b3ab:	89 45 e0             	mov    %eax,-0x20(%ebp)
41b3ae:	e8 a4 eb ff ff       	call   0x419f57
41b3b3:	8b 06                	mov    (%esi),%eax
41b3b5:	8b 76 08             	mov    0x8(%esi),%esi
41b3b8:	50                   	push   %eax
41b3b9:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41b3bd:	89 45 bc             	mov    %eax,-0x44(%ebp)
41b3c0:	e8 23 ef ff ff       	call   0x41a2e8
41b3c5:	85 c0                	test   %eax,%eax
41b3c7:	75 1c                	jne    0x41b3e5
41b3c9:	8b 47 34             	mov    0x34(%edi),%eax
41b3cc:	85 c0                	test   %eax,%eax
41b3ce:	74 12                	je     0x41b3e2
41b3d0:	ff 75 bc             	push   -0x44(%ebp)
41b3d3:	8d 48 20             	lea    0x20(%eax),%ecx
41b3d6:	e8 91 e7 ff ff       	call   0x419b6c
41b3db:	85 c0                	test   %eax,%eax
41b3dd:	74 03                	je     0x41b3e2
41b3df:	89 45 d8             	mov    %eax,-0x28(%ebp)
41b3e2:	8d 45 a0             	lea    -0x60(%ebp),%eax
41b3e5:	56                   	push   %esi
41b3e6:	50                   	push   %eax
41b3e7:	8d 45 dc             	lea    -0x24(%ebp),%eax
41b3ea:	8b cf                	mov    %edi,%ecx
41b3ec:	50                   	push   %eax
41b3ed:	ff d3                	call   *%ebx
41b3ef:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
41b3f3:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
41b3f7:	80 65 fc 00          	andb   $0x0,-0x4(%ebp)
41b3fb:	8d 4d a0             	lea    -0x60(%ebp),%ecx
41b3fe:	89 45 f0             	mov    %eax,-0x10(%ebp)
41b401:	e8 9b f5 ff ff       	call   0x41a9a1
41b406:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41b40a:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41b40d:	eb 2e                	jmp    0x41b43d
41b40f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41b412:	e8 85 42 00 00       	call   0x41f69c
41b417:	8b 46 04             	mov    0x4(%esi),%eax
41b41a:	ff 76 08             	push   0x8(%esi)
41b41d:	89 45 e0             	mov    %eax,-0x20(%ebp)
41b420:	8d 45 dc             	lea    -0x24(%ebp),%eax
41b423:	50                   	push   %eax
41b424:	8b cf                	mov    %edi,%ecx
41b426:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
41b42d:	ff d3                	call   *%ebx
41b42f:	83 65 e0 00          	andl   $0x0,-0x20(%ebp)
41b433:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
41b437:	89 45 f0             	mov    %eax,-0x10(%ebp)
41b43a:	8d 4d dc             	lea    -0x24(%ebp),%ecx
41b43d:	e8 a2 43 00 00       	call   0x41f7e4
41b442:	e9 f6 01 00 00       	jmp    0x41b63d
41b447:	8b 45 0c             	mov    0xc(%ebp),%eax
41b44a:	c1 e8 10             	shr    $0x10,%eax
41b44d:	50                   	push   %eax
41b44e:	56                   	push   %esi
41b44f:	e8 6c ee ff ff       	call   0x41a2c0
41b454:	eb 3b                	jmp    0x41b491
41b456:	8b 45 0c             	mov    0xc(%ebp),%eax
41b459:	c1 e8 10             	shr    $0x10,%eax
41b45c:	50                   	push   %eax
41b45d:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
41b461:	e9 45 01 00 00       	jmp    0x41b5ab
41b466:	8b c6                	mov    %esi,%eax
41b468:	c1 e8 10             	shr    $0x10,%eax
41b46b:	50                   	push   %eax
41b46c:	0f bf c6             	movswl %si,%eax
41b46f:	50                   	push   %eax
41b470:	ff 75 0c             	push   0xc(%ebp)
41b473:	e8 48 ee ff ff       	call   0x41a2c0
41b478:	eb 1c                	jmp    0x41b496
41b47a:	56                   	push   %esi
41b47b:	8b cf                	mov    %edi,%ecx
41b47d:	ff d3                	call   *%ebx
41b47f:	e9 b6 01 00 00       	jmp    0x41b63a
41b484:	56                   	push   %esi
41b485:	e8 b6 17 00 00       	call   0x41cc40
41b48a:	50                   	push   %eax
41b48b:	8b 45 0c             	mov    0xc(%ebp),%eax
41b48e:	c1 e8 10             	shr    $0x10,%eax
41b491:	50                   	push   %eax
41b492:	0f b7 45 0c          	movzwl 0xc(%ebp),%eax
41b496:	50                   	push   %eax
41b497:	8b cf                	mov    %edi,%ecx
41b499:	ff d3                	call   *%ebx
41b49b:	e9 9a 01 00 00       	jmp    0x41b63a
41b4a0:	8b cf                	mov    %edi,%ecx
41b4a2:	ff d3                	call   *%ebx
41b4a4:	e9 94 01 00 00       	jmp    0x41b63d
41b4a9:	ff 75 0c             	push   0xc(%ebp)
41b4ac:	e9 15 01 00 00       	jmp    0x41b5c6
41b4b1:	8b c6                	mov    %esi,%eax
41b4b3:	c1 e8 10             	shr    $0x10,%eax
41b4b6:	0f bf c0             	movswl %ax,%eax
41b4b9:	50                   	push   %eax
41b4ba:	0f bf c6             	movswl %si,%eax
41b4bd:	e9 93 00 00 00       	jmp    0x41b555
41b4c2:	8b c6                	mov    %esi,%eax
41b4c4:	c1 e8 10             	shr    $0x10,%eax
41b4c7:	50                   	push   %eax
41b4c8:	0f b7 c6             	movzwl %si,%eax
41b4cb:	e9 15 01 00 00       	jmp    0x41b5e5
41b4d0:	ff 75 0c             	push   0xc(%ebp)
41b4d3:	e8 e8 ed ff ff       	call   0x41a2c0
41b4d8:	50                   	push   %eax
41b4d9:	56                   	push   %esi
41b4da:	e8 e1 ed ff ff       	call   0x41a2c0
41b4df:	50                   	push   %eax
41b4e0:	33 c0                	xor    %eax,%eax
41b4e2:	39 77 1c             	cmp    %esi,0x1c(%edi)
41b4e5:	0f 94 c0             	sete   %al
41b4e8:	e9 eb 00 00 00       	jmp    0x41b5d8
41b4ed:	ff 75 0c             	push   0xc(%ebp)
41b4f0:	e8 5b 42 00 00       	call   0x41f750
41b4f5:	eb 2c                	jmp    0x41b523
41b4f7:	ff 75 0c             	push   0xc(%ebp)
41b4fa:	e8 41 17 00 00       	call   0x41cc40
41b4ff:	eb 22                	jmp    0x41b523
41b501:	8b c6                	mov    %esi,%eax
41b503:	c1 e8 10             	shr    $0x10,%eax
41b506:	50                   	push   %eax
41b507:	0f b7 c6             	movzwl %si,%eax
41b50a:	50                   	push   %eax
41b50b:	ff 75 0c             	push   0xc(%ebp)
41b50e:	e8 2d 17 00 00       	call   0x41cc40
41b513:	e9 c0 00 00 00       	jmp    0x41b5d8
41b518:	ff 75 0c             	push   0xc(%ebp)
41b51b:	eb 01                	jmp    0x41b51e
41b51d:	56                   	push   %esi
41b51e:	e8 9d ed ff ff       	call   0x41a2c0
41b523:	50                   	push   %eax
41b524:	e9 9d 00 00 00       	jmp    0x41b5c6
41b529:	8b c6                	mov    %esi,%eax
41b52b:	c1 e8 10             	shr    $0x10,%eax
41b52e:	50                   	push   %eax
41b52f:	0f b7 c6             	movzwl %si,%eax
41b532:	eb 0a                	jmp    0x41b53e
41b534:	0f bf c6             	movswl %si,%eax
41b537:	c1 ee 10             	shr    $0x10,%esi
41b53a:	0f bf ce             	movswl %si,%ecx
41b53d:	51                   	push   %ecx
41b53e:	50                   	push   %eax
41b53f:	ff 75 0c             	push   0xc(%ebp)
41b542:	e8 79 ed ff ff       	call   0x41a2c0
41b547:	e9 8c 00 00 00       	jmp    0x41b5d8
41b54c:	56                   	push   %esi
41b54d:	ff 75 0c             	push   0xc(%ebp)
41b550:	e8 6b ed ff ff       	call   0x41a2c0
41b555:	50                   	push   %eax
41b556:	eb 67                	jmp    0x41b5bf
41b558:	56                   	push   %esi
41b559:	e8 62 ed ff ff       	call   0x41a2c0
41b55e:	50                   	push   %eax
41b55f:	eb 5b                	jmp    0x41b5bc
41b561:	8b 45 0c             	mov    0xc(%ebp),%eax
41b564:	c1 e8 10             	shr    $0x10,%eax
41b567:	50                   	push   %eax
41b568:	56                   	push   %esi
41b569:	e8 52 ed ff ff       	call   0x41a2c0
41b56e:	eb 63                	jmp    0x41b5d3
41b570:	8b 45 0c             	mov    0xc(%ebp),%eax
41b573:	0f bf d0             	movswl %ax,%edx
41b576:	c1 e8 10             	shr    $0x10,%eax
41b579:	83 79 10 1d          	cmpl   $0x1d,0x10(%ecx)
41b57d:	89 55 08             	mov    %edx,0x8(%ebp)
41b580:	0f bf c0             	movswl %ax,%eax
41b583:	89 45 0c             	mov    %eax,0xc(%ebp)
41b586:	75 0f                	jne    0x41b597
41b588:	56                   	push   %esi
41b589:	e8 32 ed ff ff       	call   0x41a2c0
41b58e:	50                   	push   %eax
41b58f:	ff 75 0c             	push   0xc(%ebp)
41b592:	ff 75 08             	push   0x8(%ebp)
41b595:	eb 52                	jmp    0x41b5e9
41b597:	50                   	push   %eax
41b598:	52                   	push   %edx
41b599:	eb 24                	jmp    0x41b5bf
41b59b:	56                   	push   %esi
41b59c:	ff 75 0c             	push   0xc(%ebp)
41b59f:	eb 0b                	jmp    0x41b5ac
41b5a1:	0f bf c6             	movswl %si,%eax
41b5a4:	c1 ee 10             	shr    $0x10,%esi
41b5a7:	0f bf ce             	movswl %si,%ecx
41b5aa:	51                   	push   %ecx
41b5ab:	50                   	push   %eax
41b5ac:	8b cf                	mov    %edi,%ecx
41b5ae:	ff d3                	call   *%ebx
41b5b0:	e9 85 00 00 00       	jmp    0x41b63a
41b5b5:	8b cf                	mov    %edi,%ecx
41b5b7:	ff d3                	call   *%ebx
41b5b9:	eb 7f                	jmp    0x41b63a
41b5bb:	56                   	push   %esi
41b5bc:	ff 75 0c             	push   0xc(%ebp)
41b5bf:	8b cf                	mov    %edi,%ecx
41b5c1:	ff d3                	call   *%ebx
41b5c3:	eb 78                	jmp    0x41b63d
41b5c5:	56                   	push   %esi
41b5c6:	8b cf                	mov    %edi,%ecx
41b5c8:	ff d3                	call   *%ebx
41b5ca:	eb 71                	jmp    0x41b63d
41b5cc:	8b 45 0c             	mov    0xc(%ebp),%eax
41b5cf:	56                   	push   %esi