Function at 0x91b1d0
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x91b1d6
pop ebp
sub ebp, 6
sub ebp, 0x51b1d0
jmp 0x91b234
jmp 0x91b23d
mov eax, 0x51b1d0
add eax, ebp
add eax, 0x93
mov ecx, 0x60f
mov edx, 0x87a43f59
xor byte [eax], dl
inc eax
dec ecx
jne 0x91b254
jmp 0x91b267
xor ebx, dword [ecx]
xor dword [ecx + 0x49], ebx
pop ecx
pop ecx
xor dword [ecx - 0x6b], ebx
jne 0x91b2cc
push 0xffffffffffffff99
or dword [esi + 0x1eb865cc], esp
pop ecx
or edx, edx
xchg esp, eax
rcl al, cl
pop ecx
pop ecx
pop ecx
fcomp dword [eax + 0x595959a1]
pop edx
xchg esp, eax
loope 0x91b2ee
pop ecx
pop ecx
pop ecx
jecxz 0x91b305
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
or dword [ecx], esi
dec ebp
push 0x50
pop ecx
xor eax, esp
daa
adc dword [ecx + 0x58], ebx
jne 0x91b32e
xor dword [ecx + 0x59], ebx
pop ecx
pop ecx
mov cl, 0x5c
pop ecx
pop ecx
pop ecx
mov al, 0x71
pop ecx
pop ecx
pop ecx
or al, 0xd
add al, 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
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]
add al, 0x9b
push ebp
pop ecx
rcl ch, cl
jge 0x91b349
pop ecx
pop ecx
pop ecx
xor dword [ebp + 0x6a], ecx
push eax
pop ecx
xor eax, esp
daa
adc dword [ecx + 0x58], ebx
jne 0x91b379
or byte [ecx + 0x5959595c], dh
mov al, 0x6a
pop ebx
pop ecx
pop ecx
or al, 0xd2
mov ch, 0xa6
sub al, 0x55
cmpsb byte [esi], byte es:[edi]
sub al, 0x51
mov cl, 0x3f
pop ecx
pop ecx
pop ecx
shl ah, cl
push ecx
pop ecx
pop ecx
pop ecx
push 0xffffffffffffff90
push 0xffffffffffffff8b
fidiv dword [ecx - 0x22a9eea4]
pop ss
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
jl 0x91b3a1
fisttp qword [ecx + ebx*2 + 0x59]
pop ecx
sbb byte [eax - 0x5959596b], dh
jo 0x91b36d
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 0x91b374
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 0x91b363
push esi
fcomp qword [ecx + ebx*2 + 0x59]
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov edx, dword [esi - 0x26]
and dword [esi - 0x74a4595a], 0x595cdc56
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov edx, dword [esi - 0x26]
xor ebx, dword [ecx + 0x59]
pop ecx
push 0xffffffffffffff99
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov edx, dword [esi - 0x26]
jae 0x91b430
pop ecx
pop ecx
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
push esi
fstp qword [edi + 0x59]
pop ecx
pop ecx
rol byte [esi + 0x5ad38172], cl
rcr dword [esi + 0x1e], 1
loop 0x91b482
pop ecx
pop ecx
pop ecx
mov al, 0x29
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
loope 0x91b489
pop eax
pop ecx
pop ecx
pop ecx
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x67]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov edx, dword [esi - 0x25]
xchg dword [esi - 0x658d595a], esp
loop 0x91b4b2
pop ecx
pop ecx
pop ecx
push esi
fsubr qword [ebp + 0x59]
pop ecx
pop ecx
loopne 0x91b4bd
pop ecx
pop ecx
pop ecx
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x70]
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov edx, dword [esi - 0x25]
xchg dword [esi - 0x2df0595a], esp
scasb al, byte es:[edi]
jb 0x91b43b
cmpsb byte [esi], byte es:[edi]
psrld mm5, qword [esi - 0x255538e]
stosb byte es:[edi], al
std
pop es
mov al, 0x51
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
adc dword [eax + 0x5fd351b9], ebx
pop ds
sal byte [ecx + 0x595958e0], cl
pop ecx
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec ebx
mov ecx, dword [edx - 0x70]
dec edx
nop
pop ebx
mov edx, dword [esi - 0x24]
pop esp
pop ecx
pop ecx
pop ecx
ror dword [edi + 0x1f], cl
dec edi
pop ds
dec ebx
mov edx, dword [esi - 0x25]
xchg dword [esi - 0x5e27595a], esp
pop ecx
and al, 0x59
pop ecx
fadd dword [eax - 0x5959595a]
fsub dword [ecx + 0x59595c59]
fadd dword [eax - 0x5959595a]
fsub dword [ecx + 0x595959d9]
fmul dword [eax + 0x59595959]
fsub dword [ecx + 0x595959d9]
fmul dword [eax + 0x59595959]
psrld mm5, qword [esi - 0x255568e]
pop es
mov al, 0xc2
cmpsd dword [esi], dword es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
rcr dword [edi + 0x1f], cl
push 0xffffffffffffff90
cdq
mov cl, 0x58
push esi
fld qword [ebx + 0x59]
pop ecx
pop ecx
fmul dword [eax + 0x5959595b]
sal byte [ecx + 0x72aed20f], cl
test eax, 0xe207fdaa
pop eax
pop ecx
pop ecx
pop ecx
mov al, 0x2a
cmpsd dword [esi], dword es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
add al, 0x72
and al, 0x51
rcr byte [esi - 0x432df8fa], cl
add al, 0x9b
push ecx
pop ecx
push es
pop es
mov al, 0x5d
pop ecx
pop ecx
pop ecx
loope 0x91b592
les edi, [esi + 0x8e889e1]
pop ecx
pop edx
pushfd
fcomp dword [ecx + 0x59595ac2]
loopne 0x91b5b2
pop edx
pop ecx
pop ecx
jecxz 0x91b5a8
std
mov al, 5
imul ecx, dword [ecx + 0x19], 0xafdc5610
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
cmpsb byte [esi], byte es:[edi]
mov al, 0x5d
pop ecx
pop ecx
pop ecx
rcr byte [edx + 0x18194cdf], cl
sbb byte [edi + ecx*4 - 0x3c], bh
rcr dword [edi], 0x4e
dec edi
dec edi
mov fs, word [esi + 0x10e4bd4d]
invalid
dec edi
sbb al, 0x40
lock adc edi, dword [ecx + ecx*2 + 0x15]
into
lea esi, [edi + 0x4c4f4f4f]
cdq
into
mov ah, 0x4f
dec edi
dec edi
dec edi
dec edi
inc eax
retf
pop edi
dec esp
xor eax, 0x5b3d4c43
mov ebp, 0xce1110eb
lea esp, [edi + 0x4f]
dec edi
dec edi
add al, 0xa6
xchg esi, eax
mov al, 0xb0
mov al, 0x27
dec edi
cmovg ecx, dword [edi + 0x27]
dec edi
and dword [ebx + 0x4f], 0x19
mov al, 0xda
fxrstor [eax]
dec edi
sbb dword [eax + 0x8ae0fda], esi
dec edi
enter 0xffffffffffffc4b1, 0x31
jae 0x91b5a4
js 0x91b5d2
dec edi
dec edi
dec edi
dec esp
mov cl, 0x19
adc al, 0xce
movsb byte es:[edi], byte [esi]
dec edi
dec edi
cmovg ecx, eax
mov ch, 0xc4
xor eax, 0xc8b5c84f
mov dh, 0xc4
dec ebx
enter 0xffffffffffffceb6, 0xffffffffffffffb5
dec edi
dec edi
dec edi
dec edi
inc eax
retf