Function at 0xf0a6fb
Capabilities:
Encode data using xor

Disassembly:
lea esp, [esp + 4]
call fcn.00e7b13c
out 0x32, al
lodsd eax, dword gs:[esi]
xor al, 0x65
push ebx
cwde
mov dl, 0x8f
xchg esi, eax
add eax, eax
sbb dword [ebx], 0xffffff88
adc dh, byte [ecx + 0x68]
vmwrite edi, dword [ecx + ebx*4]
sub ebx, dword [ecx]
mov esi, 0xc5718371
jae 0xf0a785
xor dword [ecx - 0x3b], 0x73
pop edi
jno 0xf0a721
and al, 0x36
sub al, 0x69
sub al, 0x69
pmovmskb ecx, mm0
in eax, dx
jno 0xf0a729
mov esi, 0x938195e3
int1
sub dword [ecx*2 + reloc.WINMM.dll_midiStreamOut], ebp
out 0x72, eax
mov dword [ebp - 0x6f], edi
mov dh, 0x79
sub al, 0xe9
or byte [ebx + 0x2b5efac2], ch
cmp dword [esi - 0x47], ebx
in al, dx
jecxz 0xf0a7a8
cmp dword [esi], edx
xchg cl, dh
rcr byte [edx - 0x693acc87], 1
inc edx
push ss
sub byte [edx - 0x18], ch
sub edi, dword [edx + 0x16]
xor byte [esi - 0x76], bl
ror dword [eax + reloc.WINMM.dll_midiStreamOut], 1
push es
xlatb
or edi, edx
xor dword [ecx + ecx*4 + 0x78], esi
loopne 0xf0a7ce
in eax, 0x83
mov ebx, 0xb152b8f
int3
cmpsb byte [esi], byte es:[edi]
into
invalid
mov esp, ecx
mov esp, 0xe409befc
ja 0xf0a80f
mov bh, 0xfd
or ecx, 0x63
stosb byte es:[edi], al
invalid
jnp 0xf0a7ce
push ebx
adc edx, ecx
loop 0xf0a84d
cmp dh, byte [ecx + 0xb]
xchg edx, eax
cwde
sbb eax, 0xa4b29841
aad 0xd6
cmc
sub dword [ecx + reloc.WINMM.dll_midiStreamOut], 0x7223e195
daa
lea esi, [ecx]
dec esp
wait
jecxz 0xf0a829
push cs
lcall 0xd6a3, 0x540cbd51
inc edx
test al, 0x4c
or al, 0x54
mov dword [reloc.WINMM.dll_midiStreamOut], eax
arpl word [edx - 0x4f74c306], si
outsd dx, dword [esi]
mov esi, 0xbd361773
out dx, al
je 0xf0a84c
shr byte [ebp - 0x78eb1ad3], 0xd
jnp 0xf0a7fb
aas
push 0x30
xor dword [edx - 0xd], esp
pop esp
dec edx
pushfd
push ebp
les esi, [edi + 0x5e]
aaa
aaa
jl 0xf0a850
pop ebx
or al, 0xce
sbb dword [esp - 0x29], esp
or dword ds:[ebx], ecx
fst dword [ecx]
cmp dword [esi + 0xe], ebx
push ecx
mov al, byte [0xaf5ccdc0]
mov dh, 0xa1
jne 0xf0a87a
invalid
adc dh, byte es:[edx]
adc dh, byte [edx]
in eax, 0x24
push ecx
and al, 0x51
jno 0xf0a857
pushfd
je 0xf0a889
test byte [edi - 0x79de48b3], 0x5c
invalid
imul edx, esp, 0x76
leave
sub dword [ebx + reloc.WINMM.dll_midiStreamOut], ebp
push ds
sal bl, 0xa2
outsd dx, dword [esi]
cmc
daa
lds ecx, [esi - 0x10]
imul esp, esi, 0xddc879d7
arpl word [ecx - 0x4b0151a5], di
push edx
jmp 0xf0a8e5
in al, dx
inc esi
jno 0xf0a926
salc
scasb al, byte es:[edi]
lea eax, [ebx - 0xc]
mov dh, 0xed
loop 0xf0a928
out dx, al
mov bl, 0xbc
mov esp, 0x9d6e2f8
invalid
nop
sbb al, 0xca
inc edi
loopne 0xf0a88b
or dword [esi - reloc.WINMM.dll_midiStreamOut], ebx
out 0x5d, eax
iretd
mov edx, 0x88b89c77
jge 0xf0a967
xchg edx, eax
out dx, eax
mov dl, 0xa9
aam 0xca
mov edx, 0xb3f5c8cc
ja 0xf0a8a2
int3
call 0xd8c4175e
xchg esp, eax
lds ebp, [0xe60ebe6e]
salc
inc ecx
ret
pop esi
aaa
insb byte es:[edi], dx
test dword [edx + eax*8 + 0xf], esi
sub byte [esi + eax - 0x76395e14], dh
div ebx
push ecx
sysenter
pop es
mov word [esi - 0x1fe3a1a7], ds
mov eax, 0x24ecd576
loop 0xf0a8ee
xchg edx, eax
bound esp, qword [eax]
in al, 0xb7
jne 0xf0a976
out 0x1e, al
xor byte [0x77c4557a], dh
pop ebx
xchg esp, eax
sbb dl, cl
loop 0xf0a96b
loopne 0xf0a8f3
sub byte [ebx], dl
not byte [edx - 0x61]
enter 0xffffffffffffceee, 0x4c
dec esp
les edx, [esi]
dec eax
sar byte [edx + 0x1a], 0x6e
pushal
mov edx, 0x8e1328c0
xor ebx, dword [esi - 0x57]
enter 0x1f6b, 0x4c
pop esi
test eax, 0x4c1f6bc8
sbb edx, ecx
loop 0xf0a90c
pop esi
push cs
inc eax
out dx, al
sbb eax, 0xd06b4ae5
aam 0x39
arpl ax, di
pop edx
jg 0xf0a9aa
neg byte [eax - 0x70]
fild qword [ebx]
adc al, 0xc9
movsd dword es:[edi], dword [esi]
retf 0x8751
pop ebx
aaa
outsd dx, dword [esi]
clc
or al, 6
cmp byte [0xf9bc9f0c], 0x1b
shl edx, 1
hlt