Function at 0x5b785a
Capabilities:
Encode data using xor

Disassembly:
hlt
mov edi, 0x1247bd5d
lea ebp, [ebx + eax*2 - 0x1e]
out dx, eax
pop edx
jo 0x5b7877
xor dword [edx], ecx
jnp 0x5b784e
add al, 0x6a
cwde
cmpsd dword [esi], dword es:[edi]
sub dh, byte [edx - 0x5f5b27b7]
add dl, byte [eax + 0x52679351]
push ecx
xchg ebx, eax
push edx
push edx
xor byte [esi - 0x73296da9], ch
jne 0x5b787a
pop ds
xchg ebp, eax
mov dl, 0xa1
mov edi, 0x987555f1
jl 0x5b78f5
adc eax, esp
xchg esi, eax
jle 0x5b7877
mov dl, 0x1d
or dword [ebx - 0x19cffb4e], 0x35
adc al, 0xfa
inc esi
mov dl, 0x45
sub al, 0x35
xchg ebx, eax
sbb al, 0xd3
inc ebx
aam 0x97
mov ah, 0x86
fdivr st(5)
pop ecx
xchg byte [ebx - 0x399f246b], al
push cs
jecxz 0x5b78a7
aad 0xf7
xor eax, 0xdf07fbb7
jle 0x5b792c
mov bh, 0xfb
pop es
fistp qword [esi + 0x69]
call 0x42392b32
mov dl, 0xe0
inc ebx
pop eax
xchg bh, bl
daa
or dword [eax], eax
lodsb al, byte [esi]
in eax, 0xb3
and ah, bh
jno 0x5b78bd
mov ecx, 0xa5df8307
mov ebp, 0xe326c5df
imul ecx, dword [esi - 0x27a01c6f], 0x1b6e2da4
fcomp qword [eax + 0x5808c26]
push 0xadf3f7f3
xchg ecx, eax
jecxz 0x5b7946
fsub dword [ebp + ebp - 0x6723e492]
mov word es:[eax - 0x80c97fb], es
rep lodsd eax, dword [esi]
pushal
or ecx, dword [edi - 0x21]
cmc
jbe 0x5b7914
jp 0x5b796f
adc dword [ebx - 0x12], edi
je 0x5b7935
push ss
xor byte [edx], dh
lodsb al, byte [esi]
sbb esi, dword [0x626944c8]
xchg ebp, eax
cwde
jne 0x5b796c
sub dword [ebx + 0x7d], eax
jl 0x5b78e4
or esi, dword [edx + 0x3e]
mov dl, 0x87
mov ebp, 0xcaf1b624
jmp 0xace4ef9d
leave
dec byte [esi - 0x7220ed92]
movsd dword es:[edi], dword [esi]
daa
test al, 0x6a
iretd
outsb dx, byte [esi]
push ecx
and eax, 0x2a4f98f9
push esp
clc
mov dword [edi], 0x8d87cb7f
rcr dword [0x4d7e9fb8], cl
sub byte [ebx - 0x26], bl
mov eax, dword [0xc9abbb47]
rcl byte [edx]
jae 0x5b799a
cmp ah, byte [edi]
popal
xor ebx, dword [eax - 0x44]
pop esp
and byte [edx + ecx*8 - 0x2a07edd8], bh
mov ss, word es:[ebx]
mov dh, 0x2a
movsb byte es:[edi], byte [esi]
mov cl, 0x43
retf 0x1228
adc esi, dword [esi + 0x43b1a42a]
test dword fs:[edi - 0x32], esp
shr dword [ebp - 0x7c], 0x34
pop eax
pop ds
cdq
fsub dword [eax - 5]
loop 0x5b79a7
xchg ecx, eax
push esp
bound edx, qword [edx]
jns 0x5b79d4
pop ss
cwde
jb 0x5b79e3
xor dword [edx + 0x3aaa1ead], 0x72dd0253
sbb esp, dword [edi + 0x24]
invalid
push ds
stosb byte es:[edi], al
cmp dl, byte [ebx + 2]
fnsave dword [edx + 0x1b]
and al, 0x8f
mov byte [esi], al
push ebx
stc
push 0x3b
jl 0x5b7976
salc
lcall 0x8b3f, 0x4905f7d0
out 0xc6, al
xchg ebx, eax
mov eax, 0xa8497e3b
add byte [ebx + 0x5cfec3bf], bh
and eax, 0xeb5f3bfc
cmp ebx, dword [edi - 0x15]
jp 0x5b79c5
adc bl, byte [edx]
cmp eax, 0x16dce8e3
in eax, dx
mov dh, 0x6e
jo 0x5b79c5
push esi
sbb byte [edx + 0x1e], ch
add byte [0x16dec702], al
and cl, dl
jl 0x5b7a5a
jbe 0x5b7976
xchg ecx, eax
adc edx, ebp
fsub dword [ebp - 0x7f]
xor byte [ecx], ah
rcl byte [edx], 0xea
lock add dword [edx - 0x22], ebx
or byte [eax + edi*8 - 0x7bce970a], dh
scasd eax, dword es:[edi]
add eax, 0xb92b12f1
inc eax
nop
dec ebx
cwde
cmp bl, byte [ebx]
call 0xd998894a
rcl byte [edi]
jp 0x5b79e4
pop esi
sub ebx, esi
jb 0x5b7a7d
inc esi
add dword [eax], ebx
or ebp, dword [esi + 0xf457588]
cmp al, byte [esi + 0x7a28f2c3]
push ss
mov dl, 0x8e
mov ch, 0xad
imul esi, dword [ecx + 0x6c58fa91], 0x50
ret 0x17ae
in eax, 0xac
cmp dword [esi + 0x2731a966], 0x46
daa
inc esi
sbb byte [edi], bl
jb 0x5b7a53
sar dword [edx - 0x68b31bed], 1
dec ecx
insb byte es:[edi], dx
ror dword [esi - 0x6e], 0x78
inc eax
cmp al, 0x9f
insd dword es:[edi], dx
add dword [eax + 0x6f0deb1c], eax
cmp al, byte [edi + 0x322922f8]
mov esp, 0x804348e2
jecxz 0x5b7afe
loop 0x5b7ac7
inc ebx
and bl, 0x7b
paddq mm6, qword [edi + 0x21965a2a]
mov al, byte [0x432da219]
je 0x5b7a7f
stosb byte es:[edi], al
xchg edi, eax
or ah, bh
inc esi
cwde
clc
scasb al, byte es:[edi]
xor esp, dword [esi - 0x312e175a]
mov ch, 0x14
cmpsb byte [esi], byte es:[edi]
call 0x15114972
or bh, byte [esp + eax*2 + 7]
push edi
or byte [ecx - 0x76367601], 0xff
mov ebp, ebp
mov edx, edx
mov esi, esi
mov edx, edx
mov ebp, ebp
mov eax, eax
mov esp, ebp
pop ebp
ret
add byte [eax], al
push esi
push edi
jmp 0xb7f2c3
jno 0x5b7b6f
mov dx, 0xfa40
mov dh, 0xf7
jl 0x5b7a9b
pop edx
test al, 0x2c
sub dword [edi - 0x24], 0x6bf252c5
push ds
mov bl, 0x9b
hlt
wait
jns 0x5b7b84
or ah, al
dec esi
invalid
bound esi, qword [edx - 6]
inc byte [ecx + 0x62]
add byte [edx + 0x49], dl
insd dword es:[edi], dx
mov byte [0x295f3ceb], al
in al, 0x68
mov dh, 0x48
pop esi
adc ah, ah
int3