Function at 0x5b7cb5
Capabilities:
Encode data using xor

Disassembly:
stosd dword es:[edi], eax
adc bl, byte [edi]
sub edx, edx
in al, 0x23
mov word [ebp + esi*4 + 0x7d], cs
xor edi, edx
mov eax, dword [0x6735055f]
mov eax, dword [0x236f55fb]
sti
mov eax, dword [0x55fb]
outsd dx, dword [esi]
and edi, ebx
sbb dword [eax - 0x288f276d], edi
mov esi, 0x1a1ae5c2
repe scasd eax, dword es:[edi]
fidivr dword [esi + 0x2d]
mov al, 0x9f
fstp qword [ebx - 0x1d]
loopne 0x5b7d10
outsd dx, dword [esi]
insb byte es:[edi], dx
test dword [ecx + 0x34], esi
mov ebp, 0x4cae401d
sub edi, ebx
sub edi, ebx
retf
mov eax, 0xa0dbecfa
jnp 0x5b7cf0
add cl, byte [ebp + 0x3b358a64]
mov byte [0xed5a2bc1], al
and bl, byte [ebp + 0x6f]
mov byte [eax], bl
xor byte [edi + 0x6e], ah
je 0x5b7d8e
mov bl, 0x51
or eax, 0x2db90537
or ecx, dword [0xbafeb8d9]
jge 0x5b7cc6
add eax, 0xd0b2db9
fnstcw word [eax - 0x74824502]
stosd dword es:[edi], eax
aaa
push ecx
leave
wait
aas
insb byte es:[edi], dx
scasb al, byte es:[di]
dec ebp
lea ebx, [ecx]
into
jge 0x5b7d7c
push esi
cmp eax, 0x3c744072
xchg esp, eax
pop esi
pop ebp
push edx
pushfd
mov ecx, 0xa1d6ceb1
mov ebp, 0x5ff010dd
ficomp dword [esi]
imul esi, dword [eax - 0x519130d4], 0x18
xor dword [ebx + 0x5a], esi
jle 0x5b7d5b
fst qword [eax]
invalid
sub dword [ebp - 0x6a8387ee], ebx
js 0x5b7dee
xchg ebp, eax
jbe 0x5b7d70
jnp 0x5b7da6
sub eax, 0x9a85c3f1
push esp
std
imul al
in eax, dx
mov ah, 0x63
add bh, byte [ebx + ebp*2 + 0x53253ecc]
fnstenv [ebp - 0x42f820da]
jno 0x5b7e00
fild word [edi]
mov ebp, 0x9be06d71
loopne 0x5b7d30
arpl word [edx], bp
shr dword [eax], cl
xor edi, ecx
cmp eax, 0x59cbcc0f
or esi, dword [edi + 0x3d]
add edx, dword [esi - 0x28]
jl 0x5b7da8
jmp [edx + 0x6b]
push 0x6b
and al, 0x75
mov al, byte [0xc9bf7f45]
mov al, byte [0xaceea998]
ja 0x5b7e09
stosb byte es:[edi], al
jecxz 0x5b7d8b
mov dword [0x9f2babac], eax
aam 0xd7
and byte cs:[edx + 2], ah
les edx, [ecx + 0xc25cf6d]
into
mov ebp, 0x66cc43fa
pop ebx
dec edi
pop ebp
invalid
pop ebx
mov bl, 0xd5
lodsd eax, dword [esi]
scasd eax, dword es:[edi]
mov dword [0xb3bfde66], eax
jae 0x5b7db2
cld
push ebx
add dword [edi - 6], 0xffffffd4
aas
dec ebp
adc esp, dword [ecx]
sub edx, dword [esi + 0x1a]
pop ebp
lea edi, [edi - 0x10]
jg 0x5b7dfb
stc
ja 0x5b7e24
popal
push cs
scasb al, byte es:[edi]
wait
scasd eax, dword es:[edi]
int3
insb byte es:[edi], dx
pop edx
jbe 0x5b7ea7
js 0x5b7e83
push 0xbecd56dd
sub eax, 0x3bdc72b4
wait
mov ebp, 0x220cfda6
in eax, dx
arpl si, cx
xchg ecx, eax
add eax, 0xcfcde6fe
sub ecx, esp
inc dword [eax]
cdq
sbb dword [ebx - 0x78], ebp
pop esp
cwde
and ecx, dword [esi + eax*2 + 0x5d]
lcall 0xfb83, 0x1c0d882d
in eax, 0xed
popfd
xor byte [ecx + 0x130bfc2], dl
jnp 0x5b7eba
invalid
jle 0x5b7e3f
jl 0x5b7ee6
insb byte es:[edi], dx
imul ebx, dword [eax + eax*2 + 0xc], 0xffffffd1
cwde
cmpsd dword [esi], dword es:[edi]
dec edi
mov dword [edi + edx*8 + 0x6c], eax
xlatb
insb byte es:[edi], dx
invalid
mov dh, 0xc
mov edi, 0xc93bbe4b
daa
jb 0x5b7eda
cmp dword [ebp - 0x50d87790], ecx
int3
div byte [edx + 8]
add eax, 0xed17f547
fcom st(6)
wait
movsd dword es:[edi], dword [esi]
sbb ecx, esi
fidivr word [ebx + ebx*8 + 0x54db3d5c]
cmp eax, dword [ebx - 0x3a176cd3]
mov ebp, 0xe568fbc3
shr ebp, cl
fisttp qword [edx + 0x2738feba]
popal
fist dword [ebx + edi - 0x7d]
sub eax, 0xbdc5e893
ret
xor al, 0x23
test al, 0x51
popfd
test byte [ecx + 0x7821de5b], ch
pop ss
js 0x5b7ef3
aad 0xa0
jecxz 0x5b7e75
cmp bl, byte [edi + esi*8]
mov dh, 0xf3
jle 0x5b7f32
dec ebx
call 0x3ffadbbe
arpl ax, cx
mov bl, 0x58
salc
retf
cmp eax, 0x11be5ead
imul ebx
inc ebx
mov esi, ss
xchg dh, al
mov dword [ebx + 0x4f], edi
jnp 0x5b7f51
sbb byte [eax - 0x43], 0x56
pop esp
jge 0x5b7f00
or dword [edi + 0x22], esp
dec ebp
std
call [0x4c4af2ee]
cmp eax, 0x998be8a8
aad 0x4d
jp 0x5b7f56
mov bl, 0x26
sub eax, 0x47794e3c
outsb dx, byte [esi]
ret
outsd dx, dword [esi]
loope 0x5b7ed0
das
sbb ebp, dword [esp + eax - 0x773751dd]
lodsb al, byte [esi]
and esi, ebp
inc ebx
push eax
xchg dword [ecx - 0x58], esi
add ecx, dword [esi]
cdq
insd dword es:[edi], dx
and al, 0xa9
cmc
cmp eax, 0x98915dab
mov byte [0xfd204307], al
mov dword [0x3d7e50bd], eax
sub al, 9
dec eax
lahf
mov al, byte [0x5eb2e50]
clc
mov ebp, 0xcdccda8d
add bh, byte [esi - 3]
sbb dh, byte [esp + ebp*2 - 0x64]
enter 0xffffffffffffe8b9, 0xffffffffffffffcb
neg cl
xchg ebp, eax
loop 0x5b7f98
out 0xd, eax
ret 0xfdcd
imul dword [ebx + 0x76]
add dword [edi + 0x7b], ecx
int1
adc dl, 0xc0
aas
outsb dx, byte [esi]
sub byte [ebx + 0x4f], bl
invalid