Function at 0xf678bc
Capabilities:
Encode data using xor

Disassembly:
jmp 0xf678c6
pushal
call 0xf678cc
pop ebp
sub ebp, 0x10
sub ebp, 0xb678bc
jmp 0xf678e2
mov eax, 0xb678bc
add eax, ebp
add eax, 0x4c
mov ecx, 0x5b8
mov edx, 0xe6892b8c
xor byte [eax], dl
inc eax
dec ecx
jne 0xf678f9
jmp 0xf6790c
pop es
inc ecx
pop es
add eax, 0x8c8c8cb0
or eax, 0x8c8c744d
mov word [edi - 0x7375cbbf], cs
mov word [esi + esi - 0x7373735c], cs
jnp 0xf67996
pop dword [edi + eax + 0xd]
or byte [esp + ecx*4 - 0x23b67074], 1
call 0x88fbe9e1
test al, 0xe4
je 0xf679a6
lodsd eax, dword [esi]
mov esp, fs
dec eax
push ds
sbb byte [ebp + ecx*4 - 0xf1b5760], cl
add eax, 0x8964df8a
mov word [esp + ecx*4 - 0x73735d9b], cs
mov ecx, ds
pop es
pushal
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 0xf679ec
jae 0xf67982
mov al, byte [0xa8e801a8]
mov byte [esi - 0x80], cl
mov word [edi], es
add byte [eax - 0x73737378], ch
in al, 0x74
imul ebp, dword [ebp + 0x1e48e48c], 0xa08d8c18
test al, 1
call 0x80fbea46
test al, 0x64
mov dword [esp + ecx*4 - 0x71389a74], ecx
mov word [ecx + eax + 0x570a8e8], cs
mov al, byte [0x736007a8]
stc
or byte [edi + eax - 0x73775800], 0x8c
mov esp, fs
je 0xf679f7
lodsd eax, dword [esi]
mov esp, fs
dec eax
push ds
sbb byte [ebp + ecx*4 - 0x17fe5760], cl
test al, 0x70
add eax, 0x8964a880
mov word [esp + ecx*4 - 0x7371389b], cs
mov word [ecx], es
call 0xa0fbea57
test al, 7
mov al, byte [0xa8e801a8]
jo 0xf679a2
sub byte [eax - 0x7373769c], 0x8c
invalid
mov word [ebp - 0x73737139], cs
add eax, ebp
test al, 0x70
mov cs, word [esp + ecx*4 + 0x70a8e801]
add eax, 0x6007a8a0
pop es
pushal
jae 0xf679ad
xor byte [ebx - 7], 0x84
hlt
test byte [esp + ecx*4 + 0xd45bf8c], cl
jle 0xf679db
out dx, al
pop esi
pop ss
or eax, 0x5eee137e
pop ss
mov edi, 0x89640f5e
les eax, [ebx - 0x73733df8]
mov word [ebx - 0x73733bfc], es
mov word [ebx + eax*4 - 0x73733bfc], cs
mov edx, gs
pop es
nop
mov ch, 0xc
ja 0xf67a4e
or dword [eax], 0xffffff96
xchg esi, eax
mov word [esp + ecx*4 - 0x7c9a88f4], cs
or byte [ebp - 0x15737374], bl
or eax, 0x83a97377
or byte [ecx - 0x32737374], bl
inc eax
jae 0xf67a7c
mov word [edx + ebp*8 - 0x568c88f3], cs
or dword [eax], 0xffffff99
mov word [esp + ecx*4 + 0x734065cd], cs
jae 0xf67a7d
jae 0xf679b0
movsd dword es:[edi], dword [esi]
sal byte [ebp - 0x76b2f073], 0xf
mov byte fs:[ebp + 0x31], ah
jae 0xf67a8b
jae 0xf679bf
fdiv dword [ebp - 0x75b2f072]
pcmpgtd mm1, qword [eax + 0x6589640f]
daa
jae 0xf67a9d
jae 0xf67a33
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
mov word [edi + edi*4 - 0x7ca171b4], cs
or dword [ecx + 0x68c8c8c], ecx
lcall 0xa60f, 0x835e9eca
retf 0x5e9e
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
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