Function at 0x5a794a
Capabilities:
Encode data using xor

Disassembly:
adc al, 0x7e
iretd
jecxz 0x5a788b
imul ebx, dword [ebx + 0x774937f9], 0x24
popfd
daa
aad 0xd4
fstpnce st(5), st(0)
iretd
dec edi
mov edx, 0x395f2a7e
sub eax, 0xe0670125
les ecx, [edi]
in eax, 0x87
mov ch, 0x40
lcall 0xb0b9, 0x944f743c
cmp esp, dword [ebx - 0x7a]
cmpsd dword [esi], dword es:[edi]
into
vmread dword [esi + 0x6c56e710], eax
add cl, byte [edi - 0x20]
insb byte es:[edi], dx
mov al, byte [0x8da177bb]
push esi
invalid
mov eax, dword [0xf56648d]
mov edx, 0xb0d05cd4
xor dword [eax - 0x1a595c2c], esi
cdq
xor esp, dword [ebp + 0x74a51449]
adc al, 0xa5
je 0x5a78e3
adc al, 0xa5
je 0x5a78e3
sub al, 0xe
fsubr qword [ebx + 0x13]
mov edx, 0x58a0e599
nop
sbb ecx, dword [edi]
mov eax, 0x8193c86
dec ebp
add al, 0x2a
and dword es:[ebp + 0x69925261], edx
pop edx
in al, 0xa0
mov esp, 0xe3867413
insb byte es:[edi], dx
in al, 0xf1
sahf
jae 0x5a798d
cmc
js 0x5a79b3
jb 0x5a790a
adc eax, 0xaf4553b0
xor bl, byte [esi + esi*8]
xor edi, ecx
jne 0x5a7935
cmp byte [eax], cl
xchg ebp, eax
int1
sal dword [ebx], 0xa2
jmp 0xa1c1bfd1
popal
cmp dh, byte [esp + esi*8 + 0x66]
scasd eax, dword es:[edi]
les edi, [esi + 0x15e412]
test eax, 0x92f82e34
out dx, al
cmc
sal byte [ebp + 0x54a2501f], 1
lodsb al, byte [esi]
xchg ebx, eax
jne 0x5a79fd
push eax
mov byte [0x7593ac54], al
cmp dword [eax - 0x5c], edi
js 0x5a796a
movsb byte es:[edi], byte [esi]
inc ebp
push ebp
ret 0x6d3c
dec ecx
xor eax, 0xcdd549f1
lds ebp, [ebx + 0xf030f71]
push es
adc dword [eax], 0x454f094f
mov edx, 0xaefdbc11
sub eax, esp
adc byte [edi - 0x2b], dh
ja 0x5a79bd
cdq
dec ebx
cmc
adc byte [ecx], cl
shl dword [ecx - 0x2b], 0xd4
test eax, 0x1c329d6f
cld
and edx, edx
pop esp
mov esp, 0xf21dbb25
test word [ebp + 0x18b0dc12], si
sbb eax, 0xb58566f2
adc bl, ah
mov al, 0x18
xor eax, 0x2c996374
jb 0x5a79c5
and bh, byte [edi + 0x42]
sub byte [edx], bl
sbb al, 0x2b
push es
cwde
neg byte [edx + 0x6b]
adc ecx, eax
jp 0x5a7a7c
loope 0x5a79cb
movsb byte es:[edi], byte [esi]
inc ebx
inc edx
push eax
jl 0x5a7a9e
jl 0x5a79a7
int1
shr ebp, cl
add byte [esi], ch
scasb al, byte es:[edi]
sub edi, dword [ebp - 0x38]
ror dword [edx + ecx*8 - 0x77], cl
fucom st(2)
add byte [ebp + 0x55], ch
pop esp
pushfd
jb 0x5a79e6
ret
xor dl, bh
add edx, eax
int 0xa3
jae 0x5a7aa8
or bl, 0x90
push ecx
retf
push ecx
loope 0x5a7aa6
rcl byte [ecx + 0x6b], 0xea
and eax, 0xe462a195
xor byte [edi - 0x19], 0x80
xchg ebp, eax
mov eax, dword [0x7780e462]
out 0x80, eax
invalid
adc byte [edx], dl
loopne 0x5a7a5f
and dl, byte [esp + edi*4 - 0x75]
jns 0x5a7a62
xchg ebx, eax
cmpsb byte [esi], byte es:[edi]
jne 0x5a7a6c
call 0xb0e4e663
xchg edx, eax
jge 0x5a7a6a
pop esp
shl cl, cl
xor edi, dword [edi]
adc dword [ebp - 0x2a], edi
in eax, 0x28
pop es
test dword [eax], 0xbdea1bbc
shl byte [edi - 0x1a], 1
jae 0x5a7a56
mov bh, 0x4d
dec ebp
and al, 0x66
and dh, ch
sbb dword [edi], 0xdf5e5c1e
adc eax, 0x3e8b3f6c
push ds
pop esp
pop esi
fist word [0x3e8b3f6c]
mov edi, dword [esi]
cdq
mov ch, 0xe4
fsub st(0)
cmp dword [edi], ebp
adc al, 0x2e
xor ebp, 0xffffffb0
jns 0x5a7aad
cwde
xor al, byte [esi - 0x77]
jge 0x5a7b13
mov cl, 0xbe
in eax, 0x69
xor eax, 0x71060b8
add dl, byte [ecx + 0x60bae85]
add byte [eax], dh
scasd eax, dword es:[edi]
push 0x74f4197d
fld xword [ecx - 0x39]
cmp byte [edi - 0x21e14dc9], 0x51
xchg ebp, eax
xchg ebp, eax
std
aas
sbb al, 0xf4
pop ebp
push esp
rcl dword [ecx - 0x1752cb01]
rcr bl, cl
mov es, word [0x71b712ae]
ret
adc dl, byte gs:[ebp + 0x37]
invalid