Function at 0x85c488
Capabilities:
Encode data using xor

Disassembly:
jmp 0x85c492
pushal
call 0x85c498
pop ebp
sub ebp, 0x10
sub ebp, 0x45c488
jmp 0x85c4ae
mov eax, 0x45c488
add eax, ebp
add eax, 0x4c
mov ecx, 0x5fa
mov edx, 0xb5227753
xor byte [eax], dl
inc eax
dec ecx
jne 0x85c4c5
jmp 0x85c4d8
fcomp dword [esi + 0x536fdad8]
push ebx
push ebx
rcl byte [edx + 0x535353ab], cl
push eax
sahf
jmp 0x85c541
jg 0x85c584
cmp esi, dword [ebp - 0x44f0785f]
push esi
push ebx
push ebx
push ebx
mov edx, 0x5353537b
push es
pop es
push cs
fcom st(6)
pop ebx
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 0x85c59f
push ebx
push ebx
push ebx
cmp esi, dword [ebx - 0x1f]
pop ebp
push ebx
cmp esi, dword [esi]
inc ecx
push ebx
push edx
jg 0x85c5cf
fidiv word [edi]
ja 0x85c50b
ficomp dword [edi + 0x77]
mov ebx, 0x53535356
mov edx, 0x53535102
fidiv word [edi]
ja 0x85c51c
fidivr dword [edi + 0x77]
pop es
push cs
lodsb al, byte [esi]
pop edi
lodsb al, byte [esi]
pop ebx
mov ebx, 0x5353532d
fsubr st(6)
pop ebx
push ebx
push ebx
push ebx
shl byte [edx + 0x45152e3f], cl
mov byte [0x45152e3f], al
shl byte [edx + 0x45152e3f], cl
pushal
lcall 0xabd7, 0x98f9a1d2
shl byte [ecx - 0x54286707], cl
pushal
adc eax, 0x5c1b56bb
xlatb
sar byte [ebx - 0x28a3e4aa], 1
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 0x85c5f7
push 0x52
rcl byte [edx + 0x57bbd056]
mov edx, 0xacacacee
sar byte [ebx - 0x531145a9], 1
lodsb al, byte [esi]
lodsb al, byte [esi]
jp 0x85c5ee
push 0x51
rcl byte [edx + 0x57b9d055]
push edi
sar byte [ebx - 0x530745aa], 1
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 0x85c5dd
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 0x53d91970
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 0x85c6aa
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 0x85c703
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
push cs
js 0x85c7dd
pop ebx
fcom dword [esp + ecx + 0xeb6d80d]
xchg ecx, eax
pop ebx
push ebx
or al, 0xd
mov edx, 0x53535357
pop ecx
xchg ecx, eax
sbb byte [ebp - 0x15], ah
fist dword [edi - 0x69afacea]
rcl byte [ebx + 0x53535030], 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 0x85c82a
stosd dword es:[edi], eax
int3
dec ebx
dec ebx
retf 0x4bb2