Function at 0x7af384
Capabilities:
Encode data using xor

Disassembly:
jmp 0x7af38e
pushal
call 0x7af394
pop ebp
sub ebp, 0x10
sub ebp, 0x3af384
cmp al, byte [eax]
jmp 0x7af3aa
add byte [eax], al
pushfd
outsd dx, dword [esi]
jae 0x7af39e
mov eax, 0x3af384
add eax, ebp
add eax, 0x4c
mov ecx, 0x5f2
mov edx, 0xfdaff25a
xor byte [eax], dl
inc eax
dec ecx
jne 0x7af3c1
jmp 0x7af3d4
rcl dword [edi + 0x5a66d3d1]
pop edx
pop edx
fistp dword [ebx + 0x5a5a5aa2]
pop ecx
xchg edi, eax
loop 0x7af445
pop edx
pop edx
pop edx
loopne 0x7af45d
pop edx
pop edx
pop edx
lodsd eax, dword [esi]
mov eax, 0xdbd19259
push esi
pop edx
pop edx
pop edx
pop ecx
lahf
xlatb
jle 0x7af3a4
rcr dword [esi + 0x7e], cl
or dh, byte [edx]
push esi
and dword [edx + ebx*2 + 0x32], edx
and ah, byte [edx]
jbe 0x7af466
pop ebx
jbe 0x7af48d
xor dl, byte [eax - 0x4dcb7170]
pop edi
pop edx
pop edx
pop edx
mov bl, 0x6a
pop edx
pop edx
pop edx
invalid
iretd
jbe 0x7af4c5
xlatb
jle 0x7af4a9
cwde
push esi
pop edx
rcl esi, 1
jle 0x7af4b0
pop edx
pop edx
pop edx
xor dl, byte [esi + 0x21]
push esp
pop edx
xor ah, byte [edx]
and dh, byte [esi + 0x5a]
jbe 0x7af4b9
pop ebx
jbe 0x7af4e0
or esi, dword [edx + 0x5a5a5a5f]
pop edx
pop edx
mov bl, 0x1f
pop eax
pop edx
pop edx
xlatb
jle 0x7af417
sal dword [esi + 0x7e], cl
push cs
pop es
movsd dword es:[edi], dword [esi]
das
push esi
movsd dword es:[edi], dword [esi]
das
push edx
mov dl, 0x28
pop edx
pop edx
pop edx
shl edi, 1
push edx
pop edx
pop edx
pop edx
imul edx, dword [ebx + 0x74afa8db], 0xa8dbd596
scasd eax, dword es:[edi]
xchg esi, eax
aad 0xdb
test al, 0xaf
je 0x7af42a
aad 0x69
mov cl, bl
mov dl, 0x5f
adc dl, byte [ebp - 0x22]
adc al, 0x5a
pop edx
pop edx
push ebp
rcl byte [edx], cl
pop edx
pop edx
pop edx
cmp al, 0xd1
inc esi
arpl dx, bx
mov eax, dword [0x40de55b2]
inc eax
pop edx
pop edx
pop edx
fisub dword [ecx + 0x4bde55b3]
dec ebx
pop edx
pop edx
pop edx
cmp al, 0xdb
mov eax, dword [0xde557fa5]
dec edi
pop edx
pop edx
pop edx
sbb esi, dword [ebx - 0x5a5a5a6a]
jae 0x7af4e6
arpl word [ebx - 0x27], bx
wait
pop edi
fnstenv [edx - 0x5a184ca2]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jae 0x7af4ed
arpl word [eax - 0x27], bx
wait
pop esp
fnstenv [eax + 0x5fb2d95e]
mov bl, 0xf1
movsd dword es:[edi], dword [esi]
pop eax
fstp dword [ebx + 0x5eb0d95c]
pop esi
fnstenv [edx - 0x5a0e4ca1]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop es
cwde
push esi
pop edx
psrlw mm6, qword [esi - 0x2ef0f2f4]
das
push esi
shl dword [edi], 1
push edx
cmpsb byte [esi], byte es:[edi]
call 0xdbd7c5df
pushfd
pop ebx
pop edx
pop edx
pop edx
rcr byte [ebp - 0x25], cl
popfd
pop ebx
pop edx
pop edx
pop edx
loope 0x7af56c
pop edx
pop edx
pop edx
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ebp - 0x27], dl
and byte [ebp - 0x77a75a5b], 0x55
fistp word [edi + 0x5a]
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ebp - 0x27], dl
xor byte [edx + 0x5a], bl
pop edx
imul ebx, dword [edx - 0x20aa77a8], 0x5a5a5a5f
ror byte [esp + ebx + 0x48], 1
mov byte [ebp - 0x27], dl
jo 0x7af5ab
pop edx
pop edx
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ecx - 0x66], cl
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
dec eax
mov byte [ecx - 0x66], cl
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ecx - 0x66], cl
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ecx - 0x66], cl
push ebp
ficomp word [edx + ebx*2 + 0x5a]
pop edx
rol dword [ebp + 0x59d08271], 1
rcr byte [ebp + 0x1d], cl
loope 0x7af5f7
pop edx
pop edx
pop edx
mov bl, 0x2a
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
loop 0x7af604
pop edx
pop edx
pop edx
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
sbb al, 0x48
mov byte [ecx - 0x66], cl
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ebp - 0x28], dl
test byte [ebp - 0x668e5a5b], ah
loope 0x7af62d
pop edx
pop edx
pop edx
push ebp
fild qword [esi + 0x5a]
pop edx
pop edx
jecxz 0x7af638
pop edx
pop edx
pop edx
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ecx - 0x6d], cl
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ebp - 0x28], dl
test byte [ebp - 0x2ef35a5b], ah
lodsd eax, dword [esi]
jno 0x7af5b6
test eax, 0x52b304fe
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
adc bl, byte [ebx + 0x5cd052ba]
sbb al, 0xd1
mov dl, 0xe3
pop ebx
pop edx
pop edx
pop edx
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ecx - 0x6d], cl
pop eax
mov byte [ebp - 0x21], dl
pop edi
pop edx
pop edx
pop edx
ror byte [esp + ebx + 0x48], 1
mov byte [ebp - 0x28], dl
test byte [ebp - 0x5d245a5b], ah
pop edx
daa
pop edx
pop edx
fild dword [ebx - 0x5a5a5a5b]
invalid