Function at 0x816ef4
Capabilities:
Encode data using xor

Disassembly:
jmp 0x816efe
pushal
call 0x816f04
pop ebp
sub ebp, 0x10
sub ebp, 0x416ef4
jmp 0x816f1a
mov eax, 0x416ef4
add eax, ebp
add eax, 0x4c
mov ecx, 0x602
dec esp
add byte [eax], al
add byte [ecx + 0x602], bh
mov edx, 0x4f5443f7
xor byte [eax], dl
inc eax
dec ecx
jne 0x816f31
jmp 0x816f44
jl 0x816f80
jl 0x816fc6
retf
sti
div edi
div esp
xor ah, byte [edi + 0xbd3937a]
jle 0x816f64
rcr dword [edi - 0x8067485], cl
rcr dword [edi - 0x8067485], cl
lahf
xchg ecx, eax
add eax, 0xdbf6f7c5
rcr dword [edi - 0x77fb3933], cl
lahf
int 0xc6
add al, 0x88
pop ds
div edi
neg dword [esi]
fincstp
div edi
jp 0x816f23
ror dword [ebx], cl
jle 0x816f6f
sar dword [ebx + ebx + 0x7c], cl
jb 0x816f99
push edi
div edi
jl 0x817001
div edi
idiv dword [edx - 5]
sti
div edi
idiv dword [edx + edi*2 - 0x19]
div edi
div dword [esi]
push ds
cmc
invalid
jl 0x817039
sal ebx, cl
div edi
neg dword [edi - 0x8067485]
lahf
xchg ecx, eax
add eax, 0xdbf6f7c5
stc
neg dword [edi - 0x83afa6f]
neg bl
shl dword [esi - 0x8080de1], cl
pop ds
div edi
neg dword [esi]
cmpsb byte [esi], byte es:[edi]
cmc
div edi
jp 0x816f70
ror dword [ebx], cl
jle 0x816fbc
shl dword [ebx - 0x47df756], cl
or byte [edx - 0x876e001], al
div edi
jl 0x81703b
push edi
div edi
jbe 0x816ffd
xlatb
xchg edx, eax
je 0x816f7f
jbe 0x817003
xlatb
xchg edx, eax
je 0x816f85
les edi, [esi]
jbe 0x81700a
jbe 0x81700a
leave
jnp 0x817060
out 0x76, al
add eax, 0xe6587bc9
les esp, [0xbff21f74]
clc
jae 0x816fd1
div edi
idiv eax
jg 0x816fdd
div edi
not dword [ecx + 0x77ceeb7c]
or al, 0x1f
xchg ecx, eax
jl 0x81700f
into
ja 0x817033
pop ds
clc
jae 0x817018
div edi
div dword [edi + 0xc]
push ds
clc
jae 0x81701a
out 0xf7, al
div edi
xchg ecx, eax
jbe 0x817046
div edi
not dword [ecx - 0x2df7f38a]
or al, 8
or dl, dl
sar al, cl
clc
jae 0x817021
div edi
div dword [esi + 0x8083b1e]
or dh, bl
mov ebx, 0x3674f6ce
or byte [eax], cl
fidivr word [ebx + 0x3674f6ce]
bnd je 0x817070
push ds
dec edx
or byte [eax], cl
or dh, bl
mov dword [0x3674f5ce], eax
int1
je 0x81707d
je 0x817082
push ds
pop esp
or byte [eax], cl
or byte [edx - 0x5d0804cb], ch
jl 0x81708b
sbb esp, dword [ecx - 0x7d835d60]
mov eax, dword [0x827ca2a0]
sti
jl 0x817002
dec dword [ebx]
inc ebp
ja 0x8170fa
jge 0x81706f
int1
jbe 0x8170b1
div bh
div edi
jg 0x817076
jbe 0x8170b8
div bh
div edi
dec esp
cmc
div edi
div ebp
test dword [ebp + esi*8 - 9], 0x25f5f7f7
clc
jb 0x817088
div edi
cmc
and eax, 0xf7f272f8
div edi
idiv dword [ebp - 0x1f]
div edi
jge 0x81707c
mov cl, 0xe5
and eax, 0x82f74f8
or byte [eax], cl
cmc
and eax, 0xf7f272f8
div edi
jge 0x81708f
clc
jb 0x81709b
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0xf79d74f8
div edi
clc
je 0x817051
div edi
test esp, 0xf825f537
jb 0x8170b0
les esi, [edi]
aaa
cmc
and eax, 0xf7f272f8
div edi
jge 0x8170a4
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0xf6dd74f8
div edi
cmc
clc
je 0x8170a6
div bh
div ebp
and eax, 0xf7f272f8
div edi
jge 0x8170b7
loope 0x817088
mov cl, 0xe5
and eax, 0x25f537e4
clc
jb 0x8170d2
in eax, 0x25
in al, 0x37
cmc
and eax, 0xf7f272f8
div edi
idiv dword [ebp - 0x1f]
div edi
jge 0x8170c6
loope 0x817097
mov cl, 0xe5
and eax, 0x25f537e4
clc
jb 0x8170e1
in eax, 0x25
in al, 0x37
cmc
and eax, 0xf7f272f8
div edi
idiv dword [ebp - 0x1f]
div edi
jge 0x8170d5
mov cl, 0xe5
and eax, 0x25f537e4
clc
and eax, 0xf7f272f8
div edi
jge 0x8170e4
jb 0x8170f0
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0x73f837e4
int1
in al, 0x37
clc
jae 0x8170fc
div edi
idiv dword [eax + ebp - 0x24]
das
jge 0x817108
jg 0x817106
invalid
mov al, 0x4c
cmc
div edi
neg dword [esi]
xchg dword [eax], ecx
or byte [eax], cl
dec edi
div bh
div edi
cmc
and eax, 0xf7f272f8
div edi
jge 0x817111
mov cl, 0xe5
and eax, 0x25f537e4
clc
jb 0x81712c
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0x82975f8
or byte [eax], cl
fdiv qword [esp + ecx*2]
or byte [eax], cl
or ah, bl
xor al, 0x4c
div bh
div edi
clc
jb 0x817115
div edi
test dword [esi - 0xa], 0xf5f7f7f7
and eax, 0xf7f272f8
div edi
jge 0x817145
mov cl, 0xe5
and eax, 0x25f53ee4
clc
jb 0x817160
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0x82975f8
or byte [eax], cl
mov eax, dword [0x2dc007c]
add al, 0x53
push ebx
test eax, 0x808ff1e
or byte [edi + 0x7dff1736], bh
int1
mov cl, 0x7c
pop ds
dec esi
div bh
div edi
cmc
and eax, 0xf7f272f8
div edi
jge 0x817182
mov cl, 0xe5
and eax, 0x25f53ee4
clc
jb 0x81719d
div edi
idiv dword [ebp - 0x1f]
mov cl, 0xe5
and eax, 0x82975f8
or byte [eax], cl
jbe 0x8171ca
test dword [edx + 0x2e76f7f7], 0x8080808
jbe 0x8171d6
div edx
div edi
jbe 0x8171fb
div dword [esi + 0x2e]
or byte cs:[eax], cl
or byte [eax], cl
or byte [eax], cl
jbe 0x8171e2
ja 0x8171cc
div edi
jbe 0x8171ff
div dword [esi + 0x26]
div edi
div edi
div edi
jbe 0x8171ee
ja 0x8171d8
div edi
jbe 0x81720b
div dword [esi + 0x26]
div edi
div edi
mov eax, dword [0x7dc007c]
add al, 0x53
test eax, 0x8096c1e
or byte [ebp - 0xf], bh
mov cl, 0xc4
aaa
les edi, [esi]
aaa
pop ds
idiv al
jae 0x8171ee
div edi
div dword [esi + 0x26]
cmc
div edi
idiv dword [edi + ebx - 0x5f]
jl 0x81720f
pop ds
mov eax, dword [0x7dc007c]
fadd qword [edi]
add al, 0x53
test eax, 0xf7f7f64c
neg dword [esi]
test byte [ecx], cl
or byte [eax], cl
stosb byte es:[edi], al
fmul qword [edx - 0x57cf8301]
test eax, 0x35aa127c
push edi
jl 0x8171f9
sar dword [edx - 0x6d], cl
sal ebx, cl
test eax, 0xf7f7f31e
imul dword [ecx + 0xf]
test dword gs:[edi + 3], 0xf4f7b699
xor dh, byte [esi + 0x37]
cwde
hlt