Function at 0x5144d7
Capabilities:
Encode data using xor

Disassembly:
les edx, [ebp + 0x48]
push 0x55
loope 0x51454f
mov esi, eax
or dword [edi - 0x7c], edx
pop ebp
or eax, 0xe98274a
dec esi
add eax, 0xd5bf927e
scasb al, byte es:[edi]
inc ebx
jno 0x5144fb
std
movsb byte es:[edi], byte [esi]
loopne 0x51455d
js 0x5144f0
jns 0x5144e4
call 0x91ede648
sal byte [esi - 0x1dd1afe0], 0x1e
dec eax
mov eax, dword [0xb6c0919c]
and byte [eax + 0x2e], dl
loop 0x514525
dec ebx
out dx, al
cmp ebx, dword [bp + si + 0x69]
invalid
cmp edx, dword [0x65147b37]
sub ebp, dword [eax]
lds edi, [eax - 8]
add cl, al
cmpsd dword [esi], dword es:[edi]
clc
xchg esp, eax
insd dword es:[edi], dx
push ebp
lcall 0xfcfb, 0x79127ad0
sbb dword [ebp + 0x37], 0x30
fstp dword [esi + esi*8 + 0x57]
cmp eax, 0xb208a51b
inc dword [ebp + 0x20]
cli
mov esi, 0xf0e7d533
adc bl, 0x15
lodsd eax, dword [esi]
dec ebx
cwde
xchg dword [ecx], ebp
sub al, 0xb1
scasb al, byte es:[edi]
test al, 0x96
cld
rol dword [ecx + 0x216c9ee3], cl
mov eax, dword [0x7b78f465]
out 0x66, al
popfd
dec esi
arpl word [eax - 0x38], sp
xor al, 0xa1
jbe 0x514575
push 0x99ee9780
dec esi
and dword [ecx + 0x744e7724], ebp
ja 0x5145b5
clc
mov word [ebp + 8], ss
bound ebx, qword [edx + 0x14]
push cs
popal
out 0x44, eax
leave
xchg esp, eax
inc esp
mov esp, 0x6717e66e
invalid
cmp edi, dword [ebx]
push ss
test al, 0x1a
push edi
xchg ebp, eax
int3
mov ebp, 0x9eec6fe3
dec eax
int 0xb8
test eax, 0xb174e2a8
push esp
jne 0x514624
push ecx
fnstcw word [eax - 0x7b]
call 0x679fa955
loop 0x5145ab
clc
imul ecx
xchg edi, eax
aas
mov bh, 0xd8
not dword [edx]
lds edx, [esi]
loope 0x5145db
imul dword [ebp + 0x2437dc17]
cli
mov byte [0x10643e2f], al
pop es
dec ecx
fbld tbyte [ebx]
sbb esi, esi
invalid
sbb dl, byte [edi + ebp*8]
cmp eax, 0x5d1964ab
sbb dword [ebx + ebx*2 - 0x6f], eax
pop es
mov ch, 0xc3
xlatb
pop esi
dec esi
fistp dword [eax + ecx*4 + 0x54]
xchg byte [edx], dh
sub bl, byte [ecx - 0x48]
sbb esi, dword [edx - 0x5fec413d]
in eax, 0xb9
or byte [ecx], bl
and al, 0x2a
sub eax, 0x99a1088a
mov dword [0x470c866a], eax
call 0xffd9219c
in al, dx
mov edx, 0x58f669da
pop eax
jg 0x5146bf
cld
pop ecx
int3
add dword [ebx - 0x6c], edx
add dl, byte [edx - 0x65]
push esi
int1
neg byte [eax]
in al, 0xec
das
test al, 0xa4
popal
mov dword [0x350cec08], eax
mov cl, 0xb1
loop 0x5146ef
shr dword [edi], 1
xchg ecx, eax
popal
invalid
push es
popfd
adc eax, 0xe5a88734
jo 0x5146f1
sbb ch, byte [edx - 0x7b707408]
fcom dword [ebp + 0x14ccc576]
mov dword [0x1fd427ba], eax
clc
out dx, eax
jbe 0x514744
jge 0x514717
push 0xb4128bf8
fsub dword [ebx - 0x54]
lodsb al, byte [esi]
mov ecx, 0x9845d12b
sub dword [edi - 1], eax
call 0x291c6f6
mov eax, dword [0xb91a1e6a]
add dh, byte [edx + 0x37]
insd dword es:[edi], dx
pop ss
popal
scasb al, byte es:[edi]
push edi
sbb edi, dword [ecx + 0x73]
push ecx
loope 0x514743
sub dword [ecx], ebp
mov dword [ecx - 0x21], eax
jg 0x51479d
mov eax, esi
or ebx, dword [0x8873fe17]
xchg esi, eax
pop ds
xchg byte [esi + 0x42], dh
dec edi
imul edi, eax, 0x7789ff4f
xor al, 0xf2
test al, 0x2e
and ebp, dword [eax]
invalid
pop ss
invalid
xchg ebx, eax
call 0x6abfbcc6
and al, 0x65
cmp dh, bl
imul dword [ebx - 0x70a79cb6]
nop
scasd eax, dword es:[edi]
xor byte [ebp + 0x46], ch
aam 0xdc
stosd dword es:[edi], eax
pop eax
push 0x2ed79055
test eax, 0x968fc0e5
dec ebx
xchg esi, eax
pop esi
sbb dh, dh
add dword [edi], 0x22
in eax, dx
push ebp
aaa
pop ebx
adc bh, al
call 0x47cd2398
push eax
sub esi, ebx
test dword [ebx], edx
mov ah, 0xd3
cmc
mov dword [ebx + 0x778a040], esp
sbb dword [edx], ebx
push ebp
and al, 0x64
int 0x2e
pop ss
mov ecx, 0x3fcf8106
dec esp
add al, 0xbc
push esi
je 0x5147f7
mov esp, 0x41027456
inc ecx
add cl, byte [ebp - 0x1bc74973]
mov ch, 0x4f
lea ecx, [ebp - 0x4a1bc74a]
dec edi
stosd dword es:[edi], eax
inc ebp
inc esi
mov dword [0xe3263f5a], eax
scasb al, byte es:[edi]
aaa
sbb esp, esi
lea ebp, [edx]
adc eax, 0x58db782a
mov ecx, 0xb5f905ce
push esp
stosb byte es:[edi], al
cdq
pop ss
sbb edx, edx
dec eax
sbb eax, 0x1555d93d
lodsb al, byte [esi]
sal ch, 1
daa
fcom st(5)
leave
xlatb
add byte [edi + eax*8 - 0x44], dl
dec ebp
out 0xe4, al
and esi, ebx
xchg edx, eax
pop esi
int 0xbb
jb 0x5147f1
ficom dword [ebp + 0x70]
xor esi, edi
invalid