Function at 0x51e037
Capabilities:
Encode data using xor

Disassembly:
movsb byte es:[edi], byte [esi]
invalid
mov al, byte [0x2e925e84]
aaa
ljmp 0xae6e
mov dl, 0x57
jmp 0x51df9b
mov dl, 0xdd
dec edx
in eax, 0x22
sub ah, dl
aam 0xb8
scasb al, byte es:[edi]
push eax
pop ss
in eax, 0x52
jo 0x51e099
xchg ecx, eax
xchg bl, dl
mov ecx, dword [eax]
xchg ebp, eax
in eax, dx
add dword [eax], 0x2c217e59
sar dword [edx + ecx*8 + 0x405ef5a2], cl
inc eax
xlatb
xor dword [ecx], ecx
push ecx
xor dword [ebx - 0x5e], 0x7564c323
lodsd eax, dword [esi]
or dword [ecx - 0x7f], edx
jae 0x51dfde
and eax, ebx
jne 0x51dfee
popal
scasb al, byte es:[edi]
xor cl, byte [esi]
mov byte [0x620a9caa], al
and cl, bh
rol dword [eax - 0x48], 0xa2
sbb edi, dword [ebp - 0x60580a91]
adc eax, 0x4c20a694
leave
cmpsb byte [esi], byte es:[edi]
xchg ebp, eax
push ss
cmp dh, dh
and al, byte [eax - 0x31c31fec]
mov ebx, 0x42dae317
mov al, 0x3a
pop ebp
mov dh, 0x30
sbb al, 0x54
scasd eax, dword es:[edi]
adc byte [ecx - 0x70], ah
jae 0x51e036
jecxz 0x51e0be
dec edi
mov ch, bl
loope 0x51e011
and eax, edi
in al, dx
cmpsb byte [esi], byte es:[edi]
daa
jg 0x51e034
loop 0x51e0b7
loopne 0x51e092
leave
invalid
cmp byte [ecx - 0x27ea2ef1], 0x4b
mov dl, 0
ret
scasb al, byte es:[edi]
pop es
xchg byte [edx], cl
mov gs, word [0xdaf82c78]
sahf
jae 0x51e10f
clc
ficomp dword [esi + 0x73e14c73]
loope 0x51e138
imul edx, dword [eax - 0x2fcda6d8], 0x76
push esp
loopne 0x51e13f
xor byte [edi + 0x43e1c24a], dl
pushal
adc edx, ebp
push cs
in al, 0xeb
cwde
push esp
pop esp
lds esp, [ebx]
mov cl, 0xe
scasb al, byte es:[edi]
aam 0xb5
retf 0x3d2
insb byte es:[edi], dx
out dx, al
retf 0xde4e
mov fs, word [eax + 0x53]
push eax
cmp ch, byte [ebx]
ljmp 0xdd8c
xchg ecx, eax
mov ebp, ds
sub byte [edx - 0x4d18615c], ah
loopne 0x51e0b6
and al, 0x3c
clc
lodsb al, byte [esi]
loop 0x51e0f8
clc
push ebx
jb 0x51e141
mov eax, dword [0xaad21a2]
sub dword [eax + eax*2], 0xb263a766
rol dword [ecx - 0x2bcf557], cl
arpl word [edx + 0xaa981d3], si
inc ebx
std
salc
jnp 0x51e0f8
jbe 0x51e19c
loop 0x51e0fa
mov dl, 0xe0
inc esp
invalid
into
fldcw word [ecx + 6]
push 0x7b679c40
jg 0x51e153
imul eax, dword [esi], 0x679c4068
jnp 0x51e1da
test dword [edx - 1], 0x8294d547
push eax
pop eax
loopne 0x51e160
dec edx
inc dword [edi - 0x2b]
xchg esp, eax
adc byte [eax + 0x58], 0xe0
cli
mov es, word [esi]
sbb dword [esi], esp
invalid
and esi, dword [ecx + 0x7230a2a3]
jo 0x51e151
loop 0x51e119
add ebp, dword [ebp - 0x23733e1b]
cmpsd dword [esi], dword es:[edi]
rcr byte [eax + 0x5e], cl
ror byte [eax], 1
xchg esi, eax
push ecx
pushal
aaa
sbb al, 0xc1
sub byte [ebx], ah
test byte [esi - 0x786b2964], ah
cwde
outsb dx, byte [esi]
inc ebx
bound eax, qword [esi]
out dx, eax
xchg dh, cl
into
lcall 0x649e, 0xce19521
or ebx, dword [ecx]
aam 0x93
loop 0x51e207
sal dword [edx - 0xd218cad], 1
pop es
push eax
sub byte [edx - 0x68bfe2c0], ah
xchg edi, eax
jle 0x51e22d
jecxz 0x51e1e5
jmp 0x51e170
and eax, dword [edx - 0x7a]
cli
aad 0xd6
les esp, [ebx]
insb byte es:[edi], dx
xor dh, byte [ebx + esi + 0x42d4119c]
fcom qword [edx - 0x4ffd9e3d]
inc esp
sub al, 0xe2
punpcklbw mm7, mm5
inc esp
test byte [ebp + esi*2 - 0x123ebfae], ch
push ebp
inc esi
inc eax
rcl dword [ebp + 0x2f42d4fb], 0xe4
mov eax, 0xa5d8439b
xor al, 0xee
adc al, 0x38
xor ebx, dword [ecx + edx - 0x6d23bd2c]
ret
das
in al, 0xb8
wait
inc ebx
fsub dword [ebp + 0x3814ee34]
cmp esp, ecx
invalid
jmp 0xdcc544fb
fild qword [edi - 0x2937bca1]
push eax
add eax, dword [ecx]
jbe 0x51e29f
iretd
jp 0x51e226
jg 0x51e305
cdq
fisubr dword [ebx - 0x1e75e763]
hlt
inc ecx
int1
push eax
and al, 0xb8
xchg edx, eax
test byte [ebx + 0x3be7a4c1], cl
invalid
in al, dx
mov dh, 0xb4
arpl word [edi - 0xe8f3582], dx
mov ecx, 0x8727a7c1
push eax
xchg ah, bl
ret 0xd512
fadd st(2), st(0)
adc dl, ch
jb 0x51e2de
xchg ecx, eax
enter 0xffffffffffffda20, 0xffffffffffffff8f
and dword [ecx + 0x6c435450], esp
pushal
xchg edi, eax
loopne 0x51e352
pushal
leave
inc esp
xchg dword [edi - 0xe], edx
mov bl, 0x75
mov dl, 0x2b
xchg byte [edx - 0x2a], dl
xchg esp, eax
adc eax, 0x20d5c9c2
mov dl, 0xec
cmp al, 0xcf
xor dword [0xe893fec3], 0xffffffc3
push edx
fcom dword [esi - 0x39]
mov eax, dword es:[0xd4f04bcd]
push ebx
dec ebx
scasd eax, dword es:[edi]
les edx, [ebx - 0x4cdc0fa3]
shl dh, cl
xor eax, 0xfd20b4da
cmp eax, 0x452209ba
arpl word [eax + 0x24f3610a], si
loop 0x51e316
jl 0x51e2f5
int1
jecxz 0x51e33c
mov al, 0x12
xor ebp, dword [esi]
out 0xea, al
jbe 0x51e3de
sbb eax, 0xd071d648
dec eax
test dword [edi - 0x5e], ecx
jb 0x51e3a0
mov ch, 0xea
popal
adc al, 0xb8
frstor dword [ecx - 0x1ce0f0a9]
sbb byte [edx - 0x6c], al
push ebp
mov al, byte [0xf0c2e2fa]
dec eax
invalid
inc eax
dec eax
lahf
xor eax, 0x5c6e209
cmp esp, dword [ecx - 0xf]
insd dword es:[edi], dx
mov esp, dword [ebp + eax*8 + 0x5f]
mov al, byte [0xeba203d7]
or byte [esi], ch
bound esi, qword [eax + 0x643d73be]
dec esi
adc byte [ecx - 0x7b], 0x3e
push ss
sbb byte [eax], al
and bh, byte [ebx + 0x6329e102]
pushfd
sub dh, cl
hlt
pushal
in eax, 0x4e
push ss
adc al, 0x89
push es
imul edi, dword [esi - 0x16], 0xffffffb0
dec esi
sal byte [edx], 0x23
xchg byte gs:[0xf27a20c3], bh
shr dword [ebx + 0x37], cl
lodsb al, byte [esi]
ror byte [ebp - 0x3cd645dc], 1
test byte [eax + eax*4 - 0x38], 0x63
cmp al, 0x90
add ah, byte [esi]
sbb eax, 0xd1130610
jo 0x51e42a
sal dword [eax + 0x1c], 1
aam 0x60
loopne 0x51e3f4
mov edi, 0x35b060aa
mov eax, dword [0x1b180625]
inc ebp
adc al, byte [esi]
rcl dword [ebp - 0x79b14fe3], 0xeb
daa
cmp eax, 0x71cf860f
jbe 0x51e40b
iretd
or byte ds:[ecx + 0x7d], bl
into
sahf
out 0xe5, eax
push cs
cmp cl, byte [edi]
bound edx, qword [ecx]
cmpsd dword [esi], dword es:[edi]
rol ah, 0x98
pop eax
movsb byte es:[edi], byte [esi]
and eax, 0x24be219d
nop
sub dword [esi + 0x51], eax
popfd
and dword [esi + 0x46299024], edi
push ecx
push dword [ebx - 0x4285cca]
jecxz 0x51e489
mov al, 4
push edx
and al, byte [edi + 0x1d]
inc ebp
adc eax, 0x75f2d288
mov ebp, cs
push edx
fcom dword [eax + 0x22]
sal ecx, 1
nop
add al, 0xff
xchg ecx, eax
and dword cs:[esi*8 + 0x48296295], ecx
mov edx, dword ds:[esi]
loop 0x51e4d9
out 0x5a, al
invalid
invalid
mov word [ecx - 0x2eb7b3e5], fs
inc ecx
xchg esi, eax
enter 0xffffffffffffbc7f, 0x53
mov cl, 0xcf
cmpsb byte [esi], byte es:[edi]
mov ah, byte [ebx - 0x234fdd29]
sub dl, byte [esi - 0x40]
sub eax, 0xd4b9bb7e
xchg ecx, eax
fcomp dword [ebx + 0x2f9df1eb]
xchg ebp, eax
int1
push es
pop dword [esi + esi + 0x1a8c70da]
jae 0x51e469
jo 0x51e442
sbb dh, byte [ebx - 0x50]
jp 0x51e52d
into
xchg esi, eax
sub bh, 2
outsb dx, byte [esi]
aaa
lds esp, [esi + esi*4 - 0x17]
xor bl, byte es:[ebx - 0x18806123]
jg 0x51e4b4
rcl esi, 0xd4
push ebp
out dx, eax
or dword [ebp + 0x21], edx
loop 0x51e4d7
mov esp, 0xc120c06d
shl byte [eax], 0xc1
jb 0x51e482
invalid
nop
xor byte [edi + 0x3d90752], 0xa1
adc al, 3
arpl word [ecx + edi - 0x56], di
mov byte [0xae231e61], al
mov ss, ecx
add al, 0xf5
sub dl, byte [ebx + 0x40d2ed52]
jno 0x51e4cb
je 0x51e50e
xor ah, al
mov byte [0x6801b202], al
invalid