Function at 0x4584e0
Capabilities:
Encode data using xor

Disassembly:
or ebp, dword [ecx - 0x50ddb557]
dec ecx
movsb byte es:[di], byte [si]
rol eax, 0x5f
dec esp
dec esi
dec edx
and ch, byte [edi - 0x3e5b98b7]
rcr byte [edi + 0x4c], 0x4e
sub al, 0x10
test byte [edi + esi*2 - 0x65], al
mov ah, 0x47
or eax, dword [ecx - 0x66620cf7]
rcr dh, 0x66
cdq
and al, 0xc4
lock sbb dword [ebx + 0x11], 0x44
movsb byte es:[edi], byte [esi]
push si
push cs
dec ecx
test eax, 0x4603930d
mov bh, 4
nop
and ch, ah
cmp ch, byte [esi]
sub ah, byte [edi]
inc eax
scasd eax, dword es:[edi]
insb byte es:[edi], dx
xor al, byte cs:[esi + 0xc243da2]
mov byte [0x190c243d], al
pop esi
sbb bh, cl
imul edi, ebx, 0x280f8922
mov dword [edx], edx
test al, 0xa8
call 0x4e929891
cmp dword [ecx], ebx
xchg dword [edx], ebx
and edi, edx
loopne 0x4584e3
mov ebp, 0xe779ed45
xchg ebx, eax
inc esp
cli
out dx, al
adc byte [edi + ecx], cl
jno 0x4585ca
add byte [edi + 0x6024da9a], al
add dword [ebp + 0x114983f4], edx
sub byte [ecx], dl
outsb dx, byte [esi]
dec ebp
adc ch, dl
outsd dx, dword [esi]
inc ebp
xor dword [edx - 0x4b], ebp
inc eax
mov byte [0x14d8bd2a], al
or byte [ebx + edx*8 + 0x3987a020], dl
cmp dword [ecx + 0x400fc8f7], 0xffffff93
sal al, 1
dec ecx
adc byte [esi + eax + 0xd9cba80], al
sbb dword [eax + 0x39a6d5e0], edi
add ebx, dword [ebp + 6]
in eax, dx
clc
sub al, 0xbe
lahf
aad 0x14
and byte [esi + 0x16828342], al
mov al, 0xc
or byte [edx + 0x61], dl
xor dword [esi], esi
or dword [ebx - 0x17], eax
sbb ebp, ebx
add bl, bh
rol byte [eax + 0x11], 0x92
and dword [ecx - 0x1424c571], ecx
inc eax
adc dword [edx + 0x3a8f8921], edx
fucomi st(3)
invalid
rcl byte [ebx + eax*2], cl
jl 0x458617
jbe 0x458646
out dx, al
mov al, byte [0x903aa05]
pop ss
xor al, 0xc6
or al, 0x8c
or byte [ebx - 0x7874732f], bl
cmp al, byte [esi]
adc ch, byte [esi]
cmp al, 0xc6
and eax, 0x2a300b21
push eax
rcl dword [ecx + 0x4924c720], 0x74
mov dl, 0x89
dec esp
sub dl, byte [eax - 0x3f]
xchg ecx, eax
and bh, al
and al, 0x49
je 0x4585a8
mov dword [edi + 0x4c], esp
popal
ret 0xc270
aam 0xc2
cmp byte [edx - 0x2fb3c0e7], bh
inc eax
mov dword [eax], edx
enter 0x6b49, 0xffffffffffffffa3
imul esp, dword [ebx + 0x42525a25], 0x41d1a263
js 0x45868f
fstp xword [ecx]
xor byte [edi + 2], dh
stc
add byte [ebp + 0x13], bl
mov al, 6
adc ecx, dword [ebp - 0x179f6e8]
lodsd eax, dword [esi]
jno 0x4585ec
movsd dword es:[edi], dword [esi]
mov al, 0x68
mov dh, 0xf8
xlatb
mov eax, dword [esi + 5]
push es
add dword [edx - 0x64bf1aaf], edx
sub dl, byte [eax]
sbb edx, dword [eax]
aam 0xc3
imul eax, dword [ecx], 0x37d9c0b
adc ah, dl
ret
jge 0x458666
test al, 0xab
invalid
cmp byte [ebx - 0x2b], bl
sar byte [eax], cl
pop dword [ebx - 0x7e]
push eax
enter 0xffffffffffff8340, 0xffffffffffffff85
add dword [ecx], 0x25
jle 0x458659
or eax, 0x3f60f960
scasb al, byte es:[edi]
push edx
add ebx, eax
dec ebx
std
sal byte [eax + 0xf4c5739], 0x6a
ljmp 0xe884
in al, 0x84
call 0xcc4b6df1
or al, 0xe0
inc eax
xchg edi, eax
xchg edx, eax
xor byte [eax], ah
outsd dx, dword [esi]
sub al, 0x42
jo 0x458693
out 5, eax
int3
leave
push 0xffffffffffffffa1
rol dword [ecx], 0xe
pop eax
push es
add al, 0x34
mov al, 0x18
jo 0x458661
push es
lcall 0x9303, 0x38c07a47
test al, 0x62
mov bl, 0x81
out dx, al
jbe 0x4586d9
invalid
loope 0x45871e
add edx, dword [ecx + 0x50]
dec eax
xor dword [ebx], eax
cmp al, byte [edx - 0xd180008]
pop ebx
xchg ebx, eax
dec edx
xor esi, dword [ecx]
test byte [eax], bh
invalid
xor ecx, esp
and ch, byte [eax - 0x27e81271]
or byte [ebp + 0x61], dl
xor bh, byte [eax + 0x52609dc0]
fild word [esi + 0x6ac1d006]
cwde
push 0x3c278601
and al, 0x12
add al, 0xb7
daa
cmp al, 0x24
adc al, byte [edi + esi*4]
xchg esi, eax
or eax, 0x280eeac4
stosb byte es:[edi], al
or eax, 0x64692c02
xor al, 0x6a
mov al, 0xc
dec ebx
pop eax
push 0x83f354f
push ecx
push ebx
pop esi
adc byte [eax], ah
ja 0x458703
clc
add dword [edx + 0x60c6026], esp
adc ebx, dword [eax - 0x3f02a422]
scasd eax, dword es:[edi]
mov edx, 0xf8f20652
stosd dword es:[edi], eax
pop es
cmp dword [ebx + 0x16], 0x62
or eax, 0x33385002
or byte [eax + 0xfc88484], dl
and dword [eax + 0x170df86c], 0x24
push ss
and byte [ebp - 0x570078a2], ch
shl dword [0x9003c260], cl
xor ebx, 0x497fafc1
ret 0x8012