Function at 0xa8ac16
Capabilities:
Encode data using xor

Disassembly:
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi + 0x49], al
dec esp
inc ebp
xor byte [eax], al
add eax, dword [eax]
movsb byte es:[edi], byte [esi]
cmc
inc edx
sbb esp, dword [edx]
add byte [eax], al
push eax
add byte [edx], al
add byte [eax], bh
add byte [ecx], al
add dword [eax], eax
or byte [edx], al
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [0xa0000000], al
push cs
add byte [eax], al
mov dl, 7
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [eax], al
add byte [eax], al
pushal
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add byte [eax], al
sbb byte [eax], al
add byte [eax], al
mov fs, word [esi + eax*2]
push edi
sbb al, 0x11
xlatb
add dword [edi + 0x1c57464b], ecx
adc edi, edx
add dword [esi - 0x4f], edi
adc eax, 0xd8aab472
add edi, esi
pop edx
inc esp
pop eax
loop 0xa8abf3
fiadd dword [ecx]
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
test byte [esi], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
shr bl, 1
push ecx
jnp 0xa8ac9c
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], dh
jo 0xa8ac9e
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add eax, dword [eax]
push edx
add byte [eax], al
add byte [eax], bl
add byte [ecx], al
add byte [ebx + 0x316], al
add byte [0x46248e02], dl
push edi
sbb al, 0x11
xlatb
add dword [esi + 0x1c574624], ecx
adc edi, edx
add dword [esi + 0x1c574624], ecx
adc edi, edx
add dword [esi + 0x1c574624], ecx
adc edi, edx
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], cl
add dh, byte [eax]
add byte [ecx], bh
add byte [esi], dh
add byte [esi], dh
add byte [edx], al
inc edx
add byte [esi], bh
xor dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
mov al, 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
xchg edx, eax
add byte [eax], al
add byte [eax], bl
add byte [ecx], al
add byte [ebx + 0x316], al
add byte [0x46248e02], dl
push edi
sbb al, 0x11
xlatb
add dword [esi + 0x1c574624], ecx
adc edi, edx
add dword [esi + 0x1c574624], ecx
adc edi, edx
add dword [esi + 0x1c574624], ecx
adc edi, edx
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ch
add dword [eax], esi
add byte [ecx], bh
add byte [esi], dh
add byte [esi], dh
add byte [edx], al
inc edx
add byte [eax], bh
add byte [eax], bh
add byte [ecx], bh
add byte [eax + eax + 0x34], al
add byte [eax], bh
add byte [0x37003700], dh
add byte [edx], al
inc ecx
add byte [0x37003100], dh
add byte [ecx], al
inc ecx
add byte [eax + eax], dh
add byte ss:[ebp], al
cmp dword [eax], eax
xor al, 0
inc ecx
add byte [ecx], bh
add byte [ebp], al
xor eax, dword [eax]
cmp byte [eax], al
inc edx
add byte [ebx], al
inc ecx
add byte [esi], dh
add byte [esi], dh
add byte [edx], al
inc esp
add byte [ecx], bh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x48000000], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
adc byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebp + 6], ch
add byte [eax], al
add byte [eax], al
add byte [eax], al
insd dword es:[edi], dx
push es
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor dword [ecx], eax
sbb ah, bl
sub eax, dword [eax]
add byte [eax], al