Function at 0xf1cdaa
Capabilities:
Encode data using xor

Disassembly:
int3
cdq
std
mov ss, word [ecx + esi*2 - 0x13]
lcall 0x49ba, 0xa60a46b9
or esi, dword [edx - 0x41ecaa46]
movsb byte es:[edi], byte fs:[esi]
jge 0xf1ccc4
inc ebx
pop ebp
popal
scasb al, byte es:[edi]
fsubrp st(6)
sub ah, ah
imul edi, dword cs:[eax + esi*8], 0x5d
push esi
push 0xfffffffffffffffc
mov dl, byte [edi + edi*4]
dec esp
adc al, 0xab
mov dword [0x972877f3], eax
mov edi, 0xa3ab144c
ja 0xf1cd4b
sub byte [edi - 0x3932dac0], dl
fstp qword ss:[esi - 0x3df9bd85]
stc
jno 0xf1cd88
xchg edi, eax
inc eax
and eax, 0xdd36c6cd
sahf
jnp 0xf1cd6f
push es
ret 0x71f9
mov dl, 0x78
int3
jnp 0xf1ccf1
mov cs, word [edx + 0x34ecf407]
jno 0xf1cd0d
mov dl, byte [eax]
dec edx
sar byte [0xbcec5ce], cl
mov edx, dword [eax]
add ebx, dword [ecx]
mov dword [edx], 0xec7e576
jbe 0xf1cd5c
invalid
invalid
invalid
leave
jl 0xf1cdec
mov word [esi - 0x6d589647], es
jne 0xf1cd1b
sahf
inc esi
inc ecx
jecxz 0xf1cd22
test byte [ebp + 0x62853349], dh
add bl, ch
or byte [eax], al
add byte [0], cl
add byte [eax - 0x18], ah
pushal
call 0xf1cdb0
pushal
call 0xf1cdb0
pop ebp
sub ebp, 0x10
sub ebp, 0xb1cda0
jmp 0xf1cdc6
add byte [eax], al
add byte [ebx + 0x35], dh
jp 0xf1cd97
mov eax, 0xb1cda0
add eax, ebp
add eax, 0x4c
mov ecx, 0x5d8
mov edx, 0xbc15dc59
xor byte [eax], dl
inc eax
dec ecx
jne 0xf1cddd
jmp 0xf1cdf0
sbb eax, 0xd23fcb82
xchg esp, eax
rcl al, cl
pop ecx
pop ecx
rcl byte [edx + edx*8 + 0x595965d0], cl
pop ecx
fcomp dword [eax + 0x595959a1]
pop edx
xchg esp, eax
loope 0xf1ce61
pop ecx
pop ecx
pop ecx
jecxz 0xf1ce78
pop ecx
pop ecx
pop ecx
scasb al, byte es:[edi]
mov ebx, 0xd8d2915a
push ebp
pop ecx
pop ecx
pop ecx
pop edx
pushfd
aam 0x3d
jge 0xf1cdbf
rcr byte [ebp + 0x7d], 1
or dword [ecx], esi
xchg ebp, eax
mov cl, 0x78
pop ecx
xor dword [edx + 0x5859d6bd], ecx
jne 0xf1cea8
mov ebp, 0x755859d6
jge 0xf1ce5d
xor dword [ebp - 0x26], ebp
fdivr qword [ebx]
mov cl, 0x5c
pop ecx
pop ecx
pop ecx
insd dword es:[edi], dx
fcmovu st(0), st(4)
cmp esi, dword [ecx + 0x5959595c]
mov al, 0x77
pop ecx
ja 0xf1ce91
pop ecx
pop ecx
or al, 0xd2
mov ch, 0xd2
fcom qword [ecx + 0x59]
pop ecx
pop ecx
ror ah, cl
push ebp
pop ecx
pop ecx
pop ecx
rcl ah, cl
dec ecx
pop ecx
pop ecx
pop ecx
cwde
mov al, 0x5b
pop ebx
push 0x5d9bda5b
adc byte [esi - 0x24], dl
lodsd eax, dword [esi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
sal byte [ebp + 0x7d], cl
aam 0x3d
jge 0xf1cec2
wait
push ebp
pop ecx
rcl ch, cl
jge 0xf1cec9
pop ecx
pop ecx
pop ecx
xor dword [ebp + 0x315978b1], edx
mov bh, byte [ebp + 0x755859d6]
jge 0xf1ce51
pop ecx
pop eax
jne 0xf1cef9
aam 0x3d
jge 0xf1ce25
cmp eax, 0x55d0a57d
jge 0xf1ce35
rcl byte [ebp + 0x7d]
mov cl, 0x5c
pop esp
pop ecx
pop ecx
pop ecx
mov al, 0xa
pop ebx
pop ecx
pop ecx
aam 0x3d
jge 0xf1ce36
sal byte [ebp + 0x7d], 1
aam 0x35
jge 0xf1cef1
cmpsb byte [esi], byte es:[edi]
sub al, 0x55
cmpsb byte [esi], byte es:[edi]
sub al, 0x51
mov cl, 0x27
pop ecx
pop ecx
pop ecx
shl ah, cl
push ecx
pop ecx
pop ecx
pop ecx
fsubr dword [eax - 0x54c0c3ed]
fsubr dword [eax - 0x54c0c3ed]
push 0xffffffffffffff90
fsubr dword [ebx - 0x60d586ff]
fsubr dword [ebx - 0x60d586ff]
lahf
push 0xffffffffffffff8b
fidiv dword [ecx - 0x22a9eea4]
pop ss
push esi
fst qword [edi]
pop ecx
pop ecx
pop ecx
push esi
rcl dword [ecx]
pop ecx
pop ecx
pop ecx
aas
rol byte [ebp + 0x60], cl
fldenv [edx + 0x43dd56b1]
pop ecx
pop ecx
pop ecx
fldenv [edx + 0x48dd56b0]
pop ecx
pop ecx
pop ecx
aas
fsub dword [edx - 0x22a9835a]
dec esp
pop ecx
pop ecx
fisttp qword [ecx + ebx*2 + 0x59]
pop ecx
sbb byte [eax - 0x5959596b], dh
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
jo 0xf1cf13
pushal
pop eax
ficomp dword [eax + 0x5db1da5c]
mov al, 0xe4
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
jo 0xf1cf1a
pushal
pop ebx
ficomp dword [eax + 0x5db3da5f]
mov bl, 0x5d
fidiv dword [ecx - 0x590d4fa4]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
add al, 0x9b
push ebp
pop ecx
or al, 0xd2
mov ch, 0xf
push cs
or al, 0xd2
sub al, 0x55
shl byte [ecx + edx*2], cl
movsd dword es:[edi], dword [esi]
jmp 0xf1cf09