Function at 0x4580b0
Capabilities:
Encode data using xor

Disassembly:
nop
fcomp qword [eax]
aad 0x1c
cmpsb byte [esi], byte es:[edi]
rcl byte [ecx - 0x2e], 0x9c
fistp word [0xddfab01]
add esp, esp
add dword [ebx - 0x1bfef221], ebp
pushfd
invalid
cmpsb byte [esi], byte es:[edi]
push ebx
salc
enter 0x10df, 0xffffffffffffffb5
test eax, 0xaad11ddf
cmp al, 0x5e
sbb byte [eax + 0x54], 0x4c
push ebp
fist word gs:[0xe495e1fd]
sbb al, 0xae
les ebx, [edx]
sbb al, 0x9e
les edx, [ebx - 0x27]
lodsb al, byte [esi]
movsd dword es:[edi], dword [esi]
push ebx
out 0xc0, al
cmpsb byte [esi], byte es:[edi]
mov al, 9
dec edx
push esp
enter 0x1d14, 0x61
push ebx
faddp st(4)
fisttp qword [ecx]
leave
jecxz 0x457f32
cmp bl, ah
jecxz 0x457f26
cmp byte [ecx], bl
test cl, cl
xchg ecx, eax
pop eax
movsd dword es:[edi], dword [esi]
push ebx
out 0xc0, al
cmpsb byte [esi], byte es:[edi]
mov al, 0xe9
dec ecx
push esp
enter 0x1d14, 0x61
push ebx
faddp st(4)
fisttp qword [ecx]
add esp, esp
test eax, 0x949e1c34
push ecx
rcl eax, cl
fist word [0x1ddfaa01]
add esp, esp
salc
mov esp, 0x18545891
sbb al, 0xa6
mov esp, 0x45887919
enter 0xffffffffffffdc90, 0x18
aad 0x1c
scasb al, byte es:[edi]
rcl byte [ecx - 0x2d], 0x8c
fisttp word [0x38a1e3fd]
sbb ah, byte [ecx - 0x3719ac4c]
cmpsb byte [esi], byte es:[edi]
push ebx
salc
enter 0x50df, 0x19
pop ecx
push esp
enter 0xffffffffffffe3e2, 0xffffffffffffffa9
or bl, ah
inc eax
pop ebx
mov ecx, 0x8cd85890
popfd
jecxz 0x457f96
xor al, 0x1a
lcall 0x53a6, 0xc8e65390
salc
enter 0x50df, 0x79
pop ecx
push esp
enter 0xffffffffffffe3e2, 0xffffffffffffffa9
xor bl, ah
inc eax
cmp edi, dword [ecx - 0x7327a770]
popfd
jecxz 0x457fb6
xor al, 0x1a
lcall 0x53a6, 0xc8e6539c
salc
enter 0x10df, 0xffffffffffffffd9
test eax, 0xaad11ddf
cmp al, 0x92
sbb dword [eax + 0x54], 0xdf65554c
adc eax, 0x1495e1fd
sbb al, 0xae
les ebx, [edx]
sbb al, 0x9e
les edx, [ebx - 0x27]
mov esp, 0xc0e653a5
cmpsb byte [esi], byte es:[edi]
mov al, 0x3d
dec ecx
push esp
enter 0x1d14, 0x61
push ebx
faddp st(4)
fisttp qword [ecx]
stc
jecxz 0x457ffe
cmp bl, ah
jecxz 0x457ff2
cmp byte [ecx], bl
add al, 0xc9
xchg ecx, eax
pop eax
movsd dword es:[edi], dword [esi]
push ebx
out 0xc0, al
cmpsb byte [esi], byte es:[edi]
mov al, 0x1d
dec ecx
push esp
enter 0x1d14, 0x61
push ebx
faddp st(4)
fisttp qword [ecx]
in eax, 0xc2
push esp
push ebx
out 0xc4, al
cmpsb byte [esi], byte es:[edi]
mov al, 0x19
push ebx
push esp
enter 0x1d14, 0x5d
push ecx
salc
push esp
loopne 0x458093
lea ebp, [ecx - 0x55feea21]
fistp word [0x8a3caafd]
jge 0x4580ec
pop eax
push esp
dec esp
push ebp
sbb ecx, dword gs:[esi - 0x23]
push edi
push esp
enter 0x5891, 0x54
enter 0xffffffffffff9e1c, 0x50
sbb dword [esi], ebx
rcr byte [ecx], 0x79
and byte [eax + ecx*8 - 0x70], al
fcomp qword [eax]
sbb cl, dl
sbb bl, byte [esi - 0x3719ac4c]
cmpsb byte [esi], byte es:[edi]
push ebx
salc
enter 0x50df, 0x21
pop ecx
push esp
enter 0xffffffffffffe3e2, 0xffffffffffffffa9
sub bl, ah
inc eax
jg 0x458082
nop
pop eax
fmul dword [ebp + ebx*4 - 0x6fcb261f]
pop eax
push esp
push esp
salc
enter 0x53a4, 0xffffffffffffffde
enter 0x59df, 0x35
pop ecx
push esp
enter 0xffffffffffffe3e3, 0xffffffffffffff99
sub cl, ah
inc eax
pop edi
mov eax, 0x8cd85890
popfd
loope 0x4580ca
fmul dword [ebp + ebx*4 - 0x6fdb261f]
and al, 0x90
pop eax
push esp
push esp
fmulp st(0)
movsd dword es:[edi], dword [esi]
push ebx
out 0xc8, al
fisttp word [edx]
stc
test al, 0xdf
adc eax, 0xb63ca9f1
sbb byte [eax + 0x54], 0x4c
push ebp
fisttp qword gs:[ebp - 0xf]
push edi
push esp
enter 0xffffffffffffae1c, 0xffffffffffffffc4
sbb bl, byte [esi + ebx*4]
les edx, [ebx - 0x27]
movsd dword es:[edi], dword fs:[esi]
push ebx
out 0xb8, al
cmpsb byte [esi], byte es:[edi]
mov al, 0x61
dec eax
push esp
enter 0x1d14, 0x61
push ecx
push ss
lodsd eax, dword [esi]
push ebx
enter 0xffffffffffffe490, 0xffffffffffffff99
cmp cl, ah
jecxz 0x4580d6
cmp byte [edx + ebp*8], bl
adc cl, cl
xchg ecx, eax
pop eax
cmpsb byte [esi], byte es:[edi]
push ebx
salc
mov eax, 0x4841b0a4
push esp
enter 0x1d14, 0x61
push ecx
push ss
rcl dword [ebx - 0x38], 0x90
in al, 0xa1
push ebx
enter 0xffffffffffffe490, 0xffffffffffffffa1
cmp dl, ah
jecxz 0x4580fe
cmp byte [ebx + ebx*4], bl
mov word [eax], ds
sbb al, 0xa6
mov ah, 0x19
jns 0x45814c
inc ebx
enter 0xffffffffffffdc90, 0x18
aad 0x1a
fidivr word [eax - 0x1fa76f39]
sbb eax, 0xddfab01
add esp, esp
fadd st(0), st(0)
xchg ecx, eax
pop eax
push esp
sbb dword [esi + ebp*4], ebx
mov ah, 0x1a
jns 0x45814c
inc ebx
enter 0xffffffffffffdc90, 0x18
aad 0x1a
fisubr word [edi + eax*8 + 0xde05890]
add dword [ecx - 0x1bfeea21], ebp
in eax, 0xe4
xchg edx, eax
pop eax
push esp
sbb bl, byte [esi + ebx*4]
mov ah, 0x18
jns 0x45814c
inc ebx
enter 0xffffffffffffdc90, 0x18
aad 0x1a
fisub word [edi + eax*8 - 0x3740a770]
sbb al, 0xa6
rcr byte [ecx], 0x79
test al, 0x4d
enter 0xffffffffffffdc90, 0x18
rcr dword [edx], 1
sahf
dec esp
push esp
out 0x50, al
cmpsd dword [esi], dword es:[edi]
push ebx
salc
enter 0x53a4, 0xffffffffffffffde
les esp, [ebp + 0x5443a9b0]
enter 0x1d14, 0x61
push ebx
out 0x50, al
sbb bl, dh
movsb byte es:[edi], byte [esi]
invalid
push eax
cmpsd dword [esi], dword es:[edi]
push ebx
salc
les esp, [eax + esi*4 - 0x37abb8d7]
adc al, 0x1d
pop ebp
push ecx
salc
xchg esp, eax
fist word [0x1ddfaa01]
add esp, esp
xchg esi, eax
clc
loope 0x4581d3
mov eax, dword [0x5340e204]
mov bh, 0x90
pop eax
fmul dword [ebp + ebx*4 + 0x1a34a9e3]
wait
xchg esp, eax
push ebx
salc
enter 0x53a4, 0xffffffffffffffde
enter 0xffffffffffffd9df, 0xffffffffffffffe3
jecxz 0x4581a6
add al, 0xe1
inc eax
aaa
mov bh, 0x90
pop eax
fmul dword [ebp + ebx*4 + 0x1a34a1e3]
lcall 0x53a6, 0xc8e65368
salc
enter 0x50df, 0x71
pop ecx
push esp
enter 0xffffffffffffe3e2, 0xffffffffffffffa9
add al, 0xe3
inc eax
pop ss
mov bh, 0x90
pop eax
fmul dword [ebp + ebx*4 + 0x1a34a1e3]
lcall 0x5354, 0xbfd68e80
out 0xc8, al
cmpsb byte [esi], byte es:[edi]
push ebp
salc
mov edi, 0xc4de53a4
movsd dword es:[edi], dword [esi]
mov al, 0xa5
push ecx
push esp
enter 0x1d14, 0x61
xlatb
inc edi
scasb al, byte es:[edi]
mov ebx, 0x82cd634d
invalid