Function at 0x8bf9c8
Capabilities:
Encode data using xor

Disassembly:
jmp 0x8bf9d2
pushal
call 0x8bf9d8
pop ebp
sub ebp, 0x10
sub ebp, 0x4bf9c8
jmp 0x8bf9ee
mov eax, 0x4bf9c8
add eax, ebp
add eax, 0x4c
mov ecx, 0x625
add byte [eax], al
mov edx, 0x908c148c
xor byte [eax], dl
inc eax
dec ecx
jne 0x8bfa05
jmp 0x8bfa18
pop es
inc ecx
pop es
add eax, 0x8c8c8cb0
or eax, 0x8c8c744d
mov word [edi - 0x737acbbf], cs
mov word [esi + esi - 0x7373735c], cs
jnp 0x8bfaa2
pop dword [edi + eax + 0xd]
or byte [esp + ecx*4 - 0x23b67074], 1
call 0x88916aed
test al, 0xe4
pushal
cmp byte [edx - 0x37af1b74], al
mov cl, 0x8c
lea esp, [eax + 0x41c7e4a8]
jns 0x8bf9fe
mov dword fs:[esp + ecx*4 - 0x73439a74], ecx
mov word [ecx + ebx*8 - 0x73571fff], cs
pop es
or dword [esp + ecx*4 + 0x19078c8c], eax
or byte [esp + ecx*4 - 0x63fef874], 0x8c
mov word [ebp + ecx*2 - 0x7142719b], cs
cmovle ecx, dword [eax + 0x780983c5]
jae 0x8bfafa
jae 0x8bfa90
mov al, byte [0xa8e801a8]
mov byte [esi - 0x80], cl
mov word [edi], es
add byte [eax - 0x73737378], ch
in al, 0x60
or byte [edi + eax - 0x73775800], 0x8c
mov esp, fs
pushal
cmp byte [edx - 0x37af1b74], al
mov cl, 0x8c
lea esp, [eax - 0x5717fe58]
jo 0x8bfab0
mov word [ebp - 0x17fe5760], cs
test al, 0x70
add eax, 0x8964a880
mov word [esp + ecx*4 - 0x7371249b], cs
mov word [ecx], es
call 0xa0916b65
test al, 7
pushal
sub byte [eax - 0x7373769c], 0x8c
fisttp dword gs:[esi - 0x17fe7374]
mov word [ebp - 0x73737125], cs
add eax, ebp
test al, 0x70
add eax, 0x6007a8a0
jae 0x8bfabb
xor byte [ebx - 7], 0x84
or byte fs:[esp + ecx*4 - 0x7bcef874], cl
mov word [esp + ecx*4 + 0x17257d0d], cs
or eax, dword [eax + 0x17257d0d]
mov word [edi], es
xor dword [esp + ecx*4 + 0x7d0d8c8c], eax
and eax, 0xd800b17
jge 0x8bfaff
and eax, 0xbf800b17
inc ebp
or eax, 0x27cb137e
pop ss
or eax, dword [eax + 0x7e0d45bf]
adc ecx, ebx
daa
das
or eax, 0x27cb137e
das
mov edi, 0x89640f5e
les eax, [ebx - 0x73733df8]
mov word [ebx - 0x73733bfc], es
mov edx, gs
pop es
mov word [esp + ecx*4 - 0x4a6ff816], cs
or al, 0x77
or dword fs:[eax], 0xffffff96
nop
mov ch, 0xc
ja 0x8bfb68
or dword [eax], 0xffffff96
mov word [esp + ecx*4 - 0x7c9a88f4], cs
or byte [ebp - 0x15737374], bl
or eax, 0x83a97377
or byte [ecx - 0x32737374], bl
inc eax
jae 0x8bfb96
jae 0x8bfaca
sal byte [ebp - 0x76b2f073], 0xf
mov byte fs:[ebp + 0x31], ah
jae 0x8bfba5
jae 0x8bfad9
fdiv dword [ebp - 0x75b2f072]
pcmpgtd mm1, qword [eax + 0x6589640f]
daa
jae 0x8bfbb7
jae 0x8bfb4d
mov al, byte [0xa8e801a8]
mov byte [esi - 0x80], cl
mov ecx, ds
pop es
pushal
fcmovu st(0), st(3)
fld dword [edi]
or byte [ecx + ebx*8 - 0x24259ff9], 0xd9
pop es
stc
add byte [edi], 0xf1
test byte [eax + 0x3e], dh
or al, 6
mov cl, byte [0x8c8c8d4a]
mov word [ebx + ecx*4], es
or eax, 0x8c8c8d4b
invalid
mov word [esp + ecx*4 + 0x5e8e4cbf], cs
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
or dword [edi], 0xffffffa6
lea ecx, [esp + ecx*4 + 0x9835e8e]
mov dword [esp + ecx*4 - 0x3565f974], ecx
sahf
pop esi
lahf
dec esp
mov ds, word [esi - 0x7d]
or dword [ecx + 0x68c8c8c], ecx
lcall 0x8e4c, 0x9f5e9eca
pop esi
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
lahf
dec esp
mov ds, word [esi - 0x7d]
or dword [ecx + 0x68c8c8c], ecx
lcall 0x834c, 0x9f5e9eca
or byte [edx + 0x78c8c8c], cl
push ebx
cmpsd dword [esi], dword es:[edi]
push esp
retf 0x5e9e
lcall 0x8e4c, 0x9f5e9eca
pop esi
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
lahf
dec esp
mov ds, word [esi - 0x7d]
or dword [ecx + 0x68c8c8c], ecx
lcall 0x8e4c, 0x9f5e9eca
pop esi
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
lahf
dec esp
or dword [eax], 0xffffff8a
mov word [esp + ecx*4 + 0x54a75307], cs
push es
pop dword [ebx + ecx*4]
retf