Function at 0x8de188
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8de18e
pop ebp
sub ebp, 6
sub ebp, 0x4de188
jmp 0x8de1ec
add eax, 0x2a003000
add byte [edi + 0x67], cl
adc byte [esi + ebp], bh
pop edi
mov al, byte [0x5f8109a]
and eax, 0x8c5b57d2
mov esi, 0x1eaf093
add byte [eax], al
add byte [edx + 0x6b], dh
sub ah, byte [edx + 0x200f4e81]
fist dword [ebp + 0x6a56d85a]
mov ebx, dword [esi + 0x486ebe51]
fisub word [edx]
push ecx
mov esi, 0x22de486e
mov ebp, 0x77e2a302
mov byte [esi - 0x10], bh
shl dword [edi - 0x17], 1
add al, 0
add byte [eax], al
inc ecx
shr byte [edx], 1
jp 0x8de1ae
mov dword [0x7e8877e2], eax
invalid
jmp 0x8de1f5
mov eax, 0x4de188
add eax, ebp
add eax, 0x93
mov ecx, 0x62a
mov cl, ah
dec ebp
add byte [ebx], al
lds eax, [ecx + 0x93c0]
add byte [ecx + 0x62a], bh
mov edx, 0x78cb2a77
js 0x8de23d
xor byte [eax], dl
inc eax
dec ecx
adc byte [eax + 0x49], al
jne 0x8de20c
jmp 0x8de21f
add byte [eax], al
cmp eax, 0x1d7f3f6e
aas
jg 0x8de23d
sbb eax, 0x67771f37
aaa
pop ds
ja 0x8de28b
ja 0x8de29d
pop ds
ja 0x8de1e4
pop ebx
ja 0x8de222
xchg dword [edx], esi
pushal
jp 0x8de21d
test byte [edi - 0x13859fce], 0x44
mov bh, 0x27
mov dl, ah
dec ebx
push esi
xor esi, dword [edi + 0x27]
cld
mov edx, 0x774bfefc
ja 0x8de2c0
div byte [esi + 0x7777778f]
je 0x8de20b
iretd
jno 0x8de2cb
ja 0x8de2cd
int 0x5f
ja 0x8de2d1
ja 0x8de1dc
xchg ebp, eax
je 0x8de21e
cld
idiv byte [ebx + 0x77]
ja 0x8de2dc
je 0x8de219
daa
pop ds
std
inc eax
jle 0x8de2e4
pop ds
mov esi, ds
xor esi, dword [edi + 0x76]
pop ebx
push ebx
pop ds
ja 0x8de2ef
ja 0x8de2f1
lahf
jb 0x8de2f4
ja 0x8de2f6
sahf
pop ebp
ja 0x8de2fa
ja 0x8de2a7
cli
sbb edx, dword [ebx + 0x77]
cld
bnd jg 0x8de304
jg 0x8de304
ja 0x8de306
cld
loop 0x8de30d
ja 0x8de30b
ja 0x8de292
cld
cli
ja 0x8de311
ja 0x8de311
ja 0x8de252
sahf
jne 0x8de2e5
jne 0x8de295
mov ch, 0x73
js 0x8de298
or dword [eax - 0x4ad57778], 0x7b
mov byte [eax + 0x7bb52a88], cl
mov ch, 0x7b
ja 0x8de2ab
sti
push ebx
jae 0x8de32a
ja 0x8de32c
pop ds
std
inc eax
jle 0x8de331
pop ds
mov esi, ds
xor esi, dword [edi + 0x76]
pop ebx
push ebx
lahf
jb 0x8de33d
ja 0x8de33e
ja 0x8de33f
ja 0x8de267
sahf
inc esp
jne 0x8de343
ja 0x8de344
ja 0x8de2f0
and ah, byte [ebx]
sub cl, byte [eax + 0x2887b02]
jg 0x8de276
and ebp, dword [edx]
mov byte [edx], al
jnp 0x8de25c
add bh, byte [ebx - 0x78]
add bh, byte [edi - 0x61]
adc dword [edi + 0x77], esi
ja 0x8de351
ja 0x8de2d8
retf 0x777f
movsd dword es:[edi], dword [esi]
hlt
js 0x8de2f0
invalid
aas
ja 0x8de36b
ja 0x8de307
cld
imul ecx, dword [esi - 9], 0xffffff8c
lahf
js 0x8de2f1
mov word [edi + 0x776df378], ds
ja 0x8de379
insd dword es:[edi], dx
ja 0x8de378
ja 0x8de2fa
test dword [esi + ebx*4 + 0x7766f378], 0xf6117777
mov word [esi + 0x7766f378], ds
ja 0x8de382
sahf
js 0x8de2fa
ja 0x8de381
ja 0x8de381
ja 0x8de31d
adc esi, esi
test byte [eax + ecx*4 + 0x62f37852], 0x77
ja 0x8de38d
mov word [eax + 0x62f37852], cs
ja 0x8de38c
bound esi, qword [edi + 0x77]
ja 0x8de34d
sahf
sahf
mov ebx, 0x5e888888
cmp ecx, dword [esi + 0x76]
hlt
jbe 0x8de315
mov dh, 0x72
hlt
lahf
jae 0x8de2c5
retf 0x8888
mov byte [esi + 0x23], bl
and ecx, dword [esi + 0x75]
hlt
dec esi
jne 0x8de324
mov dh, 0x71
hlt
jno 0x8de327
popfd
jae 0x8de32a
lahf
jb 0x8de2d7
fmul qword [eax - 0x4ad57778]
sub dh, byte [ebp - 0x3dd8885]
mov ch, 0x7b
ja 0x8de364
jnp 0x8de3b8
and bh, ah
cld
wait
and dword [eax], esp
and bh, ah
cld
add bh, byte [ebx - 4]
jnp 0x8de347
or bh, byte [edi - 0x75]
invalid
mov eax, ebp
idiv ebp
jno 0x8de349
mov cl, 0x76
ja 0x8de3ce
ja 0x8de358
push dword [eax - 0xa]
jo 0x8de351
mov al, 0x76
ja 0x8de3d6
ja 0x8de32d
jne 0x8de3da
ja 0x8de3dc
ja 0x8de3db
jne 0x8de30c
movsd dword es:[edi], dword [esi]
js 0x8de35b
bnd jb 0x8de3e2
jb 0x8de3e2
ja 0x8de3e4
std
popal
xor dword [ebp - 0x5b], esp
js 0x8de368
scasd eax, dword es:[edi]
mov byte [eax + 0x78a57588], cl
jne 0x8de31f
movsd dword es:[edi], dword [esi]
js 0x8de36e
bnd jb 0x8de3f5
jb 0x8de3f5
ja 0x8de3f7
std
popal
xor dword [ebp - 0x5b], esp
movsd dword es:[edi], dword gs:[esi]
js 0x8de37b
sbb eax, 0x44777777
mov bh, 0x75
movsd dword es:[edi], dword [esi]
jne 0x8de334
js 0x8de383
bnd jb 0x8de40a
jb 0x8de40a
ja 0x8de40c
std
popal
xor dword [ebp - 0x5b], esp
js 0x8de390
pop ebp
jbe 0x8de416
ja 0x8de416
movsd dword es:[edi], dword [esi]
js 0x8de396
jb 0x8de41d
ja 0x8de41e
ja 0x8de41f
ja 0x8de3a6
std
popal
xor dword [ebp - 0x5b], esp
mov bh, 0x75
movsd dword es:[edi], dword [esi]
js 0x8de3a5
jb 0x8de42c
ja 0x8de42d
ja 0x8de42e
ja 0x8de3b5
std
popal
xor dword [ebp - 0x5b], esp
mov bh, 0x75
movsd dword es:[edi], dword [esi]
js 0x8de3b4
jb 0x8de43b
ja 0x8de43c
ja 0x8de43d
ja 0x8de3c4
std
popal
xor dword [ebp - 0x5b], esp
mov bh, 0x75
movsd dword es:[edi], dword [esi]
js 0x8de3c3
jb 0x8de44a
ja 0x8de44c
std
popal
xor dword [ebp - 0x5b], esp
mov bh, 0x78
mov bh, 0x78
js 0x8de3d1
jno 0x8de457
jno 0x8de457
ja 0x8de459
cld
test al, 0x5c
pop esp
scasd eax, dword es:[edi]
std
je 0x8de3e8
push dword [eax + 0x30]
jo 0x8de41b
int3
sahf
pop es
mov byte [eax + 0x7776cf88], cl
iretd
ja 0x8de470
ja 0x8de471
ja 0x8de470
jne 0x8de3a1
movsd dword es:[edi], dword [esi]
js 0x8de3f0
jb 0x8de477
ja 0x8de478
ja 0x8de479
ja 0x8de400
std
popal
xor dword [ebp - 0x5b], esp
mov bh, 0x75
movsd dword es:[edi], dword [esi]
js 0x8de3ff
bnd jb 0x8de486
jb 0x8de486
ja 0x8de488
std
popal
xor dword [ebp - 0x5b], esp
js 0x8de40d
cmc
test eax, 0x5c888888
mov byte [esp + esi*4 - 0x34], bl
mov ah, 0xcc
int3
jbe 0x8de498
ja 0x8de49a
js 0x8de417
inc ebx
inc ebx
ja 0x8de49f
ja 0x8de3f8
jbe 0x8de4a3
ja 0x8de4a5
ja 0x8de4a4
jne 0x8de3d5
movsd dword es:[edi], dword [esi]
js 0x8de424
jb 0x8de4ab
ja 0x8de4ac
ja 0x8de4ad
ja 0x8de434
std
popal
xor dword [ebp - 0x5b], esp
mov esi, 0xf278a575
mov esi, 0xf278a575
jne 0x8de3e4
js 0x8de433
jb 0x8de4ba
ja 0x8de4bc
std
popal
xor dword [ebp - 0x5b], esp
js 0x8de441
test eax, 0x21888888
cld
sbb byte [edx + eax*4 - 0x7c], 0xd3
sub dword [esi - 0x77777781], ebx
aas
mov dh, 0x97
jg 0x8de3e3
mov byte [eax + 0x7f97b63f], cl
xchg edi, eax
jg 0x8de45f
std
jno 0x8de495
cld
lahf
into
jbe 0x8de4e0
ja 0x8de4e2
jne 0x8de412
js 0x8de461
jb 0x8de4e8
ja 0x8de4e9
ja 0x8de4ea
ja 0x8de471
std
popal
xor dword [ebp - 0x5b], esp
movsd dword es:[edi], dword [esi]
mov esi, 0xf278a575
mov esi, 0xf278a575
jb 0x8de4f7
ja 0x8de4f9
std
popal
xor dword [ebp - 0x5b], esp
movsd dword es:[edi], dword [esi]
js 0x8de47e
cmc
test eax, 0xf6888888
mov dh, dh
invalid
mov byte [eax - 0x70097778], cl
ja 0x8de50f
mov dh, dh
invalid
ja 0x8de516
imul byte [esi - 0x77777778]
mov byte [eax + 0x77f78ff6], cl
ja 0x8de522
mov dh, dh
invalid
test byte [edi + 0x777777f7], 0xf6
mul byte [esi + 0x77777777]
cmpsb byte [esi], byte es:[edi]
ja 0x8de526
ja 0x8de528
test byte [edi + 0x777777f7], 0xf6
cmpsb byte [esi], byte es:[edi]
ja 0x8de532
ja 0x8de533
ja 0x8de534
ja 0x8de4df
and esp, edi
cld
sbb byte [edi + eax*4 - 0x7c], 0xd3
sub dword [esi - 0x77777614], ebx
std
jno 0x8de4fe
inc esp
mov esi, 0x78769fb7
mov bh, 0x9f
jbe 0x8de54b
rep insd dword es:[edi], dx
ja 0x8de54e
ja 0x8de4cf
cmpsb byte [esi], byte es:[edi]
jne 0x8de553
ja 0x8de555
cld
lahf
and esp, edi
sbb byte [edi + eax*4 - 0x7c], 0xd3
sub esp, ecx
int3
jbe 0x8de562
ja 0x8de563
ja 0x8de564
ja 0x8de48c
sahf
add al, 0x89
mov byte [eax + 0x7f0a5c2a], cl
cld
mov al, 0x28
sub esp, edi
xchg edx, eax
sub dh, byte [ebp + 0x2928777f]
jg 0x8de577
sub byte [ecx], ch
sahf
jae 0x8de57c
ja 0x8de57e
imul esp, dword [edx - 0x79], 0x96ffcfe1
cmp dh, byte [edi + 0x74]
ja 0x8de585
mov dl, 0xf6
mov bh, 0xde
je 0x8de58e
ja 0x8de58f
ja 0x8de4e7
into
arpl word [edi + esi*2 + 0x77], si
int 0x7b
sbb esi, dword [ebp + 0x3d]
je 0x8de593
ja 0x8de4eb
jnp 0x8de53b
jne 0x8de55f
inc edi
aaa
js 0x8de51a
js 0x8de51a
or dword [eax + 0x739e8888], 0xe0777777
push ds
mul dword [0x482c2c2d]
and eax, 0x482c2c2d
mov ebx, 0x7a2bf5f0
jnp 0x8de5bb
cmc
sub edi, dword [edx + 0x7b]
jnp 0x8de4fb
mov edx, 0xd0897992
and al, 0xf0
xchg edx, eax
jns 0x8de4cd
shl byte [eax + esi*8], 1
cmc
das
jp 0x8de5c6
jnp 0x8de507
xchg edx, eax
jns 0x8de4d9
fisub word [0x7b47e5f0]
and eax, 0x7b47e5f0
invalid
inc edi
jnp 0x8de5d3
jnp 0x8de5d4
jnp 0x8de582
sub byte [esp + eax*8 + 0x27], dh
je 0x8de520
daa
dec eax
jge 0x8de581
and edx, edi
cli
mov ecx, 0x7b7b7b83
cmp dword [ebx + 0x7b], 0x7b
jnp 0x8de5e0
jnp 0x8de5e1
jnp 0x8de5df
js 0x8de515
lodsd eax, dword [esi]
cli
cmp byte [ebx + 0x7b], 0x7b
jnp 0x8de5e3
jmp dword [ebx + edi*2 + 0x7b]
stosb byte es:[edi], al
lock sub ch, byte [ebx - 4]
stosb byte es:[edi], al
js 0x8de580
add dword [edi + 0x78], esi
ja 0x8de5f9
js 0x8de58b
or dword [edi - 0x77], ebp
fbld tbyte [0x7b53b9fa]
outsd dx, dword [esi]
mov edi, ebx
and al, 0x25
cli
mov ecx, 0x7b7b7b53
jnp 0x8de608
xor byte [edx - 0x7b7b7b52], dl
xchg edx, eax
scasb al, byte es:[edi]
test byte [esp + eax*4 + 0x7b3b7b13], al
jnp 0x8de5ac
adc edi, dword [ebx + 0x3b]
jnp 0x8de613
adc edi, dword [ebx - 0x49]
jnp 0x8de552
push edi
jnp 0x8de5cb
test dh, ch
cmp ebx, dword [edx + 0x3f]
pop edx
aas
jnp 0x8de5a1
test eax, esi
add eax, 0x4cc7f047
fstp xword [ebx + 0x7b]
jnp 0x8de629
test esi, esi
and eax, 0x7b90fa7b
jnp 0x8de5f5
jnp 0x8de5b8
cld
xor eax, 0x81fc7b01
invalid
cmp dword [ebx + 0x7b], 0xff747b7b
je 0x8de5cc
invalid
cmp eax, 0x787b7b7b
lodsd eax, dword [esi]
cli
mov esp, 0x7b7b7b73
cli
xchg edx, eax
jae 0x8de658
jnp 0x8de65a
cli
cmp byte [ebx + 0x7b], 0x7b
jnp 0x8de65a
jnp 0x8de65e
jnp 0x8de660
je 0x8de5e6
jmp [ebx + 0x1d848484]
stosd dword es:[edi], eax
test byte [esp + eax*4 - 0x45830fe3], al
test byte [0x93ba7cf0], bl
xchg ebx, eax
ja 0x8de5ea
wait
je 0x8de5ef
cli
cmp dword [eax + 0x7b], 0x7b
jnp 0x8de66f
invalid
jnp 0x8de682
mov ecx, 0x3232637a
clc
mov esp, 0x84b39279
mov bl, 0x84
test byte [edx + edx*4 + 0x7b7b7b7f], al
xchg edx, eax
jg 0x8de695
jnp 0x8de697
test byte [edi], ah
not dl
ret
lds edi, [edi + 0x7b]
jnp 0x8de5f0
test byte [edx + 0x7b], bh
jnp 0x8de5f4
jle 0x8de617
and eax, 0x3b6b4b25
xor dh, byte [esi + edi*8 - 0x73]
test byte [esp + eax*4 + 0x7b7b7f92], al
jnp 0x8de6c5
scasd eax, dword es:[edi]
enter 0xfffffffffffff565, 0
inc edx
cmc
ret 0xfe49
std
add dword [edx + 0x7e], esi
jb 0x8de6d8
jno 0x8de656
jecxz 0x8de6dc
jle 0x8de6de
jmp 0xe9ffed5a
xchg byte [esi + 0x7e], bh
jle 0x8de6f2
jle 0x8de6f1
jle 0x8de6e6
jno 0x8de671
sti
jb 0x8de6f6
jle 0x8de6f8
cmc
cmp dword [edx + 0x7d], esi
mov eax, 0x2eeb812e
pop edi
pop edi
cmp bh, byte [esi - 3]
std
add dword [edx + 0x7e], esi
jno 0x8de686
adc edi, dword [esi + 0x7e]
jle 0x8de68e
jle 0x8de70e
std
add dword [esi + 0x7e], edi
jno 0x8de691
sti
je 0x8de716
jle 0x8de717
jle 0x8de718
jle 0x8de698
std
add dword [esi + 0x7e], ebp
jno 0x8de69a
xor edi, dword [esi + 0x7e]
jle 0x8de6d0
sub esp, dword [ecx + edi*8]
xor ebp, 3
outsb dx, byte [esi]
stc
cmp dword [ebp - 0x70], 0xfffffffd
std
add edi, dword [esi + 0x7e]
jno 0x8de6b0
dec ecx
jle 0x8de737
jle 0x8de6b4
xchg edi, eax
cmc
pop ss
jle 0x8de6b9
xchg edi, eax
sub al, 0x75
mov bh, 0x71
idiv dword [eax + 0x7e]
jno 0x8de6be
js 0x8de747
jle 0x8de749
das
xchg edi, eax
ja 0x8de74d
jle 0x8de74f
jle 0x8de74f
jge 0x8de683
mov al, 0xff
mov edi, 0x7e7e7e7c
das
invalid
jle 0x8de709
sub esp, 0x7e3a5f36
and al, 0xf7
cmp edi, dword [esi + 0x26]
in al, dx
pop edi
pop edi
cmp bh, byte [esi + 0x24]
idiv dword [ebx]
jle 0x8de70c
invalid
and edi, edi
mov ecx, 0x7e7e7e6a
invalid
jle 0x8de776
xchg edi, eax
daa
add dword [ecx - 0x7ee5d57f], 0x7e7e7e4b
jle 0x8de71c
cmp byte [esi + 0x2b287e33], dl
jle 0x8de733
sub esi, ebp
cmc
cmp byte [edx - 0xb], al
inc edx
cmc
cli
dec esi
push es
jle 0x8de793
jle 0x8de794
jge 0x8de6d0
mov eax, 0x7e62beff
invalid
jle 0x8de79c
out dx, al
cmc
jle 0x8de711
jge 0x8de6dd
out dx, al
cmc
jle 0x8de718
jge 0x8de6e4
cmc
mov dh, 0x2e
adc al, 0x7e
adc al, 0x7f
sub ebp, eax
cmc
push cs
inc edx
call 0x56dce232
jle 0x8de7bd
jle 0x8de7be
mov eax, 0x2a9e812f
push ss
sbb ebx, dword [esi + 0x3b]
adc byte [edi], dl
cmp edx, dword [eax]
pop ss
sbb dword [ebx], edx
pop ds
adc ebx, dword [edi]
pop esi
or al, 0x11
or bl, byte [ebx]
sbb eax, 0x5e0c110a
or byte [ebx], bl
or al, 0xd
pop ss
adc dword [eax], edx
pop esi
dec edi
push eax
dec ebp
dec edi
jae 0x8de7dc
cmp bl, byte [ebx]
or byte [ebx], bl
adc dl, byte [ecx]
push cs
sbb ecx, dword [esp + eax*2]
pop esi
sub byte [edx], dl
pop ds
sbb dl, byte [edi]
adc edx, dword [edi]
or al, 0x5e
sub eax, 0x1116150b
or byte [ebx + 0x74], dh
sub eax, 0x5e1b0a17
inc esp
pop esi
push ss
or cl, byte [edx]
push cs
inc esp
push ecx
push ecx
or dword [ecx], ecx
or dword [ecx], ecx
push eax
sbb edx, dword [eax]
pop ss
or dword [eax + 0x1b], edx
adc byte [edi], dl
sbb dword [ebx], edx
pop ds
push cs
or al, 0x11
or bl, byte [ebx]
sbb eax, 0x500c110a
sbb eax, 0x73511311
je 0x8de7e8
push ebx
adc ebx, dword [edi]
pop ss
adc bl, byte [esi + 0x44]
pop esi
or eax, 0x110e0e0b
or al, 0xa
sbb edx, dword ds:[eax]
sbb edx, dword [eax]
adc byte [edi], dl
pop ss
sbb dword [ebx], edx
pop ds
push cs
or al, 0x11
or bl, byte [ebx]
sbb eax, 0x500c110a
sbb eax, 0x74731311
sub dl, byte [esi]
pop ss
or eax, 0x110c0e5e
sbb dword [edi + ebx], ecx
pop ds
adc ebx, dword [esi + 0x17]
or eax, 0x110c0e5e
or bl, byte [ebx]
sbb eax, 0x5e1a1b0a
or dword [edi], edx
or bl, byte [ebx]
sbb bl, byte [esi + 9]
pop ss
or dl, byte [esi]
pop esi
sub al, 0x3b
cmp dword [edi], esi
sub eax, 0x3b2c3b2a
cmp bl, byte [esi + 0x28]
cmp ebp, dword [ebp + 0x5e303137]
adc dword [eax], ebx
pop esi
sub dl, byte [esi]
sbb ebx, dword [esi + 0x3b]
adc byte [edi], dl
sbb dword [ebx], edx
pop ds
pop esi
or al, 0x11
or al, 0x11
or bl, byte [ebx]
sbb eax, 0x731a1b0a
je 0x8de85d
adc dl, byte [edx]
pop esi
or al, 0x17
sbb dword [esi], edx
or cl, byte [0xd1b0c5e]
sbb ecx, dword [eax + ecx]
sbb ebx, dword [edx]
pop edi
jae 0x8de8a7
xor dl, byte [edi]
or eax, 0x1b1d101b
pop esi
push ss
adc dword [edx], edx
sbb bl, byte [ebx]
or al, 0x44
pop esi
pop ebx
or eax, 0x57e
add byte [ebp + 0xf], ah
add byte [eax], al
mov al, byte [0x230000ec]
pushfd
lcall 0x895e, 0x65860c00
sub al, 0x1a
add ecx, dword [ecx]
int 0x5c
in al, 0xba
sub al, 0x64
aam 0xb9
dec esi
pop ecx
js 0x8de813
mov bh, al
cmp esp, esi
outsd dx, dword [esi]
and al, 0x90
adc cl, bl
fnstcw word [eax + 5]
sub dword [edx + 0x5917f22c], 0xffffffc1
out dx, al
inc eax
aam 9
fistp dword [ebp - 0x45]
cmp ecx, dword [esp + edx*2 + 0x42]
dec esp
push esp
inc edx
mov dword [0xe588b612], eax
stc
cmp eax, 0x2dd392a3
and esp, dword [ebx + 0x70e783f2]
sub eax, 0x83f2a323
out 0x70, eax
mov ebp, 0x2d7e7d1c
les esi, [eax]
jnp 0x8de895
insd dword es:[edi], dx
cmp byte [ebx - 0xbd39d37], al
or ecx, 0x62
sub al, 0xf4
popfd
and esp, 0x14808be9
pop edx
jnp 0x8de888
cmc
mov byte [0x89430bf], al
loop 0x8de938
mov byte es:[eax], dh
or byte [ebx + 0xd], 0x7e
and al, bl
retf 0x8956
and cl, byte [eax + 0x1a7054fa]
mov ebp, 0x5dc186ec
jmp 0x35fef035