5098bf:	3b d0                	cmp    %eax,%edx
5098c1:	75 5d                	jne    0x509920
5098c3:	0f b7 45 f6          	movzwl -0xa(%ebp),%eax
5098c7:	8b 4d 10             	mov    0x10(%ebp),%ecx
5098ca:	0f c9                	bswap  %ecx
5098cc:	89 4c 38 fc          	mov    %ecx,-0x4(%eax,%edi,1)
5098d0:	eb 0f                	jmp    0x5098e1
5098d2:	8b 07                	mov    (%edi),%eax
5098d4:	0f c8                	bswap  %eax
5098d6:	3b c2                	cmp    %edx,%eax
5098d8:	75 46                	jne    0x509920
5098da:	8b 45 10             	mov    0x10(%ebp),%eax
5098dd:	0f c8                	bswap  %eax
5098df:	89 07                	mov    %eax,(%edi)
5098e1:	8b 7d 10             	mov    0x10(%ebp),%edi
5098e4:	8b 45 e0             	mov    -0x20(%ebp),%eax
5098e7:	3b d8                	cmp    %eax,%ebx
5098e9:	0f 85 44 ff ff ff    	jne    0x509833
5098ef:	80 7d 14 05          	cmpb   $0x5,0x14(%ebp)
5098f3:	75 70                	jne    0x509965
5098f5:	0f b6 4e 09          	movzbl 0x9(%esi),%ecx
5098f9:	03 4e 38             	add    0x38(%esi),%ecx
5098fc:	8b 41 08             	mov    0x8(%ecx),%eax
5098ff:	0f c8                	bswap  %eax
509901:	3b c2                	cmp    %edx,%eax
509903:	75 60                	jne    0x509965
509905:	0f cf                	bswap  %edi
509907:	89 79 08             	mov    %edi,0x8(%ecx)
50990a:	33 c0                	xor    %eax,%eax
50990c:	5f                   	pop    %edi
50990d:	5e                   	pop    %esi
50990e:	5b                   	pop    %ebx
50990f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
509912:	33 cd                	xor    %ebp,%ecx
509914:	e8 c1 7b 0d 00       	call   0x5e14da
509919:	8b e5                	mov    %ebp,%esp
50991b:	5d                   	pop    %ebp
50991c:	c3                   	ret
50991d:	8b 55 0c             	mov    0xc(%ebp),%edx
509920:	8b 45 e0             	mov    -0x20(%ebp),%eax
509923:	43                   	inc    %ebx
509924:	3b d8                	cmp    %eax,%ebx
509926:	0f 8c 44 ff ff ff    	jl     0x509870
50992c:	8b 7d 10             	mov    0x10(%ebp),%edi
50992f:	eb b6                	jmp    0x5098e7
509931:	68 fc c4 6b 00       	push   $0x6bc4fc
509936:	68 7a 08 01 00       	push   $0x1087a
50993b:	68 94 c4 6b 00       	push   $0x6bc494
509940:	68 78 c4 6b 00       	push   $0x6bc478
509945:	6a 0b                	push   $0xb
509947:	e8 94 66 fd ff       	call   0x4dffe0
50994c:	83 c4 14             	add    $0x14,%esp
50994f:	b8 0b 00 00 00       	mov    $0xb,%eax
509954:	5f                   	pop    %edi
509955:	5e                   	pop    %esi
509956:	5b                   	pop    %ebx
509957:	8b 4d fc             	mov    -0x4(%ebp),%ecx
50995a:	33 cd                	xor    %ebp,%ecx
50995c:	e8 79 7b 0d 00       	call   0x5e14da
509961:	8b e5                	mov    %ebp,%esp
509963:	5d                   	pop    %ebp
509964:	c3                   	ret
509965:	68 fc c4 6b 00       	push   $0x6bc4fc
50996a:	68 8c 08 01 00       	push   $0x1088c
50996f:	68 94 c4 6b 00       	push   $0x6bc494
509974:	68 78 c4 6b 00       	push   $0x6bc478
509979:	6a 0b                	push   $0xb
50997b:	e8 60 66 fd ff       	call   0x4dffe0
509980:	8b 4d fc             	mov    -0x4(%ebp),%ecx
509983:	83 c4 14             	add    $0x14,%esp
509986:	33 cd                	xor    %ebp,%ecx
509988:	b8 0b 00 00 00       	mov    $0xb,%eax
50998d:	5f                   	pop    %edi
50998e:	5e                   	pop    %esi
50998f:	5b                   	pop    %ebx
509990:	e8 45 7b 0d 00       	call   0x5e14da
509995:	8b e5                	mov    %ebp,%esp
509997:	5d                   	pop    %ebp
509998:	c3                   	ret
509999:	cc                   	int3
50999a:	cc                   	int3
50999b:	cc                   	int3
50999c:	cc                   	int3
50999d:	cc                   	int3
50999e:	cc                   	int3
50999f:	cc                   	int3
5099a0:	55                   	push   %ebp
5099a1:	8b ec                	mov    %esp,%ebp
5099a3:	56                   	push   %esi
5099a4:	8b 75 08             	mov    0x8(%ebp),%esi
5099a7:	57                   	push   %edi
5099a8:	8a 46 44             	mov    0x44(%esi),%al
5099ab:	8b 7e 14             	mov    0x14(%esi),%edi
5099ae:	3c 13                	cmp    $0x13,%al
5099b0:	7c 27                	jl     0x5099d9
5099b2:	68 fc c4 6b 00       	push   $0x6bc4fc
5099b7:	68 40 0e 01 00       	push   $0x10e40
5099bc:	68 94 c4 6b 00       	push   $0x6bc494
5099c1:	68 78 c4 6b 00       	push   $0x6bc478
5099c6:	6a 0b                	push   $0xb
5099c8:	e8 13 66 fd ff       	call   0x4dffe0
5099cd:	83 c4 14             	add    $0x14,%esp
5099d0:	b8 0b 00 00 00       	mov    $0xb,%eax
5099d5:	5f                   	pop    %edi
5099d6:	5e                   	pop    %esi
5099d7:	5d                   	pop    %ebp
5099d8:	c3                   	ret
5099d9:	80 66 01 f9          	andb   $0xf9,0x1(%esi)
5099dd:	8d 56 74             	lea    0x74(%esi),%edx
5099e0:	33 c9                	xor    %ecx,%ecx
5099e2:	66 89 4e 32          	mov    %cx,0x32(%esi)
5099e6:	0f be c8             	movsbl %al,%ecx
5099e9:	66 8b 46 46          	mov    0x46(%esi),%ax
5099ed:	66 89 44 4e 48       	mov    %ax,0x48(%esi,%ecx,2)
5099f2:	0f be 4e 44          	movsbl 0x44(%esi),%ecx
5099f6:	8b 02                	mov    (%edx),%eax
5099f8:	89 44 8e 78          	mov    %eax,0x78(%esi,%ecx,4)
5099fc:	33 c0                	xor    %eax,%eax
5099fe:	fe 46 44             	incb   0x44(%esi)
509a01:	66 89 46 46          	mov    %ax,0x46(%esi)
509a05:	0f b6 46 02          	movzbl 0x2(%esi),%eax
509a09:	50                   	push   %eax
509a0a:	56                   	push   %esi
509a0b:	52                   	push   %edx
509a0c:	ff 75 0c             	push   0xc(%ebp)
509a0f:	57                   	push   %edi
509a10:	e8 db bf ff ff       	call   0x5059f0
509a15:	83 c4 14             	add    $0x14,%esp
509a18:	5f                   	pop    %edi
509a19:	5e                   	pop    %esi
509a1a:	5d                   	pop    %ebp
509a1b:	c3                   	ret
509a1c:	cc                   	int3
509a1d:	cc                   	int3
509a1e:	cc                   	int3
509a1f:	cc                   	int3
509a20:	55                   	push   %ebp
509a21:	8b ec                	mov    %esp,%ebp
509a23:	51                   	push   %ecx
509a24:	53                   	push   %ebx
509a25:	56                   	push   %esi
509a26:	8b 75 08             	mov    0x8(%ebp),%esi
509a29:	33 c0                	xor    %eax,%eax
509a2b:	57                   	push   %edi
509a2c:	8d 7e 74             	lea    0x74(%esi),%edi
509a2f:	90                   	nop
509a30:	8b 17                	mov    (%edi),%edx
509a32:	80 7a 08 00          	cmpb   $0x0,0x8(%edx)
509a36:	0f 85 95 00 00 00    	jne    0x509ad1
509a3c:	0f b7 5e 46          	movzwl 0x46(%esi),%ebx
509a40:	8b 42 40             	mov    0x40(%edx),%eax
509a43:	8b cb                	mov    %ebx,%ecx
509a45:	66 8b 04 48          	mov    (%eax,%ecx,2),%ax
509a49:	8a e8                	mov    %al,%ch
509a4b:	8a cc                	mov    %ah,%cl
509a4d:	0f b7 42 1a          	movzwl 0x1a(%edx),%eax
509a51:	0f b7 c9             	movzwl %cx,%ecx
509a54:	23 c8                	and    %eax,%ecx
509a56:	8b 42 38             	mov    0x38(%edx),%eax
509a59:	8b 14 01             	mov    (%ecx,%eax,1),%edx
509a5c:	8b 46 14             	mov    0x14(%esi),%eax
509a5f:	89 45 fc             	mov    %eax,-0x4(%ebp)
509a62:	8a 46 44             	mov    0x44(%esi),%al
509a65:	3c 13                	cmp    $0x13,%al
509a67:	7d 45                	jge    0x509aae
509a69:	80 66 01 f9          	andb   $0xf9,0x1(%esi)
509a6d:	33 c9                	xor    %ecx,%ecx
509a6f:	0f be c0             	movsbl %al,%eax
509a72:	66 89 4e 32          	mov    %cx,0x32(%esi)
509a76:	0f ca                	bswap  %edx
509a78:	66 89 5c 46 48       	mov    %bx,0x48(%esi,%eax,2)
509a7d:	0f be 4e 44          	movsbl 0x44(%esi),%ecx
509a81:	8b 07                	mov    (%edi),%eax
509a83:	89 44 8e 78          	mov    %eax,0x78(%esi,%ecx,4)
509a87:	33 c0                	xor    %eax,%eax
509a89:	fe 46 44             	incb   0x44(%esi)
509a8c:	66 89 46 46          	mov    %ax,0x46(%esi)
509a90:	0f b6 46 02          	movzbl 0x2(%esi),%eax
509a94:	50                   	push   %eax
509a95:	56                   	push   %esi
509a96:	57                   	push   %edi
509a97:	52                   	push   %edx
509a98:	ff 75 fc             	push   -0x4(%ebp)
509a9b:	e8 50 bf ff ff       	call   0x5059f0
509aa0:	83 c4 14             	add    $0x14,%esp
509aa3:	85 c0                	test   %eax,%eax
509aa5:	74 89                	je     0x509a30
509aa7:	5f                   	pop    %edi
509aa8:	5e                   	pop    %esi
509aa9:	5b                   	pop    %ebx
509aaa:	8b e5                	mov    %ebp,%esp
509aac:	5d                   	pop    %ebp
509aad:	c3                   	ret
509aae:	68 fc c4 6b 00       	push   $0x6bc4fc
509ab3:	68 40 0e 01 00       	push   $0x10e40
509ab8:	68 94 c4 6b 00       	push   $0x6bc494
509abd:	68 78 c4 6b 00       	push   $0x6bc478
509ac2:	6a 0b                	push   $0xb
509ac4:	e8 17 65 fd ff       	call   0x4dffe0
509ac9:	83 c4 14             	add    $0x14,%esp
509acc:	b8 0b 00 00 00       	mov    $0xb,%eax
509ad1:	5f                   	pop    %edi
509ad2:	5e                   	pop    %esi
509ad3:	5b                   	pop    %ebx
509ad4:	8b e5                	mov    %ebp,%esp
509ad6:	5d                   	pop    %ebp
509ad7:	c3                   	ret
509ad8:	cc                   	int3
509ad9:	cc                   	int3
509ada:	cc                   	int3
509adb:	cc                   	int3
509adc:	cc                   	int3
509add:	cc                   	int3
509ade:	cc                   	int3
509adf:	cc                   	int3
509ae0:	55                   	push   %ebp
509ae1:	8b ec                	mov    %esp,%ebp
509ae3:	56                   	push   %esi
509ae4:	8b 75 08             	mov    0x8(%ebp),%esi
509ae7:	33 c0                	xor    %eax,%eax
509ae9:	8a 56 44             	mov    0x44(%esi),%dl
509aec:	80 66 01 f9          	andb   $0xf9,0x1(%esi)
509af0:	8b 4e 74             	mov    0x74(%esi),%ecx
509af3:	66 89 46 32          	mov    %ax,0x32(%esi)
509af7:	0f be c2             	movsbl %dl,%eax
509afa:	fe ca                	dec    %dl
509afc:	66 8b 44 46 46       	mov    0x46(%esi,%eax,2),%ax
509b01:	66 89 46 46          	mov    %ax,0x46(%esi)
509b05:	0f be c2             	movsbl %dl,%eax
509b08:	88 56 44             	mov    %dl,0x44(%esi)
509b0b:	8b 44 86 78          	mov    0x78(%esi,%eax,4),%eax
509b0f:	89 46 74             	mov    %eax,0x74(%esi)
509b12:	8b 51 48             	mov    0x48(%ecx),%edx
509b15:	f6 42 1c 20          	testb  $0x20,0x1c(%edx)
509b19:	74 42                	je     0x509b5d
509b1b:	8b 42 14             	mov    0x14(%edx),%eax
509b1e:	57                   	push   %edi
509b1f:	ff 48 78             	decl   0x78(%eax)
509b22:	8b 88 88 00 00 00    	mov    0x88(%eax),%ecx
509b28:	89 4a 10             	mov    %ecx,0x10(%edx)
509b2b:	8b 70 3c             	mov    0x3c(%eax),%esi
509b2e:	89 90 88 00 00 00    	mov    %edx,0x88(%eax)
509b34:	ff 72 04             	push   0x4(%edx)
509b37:	8b 4a 18             	mov    0x18(%edx),%ecx
509b3a:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
509b40:	49                   	dec    %ecx
509b41:	8b 3e                	mov    (%esi),%edi
509b43:	99                   	cltd
509b44:	52                   	push   %edx
509b45:	50                   	push   %eax
509b46:	6a 00                	push   $0x0
509b48:	51                   	push   %ecx
509b49:	e8 b2 7f 0d 00       	call   0x5e1b00
509b4e:	52                   	push   %edx
509b4f:	50                   	push   %eax
509b50:	8b 47 48             	mov    0x48(%edi),%eax
509b53:	56                   	push   %esi
509b54:	ff d0                	call   *%eax
509b56:	83 c4 10             	add    $0x10,%esp
509b59:	5f                   	pop    %edi
509b5a:	5e                   	pop    %esi
509b5b:	5d                   	pop    %ebp
509b5c:	c3                   	ret
509b5d:	5e                   	pop    %esi
509b5e:	89 55 08             	mov    %edx,0x8(%ebp)
509b61:	5d                   	pop    %ebp
509b62:	e9 89 aa 02 00       	jmp    0x5345f0
509b67:	cc                   	int3
509b68:	cc                   	int3
509b69:	cc                   	int3
509b6a:	cc                   	int3
509b6b:	cc                   	int3
509b6c:	cc                   	int3
509b6d:	cc                   	int3
509b6e:	cc                   	int3
509b6f:	cc                   	int3
509b70:	55                   	push   %ebp
509b71:	8b ec                	mov    %esp,%ebp
509b73:	53                   	push   %ebx
509b74:	56                   	push   %esi
509b75:	8b 75 08             	mov    0x8(%ebp),%esi
509b78:	8b 56 74             	mov    0x74(%esi),%edx
509b7b:	57                   	push   %edi
509b7c:	8d 7e 74             	lea    0x74(%esi),%edi
509b7f:	80 7a 08 00          	cmpb   $0x0,0x8(%edx)
509b83:	75 64                	jne    0x509be9
509b85:	8b 42 38             	mov    0x38(%edx),%eax
509b88:	0f b6 4a 09          	movzbl 0x9(%edx),%ecx
509b8c:	8b 5c 01 08          	mov    0x8(%ecx,%eax,1),%ebx
509b90:	66 8b 42 18          	mov    0x18(%edx),%ax
509b94:	8b 56 14             	mov    0x14(%esi),%edx
509b97:	66 89 46 46          	mov    %ax,0x46(%esi)
509b9b:	8a 46 44             	mov    0x44(%esi),%al
509b9e:	3c 13                	cmp    $0x13,%al
509ba0:	7d 58                	jge    0x509bfa
509ba2:	80 66 01 f9          	andb   $0xf9,0x1(%esi)
509ba6:	33 c9                	xor    %ecx,%ecx
509ba8:	66 89 4e 32          	mov    %cx,0x32(%esi)
509bac:	0f be c8             	movsbl %al,%ecx
509baf:	66 8b 46 46          	mov    0x46(%esi),%ax
509bb3:	0f cb                	bswap  %ebx
509bb5:	66 89 44 4e 48       	mov    %ax,0x48(%esi,%ecx,2)
509bba:	0f be 4e 44          	movsbl 0x44(%esi),%ecx
509bbe:	8b 07                	mov    (%edi),%eax
509bc0:	89 44 8e 78          	mov    %eax,0x78(%esi,%ecx,4)
509bc4:	33 c0                	xor    %eax,%eax
509bc6:	fe 46 44             	incb   0x44(%esi)
509bc9:	66 89 46 46          	mov    %ax,0x46(%esi)
509bcd:	0f b6 46 02          	movzbl 0x2(%esi),%eax
509bd1:	50                   	push   %eax
509bd2:	56                   	push   %esi
509bd3:	57                   	push   %edi
509bd4:	53                   	push   %ebx
509bd5:	52                   	push   %edx
509bd6:	e8 15 be ff ff       	call   0x5059f0
509bdb:	83 c4 14             	add    $0x14,%esp
509bde:	85 c0                	test   %eax,%eax
509be0:	75 13                	jne    0x509bf5
509be2:	8b 17                	mov    (%edi),%edx
509be4:	38 42 08             	cmp    %al,0x8(%edx)
509be7:	74 9c                	je     0x509b85
509be9:	66 8b 42 18          	mov    0x18(%edx),%ax
509bed:	66 48                	dec    %ax
509bef:	66 89 46 46          	mov    %ax,0x46(%esi)
509bf3:	33 c0                	xor    %eax,%eax
509bf5:	5f                   	pop    %edi
509bf6:	5e                   	pop    %esi
509bf7:	5b                   	pop    %ebx
509bf8:	5d                   	pop    %ebp
509bf9:	c3                   	ret
509bfa:	68 fc c4 6b 00       	push   $0x6bc4fc
509bff:	68 40 0e 01 00       	push   $0x10e40
509c04:	68 94 c4 6b 00       	push   $0x6bc494
509c09:	68 78 c4 6b 00       	push   $0x6bc478
509c0e:	6a 0b                	push   $0xb
509c10:	e8 cb 63 fd ff       	call   0x4dffe0
509c15:	83 c4 14             	add    $0x14,%esp
509c18:	b8 0b 00 00 00       	mov    $0xb,%eax
509c1d:	5f                   	pop    %edi
509c1e:	5e                   	pop    %esi
509c1f:	5b                   	pop    %ebx
509c20:	5d                   	pop    %ebp
509c21:	c3                   	ret
509c22:	cc                   	int3
509c23:	cc                   	int3
509c24:	cc                   	int3
509c25:	cc                   	int3
509c26:	cc                   	int3
509c27:	cc                   	int3
509c28:	cc                   	int3