54980f:	57                   	push   %edi
549810:	50                   	push   %eax
549811:	e8 ea 96 09 00       	call   0x5e2f00
549816:	83 c4 0c             	add    $0xc,%esp
549819:	8a 06                	mov    (%esi),%al
54981b:	84 c0                	test   %al,%al
54981d:	75 81                	jne    0x5497a0
54981f:	e9 49 03 00 00       	jmp    0x549b6d
549824:	66 83 79 10 00       	cmpw   $0x0,0x10(%ecx)
549829:	75 52                	jne    0x54987d
54982b:	85 f6                	test   %esi,%esi
54982d:	0f 84 79 03 00 00    	je     0x549bac
549833:	8b ce                	mov    %esi,%ecx
549835:	8d 51 01             	lea    0x1(%ecx),%edx
549838:	8a 01                	mov    (%ecx),%al
54983a:	41                   	inc    %ecx
54983b:	84 c0                	test   %al,%al
54983d:	75 f9                	jne    0x549838
54983f:	2b ca                	sub    %edx,%ecx
549841:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
549847:	83 f9 64             	cmp    $0x64,%ecx
54984a:	72 13                	jb     0x54985f
54984c:	51                   	push   %ecx
54984d:	8d 45 80             	lea    -0x80(%ebp),%eax
549850:	56                   	push   %esi
549851:	50                   	push   %eax
549852:	e8 c9 50 fb ff       	call   0x4fe920
549857:	83 c4 0c             	add    $0xc,%esp
54985a:	e9 0e 03 00 00       	jmp    0x549b6d
54985f:	85 c9                	test   %ecx,%ecx
549861:	0f 84 45 03 00 00    	je     0x549bac
549867:	51                   	push   %ecx
549868:	8d 45 98             	lea    -0x68(%ebp),%eax
54986b:	89 4d 90             	mov    %ecx,-0x70(%ebp)
54986e:	56                   	push   %esi
54986f:	50                   	push   %eax
549870:	e8 8b 96 09 00       	call   0x5e2f00
549875:	83 c4 0c             	add    $0xc,%esp
549878:	e9 f0 02 00 00       	jmp    0x549b6d
54987d:	8a 06                	mov    (%esi),%al
54987f:	84 c0                	test   %al,%al
549881:	0f 84 25 03 00 00    	je     0x549bac
549887:	53                   	push   %ebx
549888:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
54988f:	00
549890:	33 db                	xor    %ebx,%ebx
549892:	8b fe                	mov    %esi,%edi
549894:	89 9d 50 ff ff ff    	mov    %ebx,-0xb0(%ebp)
54989a:	84 c0                	test   %al,%al
54989c:	74 33                	je     0x5498d1
54989e:	66 90                	xchg   %ax,%ax
5498a0:	8d 85 40 ff ff ff    	lea    -0xc0(%ebp),%eax
5498a6:	50                   	push   %eax
5498a7:	57                   	push   %edi
5498a8:	e8 03 37 fe ff       	call   0x52cfb0
5498ad:	83 c4 08             	add    $0x8,%esp
5498b0:	81 bd 40 ff ff ff 99 	cmpl   $0x99,-0xc0(%ebp)
5498b7:	00 00 00
5498ba:	74 11                	je     0x5498cd
5498bc:	03 f8                	add    %eax,%edi
5498be:	03 d8                	add    %eax,%ebx
5498c0:	80 3f 00             	cmpb   $0x0,(%edi)
5498c3:	75 db                	jne    0x5498a0
5498c5:	8b bd 50 ff ff ff    	mov    -0xb0(%ebp),%edi
5498cb:	eb 06                	jmp    0x5498d3
5498cd:	8b f8                	mov    %eax,%edi
5498cf:	eb 02                	jmp    0x5498d3
5498d1:	33 ff                	xor    %edi,%edi
5498d3:	8b 45 90             	mov    -0x70(%ebp),%eax
5498d6:	03 c3                	add    %ebx,%eax
5498d8:	3b 45 88             	cmp    -0x78(%ebp),%eax
5498db:	72 0d                	jb     0x5498ea
5498dd:	53                   	push   %ebx
5498de:	8d 45 80             	lea    -0x80(%ebp),%eax
5498e1:	56                   	push   %esi
5498e2:	50                   	push   %eax
5498e3:	e8 38 50 fb ff       	call   0x4fe920
5498e8:	eb 14                	jmp    0x5498fe
5498ea:	85 db                	test   %ebx,%ebx
5498ec:	74 13                	je     0x549901
5498ee:	89 45 90             	mov    %eax,-0x70(%ebp)
5498f1:	2b c3                	sub    %ebx,%eax
5498f3:	03 45 84             	add    -0x7c(%ebp),%eax
5498f6:	53                   	push   %ebx
5498f7:	56                   	push   %esi
5498f8:	50                   	push   %eax
5498f9:	e8 02 96 09 00       	call   0x5e2f00
5498fe:	83 c4 0c             	add    $0xc,%esp
549901:	03 f3                	add    %ebx,%esi
549903:	85 ff                	test   %edi,%edi
549905:	0f 84 61 02 00 00    	je     0x549b6c
54990b:	80 3e 3f             	cmpb   $0x3f,(%esi)
54990e:	75 28                	jne    0x549938
549910:	83 ff 01             	cmp    $0x1,%edi
549913:	7e 1b                	jle    0x549930
549915:	8d 85 54 ff ff ff    	lea    -0xac(%ebp),%eax
54991b:	50                   	push   %eax
54991c:	8d 46 01             	lea    0x1(%esi),%eax
54991f:	50                   	push   %eax
549920:	e8 7b 34 fe ff       	call   0x52cda0
549925:	8b 85 54 ff ff ff    	mov    -0xac(%ebp),%eax
54992b:	83 c4 08             	add    $0x8,%esp
54992e:	eb 24                	jmp    0x549954
549930:	8b 85 4c ff ff ff    	mov    -0xb4(%ebp),%eax
549936:	eb 16                	jmp    0x54994e
549938:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
54993e:	57                   	push   %edi
54993f:	56                   	push   %esi
549940:	ff b0 80 00 00 00    	push   0x80(%eax)
549946:	e8 15 7d ff ff       	call   0x541660
54994b:	83 c4 0c             	add    $0xc,%esp
54994e:	89 85 54 ff ff ff    	mov    %eax,-0xac(%ebp)
549954:	8d 48 01             	lea    0x1(%eax),%ecx
549957:	03 f7                	add    %edi,%esi
549959:	8d 1c 80             	lea    (%eax,%eax,4),%ebx
54995c:	89 b5 38 ff ff ff    	mov    %esi,-0xc8(%ebp)
549962:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
549968:	8d 5b fb             	lea    -0x5(%ebx),%ebx
54996b:	89 8d 4c ff ff ff    	mov    %ecx,-0xb4(%ebp)
549971:	8b 40 64             	mov    0x64(%eax),%eax
549974:	8d 1c d8             	lea    (%eax,%ebx,8),%ebx
549977:	0f b7 43 08          	movzwl 0x8(%ebx),%eax
54997b:	a8 01                	test   $0x1,%al
54997d:	74 38                	je     0x5499b7
54997f:	8b 55 90             	mov    -0x70(%ebp),%edx
549982:	83 c2 04             	add    $0x4,%edx
549985:	3b 55 88             	cmp    -0x78(%ebp),%edx
549988:	72 18                	jb     0x5499a2
54998a:	6a 04                	push   $0x4
54998c:	8d 45 80             	lea    -0x80(%ebp),%eax
54998f:	68 f0 8c 69 00       	push   $0x698cf0
549994:	50                   	push   %eax
549995:	e8 86 4f fb ff       	call   0x4fe920
54999a:	83 c4 0c             	add    $0xc,%esp
54999d:	e9 c0 01 00 00       	jmp    0x549b62
5499a2:	8b 45 84             	mov    -0x7c(%ebp),%eax
5499a5:	8b 0d f0 8c 69 00    	mov    0x698cf0,%ecx
5499ab:	89 55 90             	mov    %edx,-0x70(%ebp)
5499ae:	89 4c 02 fc          	mov    %ecx,-0x4(%edx,%eax,1)
5499b2:	e9 ab 01 00 00       	jmp    0x549b62
5499b7:	a8 24                	test   $0x24,%al
5499b9:	74 1b                	je     0x5499d6
5499bb:	ff 73 04             	push   0x4(%ebx)
5499be:	8d 45 80             	lea    -0x80(%ebp),%eax
5499c1:	ff 33                	push   (%ebx)
5499c3:	68 84 79 6b 00       	push   $0x6b7984
5499c8:	50                   	push   %eax
5499c9:	e8 c2 44 fa ff       	call   0x4ede90
5499ce:	83 c4 10             	add    $0x10,%esp
5499d1:	e9 8c 01 00 00       	jmp    0x549b62
5499d6:	a8 08                	test   $0x8,%al
5499d8:	74 22                	je     0x5499fc
5499da:	f2 0f 10 03          	movsd  (%ebx),%xmm0
5499de:	8d 45 80             	lea    -0x80(%ebp),%eax
5499e1:	83 ec 08             	sub    $0x8,%esp
5499e4:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
5499e9:	68 48 86 6b 00       	push   $0x6b8648
5499ee:	50                   	push   %eax
5499ef:	e8 9c 44 fa ff       	call   0x4ede90
5499f4:	83 c4 10             	add    $0x10,%esp
5499f7:	e9 66 01 00 00       	jmp    0x549b62
5499fc:	a8 02                	test   $0x2,%al
5499fe:	0f 84 aa 00 00 00    	je     0x549aae
549a04:	8b 8d 3c ff ff ff    	mov    -0xc4(%ebp),%ecx
549a0a:	8a 41 4e             	mov    0x4e(%ecx),%al
549a0d:	88 85 44 ff ff ff    	mov    %al,-0xbc(%ebp)
549a13:	3c 01                	cmp    $0x1,%al
549a15:	74 5f                	je     0x549a76
549a17:	6a 00                	push   $0x0
549a19:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
549a1f:	0f 57 c0             	xorps  %xmm0,%xmm0
549a22:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
549a28:	66 0f d6 85 78 ff ff 	movq   %xmm0,-0x88(%ebp)
549a2f:	ff
549a30:	0f 11 85 58 ff ff ff 	movups %xmm0,-0xa8(%ebp)
549a37:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
549a3d:	0f 11 85 68 ff ff ff 	movups %xmm0,-0x98(%ebp)
549a44:	ff 73 0c             	push   0xc(%ebx)
549a47:	ff 73 10             	push   0x10(%ebx)
549a4a:	50                   	push   %eax
549a4b:	e8 90 20 00 00       	call   0x54bae0
549a50:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
549a56:	6a 01                	push   $0x1
549a58:	50                   	push   %eax
549a59:	e8 62 84 ff ff       	call   0x541ec0
549a5e:	83 c4 1c             	add    $0x1c,%esp
549a61:	83 f8 07             	cmp    $0x7,%eax
549a64:	75 0a                	jne    0x549a70
549a66:	88 45 94             	mov    %al,-0x6c(%ebp)
549a69:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
549a70:	8d 9d 58 ff ff ff    	lea    -0xa8(%ebp),%ebx
549a76:	ff 73 10             	push   0x10(%ebx)
549a79:	8d 45 80             	lea    -0x80(%ebp),%eax
549a7c:	ff 73 0c             	push   0xc(%ebx)
549a7f:	68 44 88 6b 00       	push   $0x6b8844
549a84:	50                   	push   %eax
549a85:	e8 06 44 fa ff       	call   0x4ede90
549a8a:	83 c4 10             	add    $0x10,%esp
549a8d:	80 bd 44 ff ff ff 01 	cmpb   $0x1,-0xbc(%ebp)
549a94:	0f 84 c8 00 00 00    	je     0x549b62
549a9a:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
549aa0:	50                   	push   %eax
549aa1:	e8 ca 1e 00 00       	call   0x54b970
549aa6:	83 c4 04             	add    $0x4,%esp
549aa9:	e9 b4 00 00 00       	jmp    0x549b62
549aae:	a9 00 40 00 00       	test   $0x4000,%eax
549ab3:	74 18                	je     0x549acd
549ab5:	ff 33                	push   (%ebx)
549ab7:	8d 45 80             	lea    -0x80(%ebp),%eax
549aba:	68 4c 88 6b 00       	push   $0x6b884c
549abf:	50                   	push   %eax
549ac0:	e8 cb 43 fa ff       	call   0x4ede90
549ac5:	83 c4 0c             	add    $0xc,%esp
549ac8:	e9 95 00 00 00       	jmp    0x549b62
549acd:	8b 55 90             	mov    -0x70(%ebp),%edx
549ad0:	83 c2 02             	add    $0x2,%edx
549ad3:	3b 55 88             	cmp    -0x78(%ebp),%edx
549ad6:	72 15                	jb     0x549aed
549ad8:	6a 02                	push   $0x2
549ada:	8d 45 80             	lea    -0x80(%ebp),%eax
549add:	68 5c 88 6b 00       	push   $0x6b885c
549ae2:	50                   	push   %eax
549ae3:	e8 38 4e fb ff       	call   0x4fe920
549ae8:	83 c4 0c             	add    $0xc,%esp
549aeb:	eb 12                	jmp    0x549aff
549aed:	8b 45 84             	mov    -0x7c(%ebp),%eax
549af0:	66 8b 0d 5c 88 6b 00 	mov    0x6b885c,%cx
549af7:	89 55 90             	mov    %edx,-0x70(%ebp)
549afa:	66 89 4c 02 fe       	mov    %cx,-0x2(%edx,%eax,1)
549aff:	8b 43 0c             	mov    0xc(%ebx),%eax
549b02:	33 ff                	xor    %edi,%edi
549b04:	89 85 50 ff ff ff    	mov    %eax,-0xb0(%ebp)
549b0a:	85 c0                	test   %eax,%eax
549b0c:	7e 26                	jle    0x549b34
549b0e:	8b f0                	mov    %eax,%esi
549b10:	8b 43 10             	mov    0x10(%ebx),%eax
549b13:	0f b6 04 38          	movzbl (%eax,%edi,1),%eax
549b17:	50                   	push   %eax
549b18:	8d 45 80             	lea    -0x80(%ebp),%eax
549b1b:	68 58 cb 6a 00       	push   $0x6acb58
549b20:	50                   	push   %eax
549b21:	e8 6a 43 fa ff       	call   0x4ede90
549b26:	47                   	inc    %edi
549b27:	83 c4 0c             	add    $0xc,%esp
549b2a:	3b fe                	cmp    %esi,%edi
549b2c:	7c e2                	jl     0x549b10
549b2e:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
549b34:	8b 55 90             	mov    -0x70(%ebp),%edx
549b37:	42                   	inc    %edx
549b38:	3b 55 88             	cmp    -0x78(%ebp),%edx
549b3b:	72 15                	jb     0x549b52
549b3d:	6a 01                	push   $0x1
549b3f:	8d 45 80             	lea    -0x80(%ebp),%eax
549b42:	68 60 88 6b 00       	push   $0x6b8860
549b47:	50                   	push   %eax
549b48:	e8 d3 4d fb ff       	call   0x4fe920
549b4d:	83 c4 0c             	add    $0xc,%esp
549b50:	eb 10                	jmp    0x549b62
549b52:	8b 45 84             	mov    -0x7c(%ebp),%eax
549b55:	8a 0d 60 88 6b 00    	mov    0x6b8860,%cl
549b5b:	89 55 90             	mov    %edx,-0x70(%ebp)
549b5e:	88 4c 02 ff          	mov    %cl,-0x1(%edx,%eax,1)
549b62:	8a 06                	mov    (%esi),%al
549b64:	84 c0                	test   %al,%al
549b66:	0f 85 24 fd ff ff    	jne    0x549890
549b6c:	5b                   	pop    %ebx
549b6d:	80 7d 94 00          	cmpb   $0x0,-0x6c(%ebp)
549b71:	74 33                	je     0x549ba6
549b73:	f6 45 95 04          	testb  $0x4,-0x6b(%ebp)
549b77:	74 13                	je     0x549b8c
549b79:	8b 45 84             	mov    -0x7c(%ebp),%eax
549b7c:	85 c0                	test   %eax,%eax
549b7e:	74 0c                	je     0x549b8c
549b80:	50                   	push   %eax
549b81:	ff 75 80             	push   -0x80(%ebp)
549b84:	e8 e7 77 fd ff       	call   0x521370
549b89:	83 c4 08             	add    $0x8,%esp
549b8c:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
549b93:	8b 45 84             	mov    -0x7c(%ebp),%eax
549b96:	5f                   	pop    %edi
549b97:	5e                   	pop    %esi
549b98:	8b 4d fc             	mov    -0x4(%ebp),%ecx
549b9b:	33 cd                	xor    %ebp,%ecx
549b9d:	e8 38 79 09 00       	call   0x5e14da
549ba2:	8b e5                	mov    %ebp,%esp
549ba4:	5d                   	pop    %ebp
549ba5:	c3                   	ret
549ba6:	83 7d 84 00          	cmpl   $0x0,-0x7c(%ebp)
549baa:	74 e7                	je     0x549b93
549bac:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
549baf:	8b 45 90             	mov    -0x70(%ebp),%eax
549bb2:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
549bb6:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
549bba:	76 d7                	jbe    0x549b93
549bbc:	f6 45 95 04          	testb  $0x4,-0x6b(%ebp)
549bc0:	75 d1                	jne    0x549b93
549bc2:	8d 45 80             	lea    -0x80(%ebp),%eax
549bc5:	50                   	push   %eax
549bc6:	e8 95 dd 00 00       	call   0x557960
549bcb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
549bce:	83 c4 04             	add    $0x4,%esp
549bd1:	33 cd                	xor    %ebp,%ecx
549bd3:	5f                   	pop    %edi
549bd4:	5e                   	pop    %esi
549bd5:	e8 00 79 09 00       	call   0x5e14da
549bda:	8b e5                	mov    %ebp,%esp
549bdc:	5d                   	pop    %ebp
549bdd:	c3                   	ret
549bde:	cc                   	int3
549bdf:	cc                   	int3
549be0:	55                   	push   %ebp
549be1:	8b ec                	mov    %esp,%ebp
549be3:	56                   	push   %esi
549be4:	8b 75 08             	mov    0x8(%ebp),%esi
549be7:	80 be c7 00 00 00 02 	cmpb   $0x2,0xc7(%esi)
549bee:	75 3c                	jne    0x549c2c
549bf0:	57                   	push   %edi
549bf1:	8d 45 14             	lea    0x14(%ebp),%eax
549bf4:	50                   	push   %eax
549bf5:	ff 75 10             	push   0x10(%ebp)
549bf8:	ff 36                	push   (%esi)
549bfa:	e8 01 7b ff ff       	call   0x541700
549bff:	8b 4e 08             	mov    0x8(%esi),%ecx
549c02:	6a f9                	push   $0xfffffff9
549c04:	50                   	push   %eax
549c05:	6a 00                	push   $0x0
549c07:	ff b6 d4 00 00 00    	push   0xd4(%esi)
549c0d:	8b 79 6c             	mov    0x6c(%ecx),%edi
549c10:	57                   	push   %edi
549c11:	68 ae 00 00 00       	push   $0xae
549c16:	51                   	push   %ecx
549c17:	e8 74 7f ff ff       	call   0x541b90
549c1c:	83 c4 28             	add    $0x28,%esp
549c1f:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
549c23:	74 06                	je     0x549c2b
549c25:	89 be d4 00 00 00    	mov    %edi,0xd4(%esi)
549c2b:	5f                   	pop    %edi
549c2c:	5e                   	pop    %esi
549c2d:	5d                   	pop    %ebp
549c2e:	c3                   	ret
549c2f:	cc                   	int3
549c30:	55                   	push   %ebp
549c31:	8b ec                	mov    %esp,%ebp
549c33:	8b 55 08             	mov    0x8(%ebp),%edx
549c36:	8b 8a d4 00 00 00    	mov    0xd4(%edx),%ecx
549c3c:	85 c9                	test   %ecx,%ecx
549c3e:	75 08                	jne    0x549c48
549c40:	89 8a d4 00 00 00    	mov    %ecx,0xd4(%edx)
549c46:	5d                   	pop    %ebp
549c47:	c3                   	ret