4fc3f4:	8b 47 48             	mov    0x48(%edi),%eax
4fc3f7:	89 46 48             	mov    %eax,0x48(%esi)
4fc3fa:	8b 45 f8             	mov    -0x8(%ebp),%eax
4fc3fd:	89 47 20             	mov    %eax,0x20(%edi)
4fc400:	8d 45 ec             	lea    -0x14(%ebp),%eax
4fc403:	50                   	push   %eax
4fc404:	68 b1 00 00 00       	push   $0xb1
4fc409:	ff 75 f4             	push   -0xc(%ebp)
4fc40c:	e8 5f 72 02 00       	call   0x523670
4fc411:	8b 1b                	mov    (%ebx),%ebx
4fc413:	6a 00                	push   $0x0
4fc415:	6a 18                	push   $0x18
4fc417:	53                   	push   %ebx
4fc418:	89 45 0c             	mov    %eax,0xc(%ebp)
4fc41b:	e8 c0 4f 02 00       	call   0x5213e0
4fc420:	83 c4 1c             	add    $0x1c,%esp
4fc423:	85 c0                	test   %eax,%eax
4fc425:	74 1b                	je     0x4fc442
4fc427:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4fc42a:	0f 57 c0             	xorps  %xmm0,%xmm0
4fc42d:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4fc433:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4fc439:	0f 11 40 08          	movups %xmm0,0x8(%eax)
4fc43d:	89 48 04             	mov    %ecx,0x4(%eax)
4fc440:	eb 13                	jmp    0x4fc455
4fc442:	8b 45 0c             	mov    0xc(%ebp),%eax
4fc445:	85 c0                	test   %eax,%eax
4fc447:	74 0a                	je     0x4fc453
4fc449:	50                   	push   %eax
4fc44a:	53                   	push   %ebx
4fc44b:	e8 60 a3 02 00       	call   0x5267b0
4fc450:	83 c4 08             	add    $0x8,%esp
4fc453:	33 c0                	xor    %eax,%eax
4fc455:	89 47 1c             	mov    %eax,0x1c(%edi)
4fc458:	c6 07 88             	movb   $0x88,(%edi)
4fc45b:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
4fc462:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
4fc469:	c7 46 2c 00 00 00 00 	movl   $0x0,0x2c(%esi)
4fc470:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
4fc477:	8b 47 04             	mov    0x4(%edi),%eax
4fc47a:	25 ff fe ff ff       	and    $0xfffffeff,%eax
4fc47f:	c7 47 34 00 00 00 00 	movl   $0x0,0x34(%edi)
4fc486:	0d 00 00 01 00       	or     $0x10000,%eax
4fc48b:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
4fc492:	89 47 04             	mov    %eax,0x4(%edi)
4fc495:	c7 47 40 00 00 00 00 	movl   $0x0,0x40(%edi)
4fc49c:	c7 47 48 00 00 00 00 	movl   $0x0,0x48(%edi)
4fc4a3:	8b 46 34             	mov    0x34(%esi),%eax
4fc4a6:	5b                   	pop    %ebx
4fc4a7:	89 70 38             	mov    %esi,0x38(%eax)
4fc4aa:	33 c0                	xor    %eax,%eax
4fc4ac:	c7 46 3c 00 00 00 00 	movl   $0x0,0x3c(%esi)
4fc4b3:	5e                   	pop    %esi
4fc4b4:	5f                   	pop    %edi
4fc4b5:	8b e5                	mov    %ebp,%esp
4fc4b7:	5d                   	pop    %ebp
4fc4b8:	c3                   	ret
4fc4b9:	cc                   	int3
4fc4ba:	cc                   	int3
4fc4bb:	cc                   	int3
4fc4bc:	cc                   	int3
4fc4bd:	cc                   	int3
4fc4be:	cc                   	int3
4fc4bf:	cc                   	int3
4fc4c0:	55                   	push   %ebp
4fc4c1:	8b ec                	mov    %esp,%ebp
4fc4c3:	83 ec 18             	sub    $0x18,%esp
4fc4c6:	53                   	push   %ebx
4fc4c7:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4fc4ca:	56                   	push   %esi
4fc4cb:	8b 75 08             	mov    0x8(%ebp),%esi
4fc4ce:	57                   	push   %edi
4fc4cf:	8b 06                	mov    (%esi),%eax
4fc4d1:	8b 56 08             	mov    0x8(%esi),%edx
4fc4d4:	89 45 08             	mov    %eax,0x8(%ebp)
4fc4d7:	89 55 f4             	mov    %edx,-0xc(%ebp)
4fc4da:	f6 80 a8 00 00 00 02 	testb  $0x2,0xa8(%eax)
4fc4e1:	75 32                	jne    0x4fc515
4fc4e3:	33 c0                	xor    %eax,%eax
4fc4e5:	33 d2                	xor    %edx,%edx
4fc4e7:	66 3b 43 2a          	cmp    0x2a(%ebx),%ax
4fc4eb:	7d 1e                	jge    0x4fc50b
4fc4ed:	33 c9                	xor    %ecx,%ecx
4fc4ef:	90                   	nop
4fc4f0:	8b 43 04             	mov    0x4(%ebx),%eax
4fc4f3:	f6 44 01 10 01       	testb  $0x1,0x10(%ecx,%eax,1)
4fc4f8:	74 05                	je     0x4fc4ff
4fc4fa:	c6 44 01 0c 02       	movb   $0x2,0xc(%ecx,%eax,1)
4fc4ff:	0f bf 43 2a          	movswl 0x2a(%ebx),%eax
4fc503:	42                   	inc    %edx
4fc504:	83 c1 14             	add    $0x14,%ecx
4fc507:	3b d0                	cmp    %eax,%edx
4fc509:	7c e5                	jl     0x4fc4f0
4fc50b:	81 4b 24 00 08 00 00 	orl    $0x800,0x24(%ebx)
4fc512:	8b 55 f4             	mov    -0xc(%ebp),%edx
4fc515:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
4fc51b:	85 c9                	test   %ecx,%ecx
4fc51d:	74 25                	je     0x4fc544
4fc51f:	79 04                	jns    0x4fc525
4fc521:	8b 4a 6c             	mov    0x6c(%edx),%ecx
4fc524:	49                   	dec    %ecx
4fc525:	8b 02                	mov    (%edx),%eax
4fc527:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
4fc52b:	74 07                	je     0x4fc534
4fc52d:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
4fc532:	eb 09                	jmp    0x4fc53d
4fc534:	8b 42 68             	mov    0x68(%edx),%eax
4fc537:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fc53a:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4fc53d:	c7 40 0c 02 00 00 00 	movl   $0x2,0xc(%eax)
4fc544:	0f b7 43 28          	movzwl 0x28(%ebx),%eax
4fc548:	8d 7b 28             	lea    0x28(%ebx),%edi
4fc54b:	66 85 c0             	test   %ax,%ax
4fc54e:	0f 88 1f 01 00 00    	js     0x4fc673
4fc554:	98                   	cwtl
4fc555:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
4fc558:	8b 43 04             	mov    0x4(%ebx),%eax
4fc55b:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
4fc55e:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4fc561:	85 c9                	test   %ecx,%ecx
4fc563:	74 12                	je     0x4fc577
4fc565:	8d 51 01             	lea    0x1(%ecx),%edx
4fc568:	8a 01                	mov    (%ecx),%al
4fc56a:	41                   	inc    %ecx
4fc56b:	84 c0                	test   %al,%al
4fc56d:	75 f9                	jne    0x4fc568
4fc56f:	2b ca                	sub    %edx,%ecx
4fc571:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
4fc577:	6a 00                	push   $0x0
4fc579:	8d 45 e8             	lea    -0x18(%ebp),%eax
4fc57c:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4fc57f:	8b 4d 08             	mov    0x8(%ebp),%ecx
4fc582:	50                   	push   %eax
4fc583:	6a 3b                	push   $0x3b
4fc585:	51                   	push   %ecx
4fc586:	e8 e5 70 02 00       	call   0x523670
4fc58b:	6a 00                	push   $0x0
4fc58d:	8b d8                	mov    %eax,%ebx
4fc58f:	8b 06                	mov    (%esi),%eax
4fc591:	6a 18                	push   $0x18
4fc593:	50                   	push   %eax
4fc594:	89 45 f0             	mov    %eax,-0x10(%ebp)
4fc597:	e8 44 4e 02 00       	call   0x5213e0
4fc59c:	8b c8                	mov    %eax,%ecx
4fc59e:	83 c4 1c             	add    $0x1c,%esp
4fc5a1:	85 c9                	test   %ecx,%ecx
4fc5a3:	0f 84 af 00 00 00    	je     0x4fc658
4fc5a9:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4fc5af:	0f 57 c0             	xorps  %xmm0,%xmm0
4fc5b2:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
4fc5b8:	0f 11 41 08          	movups %xmm0,0x8(%ecx)
4fc5bc:	89 59 04             	mov    %ebx,0x4(%ecx)
4fc5bf:	80 be c8 00 00 00 02 	cmpb   $0x2,0xc8(%esi)
4fc5c6:	72 1b                	jb     0x4fc5e3
4fc5c8:	8b 86 10 01 00 00    	mov    0x110(%esi),%eax
4fc5ce:	8b d3                	mov    %ebx,%edx
4fc5d0:	85 c0                	test   %eax,%eax
4fc5d2:	74 0f                	je     0x4fc5e3
4fc5d4:	39 38                	cmp    %edi,(%eax)
4fc5d6:	74 09                	je     0x4fc5e1
4fc5d8:	8b 40 0c             	mov    0xc(%eax),%eax
4fc5db:	85 c0                	test   %eax,%eax
4fc5dd:	75 f5                	jne    0x4fc5d4
4fc5df:	eb 02                	jmp    0x4fc5e3
4fc5e1:	89 10                	mov    %edx,(%eax)
4fc5e3:	8a 86 c6 00 00 00    	mov    0xc6(%esi),%al
4fc5e9:	8b 55 0c             	mov    0xc(%ebp),%edx
4fc5ec:	6a 02                	push   $0x2
4fc5ee:	6a 00                	push   $0x0
4fc5f0:	6a 00                	push   $0x0
4fc5f2:	6a 00                	push   $0x0
4fc5f4:	88 41 0c             	mov    %al,0xc(%ecx)
4fc5f7:	83 c8 ff             	or     $0xffffffff,%eax
4fc5fa:	6a 00                	push   $0x0
4fc5fc:	66 89 07             	mov    %ax,(%edi)
4fc5ff:	0f b6 42 32          	movzbl 0x32(%edx),%eax
4fc603:	50                   	push   %eax
4fc604:	51                   	push   %ecx
4fc605:	6a 00                	push   $0x0
4fc607:	6a 00                	push   $0x0
4fc609:	6a 00                	push   $0x0
4fc60b:	56                   	push   %esi
4fc60c:	e8 4f 3f 02 00       	call   0x520560
4fc611:	8b 45 08             	mov    0x8(%ebp),%eax
4fc614:	83 c4 2c             	add    $0x2c,%esp
4fc617:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
4fc61b:	0f 85 f9 02 00 00    	jne    0x4fc91a
4fc621:	83 7e 24 00          	cmpl   $0x0,0x24(%esi)
4fc625:	0f 85 ef 02 00 00    	jne    0x4fc91a
4fc62b:	8b 75 0c             	mov    0xc(%ebp),%esi
4fc62e:	8b 7e 08             	mov    0x8(%esi),%edi
4fc631:	89 7d f8             	mov    %edi,-0x8(%ebp)
4fc634:	85 ff                	test   %edi,%edi
4fc636:	0f 84 af 00 00 00    	je     0x4fc6eb
4fc63c:	0f 1f 40 00          	nopl   0x0(%eax)
4fc640:	8b 47 38             	mov    0x38(%edi),%eax
4fc643:	24 03                	and    $0x3,%al
4fc645:	3c 02                	cmp    $0x2,%al
4fc647:	74 07                	je     0x4fc650
4fc649:	8b 7f 14             	mov    0x14(%edi),%edi
4fc64c:	85 ff                	test   %edi,%edi
4fc64e:	75 f0                	jne    0x4fc640
4fc650:	89 7d f8             	mov    %edi,-0x8(%ebp)
4fc653:	e9 93 00 00 00       	jmp    0x4fc6eb
4fc658:	85 db                	test   %ebx,%ebx
4fc65a:	0f 84 ba 02 00 00    	je     0x4fc91a
4fc660:	53                   	push   %ebx
4fc661:	ff 75 f0             	push   -0x10(%ebp)
4fc664:	e8 47 a1 02 00       	call   0x5267b0
4fc669:	83 c4 08             	add    $0x8,%esp
4fc66c:	5f                   	pop    %edi
4fc66d:	5e                   	pop    %esi
4fc66e:	5b                   	pop    %ebx
4fc66f:	8b e5                	mov    %ebp,%esp
4fc671:	5d                   	pop    %ebp
4fc672:	c3                   	ret
4fc673:	8b 7b 08             	mov    0x8(%ebx),%edi
4fc676:	89 7d f8             	mov    %edi,-0x8(%ebp)
4fc679:	85 ff                	test   %edi,%edi
4fc67b:	74 16                	je     0x4fc693
4fc67d:	0f 1f 00             	nopl   (%eax)
4fc680:	8b 47 38             	mov    0x38(%edi),%eax
4fc683:	24 03                	and    $0x3,%al
4fc685:	3c 02                	cmp    $0x2,%al
4fc687:	74 07                	je     0x4fc690
4fc689:	8b 7f 14             	mov    0x14(%edi),%edi
4fc68c:	85 ff                	test   %edi,%edi
4fc68e:	75 f0                	jne    0x4fc680
4fc690:	89 7d f8             	mov    %edi,-0x8(%ebp)
4fc693:	bb 01 00 00 00       	mov    $0x1,%ebx
4fc698:	8b c3                	mov    %ebx,%eax
4fc69a:	8b f3                	mov    %ebx,%esi
4fc69c:	66 3b 47 32          	cmp    0x32(%edi),%ax
4fc6a0:	73 42                	jae    0x4fc6e4
4fc6a2:	56                   	push   %esi
4fc6a3:	57                   	push   %edi
4fc6a4:	53                   	push   %ebx
4fc6a5:	57                   	push   %edi
4fc6a6:	e8 f5 b5 00 00       	call   0x507ca0
4fc6ab:	83 c4 10             	add    $0x10,%esp
4fc6ae:	85 c0                	test   %eax,%eax
4fc6b0:	74 0b                	je     0x4fc6bd
4fc6b2:	b8 ff ff 00 00       	mov    $0xffff,%eax
4fc6b7:	66 01 47 34          	add    %ax,0x34(%edi)
4fc6bb:	eb 1e                	jmp    0x4fc6db
4fc6bd:	8b 4f 20             	mov    0x20(%edi),%ecx
4fc6c0:	8b 04 b1             	mov    (%ecx,%esi,4),%eax
4fc6c3:	89 04 99             	mov    %eax,(%ecx,%ebx,4)
4fc6c6:	8b 4f 1c             	mov    0x1c(%edi),%ecx
4fc6c9:	8a 04 31             	mov    (%ecx,%esi,1),%al
4fc6cc:	88 04 19             	mov    %al,(%ecx,%ebx,1)
4fc6cf:	8b 4f 04             	mov    0x4(%edi),%ecx
4fc6d2:	66 8b 04 71          	mov    (%ecx,%esi,2),%ax
4fc6d6:	66 89 04 59          	mov    %ax,(%ecx,%ebx,2)
4fc6da:	43                   	inc    %ebx
4fc6db:	0f b7 47 32          	movzwl 0x32(%edi),%eax
4fc6df:	46                   	inc    %esi
4fc6e0:	3b f0                	cmp    %eax,%esi
4fc6e2:	7c be                	jl     0x4fc6a2
4fc6e4:	8b 75 0c             	mov    0xc(%ebp),%esi
4fc6e7:	66 89 5f 32          	mov    %bx,0x32(%edi)
4fc6eb:	8b 4d 08             	mov    0x8(%ebp),%ecx
4fc6ee:	83 4f 38 20          	orl    $0x20,0x38(%edi)
4fc6f2:	f6 81 a8 00 00 00 02 	testb  $0x2,0xa8(%ecx)
4fc6f9:	75 04                	jne    0x4fc6ff
4fc6fb:	83 4f 38 08          	orl    $0x8,0x38(%edi)
4fc6ff:	0f b7 47 32          	movzwl 0x32(%edi),%eax
4fc703:	8b 55 f4             	mov    -0xc(%ebp),%edx
4fc706:	8b d8                	mov    %eax,%ebx
4fc708:	66 89 47 34          	mov    %ax,0x34(%edi)
4fc70c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4fc70f:	85 d2                	test   %edx,%edx
4fc711:	74 28                	je     0x4fc73b
4fc713:	8b 4f 2c             	mov    0x2c(%edi),%ecx
4fc716:	85 c9                	test   %ecx,%ecx
4fc718:	7e 21                	jle    0x4fc73b
4fc71a:	79 04                	jns    0x4fc720
4fc71c:	8b 4a 6c             	mov    0x6c(%edx),%ecx
4fc71f:	49                   	dec    %ecx
4fc720:	8b 02                	mov    (%edx),%eax
4fc722:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
4fc726:	74 07                	je     0x4fc72f
4fc728:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
4fc72d:	eb 09                	jmp    0x4fc738
4fc72f:	8b 42 68             	mov    0x68(%edx),%eax
4fc732:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
4fc735:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4fc738:	c6 00 0b             	movb   $0xb,(%eax)
4fc73b:	8b 46 1c             	mov    0x1c(%esi),%eax
4fc73e:	89 47 2c             	mov    %eax,0x2c(%edi)
4fc741:	8b 76 08             	mov    0x8(%esi),%esi
4fc744:	85 f6                	test   %esi,%esi
4fc746:	0f 84 f1 00 00 00    	je     0x4fc83d
4fc74c:	0f 1f 40 00          	nopl   0x0(%eax)
4fc750:	8b 46 38             	mov    0x38(%esi),%eax
4fc753:	24 03                	and    $0x3,%al
4fc755:	3c 02                	cmp    $0x2,%al
4fc757:	0f 84 d2 00 00 00    	je     0x4fc82f
4fc75d:	33 db                	xor    %ebx,%ebx
4fc75f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
4fc766:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
4fc769:	0f 8e b8 00 00 00    	jle    0x4fc827
4fc76f:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
4fc773:	53                   	push   %ebx
4fc774:	57                   	push   %edi
4fc775:	51                   	push   %ecx
4fc776:	56                   	push   %esi
4fc777:	e8 24 b5 00 00       	call   0x507ca0
4fc77c:	8b 55 f4             	mov    -0xc(%ebp),%edx
4fc77f:	83 c4 10             	add    $0x10,%esp
4fc782:	43                   	inc    %ebx
4fc783:	85 c0                	test   %eax,%eax
4fc785:	8d 4a 01             	lea    0x1(%edx),%ecx
4fc788:	0f 45 ca             	cmovne %edx,%ecx
4fc78b:	8b c1                	mov    %ecx,%eax
4fc78d:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
4fc791:	89 45 f4             	mov    %eax,-0xc(%ebp)
4fc794:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
4fc797:	7c da                	jl     0x4fc773
4fc799:	85 c0                	test   %eax,%eax
4fc79b:	0f 84 86 00 00 00    	je     0x4fc827
4fc7a1:	0f b7 4e 32          	movzwl 0x32(%esi),%ecx
4fc7a5:	03 c1                	add    %ecx,%eax
4fc7a7:	50                   	push   %eax
4fc7a8:	56                   	push   %esi
4fc7a9:	ff 75 08             	push   0x8(%ebp)
4fc7ac:	e8 3f 6f 01 00       	call   0x5136f0
4fc7b1:	83 c4 0c             	add    $0xc,%esp
4fc7b4:	85 c0                	test   %eax,%eax
4fc7b6:	0f 85 5e 01 00 00    	jne    0x4fc91a
4fc7bc:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4fc7c0:	33 db                	xor    %ebx,%ebx
4fc7c2:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
4fc7c9:	03 c0                	add    %eax,%eax
4fc7cb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4fc7ce:	89 45 f4             	mov    %eax,-0xc(%ebp)
4fc7d1:	0f b7 46 32          	movzwl 0x32(%esi),%eax
4fc7d5:	53                   	push   %ebx
4fc7d6:	57                   	push   %edi
4fc7d7:	50                   	push   %eax
4fc7d8:	56                   	push   %esi
4fc7d9:	e8 c2 b4 00 00       	call   0x507ca0
4fc7de:	83 c4 10             	add    $0x10,%esp
4fc7e1:	85 c0                	test   %eax,%eax
4fc7e3:	75 3a                	jne    0x4fc81f
4fc7e5:	8b 47 04             	mov    0x4(%edi),%eax
4fc7e8:	8b 4e 04             	mov    0x4(%esi),%ecx
4fc7eb:	8b 55 f4             	mov    -0xc(%ebp),%edx
4fc7ee:	66 8b 04 58          	mov    (%eax,%ebx,2),%ax
4fc7f2:	66 89 04 0a          	mov    %ax,(%edx,%ecx,1)