Function at 0xaa6200
Capabilities:
Encode data using xor

Disassembly:
add di, 0xf1cb
shr ecx, 1
mov edi, esi
bsr di, dx
mov edi, dword [ebx + ecx*4]
lea esi, [eax*4 - 0x459267]
bts esi, esi
adc si, 0x3634
push esi
add edi, eax
movzx si, dl
call fcn.0078c4fd
xchg ebx, eax
sbb dword [edi - 0x6875f9c9], ebp
adc dl, ah
push ebp
mov edi, 0xa775e83a
pop esi
lodsd eax, dword [esi]
xchg esp, eax
push es
jmp 0x794ac3
adc bl, byte [ebx - 0x515b27bf]
lcall 0x1ff9, 0x108a94e0
fcom qword [edx]
clc
stosd dword es:[edi], eax
cmpsd dword [esi], dword es:[edi]
push ecx
pop ebp
mov edi, 0x79f1d475
lodsd eax, dword [esi]
jns 0x794aa1
mov eax, dword ds:[0xcc453be7]
jnp 0x794a4b
fstp xword [ebx + 0x232b62d9]
inc ebx
inc ebp
inc ecx
ret
insd dword es:[edi], dx
test eax, 0xd5a4e013
imul edx, ebx, 0xffffffd0
loope 0x794a5b
retf
sbb ebx, ebx
or al, 0x44
loop 0x794ac9
pop ds
fisttp word [eax]
sbb dword ss:[ecx], ebx
je 0x794a5c
sbb dword [esi + edx*4 - 0x36], esi
mov ecx, 0x4acb0d05
jle 0x794ab8
retf 0x5b9
or eax, 0x7e2e4acb
jmp 0x3f723b1f
dec esp
invalid
test ah, 0x1b
cmc
test di, cx
cmp al, byte [edi]
movsx eax, al
movzx ax, dl
cwde
lea edi, [edi + 1]
setno ah
pushfd
movzx ax, cl
mov eax, dword [esp + 0x2c]
mov byte [esp], ah
pushfd
pushfd
lea esp, [esp + 0x38]
ja 0xaa61f8
push 0xf66a37d2
mov byte [esp], al
lea esp, [esp + 4]
jb 0xa0165d
clc
test edx, ebx
test bl, dl
cmp byte [edi - 1], 0
call fcn.00792f96
xor al, 0xa2
sbb al, 0xa4
or esi, dword [eax + 0x2bc62097]
pop ds
imul eax, dword [ebx + 0x64106a1e], 0x175f06a
arpl word [edx], bx
les ecx, [eax - 0x53677d12]
lodsb al, byte [esi]
stosb byte es:[edi], al
and byte [ecx + 0x1f55abd5], ch
pop ecx
call 0x680f0936
pop es
adc eax, 0xa27e2321
push dword [edi + 0x71]
ja 0x9f5136
mov esp, 0xb2681676
daa
cmp bh, dl
inc esp
dec esi
mov dl, 0xec
jnp 0x9f5142
bound eax, qword [eax + 0x36eb44dc]
je 0x9f5156
jb 0x9f510c
test eax, 0x78e4126
inc ecx
mov es, word [edi]
mov eax, dword [0xe307cc6a]
or dword [eax], 0xffffffad
in eax, dx
lcall 0x5b13, 0x743b2d57
sub al, 0xf
in eax, dx
jnp 0x9f50c3
test bh, bl
jae 0x9f50bd
push esp
push eax
jns 0x9f50ae
xor eax, 0x2a22f5c7
dec edx
and al, 0x70
add edi, dword [edi - 0x308563cd]
pushfd
jp 0x9f50de
scasb al, byte es:[edi]
adc bl, byte [esi - 0x584854cf]
sub cl, bh
arpl cx, dx
xor al, 7
jnp 0x9f5116
rol ecx, cl
das
in al, 0x1a
stosb byte es:[edi], al
in eax, dx
pop edx
xchg edx, eax
cdq
mov dl, 0xb8
xchg byte [ebx], cl
xchg edx, eax
out dx, al
cld
mov eax, dword [0x8dd01401]
push ebp
mov dword [0x9701e20c], eax
sub al, 0x79
movsd dword es:[edi], dword [esi]
clc
or al, 0xe2
add dword [edi - 0x75a86d4], edx
pop esp
inc ecx
std
push ebx
xchg esp, eax
cmp dl, byte [ebp - 0x32934785]
xchg esp, eax
int 0x94
pop esp
adc al, byte [esp + 0xa5f9f8a]
invalid
test byte [edi], bh
or eax, 0x3c9e97b0
or bl, byte ds:[eax]
mov bl, byte [edi]
pop ds
imul eax, dword [ecx], 0x75
jnp 0x9f5148
sbb al, 0x28
push esi
sub dh, byte [esi + ebp*4]
and edx, dword [edi + 0x31]
pop ebp
or esp, ecx
js 0x9f5179
push 0x7f
fistp word [edi + 0x53]
daa
push ebx
jle 0x9f5175
mov byte fs:[0x5144dd4f], al
loope 0x9f5161
popal
mov dword [ecx + edi*8 + 0x44ef79ba], 0xf5571f7e
out dx, eax
fcmovnu st(0), st(1)
xchg ecx, eax
int1
invalid
push esp
cmp ecx, dword [ebp - 8]
pushfd
push dword [esp]
jmp 0xa8440c
bswap edi
sub ecx, 1
pushfd
not di
pop esi
bt bx, si
mov dword [ebp - 4], ecx
setg ch
mov ecx, dword [ebp - 8]
stc
lea edi, [ebx*8 + 0xc2c2272]
add ecx, dword [ebp - 4]
rol esi, cl
jmp 0x794a0a
lea esp, [esp + 0xc]
jbe 0xa01bf2
clc
inc di
jmp 0xa01e83
stc
test edx, edx
call fcn.00a00201
not al
mov byte [esp], bh
bt cx, cx
pushal
clc
neg al
push edi
test bx, 0xea6
bt bx, 7
not al
jmp 0x9f5043