Function at 0x584115
Capabilities:
Encode data using xor

Disassembly:
jns 0x584104
jmp 0x5425e4ee
mov dword [0x6de253cd], eax
or dword [edi + ebp], ebp
movsd dword es:[edi], dword [esi]
adc al, 0x9d
mov es, esp
insd dword es:[edi], dx
mov dword [0x170791bb], eax
pop es
pop ss
pop es
pop ss
cmpsb byte [esi], byte es:[edi]
adc al, 0xc0
adc edx, dword [ecx - 0x37]
or eax, 0xef6381f3
mov ch, 0x3d
mov cl, 0xe7
jns 0x584100
and bl, dl
push esi
stosd dword es:[edi], eax
sub byte [ecx + 0x2f], al
les ebx, [ebp + 0x76]
push ebp
mov dword [edx], eax
pushal
jl 0x5841a8
push esp
cmovge eax, dword [esi + edx*2 - 0x59178ca0]
ja 0x5841ba
dec ebx
add byte [ecx - 0x74], bl
scasd eax, dword es:[edi]
stosb byte es:[edi], al
mov eax, 0x5db78f7f
stosd dword es:[edi], eax
in al, dx
invalid
add bh, cl
add dword [esi - 0x12], ebx
invalid
shl dl, cl
test dword [edx], 0x9e079d02
in eax, 0x48
jp 0x584193
pop esi
and ecx, edx
sbb eax, 0x34afa545
loope 0x584238
scasd eax, dword es:[edi]
xor al, 0x66
loope 0x584238
into
inc ecx
mov ah, 0x39
sub al, 0x4f
pop edi
pop es
pop ecx
aad 0xdb
test dword [edx - 0x7a], ebp
dec esi
mov ebx, 0x9f374fd1
out 0x23, eax
popfd
hlt
pop esi
or ebp, dword [eax - 0x2d]
aas
xchg esi, eax
popfd
and byte [eax - 0x49d82ca5], dl
dec esp
or byte [ebp + 0x5e], dl
mov dh, ah
pop ebx
push ecx
jns 0x58422f
and dword [ebp + 0x2d], eax
cdq
std
adc al, 0xb3
push es
invalid
lodsd eax, dword [esi]
jnp 0x5841d6
lodsd eax, dword [esi]
xchg ebx, eax
pop edx
xchg edi, eax
mov dl, 0x17
les edx, [edx]
add cl, al
clc
cmp ch, bl
cmpsd dword [esi], dword es:[edi]
inc ecx
push ebp
js 0x5841fe
xor dword [ecx + 0x6dc0bae6], edi
jp 0x5841e0
jmp 0x584278
push esi
and eax, 0x315187cf
dec dword [edi - 0x4e]
adc al, byte [bp - 0x3be0]
sbb byte [eax + 0x2eb331e3], dh
dec edx
add dword [esp + ebx*4], eax
xchg ecx, eax
mov ch, 0x7d
adc byte [ebx - 0x17], dl
aad 0x35
sbb al, 0xd1
xor dl, byte [esi + 0x4653bad0]
test al, 0x9f
int 0xd1
stc
sub ecx, dword [edi]
pushal
jl 0x5842b8
sahf
mov byte ds:[0xb2766eb8], al
xchg ecx, eax
lcall 0x8cf0, 0x7b9cefd7
leave
scasb al, byte es:[edi]
jnp 0x58420b
cdq
fdiv qword [esi - 0x29]
jbe 0x584251
or byte [ebx + 0x32608e26], 0x25
inc ebx
xchg esp, eax
or byte [eax], dl
and dword [esi], edi
and esi, dword [edx - 0x498d2736]
mov word [0x45c3c60f], ss
mov dh, 0x8c
adc eax, 0x45c3c60f
sbb al, 0x68
enter 0xe97, 0xffffffffffffffde
xor dword [eax - 0x45], esi
push 0xf6f0856d
or eax, 0x6321ecac
lea esp, [edi + eax*4]
cmp bl, byte [ecx]
mov cl, 0xce
in eax, 0x39
push 0x35
xchg esi, eax
test byte [ebx + 0x1f], al
popfd
or eax, 0x1661a86c
test al, 0x61
push ss
add eax, 0xffffffbe
cmp bh, byte [ebx + edx - 0x6f23f2e7]
mov al, byte [0xe18cf339]
xor cl, byte [ecx - 0x5f]
lahf
aaa
or al, byte [ecx - 0x47]
mov bl, 0x5b
jb 0x58428c
jae 0x58431c
mov al, 0x61
popal
cmp esi, edi
in al, dx
enter 0x11b4, 0xffffffffffffffe1
ror edi, 1
in al, dx
jno 0x5842e4
dec edi
cmp byte [ebp + 0x6581ee46], ch
popal
sub dword [esi - 0x41118bb5], edi
mov esi, 0x71319c6c
push 0x4c
imul dword [edi]
mov word [ecx - 0x49], ss
dec edi
popfd
jns 0x584344
mov bh, 0x8b
cmp edx, dword [ebx]
or ch, cl
and esp, dword [edi]
add bl, byte [ebx - 0x14885892]
mov al, 0x2b
adc al, 0xfc
mov edi, 0x47b549fd
push 0xffffffffffffffad
push 0xffffffffffffffad
mov eax, dword [0x4690ff2]
loopne 0x5842d9
into
ror dword [eax], 0x42
push ecx
wait
add al, 0x4c
out dx, al
xlatb
test al, 0x4e
add eax, 0x17e3e1c1
inc edi
rcl byte [ecx - 0x78782a89], cl
sbb cl, byte [edx - 0x5074d22c]
inc esp
nop
scasd eax, dword es:[edi]
xor al, 0x5a
pop edx
mov al, byte [0x86565db4]
add al, 0x15
out 0xb7, al
add byte [ebp + 6], ch
push esp
sbb ecx, dword [edi]
add bh, byte [ecx - 0xb]
or al, 0x40
invalid