5144e2:	8b f3                	mov    %ebx,%esi
5144e4:	85 db                	test   %ebx,%ebx
5144e6:	74 28                	je     0x514510
5144e8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5144ef:	00
5144f0:	8b 46 04             	mov    0x4(%esi),%eax
5144f3:	a9 00 10 04 00       	test   $0x41000,%eax
5144f8:	74 16                	je     0x514510
5144fa:	a9 00 00 04 00       	test   $0x40000,%eax
5144ff:	74 08                	je     0x514509
514501:	8b 76 14             	mov    0x14(%esi),%esi
514504:	8b 76 04             	mov    0x4(%esi),%esi
514507:	eb 03                	jmp    0x51450c
514509:	8b 76 0c             	mov    0xc(%esi),%esi
51450c:	85 f6                	test   %esi,%esi
51450e:	75 e0                	jne    0x5144f0
514510:	8b 45 cc             	mov    -0x34(%ebp),%eax
514513:	80 38 47             	cmpb   $0x47,(%eax)
514516:	74 22                	je     0x51453a
514518:	56                   	push   %esi
514519:	ff 77 1c             	push   0x1c(%edi)
51451c:	ff 75 c8             	push   -0x38(%ebp)
51451f:	e8 2c f4 ff ff       	call   0x513950
514524:	8b 55 d8             	mov    -0x28(%ebp),%edx
514527:	83 c4 0c             	add    $0xc,%esp
51452a:	89 45 f8             	mov    %eax,-0x8(%ebp)
51452d:	85 c0                	test   %eax,%eax
51452f:	7e 09                	jle    0x51453a
514531:	66 89 42 10          	mov    %ax,0x10(%edx)
514535:	e9 c7 00 00 00       	jmp    0x514601
51453a:	8d 45 f8             	lea    -0x8(%ebp),%eax
51453d:	50                   	push   %eax
51453e:	56                   	push   %esi
51453f:	e8 dc 2e 01 00       	call   0x527420
514544:	83 c4 08             	add    $0x8,%esp
514547:	85 c0                	test   %eax,%eax
514549:	74 1a                	je     0x514565
51454b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
51454e:	8d 41 ff             	lea    -0x1(%ecx),%eax
514551:	3d fe ff 00 00       	cmp    $0xfffe,%eax
514556:	0f 87 de 00 00 00    	ja     0x51463a
51455c:	66 89 4a 10          	mov    %cx,0x10(%edx)
514560:	e9 9c 00 00 00       	jmp    0x514601
514565:	53                   	push   %ebx
514566:	ff 75 c4             	push   -0x3c(%ebp)
514569:	33 c0                	xor    %eax,%eax
51456b:	66 89 42 10          	mov    %ax,0x10(%edx)
51456f:	e8 0c 3d 02 00       	call   0x538280
514574:	83 c4 08             	add    $0x8,%esp
514577:	85 c0                	test   %eax,%eax
514579:	0f 85 d6 00 00 00    	jne    0x514655
51457f:	8b 47 1c             	mov    0x1c(%edi),%eax
514582:	33 f6                	xor    %esi,%esi
514584:	39 30                	cmp    %esi,(%eax)
514586:	7e 76                	jle    0x5145fe
514588:	33 ff                	xor    %edi,%edi
51458a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
514590:	6a ff                	push   $0xffffffff
514592:	ff 74 07 04          	push   0x4(%edi,%eax,1)
514596:	53                   	push   %ebx
514597:	6a 00                	push   $0x0
514599:	e8 32 1f 01 00       	call   0x5264d0
51459e:	83 c4 10             	add    $0x10,%esp
5145a1:	85 c0                	test   %eax,%eax
5145a3:	75 43                	jne    0x5145e8
5145a5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5145a8:	83 78 44 00          	cmpl   $0x0,0x44(%eax)
5145ac:	74 2e                	je     0x5145dc
5145ae:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
5145b5:	0f 57 c0             	xorps  %xmm0,%xmm0
5145b8:	66 0f d6 45 ec       	movq   %xmm0,-0x14(%ebp)
5145bd:	89 45 f4             	mov    %eax,-0xc(%ebp)
5145c0:	0f 11 45 dc          	movups %xmm0,-0x24(%ebp)
5145c4:	c7 45 e0 a0 47 51 00 	movl   $0x5147a0,-0x20(%ebp)
5145cb:	85 db                	test   %ebx,%ebx
5145cd:	74 0d                	je     0x5145dc
5145cf:	8d 45 dc             	lea    -0x24(%ebp),%eax
5145d2:	53                   	push   %ebx
5145d3:	50                   	push   %eax
5145d4:	e8 d7 b9 04 00       	call   0x55ffb0
5145d9:	83 c4 08             	add    $0x8,%esp
5145dc:	8b 55 d8             	mov    -0x28(%ebp),%edx
5145df:	8d 46 01             	lea    0x1(%esi),%eax
5145e2:	66 89 42 10          	mov    %ax,0x10(%edx)
5145e6:	eb 03                	jmp    0x5145eb
5145e8:	8b 55 d8             	mov    -0x28(%ebp),%edx
5145eb:	8b 45 d4             	mov    -0x2c(%ebp),%eax
5145ee:	46                   	inc    %esi
5145ef:	83 c7 14             	add    $0x14,%edi
5145f2:	8b 40 1c             	mov    0x1c(%eax),%eax
5145f5:	3b 30                	cmp    (%eax),%esi
5145f7:	7c 97                	jl     0x514590
5145f9:	8b 7d d4             	mov    -0x2c(%ebp),%edi
5145fc:	eb 03                	jmp    0x514601
5145fe:	8b 55 d8             	mov    -0x28(%ebp),%edx
514601:	8b 45 d0             	mov    -0x30(%ebp),%eax
514604:	83 c2 14             	add    $0x14,%edx
514607:	8b 4d c0             	mov    -0x40(%ebp),%ecx
51460a:	40                   	inc    %eax
51460b:	89 45 d0             	mov    %eax,-0x30(%ebp)
51460e:	89 55 d8             	mov    %edx,-0x28(%ebp)
514611:	3b 01                	cmp    (%ecx),%eax
514613:	0f 8c c7 fe ff ff    	jl     0x5144e0
514619:	ff 75 cc             	push   -0x34(%ebp)
51461c:	51                   	push   %ecx
51461d:	57                   	push   %edi
51461e:	ff 75 c8             	push   -0x38(%ebp)
514621:	e8 4a 3d 02 00       	call   0x538370
514626:	83 c4 10             	add    $0x10,%esp
514629:	5e                   	pop    %esi
51462a:	5b                   	pop    %ebx
51462b:	5f                   	pop    %edi
51462c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
51462f:	33 cd                	xor    %ebp,%ecx
514631:	e8 a4 ce 0c 00       	call   0x5e14da
514636:	8b e5                	mov    %ebp,%esp
514638:	5d                   	pop    %ebp
514639:	c3                   	ret
51463a:	ff 75 bc             	push   -0x44(%ebp)
51463d:	8b 45 d0             	mov    -0x30(%ebp),%eax
514640:	ff 75 cc             	push   -0x34(%ebp)
514643:	40                   	inc    %eax
514644:	50                   	push   %eax
514645:	68 fc 8e 6b 00       	push   $0x6b8efc
51464a:	ff 75 c8             	push   -0x38(%ebp)
51464d:	e8 0e ec 00 00       	call   0x523260
514652:	83 c4 14             	add    $0x14,%esp
514655:	8b 4d fc             	mov    -0x4(%ebp),%ecx
514658:	b8 01 00 00 00       	mov    $0x1,%eax
51465d:	5e                   	pop    %esi
51465e:	5b                   	pop    %ebx
51465f:	33 cd                	xor    %ebp,%ecx
514661:	5f                   	pop    %edi
514662:	e8 73 ce 0c 00       	call   0x5e14da
514667:	8b e5                	mov    %ebp,%esp
514669:	5d                   	pop    %ebp
51466a:	c3                   	ret
51466b:	cc                   	int3
51466c:	cc                   	int3
51466d:	cc                   	int3
51466e:	cc                   	int3
51466f:	cc                   	int3
514670:	55                   	push   %ebp
514671:	8b ec                	mov    %esp,%ebp
514673:	8b 55 08             	mov    0x8(%ebp),%edx
514676:	53                   	push   %ebx
514677:	56                   	push   %esi
514678:	8b 75 0c             	mov    0xc(%ebp),%esi
51467b:	8b 82 98 00 00 00    	mov    0x98(%edx),%eax
514681:	57                   	push   %edi
514682:	8b 7a 0c             	mov    0xc(%edx),%edi
514685:	25 ff fd ff ff       	and    $0xfffffdff,%eax
51468a:	8b 36                	mov    (%esi),%esi
51468c:	0d 00 01 00 00       	or     $0x100,%eax
514691:	8b 5f 40             	mov    0x40(%edi),%ebx
514694:	89 82 98 00 00 00    	mov    %eax,0x98(%edx)
51469a:	8b 42 6c             	mov    0x6c(%edx),%eax
51469d:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
5146a0:	8b 42 68             	mov    0x68(%edx),%eax
5146a3:	8d 49 fb             	lea    -0x5(%ecx),%ecx
5146a6:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
5146a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
5146b0:	8a 01                	mov    (%ecx),%al
5146b2:	3c 3e                	cmp    $0x3e,%al
5146b4:	77 7e                	ja     0x514734
5146b6:	0f b6 c0             	movzbl %al,%eax
5146b9:	83 f8 0a             	cmp    $0xa,%eax
5146bc:	77 67                	ja     0x514725
5146be:	ff 24 85 6c 47 51 00 	jmp    *0x51476c(,%eax,4)
5146c5:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
5146c9:	74 0a                	je     0x5146d5
5146cb:	81 a2 98 00 00 00 ff 	andl   $0xfffffeff,0x98(%edx)
5146d2:	fe ff ff
5146d5:	81 8a 98 00 00 00 00 	orl    $0x200,0x98(%edx)
5146dc:	02 00 00
5146df:	eb 53                	jmp    0x514734
5146e1:	8b 82 98 00 00 00    	mov    0x98(%edx),%eax
5146e7:	25 ff fe ff ff       	and    $0xfffffeff,%eax
5146ec:	0d 00 02 00 00       	or     $0x200,%eax
5146f1:	89 82 98 00 00 00    	mov    %eax,0x98(%edx)
5146f7:	eb 3b                	jmp    0x514734
5146f9:	c7 41 10 70 cd 51 00 	movl   $0x51cd70,0x10(%ecx)
514700:	c6 41 01 fb          	movb   $0xfb,0x1(%ecx)
514704:	eb 2e                	jmp    0x514734
514706:	c7 41 10 90 d5 51 00 	movl   $0x51d590,0x10(%ecx)
51470d:	c6 41 01 fb          	movb   $0xfb,0x1(%ecx)
514711:	eb 21                	jmp    0x514734
514713:	8b 41 08             	mov    0x8(%ecx),%eax
514716:	3b c6                	cmp    %esi,%eax
514718:	7e 1a                	jle    0x514734
51471a:	8b f0                	mov    %eax,%esi
51471c:	eb 16                	jmp    0x514734
51471e:	39 71 f0             	cmp    %esi,-0x10(%ecx)
514721:	0f 4f 71 f0          	cmovg  -0x10(%ecx),%esi
514725:	8b 41 08             	mov    0x8(%ecx),%eax
514728:	85 c0                	test   %eax,%eax
51472a:	79 08                	jns    0x514734
51472c:	f7 d0                	not    %eax
51472e:	8b 04 83             	mov    (%ebx,%eax,4),%eax
514731:	89 41 08             	mov    %eax,0x8(%ecx)
514734:	3b 4a 68             	cmp    0x68(%edx),%ecx
514737:	74 08                	je     0x514741
514739:	83 e9 14             	sub    $0x14,%ecx
51473c:	e9 6f ff ff ff       	jmp    0x5146b0
514741:	8b 47 40             	mov    0x40(%edi),%eax
514744:	85 c0                	test   %eax,%eax
514746:	74 0b                	je     0x514753
514748:	50                   	push   %eax
514749:	ff 32                	push   (%edx)
51474b:	e8 20 cc 00 00       	call   0x521370
514750:	83 c4 08             	add    $0x8,%esp
514753:	8b 45 0c             	mov    0xc(%ebp),%eax
514756:	c7 47 40 00 00 00 00 	movl   $0x0,0x40(%edi)
51475d:	c7 47 38 00 00 00 00 	movl   $0x0,0x38(%edi)
514764:	5f                   	pop    %edi
514765:	89 30                	mov    %esi,(%eax)
514767:	5e                   	pop    %esi
514768:	5b                   	pop    %ebx
514769:	5d                   	pop    %ebp
51476a:	c3                   	ret
51476b:	90                   	nop
51476c:	d5 46                	aad    $0x46
51476e:	51                   	push   %ecx
51476f:	00 d5                	add    %dl,%ch
514771:	46                   	inc    %esi
514772:	51                   	push   %ecx
514773:	00 c5                	add    %al,%ch
514775:	46                   	inc    %esi
514776:	51                   	push   %ecx
514777:	00 f9                	add    %bh,%cl
514779:	46                   	inc    %esi
51477a:	51                   	push   %ecx
51477b:	00 06                	add    %al,(%esi)
51477d:	47                   	inc    %edi
51477e:	51                   	push   %ecx
51477f:	00 f9                	add    %bh,%cl
514781:	46                   	inc    %esi
514782:	51                   	push   %ecx
514783:	00 e1                	add    %ah,%cl
514785:	46                   	inc    %esi
514786:	51                   	push   %ecx
514787:	00 e1                	add    %ah,%cl
514789:	46                   	inc    %esi
51478a:	51                   	push   %ecx
51478b:	00 e1                	add    %ah,%cl
51478d:	46                   	inc    %esi
51478e:	51                   	push   %ecx
51478f:	00 1e                	add    %bl,(%esi)
514791:	47                   	inc    %edi
514792:	51                   	push   %ecx
514793:	00 13                	add    %dl,(%ebx)
514795:	47                   	inc    %edi
514796:	51                   	push   %ecx
514797:	00 cc                	add    %cl,%ah
514799:	cc                   	int3
51479a:	cc                   	int3
51479b:	cc                   	int3
51479c:	cc                   	int3
51479d:	cc                   	int3
51479e:	cc                   	int3
51479f:	cc                   	int3
5147a0:	55                   	push   %ebp
5147a1:	8b ec                	mov    %esp,%ebp
5147a3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
5147a6:	f7 41 04 00 00 00 01 	testl  $0x1000000,0x4(%ecx)
5147ad:	74 23                	je     0x5147d2
5147af:	8b 49 2c             	mov    0x2c(%ecx),%ecx
5147b2:	8b 51 20             	mov    0x20(%ecx),%edx
5147b5:	85 d2                	test   %edx,%edx
5147b7:	74 19                	je     0x5147d2
5147b9:	8b 41 24             	mov    0x24(%ecx),%eax
5147bc:	89 02                	mov    %eax,(%edx)
5147be:	8b 51 24             	mov    0x24(%ecx),%edx
5147c1:	85 d2                	test   %edx,%edx
5147c3:	74 06                	je     0x5147cb
5147c5:	8b 41 20             	mov    0x20(%ecx),%eax
5147c8:	89 42 20             	mov    %eax,0x20(%edx)
5147cb:	c7 41 20 00 00 00 00 	movl   $0x0,0x20(%ecx)
5147d2:	33 c0                	xor    %eax,%eax
5147d4:	5d                   	pop    %ebp
5147d5:	c3                   	ret
5147d6:	cc                   	int3
5147d7:	cc                   	int3
5147d8:	cc                   	int3
5147d9:	cc                   	int3
5147da:	cc                   	int3
5147db:	cc                   	int3
5147dc:	cc                   	int3
5147dd:	cc                   	int3
5147de:	cc                   	int3
5147df:	cc                   	int3
5147e0:	55                   	push   %ebp
5147e1:	8b ec                	mov    %esp,%ebp
5147e3:	83 ec 68             	sub    $0x68,%esp
5147e6:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5147eb:	33 c5                	xor    %ebp,%eax
5147ed:	89 45 fc             	mov    %eax,-0x4(%ebp)
5147f0:	8b 4d 08             	mov    0x8(%ebp),%ecx
5147f3:	57                   	push   %edi
5147f4:	8b 7d 0c             	mov    0xc(%ebp),%edi
5147f7:	8b 47 04             	mov    0x4(%edi),%eax
5147fa:	a8 04                	test   $0x4,%al
5147fc:	74 14                	je     0x514812
5147fe:	b8 01 00 00 00       	mov    $0x1,%eax
514803:	5f                   	pop    %edi
514804:	8b 4d fc             	mov    -0x4(%ebp),%ecx
514807:	33 cd                	xor    %ebp,%ecx
514809:	e8 cc cc 0c 00       	call   0x5e14da
51480e:	8b e5                	mov    %ebp,%esp
514810:	5d                   	pop    %ebp
514811:	c3                   	ret
514812:	8b 51 18             	mov    0x18(%ecx),%edx
514815:	89 55 b8             	mov    %edx,-0x48(%ebp)
514818:	53                   	push   %ebx
514819:	8b 19                	mov    (%ecx),%ebx
51481b:	89 5d bc             	mov    %ebx,-0x44(%ebp)
51481e:	56                   	push   %esi
51481f:	8b 33                	mov    (%ebx),%esi
514821:	89 75 a4             	mov    %esi,-0x5c(%ebp)
514824:	a8 40                	test   $0x40,%al
514826:	75 29                	jne    0x514851
514828:	52                   	push   %edx
514829:	57                   	push   %edi
51482a:	53                   	push   %ebx
51482b:	e8 00 7e 02 00       	call   0x53c630
514830:	83 c4 0c             	add    $0xc,%esp
514833:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
514837:	0f 85 a1 03 00 00    	jne    0x514bde
51483d:	80 7e 51 00          	cmpb   $0x0,0x51(%esi)
514841:	b8 01 00 00 00       	mov    $0x1,%eax
514846:	0f 84 97 03 00 00    	je     0x514be3
51484c:	e9 8d 03 00 00       	jmp    0x514bde
514851:	8b 4f 34             	mov    0x34(%edi),%ecx
514854:	33 c0                	xor    %eax,%eax
514856:	85 c9                	test   %ecx,%ecx
514858:	89 4d 9c             	mov    %ecx,-0x64(%ebp)
51485b:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
514862:	0f 95 c0             	setne  %al
514865:	89 7d 98             	mov    %edi,-0x68(%ebp)
514868:	89 45 a0             	mov    %eax,-0x60(%ebp)
51486b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
514870:	83 4f 04 04          	orl    $0x4,0x4(%edi)
514874:	8d 45 dc             	lea    -0x24(%ebp),%eax
514877:	0f 57 c0             	xorps  %xmm0,%xmm0
51487a:	0f 11 45 dc          	movups %xmm0,-0x24(%ebp)
51487e:	89 5d dc             	mov    %ebx,-0x24(%ebp)
514881:	0f 11 45 ec          	movups %xmm0,-0x14(%ebp)
514885:	89 7d f8             	mov    %edi,-0x8(%ebp)
514888:	ff 77 3c             	push   0x3c(%edi)
51488b:	50                   	push   %eax