Function at 0x8e0f98
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8e0f9e
pop ebp
sub ebp, 6
sub ebp, 0x4e0f98
jmp 0x8e0ffc
jmp 0x8e1005
mov eax, 0x4e0f98
add eax, ebp
add eax, 0x93
mov ecx, 0x617
mov edx, 0xcc3b1553
xor byte [eax], dl
inc eax
dec ecx
jne 0x8e101c
jmp 0x8e102f
cmp dword [ebx], edx
cmp edx, dword [ebx + 0x43]
push ebx
push ebx
cmp edx, dword [ebx - 0x61]
jg 0x8e108e
pushal
xchg ebx, eax
add ebp, dword [esi + eax*8 + 0x5317026f]
add ebx, eax
sahf
fcomp st(2)
outsd dx, dword [esi]
push ebx
push ebx
push ebx
rcl byte [edx + 0x535353ab], cl
push eax
sahf
jmp 0x8e10ac
push ebx
push ebx
push ebx
fadd st(6)
pop edi
push ebx
push ebx
push ebx
fcomp st(6)
inc ebx
push ebx
push ebx
push ebx
xchg edx, eax
mov edx, 0xd0516251
xchg ecx, eax
push edi
sbb bl, byte [esi + edx*8 - 0x59]
lodsb al, byte [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
push cs
xchg ecx, eax
pop edi
push ebx
fcomp st(7)
ja 0x8e110b
push ebx
push ebx
push ebx
cmp ebx, dword [ebp + 0x66]
pop edx
push ebx
cmp ebx, ecx
mov dword [edi], edx
push ebx
push edx
jg 0x8e113b
add bh, byte [ebx + 0x53535356]
mov edx, 0x53535160
push es
pop es
push cs
lodsb al, byte [esi]
pop edi
lodsb al, byte [esi]
pop ebx
mov ebx, 0x53535335
fsubr st(6)
pop ebx
push ebx
push ebx
push ebx
pushal
lcall 0x1b56, 0xbbd08160
pop esp
xlatb
sbb eax, 0x5c535353
fistp dword [ebx]
push ebx
push ebx
push ebx
xor eax, 0xd36a4fd8
test al, 0xbb
pop esp
xlatb
dec ecx
push ebx
push ebx
push ebx
shr dword [eax + 0x42d75cba], cl
push ebx
push ebx
push ebx
xor eax, 0x76aca8d2
pop esp
xlatb
inc esi
push ebx
push ebx
push ebx
adc bh, byte [edx - 0x53535361]
jp 0x8e113f
push 0x52
rcl byte [edx + 0x57bbd056]
mov edx, 0xacacacee
sar byte [ebx - 0x531145a9], 1
lodsb al, byte [esi]
lodsb al, byte [esi]
jp 0x8e1136
push 0x51
rcl byte [edx + 0x57b9d055]
push edi
sar byte [ebx - 0x530745aa], 1
clc
lodsb al, byte [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
push cs
xchg ecx, eax
pop edi
push ebx
push es
fdivr dword [edi - 0x27f9fbfb]
pop edi
fsubr dword [esi]
pop ebx
scasd eax, dword es:[edi]
loope 0x8e1125
fst dword [ebp - 0x2e]
xchg ebp, eax
push edx
push ebx
push ebx
push ebx
fist dword [edx + edx*8 - 0x6c]
push edx
push ebx
push ebx
push ebx
call 0x53e164b8
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd05c8141
mov ebp, dword [esp + ebp*4 + 0x5c8151ac]
salc
push esi
push ebx
push ebx
push ebx
fld dword [ebp + 0x15]
inc ecx
sbb dword [eax + edx*8 + 0x39], 0x60535353
xchg ebx, eax
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd05c8141
jns 0x8e11f2
push ebx
push ebx
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x93408141
pop esp
xlatb
push ebp
push ebx
push ebx
push ebx
fmul dword [eax + edi*2 - 0x24af2675]
push esp
adc al, 0xe8
push ecx
push ebx
push ebx
push ebx
mov edx, 0xacacac23
jmp 0x8e124b
sbb dword [ecx + edx*8 - 0x73], 0x5acacac
fsub dword [eax + edi*2 + 0xdf7a0a6]
mov edx, 0xacacac5b
sbb edx, dword [edx + 0x55d95bb3]
adc eax, 0x52eabbd8
push ebx
push ebx
push ebx
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0x9a408141
push ecx
sbb dword [esi + edx*8 + 0x56], 0xd9535353
inc ebp
adc eax, 0xd15c8141
lea ebp, [esp + ebp*4 + 0x53abd2ac]
push ebx
push ebx
ror byte [edx - 0x53535354], cl
shr byte [ebx + 0x53535653], cl
ror byte [edx - 0x53535354], cl
shr byte [ebx + 0x535353d3], cl
rol byte [edx + 0x53535353], cl
shr byte [ebx + 0x535353d3], cl
rol byte [edx + 0x53535353], cl
add eax, 0xa378a4d8
mov al, byte [0xc8ba0df7]
lodsd eax, dword [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
fst dword [ebp + 0x15]
pushal
lcall 0x49d7, 0x5c52bb93
push ebx
push ebx
push ebx
rol byte [edx + 0x53535351], cl
fdivr dword [ebx + 0x78a4d805]
mov dword [0xe80df7a0], eax
push edx
push ebx
push ebx
push ebx
mov edx, 0xacacad20
test dword [0x535352e8], 0xad20ba53
lodsb al, byte [esi]
lodsb al, byte [esi]
push cs
js 0x8e1325
pop ebx
fcom dword [esp + ecx + 0xeb6d80d]
xchg ecx, eax
pop ebx
push ebx
or al, 0xd
mov edx, 0x53535357
pop ecx
sti
and dl, byte [edx + 0x1d5ccbeb]
push ebx
push eax
xchg esi, eax
rcl byte [ebx + 0x535350c8], cl
ljmp 0x4be9
inc ebx
adc ebx, dword [edx]
pop esp
salc
movsd dword es:[edi], dword [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
lodsb al, byte [esi]
mov edx, 0x53535357
jl 0x8e12f4
jle 0x8e12e8
sbb eax, 0x8b781c1c
rol ch, 0x1b
dec edx
dec ebx
dec ebx
mov ah, byte [edx + 0x14e0b949]
rol ch, 0x1f
dec edx
dec ebx
dec ebx
mov ah, byte [edx + 0x14eeb949]
adc eax, 0x4b77d5c0
dec ebx
dec ebx
sbb byte [esp + esi*8 + 0x17], al
js 0x8e13ae
adc edx, ecx
mov dword [ebx + 0x484b4b4b], esi
popfd
retf 0x4bb0
dec eax
mov ch, 0x1d
adc dl, cl
mov al, byte [0x4b0b4b4b]
int3