Function at 0x57b52b
Capabilities:
Encode data using xor

Disassembly:
je 0x57b53f
pushfd
arpl word [esi], bp
jne 0x57b52a
inc ecx
and esp, esp
imul edi, dword [ecx], 0xedfe8b9b
mov bl, 0xff
in al, dx
enter 0x71e2, 0xffffffffffffffb5
dec esp
xchg ecx, eax
push ebx
cmp ch, byte [ecx + edi + 0x1f]
invalid
jle 0x57b59e
jb 0x57b4c7
lcall 0x5d5c, 0x17c05351
push ecx
push ebx
rcl byte [edi], 0x5c
pop ebp
add eax, 0xc802879a
mov byte [edx + 0x7ef914cf], 0x1f
or dl, byte [edi]
push edx
invalid
dec esi
xor eax, dword [eax + edx + 1]
mov dl, 5
push edx
or ah, byte [edx]
invalid
pushfd
xchg edx, eax
pop ebp
test al, 0x4b
push ds
lodsd eax, dword [esi]
mov word [ebx + 0x36], ss
cwde
sbb eax, 0xc99a9e87
cmp al, 0x5e
in eax, dx
wait
loope 0x57b58a
imul byte [edi]
cwde
fdiv qword [edi + 0x590e452b]
sub dword [edi + 8], esi
push eax
test eax, 0x6619199d
scasd eax, dword es:[edi]
jg 0x57b57f
xchg dword [edx], esp
cmc
sbb edx, edx
push ds
fild dword [ecx - 0x78]
xor byte [eax + 0x4b], dl
dec ebx
lodsb al, byte [esi]
cmp al, 0xae
pop ebp
dec ebx
js 0x57b63d
push edx
mov byte [edi + 4], 0x57
mov esi, 0x6ca3ccdf
lahf
dec esp
shr byte [edi + 0x6cfcf8ab], 0x6d
mov word [ebp + edi + 0x677101e], ss
cmp bh, byte [eax + 0x62757c20]
dec ebp
sbb eax, 0x4d21e900
pop esi
int1
xchg ecx, eax
xchg esi, eax
mov byte [0x1fbc42e3], al
or eax, 0x9f20c2b8
add dword [edi], edi
pop edi
and bl, ch
cmp eax, 0x73870b09
pushal
scasb al, byte es:[edi]
dec ecx
pop ebx
jl 0x57b58f
loop 0x57b62f
jge 0x57b5b3
out 0xde, eax
popal
dec edx
xchg esp, eax
loop 0x57b696
rol dword [esi], cl
rcr esi, cl
out 0x9e, eax
push ebx
push cs
dec esi
pushfd
cmpsd dword [esi], dword es:[edi]
sub al, 0x43
call 0x3d7efed6
jb 0x57b604
mov eax, 0xe1dd7d50
invalid
push eax
jge 0x57b60f
loope 0x57b5c0
mov ebx, dword ds:[eax - 0xc021e58]
scasd eax, dword es:[edi]
jp 0x57b5f3
mov ch, 0x4c
dec esp
pop esp
sub dl, 0x93
inc edx
cmpsd dword [esi], dword es:[edi]
sub esi, dword [esi - 0x2e38a4cf]
xchg esi, eax
adc eax, dword [esi + 0x1cb3acd4]
xchg ebp, eax
mov esp, 0xea8370a5
ficomp word [edx - 0x71]
mov eax, 0x1e97e359
adc dword [edi], ecx
xor dl, 0x9e
inc esi
or al, 0x52
sub ebp, dword [esi + 0x71]
sbb al, 0xe2
and eax, 0xb57f3ddd
stosb byte es:[edi], al
jnp 0x57b5ff
cld
in al, 0xf5
adc byte [ecx + edi*4], ch
fst st(7)
out dx, eax
xlatb
or al, 0x13
push ds
and ecx, edx
push 0xffffffffffffffae
jle 0x57b61a
jae 0x57b660
popal
inc ebx
int 0xa3
lodsb al, byte [esi]
inc eax
xchg ecx, eax
cmp dword [esi - 0x7c], ebx
cmp esi, dword [ecx]
enter 0xffffffffffffbedb, 0xffffffffffffffc1
adc ch, dh
into
test byte [ebx], bh
xor eax, ecx
fstp xword [esi - 0x310aef3f]
and edi, dword [eax - 0x6ccdf3f]
shr dword [esi - 0x6c8c7581], 1
push es
push esp
dec edi
mov word [ebp - 0x18], ss
test dword [esi - 0x1e5af77f], edx
mov dword [esi + 0x27], esp
sar ch, cl
pushfd
cmp dword [eax + ebx*4 + 0x28], 0x6b98aa3
inc edx
pop esp
fidivr word [ebp + ecx - 0x1e]
insb byte es:[edi], dx
sub dword [ebp - 0x4972dc93], esp
push eax
stosd dword es:[edi], eax
sub ebx, dword [edx - 0x754641fd]
insd dword es:[edi], dx
and ecx, dword [ebp + 0x2bab50b6]
pushfd
loop 0x57b6dc
mov esi, 0x4938ab9
and al, 0x85
and esp, dword [eax]
salc
xchg ebx, eax
add al, 0x24
test dword [ebx], esp
and dh, dl
xor bh, ch
insb byte es:[edi], dx
pushal
add byte [edi + 0xd], 0x33
jbe 0x57b6cf
mov dword [0x2b445d55], eax
invalid