Function at 0x50b7ba
Capabilities:
Encode data using xor

Disassembly:
mov cl, 0xf7
lahf
or byte [ebp - 0xd], ah
jmp 0x50b61b
test ebx, 0x3d71f50
xor eax, 0x2abfe140
mov cl, 0x76
add esp, 0x3cb763ed
cmp al, 0x1e
cmp al, 0x3c
push ds
out dx, al
dec ebp
stosd dword es:[edi], eax
xchg edi, eax
mov eax, 0x7dc111d6
xchg esp, eax
std
and eax, 0xf8dd4765
mov dl, cl
inc ebx
cmp ebp, esp
bound ebx, qword [ecx]
and ebx, dword [ebp - 0x7c]
push 0xffffffffffffffad
sbb cl, dl
push ebx
pop esp
xor dl, byte [ecx - 0x5f]
and ah, dl
push edi
loop 0x50b5e1
fcom dword [ecx + 0x32dfea02]
lodsb al, byte [esi]
invalid
loop 0x50b609
xor al, 0xc4
bound ebp, qword [eax + 0x4163e223]
loopne 0x50b622
and eax, 0x2ce2b8d2
cmp al, 0x2e
stosd dword es:[edi], eax
popal
enter 0x3315, 0x31
int1
in eax, 0xbc
or ah, dh
rcr dword [esi - 0x61f86b43], cl
bound ecx, qword [ebp - 0x23]
stosd dword es:[edi], eax
int 0xfd
inc ebx
add eax, dword [esi + 0x69]
mov ah, byte [esi - 0x66]
dec ebp
pop esi
invalid
pushfd
stosd dword es:[edi], eax
push esp
pushal
shl ebx, 0xd1
xlatb
xor bh, byte [esi]
sub dword [eax + 0x3d298c83], 0x2fb1259
stc
rcr byte [esi - 0x4e], 0xa1
into
dec ebp
loop 0x50b686
iretd
adc al, 0xf2
lcall 0x52f4, 0x972eb73f
sub al, 0x7c
test byte [ebx], bl
adc ch, byte [esi]
add byte [esi + 0x1e], ch
xor al, 0x91
add dh, byte [edx - 0x3f]
mov bl, 0x56
clc
mov es, word [eax + 0x31]
mov word [esi - 0x4f9ef2cd], ds
stosb byte es:[edi], al
insd dword es:[edi], dx
in al, dx
mov word [ebx + 0x2435afa8], es
mov eax, dword [0x9653a1cf]
jae 0x50b77b
or byte [edx - 0x7966d07d], dh
fmul dword [edx + edx*2 + 0x7318fcbe]
adc edx, eax
jno 0x50b77f
jl 0x50b7a0
jg 0x50b79c
imul esi, dword [ecx - 0x7c1e2fc0], 0xa183abb8
fdivr st(6)
je 0x50b775
loope 0x50b6e9
mov eax, 0xd8a183ab
invalid
fdiv qword [edx + eax + 0x11]
inc eax
cmpsd dword [esi], dword es:[edi]
and ah, ch
in eax, dx
in eax, 0xed
adc al, 0xa1
mov esi, 0x525d0f2
xor dword [eax + 0x75dd52fc], edx
xchg edx, eax
shl byte [0xfc903105], 1
nop
cld
push edx
fnsave dword [ebp - 0x6e]
jne 0x50b717
scasd eax, dword es:[edi]
cmc
mov eax, dword [0xd2939643]
push esp
pop ss
add word [ebp + 0x538e8ffb], cx
je 0x50b7b1
rcr dword [ecx + 0x61], 0x4f
adc dl, byte [eax + ecx*8 + 0x7c]
xchg ebp, eax
push esp
enter 0xffffffffffff957c, 0xffffffffffffffc6
inc eax
and al, dh
mov byte [eax + 0x20], 0xf0
push edi
cdq
or byte [esi + 0x71], 0xe3
imul esp, dword [edx - 0x3e277e5f], 0xffffff94
push ds
push edx
add edi, dword [ecx + 7]
call [esi - 0x4b2c4b00]
sal dword [edi + 0x20ba4ec6], cl
scasb al, byte es:[edi]
invalid
inc ecx
sal dword [edi + 0x20ba4ec6], cl
scasb al, byte es:[edi]
add al, byte [ecx - 0x74]
pop eax
cli
mov ah, 0xe7
invalid
mov word [eax - 6], ds
xchg ecx, eax
mov eax, dword [0xe871b2c7]
fistp word [eax - 0x6e86fe1c]
in al, 1
jns 0x50b764
xor byte [edx - 0x49], ch
pop ebx
jle 0x50b7bb
mov dh, 0xc2
jb 0x50b7c4
pushfd
adc al, 0x58
mov byte [0x2fa82bbb], al
jne 0x50b783
mov byte [edx + ebp*8 - 0x18a968b2], dl
dec esi
dec ecx
push es
pop ebp
mov al, 0x94
fsub qword [ebx + ebx*2 + 0x10]
inc edx
push edx
insd dword es:[edi], dx
push esi
out dx, eax
push edx
int 0x4e
push es
ffreep st(2)
movsb byte es:[edi], byte [esi]
adc eax, dword [eax - 0x1e037213]
jb 0x50b889
jb 0x50b7cf
dec esi
sub dl, bl
xor dword [ebx + 0x5a], esi
jmp 0xc16b5322
push edi
lodsb al, byte [esi]
lodsb al, byte [esi]
xor dl, ah
bound ebp, qword [edx - 0x7a]
cld
std
int3