41b2e9:	57                   	push   %edi
41b2ea:	e8 26 04 00 00       	call   0x41b715
41b2ef:	e9 4e ff ff ff       	jmp    0x41b242
41b2f4:	56                   	push   %esi
41b2f5:	57                   	push   %edi
41b2f6:	e8 54 f8 ff ff       	call   0x41ab4f
41b2fb:	e9 42 ff ff ff       	jmp    0x41b242
41b300:	8b c6                	mov    %esi,%eax
41b302:	c1 e8 10             	shr    $0x10,%eax
41b305:	50                   	push   %eax
41b306:	0f b7 c6             	movzwl %si,%eax
41b309:	53                   	push   %ebx
41b30a:	50                   	push   %eax
41b30b:	57                   	push   %edi
41b30c:	e8 eb f7 ff ff       	call   0x41aafc
41b311:	e9 2c ff ff ff       	jmp    0x41b242
41b316:	49                   	dec    %ecx
41b317:	74 0d                	je     0x41b326
41b319:	49                   	dec    %ecx
41b31a:	49                   	dec    %ecx
41b31b:	0f 85 0a ff ff ff    	jne    0x41b22b
41b321:	e9 0b 31 06 00       	jmp    0x47e431
41b326:	51                   	push   %ecx
41b327:	51                   	push   %ecx
41b328:	57                   	push   %edi
41b329:	e8 b3 43 05 00       	call   0x46f6e1
41b32e:	e9 0f ff ff ff       	jmp    0x41b242
41b333:	6a 02                	push   $0x2
41b335:	e9 a6 fe ff ff       	jmp    0x41b1e0
41b33a:	6a 01                	push   $0x1
41b33c:	e9 9f fe ff ff       	jmp    0x41b1e0
41b341:	52                   	push   %edx
41b342:	e9 eb 31 06 00       	jmp    0x47e532
41b347:	6a 01                	push   $0x1
41b349:	e9 b3 31 06 00       	jmp    0x47e501
41b34e:	55                   	push   %ebp
41b34f:	8b ec                	mov    %esp,%ebp
41b351:	56                   	push   %esi
41b352:	8b 75 08             	mov    0x8(%ebp),%esi
41b355:	57                   	push   %edi
41b356:	8b f9                	mov    %ecx,%edi
41b358:	85 f6                	test   %esi,%esi
41b35a:	74 24                	je     0x41b380
41b35c:	6a eb                	push   $0xffffffeb
41b35e:	56                   	push   %esi
41b35f:	ff 15 44 d6 48 00    	call   *0x48d644
41b365:	3b 47 64             	cmp    0x64(%edi),%eax
41b368:	73 16                	jae    0x41b380
41b36a:	8b 4f 60             	mov    0x60(%edi),%ecx
41b36d:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
41b370:	8b 09                	mov    (%ecx),%ecx
41b372:	85 c9                	test   %ecx,%ecx
41b374:	74 0a                	je     0x41b380
41b376:	39 31                	cmp    %esi,(%ecx)
41b378:	75 06                	jne    0x41b380
41b37a:	5f                   	pop    %edi
41b37b:	5e                   	pop    %esi
41b37c:	5d                   	pop    %ebp
41b37d:	c2 04 00             	ret    $0x4
41b380:	83 c8 ff             	or     $0xffffffff,%eax
41b383:	eb f5                	jmp    0x41b37a
41b385:	55                   	push   %ebp
41b386:	8b ec                	mov    %esp,%ebp
41b388:	51                   	push   %ecx
41b389:	53                   	push   %ebx
41b38a:	56                   	push   %esi
41b38b:	ff 75 08             	push   0x8(%ebp)
41b38e:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
41b393:	e8 b6 ff ff ff       	call   0x41b34e
41b398:	8b 75 10             	mov    0x10(%ebp),%esi
41b39b:	56                   	push   %esi
41b39c:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
41b3a1:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b3a4:	8b de                	mov    %esi,%ebx
41b3a6:	e8 7b 01 00 00       	call   0x41b526
41b3ab:	8b d0                	mov    %eax,%edx
41b3ad:	83 fa ff             	cmp    $0xffffffff,%edx
41b3b0:	0f 84 fb 31 06 00    	je     0x47e5b1
41b3b6:	8b 4d 14             	mov    0x14(%ebp),%ecx
41b3b9:	49                   	dec    %ecx
41b3ba:	0f 84 33 32 06 00    	je     0x47e5f3
41b3c0:	49                   	dec    %ecx
41b3c1:	0f 84 05 32 06 00    	je     0x47e5cc
41b3c7:	83 e9 04             	sub    $0x4,%ecx
41b3ca:	75 18                	jne    0x41b3e4
41b3cc:	83 fa ff             	cmp    $0xffffffff,%edx
41b3cf:	74 2b                	je     0x41b3fc
41b3d1:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
41b3d6:	8b 04 90             	mov    (%eax,%edx,4),%eax
41b3d9:	8b 00                	mov    (%eax),%eax
41b3db:	80 b8 90 00 00 00 12 	cmpb   $0x12,0x90(%eax)
41b3e2:	74 12                	je     0x41b3f6
41b3e4:	53                   	push   %ebx
41b3e5:	ff 75 0c             	push   0xc(%ebp)
41b3e8:	ff 75 fc             	push   -0x4(%ebp)
41b3eb:	e8 1a 00 00 00       	call   0x41b40a
41b3f0:	5e                   	pop    %esi
41b3f1:	5b                   	pop    %ebx
41b3f2:	c9                   	leave
41b3f3:	c2 10 00             	ret    $0x10
41b3f6:	83 78 48 ff          	cmpl   $0xffffffff,0x48(%eax)
41b3fa:	75 e8                	jne    0x41b3e4
41b3fc:	56                   	push   %esi
41b3fd:	ff 75 0c             	push   0xc(%ebp)
41b400:	68 38 01 00 00       	push   $0x138
41b405:	e9 1f 32 06 00       	jmp    0x47e629
41b40a:	55                   	push   %ebp
41b40b:	8b ec                	mov    %esp,%ebp
41b40d:	83 ec 14             	sub    $0x14,%esp
41b410:	8b 4d 08             	mov    0x8(%ebp),%ecx
41b413:	a1 88 16 4c 00       	mov    0x4c1688,%eax
41b418:	53                   	push   %ebx
41b419:	8b 04 88             	mov    (%eax,%ecx,4),%eax
41b41c:	56                   	push   %esi
41b41d:	8b 18                	mov    (%eax),%ebx
41b41f:	57                   	push   %edi
41b420:	ff 75 10             	push   0x10(%ebp)
41b423:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
41b428:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41b42b:	e8 f6 00 00 00       	call   0x41b526
41b430:	6a 0f                	push   $0xf
41b432:	8b f0                	mov    %eax,%esi
41b434:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
41b438:	ff 15 08 d5 48 00    	call   *0x48d508
41b43e:	83 7b 4c ff          	cmpl   $0xffffffff,0x4c(%ebx)
41b442:	8b f8                	mov    %eax,%edi
41b444:	74 03                	je     0x41b449
41b446:	8b 7b 4c             	mov    0x4c(%ebx),%edi
41b449:	83 fe ff             	cmp    $0xffffffff,%esi
41b44c:	0f 84 5b 2a 06 00    	je     0x47dead
41b452:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
41b457:	8b 04 b0             	mov    (%eax,%esi,4),%eax
41b45a:	8b 18                	mov    (%eax),%ebx
41b45c:	8b 4b 48             	mov    0x48(%ebx),%ecx
41b45f:	85 c9                	test   %ecx,%ecx
41b461:	79 67                	jns    0x41b4ca
41b463:	0f b6 83 90 00 00 00 	movzbl 0x90(%ebx),%eax
41b46a:	83 f8 1b             	cmp    $0x1b,%eax
41b46d:	77 6f                	ja     0x41b4de
41b46f:	0f b6 80 0a b5 41 00 	movzbl 0x41b50a(%eax),%eax
41b476:	ff 24 85 ee b4 41 00 	jmp    *0x41b4ee(,%eax,4)
41b47d:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
41b481:	80 bb 93 00 00 00 ff 	cmpb   $0xff,0x93(%ebx)
41b488:	0f 85 5b 29 06 00    	jne    0x47dde9
41b48e:	83 7b 4c ff          	cmpl   $0xffffffff,0x4c(%ebx)
41b492:	75 53                	jne    0x41b4e7
41b494:	6a 08                	push   $0x8
41b496:	ff 15 08 d5 48 00    	call   *0x48d508
41b49c:	50                   	push   %eax
41b49d:	ff 75 0c             	push   0xc(%ebp)
41b4a0:	ff 15 40 d1 48 00    	call   *0x48d140
41b4a6:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
41b4aa:	0f 84 fd 29 06 00    	je     0x47dead
41b4b0:	6a 01                	push   $0x1
41b4b2:	ff 75 0c             	push   0xc(%ebp)
41b4b5:	ff 15 2c d1 48 00    	call   *0x48d12c
41b4bb:	6a 05                	push   $0x5
41b4bd:	ff 15 1c d1 48 00    	call   *0x48d11c
41b4c3:	5f                   	pop    %edi
41b4c4:	5e                   	pop    %esi
41b4c5:	5b                   	pop    %ebx
41b4c6:	c9                   	leave
41b4c7:	c2 0c 00             	ret    $0xc
41b4ca:	80 bb 90 00 00 00 1b 	cmpb   $0x1b,0x90(%ebx)
41b4d1:	74 90                	je     0x41b463
41b4d3:	8b f9                	mov    %ecx,%edi
41b4d5:	eb aa                	jmp    0x41b481
41b4d7:	6a 05                	push   $0x5
41b4d9:	e9 e7 28 06 00       	jmp    0x47ddc5
41b4de:	83 f9 fe             	cmp    $0xfffffffe,%ecx
41b4e1:	0f 94 45 0b          	sete   0xb(%ebp)
41b4e5:	eb 9a                	jmp    0x41b481
41b4e7:	ff 73 4c             	push   0x4c(%ebx)
41b4ea:	eb b1                	jmp    0x41b49d
41b4ec:	8b ff                	mov    %edi,%edi
41b4ee:	d2 dd                	rcr    %cl,%ch
41b4f0:	47                   	inc    %edi
41b4f1:	00 d7                	add    %dl,%bh
41b4f3:	b4 41                	mov    $0x41,%ah
41b4f5:	00 de                	add    %bl,%dh
41b4f7:	b4 41                	mov    $0x41,%ah
41b4f9:	00 7d b4             	add    %bh,-0x4c(%ebp)
41b4fc:	41                   	inc    %ecx
41b4fd:	00 49 dd             	add    %cl,-0x23(%ecx)
41b500:	47                   	inc    %edi
41b501:	00 81 b4 41 00 de    	add    %al,-0x21ffbe4c(%ecx)
41b507:	b4 41                	mov    $0x41,%ah
41b509:	00 00                	add    %al,(%eax)
41b50b:	01 00                	add    %eax,(%eax)
41b50d:	00 02                	add    %al,(%edx)
41b50f:	06                   	push   %es
41b510:	03 04 05 06 05 05 06 	add    0x6050506(,%eax,1),%eax
41b517:	06                   	push   %es
41b518:	06                   	push   %es
41b519:	06                   	push   %es
41b51a:	01 06                	add    %eax,(%esi)
41b51c:	05 01 06 06 06       	add    $0x6060601,%eax
41b521:	02 05 02 02 03 55    	add    0x55030202,%al
41b527:	8b ec                	mov    %esp,%ebp
41b529:	56                   	push   %esi
41b52a:	8b 75 08             	mov    0x8(%ebp),%esi
41b52d:	57                   	push   %edi
41b52e:	8b f9                	mov    %ecx,%edi
41b530:	85 f6                	test   %esi,%esi
41b532:	74 24                	je     0x41b558
41b534:	6a eb                	push   $0xffffffeb
41b536:	56                   	push   %esi
41b537:	ff 15 44 d6 48 00    	call   *0x48d644
41b53d:	3b 47 78             	cmp    0x78(%edi),%eax
41b540:	73 16                	jae    0x41b558
41b542:	8b 4f 74             	mov    0x74(%edi),%ecx
41b545:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
41b548:	8b 09                	mov    (%ecx),%ecx
41b54a:	85 c9                	test   %ecx,%ecx
41b54c:	74 0a                	je     0x41b558
41b54e:	39 31                	cmp    %esi,(%ecx)
41b550:	75 06                	jne    0x41b558
41b552:	5f                   	pop    %edi
41b553:	5e                   	pop    %esi
41b554:	5d                   	pop    %ebp
41b555:	c2 04 00             	ret    $0x4
41b558:	83 c8 ff             	or     $0xffffffff,%eax
41b55b:	eb f5                	jmp    0x41b552
41b55d:	55                   	push   %ebp
41b55e:	8b ec                	mov    %esp,%ebp
41b560:	83 ec 18             	sub    $0x18,%esp
41b563:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
41b568:	56                   	push   %esi
41b569:	8b 75 08             	mov    0x8(%ebp),%esi
41b56c:	57                   	push   %edi
41b56d:	56                   	push   %esi
41b56e:	e8 db fd ff ff       	call   0x41b34e
41b573:	8b 0d 88 16 4c 00    	mov    0x4c1688,%ecx
41b579:	8b 04 81             	mov    (%ecx,%eax,4),%eax
41b57c:	8b 38                	mov    (%eax),%edi
41b57e:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
41b582:	0f 85 fd 30 06 00    	jne    0x47e685
41b588:	3b 75 0c             	cmp    0xc(%ebp),%esi
41b58b:	0f 84 04 31 06 00    	je     0x47e695
41b591:	0f b7 4d 14          	movzwl 0x14(%ebp),%ecx
41b595:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
41b599:	c1 e1 10             	shl    $0x10,%ecx
41b59c:	0b c8                	or     %eax,%ecx
41b59e:	51                   	push   %ecx
41b59f:	ff 75 0c             	push   0xc(%ebp)
41b5a2:	6a 20                	push   $0x20
41b5a4:	56                   	push   %esi
41b5a5:	ff 15 64 d5 48 00    	call   *0x48d564
41b5ab:	5f                   	pop    %edi
41b5ac:	5e                   	pop    %esi
41b5ad:	c9                   	leave
41b5ae:	c2 10 00             	ret    $0x10
41b5b1:	55                   	push   %ebp
41b5b2:	8b ec                	mov    %esp,%ebp
41b5b4:	56                   	push   %esi
41b5b5:	57                   	push   %edi
41b5b6:	8b f1                	mov    %ecx,%esi
41b5b8:	33 ff                	xor    %edi,%edi
41b5ba:	6a 0c                	push   $0xc
41b5bc:	39 7e 04             	cmp    %edi,0x4(%esi)
41b5bf:	74 2e                	je     0x41b5ef
41b5c1:	e8 24 3f 00 00       	call   0x41f4ea
41b5c6:	59                   	pop    %ecx
41b5c7:	85 c0                	test   %eax,%eax
41b5c9:	74 0c                	je     0x41b5d7
41b5cb:	ff 75 08             	push   0x8(%ebp)
41b5ce:	8b c8                	mov    %eax,%ecx
41b5d0:	e8 34 00 00 00       	call   0x41b609
41b5d5:	8b f8                	mov    %eax,%edi
41b5d7:	8b 46 04             	mov    0x4(%esi),%eax
41b5da:	89 47 08             	mov    %eax,0x8(%edi)
41b5dd:	8b 46 04             	mov    0x4(%esi),%eax
41b5e0:	89 78 04             	mov    %edi,0x4(%eax)
41b5e3:	ff 46 08             	incl   0x8(%esi)
41b5e6:	89 7e 04             	mov    %edi,0x4(%esi)
41b5e9:	5f                   	pop    %edi
41b5ea:	5e                   	pop    %esi
41b5eb:	5d                   	pop    %ebp
41b5ec:	c2 04 00             	ret    $0x4
41b5ef:	e8 f6 3e 00 00       	call   0x41f4ea
41b5f4:	59                   	pop    %ecx
41b5f5:	85 c0                	test   %eax,%eax
41b5f7:	74 0c                	je     0x41b605
41b5f9:	ff 75 08             	push   0x8(%ebp)
41b5fc:	8b c8                	mov    %eax,%ecx
41b5fe:	e8 06 00 00 00       	call   0x41b609
41b603:	8b f8                	mov    %eax,%edi
41b605:	89 3e                	mov    %edi,(%esi)
41b607:	eb da                	jmp    0x41b5e3
41b609:	55                   	push   %ebp
41b60a:	8b ec                	mov    %esp,%ebp
41b60c:	53                   	push   %ebx
41b60d:	8b d9                	mov    %ecx,%ebx
41b60f:	6a 0c                	push   $0xc
41b611:	83 63 04 00          	andl   $0x0,0x4(%ebx)
41b615:	83 63 08 00          	andl   $0x0,0x8(%ebx)
41b619:	e8 cc 3e 00 00       	call   0x41f4ea
41b61e:	59                   	pop    %ecx
41b61f:	85 c0                	test   %eax,%eax
41b621:	74 15                	je     0x41b638
41b623:	56                   	push   %esi
41b624:	8b 75 08             	mov    0x8(%ebp),%esi
41b627:	57                   	push   %edi
41b628:	8b f8                	mov    %eax,%edi
41b62a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41b62b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41b62c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
41b62d:	5f                   	pop    %edi
41b62e:	5e                   	pop    %esi
41b62f:	89 03                	mov    %eax,(%ebx)
41b631:	8b c3                	mov    %ebx,%eax
41b633:	5b                   	pop    %ebx
41b634:	5d                   	pop    %ebp
41b635:	c2 04 00             	ret    $0x4
41b638:	33 c0                	xor    %eax,%eax
41b63a:	eb f3                	jmp    0x41b62f
41b63c:	55                   	push   %ebp
41b63d:	8b ec                	mov    %esp,%ebp
41b63f:	51                   	push   %ecx
41b640:	51                   	push   %ecx
41b641:	53                   	push   %ebx
41b642:	56                   	push   %esi
41b643:	57                   	push   %edi
41b644:	8b 7d 08             	mov    0x8(%ebp),%edi
41b647:	8d 45 f8             	lea    -0x8(%ebp),%eax
41b64a:	8b 37                	mov    (%edi),%esi
41b64c:	50                   	push   %eax
41b64d:	8b d9                	mov    %ecx,%ebx
41b64f:	ff 15 a4 d5 48 00    	call   *0x48d5a4
41b655:	8b 45 f8             	mov    -0x8(%ebp),%eax
41b658:	89 87 6c 01 00 00    	mov    %eax,0x16c(%edi)
41b65e:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b661:	89 87 70 01 00 00    	mov    %eax,0x170(%edi)
41b667:	8d 45 f8             	lea    -0x8(%ebp),%eax
41b66a:	50                   	push   %eax
41b66b:	56                   	push   %esi
41b66c:	ff 15 54 d6 48 00    	call   *0x48d654
41b672:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41b675:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b678:	3b 8f 74 01 00 00    	cmp    0x174(%edi),%ecx
41b67e:	75 61                	jne    0x41b6e1
41b680:	3b 87 78 01 00 00    	cmp    0x178(%edi),%eax
41b686:	75 59                	jne    0x41b6e1
41b688:	ff 73 18             	push   0x18(%ebx)
41b68b:	8b 35 d8 d5 48 00    	mov    0x48d5d8,%esi
41b691:	ff d6                	call   *%esi
41b693:	ff 73 1c             	push   0x1c(%ebx)
41b696:	0f b7 c0             	movzwl %ax,%eax
41b699:	c1 e8 0f             	shr    $0xf,%eax
41b69c:	89 45 08             	mov    %eax,0x8(%ebp)