Function at 0x57ef6b
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
mov ebx, eax
add byte [ecx], al
and al, 1
test ebx, ebx
je 0x57eef9
add byte [0x887bfc], bl
jne 0x57eeae
add byte [ecx], al
add eax, 0x887c00
pop esi
add byte [ebx + ebp*8], ah
outsd dx, dword [esi]
movzx eax, byte [ebx]
sub al, 0
add dword [esi], eax
dec al
je 0x57eec8
sti
add byte [edi], cl
mov dh, 0x43
add dword [ebx], eax
ret
invalid
cmp dword [esi + edi*8], 1
je 0x57ef1d
mov eax, dword [esi + edi*8 + 0x57]
add byte [eax], bl
cmp byte [ebx], 0xd
jne 0x57ef05
sldt word [ecx]
add dword [ebx], eax
ret
inc edi
add byte [eax], al
call fcn.0057ee8b
test byte [eax], al
add dword [eax], ebx
cmp byte [ebx], 0xe
jne 0x57ef2a
add bl, al
call fcn.0057ee8b
test byte [eax], al
add dword [eax], ecx
inc edi
dec ebp
jne 0x57eedf
sub eax, dword [eax]
and al, 0
movzx eax, byte [esp]
pop edx
add byte [ecx], al
pop esi
pop ebx
ret
add al, ch
lahf
inc esp
add byte [eax], al
cmp esi, dword [eax + 0x100]
jne 0x57ef46
call fcn.0057efda
movzx ebx, byte [eax + 0x100000c]
jmp 0x57ef65
mov eax, esi
call int.0056efb1
mov ebx, eax
call 0x15833cf
mov dword [eax - 0xefffff8], esi
add byte [eax + 0x44], dh
add byte [eax], al
mov byte [eax + 0x1000c], bl
mov eax, ebx
pop esi
pop ebx
stc
add byte [ebp - 0x75], dl
in al, dx
add esp, 0xffffffdc
push ebx
add byte [ecx], al
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xb], edx
add byte [ebp - 4], al
mov eax, dword [ebp - 4]
mov eax, dword [eax]
add byte [ecx], al
loopne 0x57ef11
inc ebp
or byte [ebx + 0x7fdb00a1], cl
sbb eax, dword [ebp + 0x77ddb]
add eax, ebp
add cl, byte [edi + edi*8 - 0x3ff5401]
mov edx, dword [ebp - 8]
call 0x157f357
jmp 0x57f227
inc ebp
add byte [ecx], al
dec dword [ebp - 0xc]
xor eax, eax
pop edi
add al, dh
xor eax, eax
push ebp
push 0x100e88e
push dword fs:[eax]
mov dword fs:[eax], esi
add byte [ebp - 0x10], bl
jle 0x57f1df
mov ecx, dword [ebx + ebx]
jecxz 0x57f20f
or ch, byte [ebx]
sbb eax, 0x7c363ebb
das
push 0x7b
jl 0x57f1a1
invalid
in eax, 0x22
or edi, dword [ecx + ecx*2 - 0x50e1c4da]
cmp ebx, dword es:[esi]
scasd eax, dword es:[edi]
test al, 0x43
or al, 0xa3
insd dword es:[edi], dx
push esp
dec ebx
test dword [ebx + 0x5e273999], 0x266b7d79
wait
jl 0x57f1bd
out 0x71, al
jmp 0x8b10a220
rol dword [esi - 0x17365521], 0xc8
pop esp
mov eax, dword [0xd5820609]
push edx
stosb byte es:[edi], al
leave
call 0x9f94ee1
push es
adc ch, 0x52
mov bh, 0x2e
jmp 0x57f249
pop ss
add byte [edx], dl
inc ebp
pop edx
xor byte [ebx], bh
cmp al, 0x7f
ror byte [ebx + 0x74], 0xc2
sbb al, 0x7e
push ecx
loope 0x57f1e4
xchg esi, eax
imul edi, dword cs:[ebx + 0x57dbfcb2], 0x6feb41c7
mov ecx, 0x9f58562e
lahf
adc ebx, dword [edi + 0x78]
insb byte es:[edi], dx
push 0x8d289f7f
cli
mov cl, 0x9d
jge 0x57f212
cmp eax, 0x32988f88
and al, 0x2f
xchg byte [ecx + 0x52], bh
popal
sar byte [0x6468101b], 1
dec edi
mov al, byte [0x8b556e2f]
push ebp
out dx, eax
jecxz 0x57f2b3
pop eax
mov eax, 0x36e98785
xchg esi, ebx
pop ebx
sbb al, 0x35
and dl, byte [edi]
movsd dword es:[edi], dword [esi]
mov dh, 0x9e
pop ds
mov edx, 0x86c71bb
pop es
and ebp, dword [eax]
and eax, 0x986f6dbc
pop edx
out dx, al
mov bh, byte [eax - 0x7a1b579d]
inc dword [edx]
fcmovb st(0), st(6)
mov bh, 0xb3
in al, 0x9e
invalid
sub eax, 0x8b75a5ed
in al, dx
adc ebx, esi
mov dword [0x47d6da8f], eax
inc eax
adc dword [edi], edx
pop es
outsb dx, byte [esi]
mov esi, 0x4b063c2d
jl 0x57f325
test al, 0xb
pop ebp
out dx, eax
loopne 0x57f349
test byte [ebx], 0xaa
pop ebp
add dl, byte [ebx + 0x6dd72df4]
idiv byte [eax - 0x55359a52]
mov ds, word [edi]
xor byte [edi + 0x24], ch
sub esi, ecx
jno 0x57f353
push ebp
or bh, byte [ecx + 0x66]
imul ecx, dword [ebp - 0x4f602171], 0xce0a9a22
dec edx
popfd
outsb dx, byte [esi]
adc ah, byte [0xd22c8db4]
int3
xor ebx, dword [ecx]
stosb byte es:[edi], al
rcr byte [eax], 1
mov dh, 0xda
sub eax, 0xecde3df5
mov edx, dword [ecx]
cmp eax, 0x118becde
pop eax
cmp eax, 0xac79792e
jns 0x57f2dc
dec ebx
mov edx, 0xee60a3bd
enter 0xffffffffffffba7f, 0xffffffffffffffad
rcl bh, 0x8c
jg 0x57f31c
dec esi
inc edx
sal bl, 0x5a
dec ebp
and byte [edi], dh
push cs
fstp dword [ebx + 0x3c937d6a]
inc eax
mov ebp, dword gs:[ebx - 0x534758db]
sbb cl, al
fmul qword [ebx]
arpl word [0x18acb8a7], sp
rcr esp, 0xb
or edi, edx
cli
inc edi
cld
lahf
jg 0x57f32e
lcall 0xe74, 0xad3eac8b
or al, 0x6c
in al, 0x79
jbe 0x57f38f
add ecx, dword [eax + ebx*2 + 0x30ac671e]
mov word [ebx + 0x4a], gs
xchg ebp, eax
fistp word [eax + 0x6e]
stosb byte es:[edi], al
js 0x57f3e0
pop ecx
mov byte [0x2f6980b0], al
mov cl, 0x7e
and al, 0xae
in al, dx
xchg ebx, eax
out dx, eax
push edx
imul eax, dword [ebx - 0x6cdac43b], 0xffffffec
and ebx, dword [ebx - 0x80]
xchg ebp, eax
mov ss, esp
imul esi, dword [eax + 0x4a], 0x59
dec edx
cmp eax, 0x7c232e58
mov bl, 0xd3
xchg ecx, eax
dec ecx
and byte [eax + esi - 1], ah
push edi
fstp qword [ebx]
nop
jl 0x57f35b
rcl dword [ecx + 0x30642049], cl
call dword [edi - 0x23]
sbb edx, dword [eax + 0x390b2913]
adc ebp, dword [ecx]
or edi, dword [ecx]
jecxz 0x57f3b3
js 0x57f3a6
sub esi, 0x11710e01
dec edx
and eax, 0xae8c8bbd
push 0xac65e85f
cmp ebp, dword [edx]
out dx, eax
xor bl, byte [edi]
lcall 0xba9, 0xed53f53b
nop
mov word [edx], ds
fdivr dword [esi + 0x39]
jmp 0x57f3e4
add edi, ebx
pushfd
wait
pop ebp
mov eax, 0x5b7d5ebc
invalid