Function at 0x8de308
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8de30e
pop ebp
sub ebp, 6
sub ebp, 0x4de308
jmp 0x8de36c
std
mov dh, 0x4a
shl ch, 1
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]
mov ebp, 0x77e2a302
mov byte [esi - 0x10], bh
shl dword [edi - 0x17], 1
add al, 0
add byte [eax], al
aaa
jge 0x8de399
jmp 0x8de375
xchg ebx, eax
mov eax, 0x4de308
add eax, ebp
add eax, 0x93
mov ecx, 0x62d
add byte [ecx + 0x62d], bh
mov edx, 0x95a7e7d
xor byte [eax], dl
inc eax
dec ecx
jne 0x8de38c
jmp 0x8de39f
add byte [eax], al
das
jno 0x8de342
pop ss
cmp eax, 0x7d6d7d15
jge 0x8de3bc
jge 0x8de35a
mov cl, 0x51
push ecx
jge 0x8de3a8
lea esp, [ebx + 0x51]
xor ecx, dword [edx + 0x51638dfc]
xor ecx, dword [edx - 0x7dd242b2]
call 0x7dc74001
sub eax, 0xf4f6b0f6
inc ecx
inc ecx
pop esp
cmp dword [ebp + 0x2d], edi
div byte [eax + 0x7d41f4f6]
jge 0x8de446
jge 0x8de445
jge 0x8de3c6
cld
mov esp, 0x7d7d7d85
jle 0x8de381
lds edi, [ebx + 0x7d]
jge 0x8de453
invalid
mov bl, byte [edi - 0x3094a82]
jno 0x8de460
jge 0x8de462
jle 0x8de39f
sub eax, 0x744ac315
jge 0x8de403
xor al, 0xd6
cmp dword [ebp + 0x7c], edi
push ecx
pop ecx
adc eax, 0x7d7d7d7d
xchg ebp, eax
js 0x8de47a
jge 0x8de47c
xchg esp, eax
push ebp
jge 0x8de480
jge 0x8de42d
not byte [ecx + 0x7d75f8f6]
jge 0x8de48a
imul al
jno 0x8de48e
jge 0x8de490
div al
insd dword es:[edi], dx
jge 0x8de495
jge 0x8de3d6
xchg esp, eax
jg 0x8de469
jg 0x8de41d
mov edi, 0xf8723479
mov dword [edx - 0x40df7d7e], eax
jno 0x8de4a9
div cl
int1
pop ecx
jns 0x8de4ae
jge 0x8de4b0
adc eax, 0x7d744ac3
adc eax, 0x7d39d634
jl 0x8de490
pop ecx
sub al, 0x95
js 0x8de4c1
jge 0x8de4c3
jge 0x8de3db
xchg esp, eax
cmp al, 0x7f
jge 0x8de4c8
sub al, dh
adc dword [ecx + 0x7d], ebx
or byte [eax], 0x71
or byte [eax], 0x75
xchg ebp, eax
invalid
jge 0x8de4d8
test al, 0x75
jge 0x8de4dd
jge 0x8de4b0
mov ah, 0xfc
invalid
cld
invalid
jge 0x8de4ee
cmc
xor eax, 0x1b7d7d7d
jge 0x8de49d
mul byte [ecx + 0x44]
std
xchg byte [ebp + 0x7d67f972], dl
jge 0x8de50a
jge 0x8de50b
jge 0x8de48c
std
xchg byte [edx + esi*2 + 0x7d7d6cf9], dl
xchg esp, eax
jb 0x8de48c
insb byte es:[edi], dx
jge 0x8de513
jge 0x8de514
jge 0x8de4b3
sbb edi, esp
cld
xchg byte [edx + 0x68f97258], al
jge 0x8de51e
stc
push 0x3c7d7d7d
jge 0x8de4df
cmp al, 0x94
xchg esp, eax
mov cl, 0x82
add byte [edx + 0x7c443154], 0xfe
xor dword [esp + edi*2 - 2], eax
mov esp, 0x7995fe78
xchg esp, eax
js 0x8de4ae
xchg ebp, eax
jns 0x8de447
rol byte [edx + 0x29548282], 0x44
add byte [edx + 0x7f442954], 0xfe
jg 0x8de4ba
mov esp, 0x7997fe7b
invalid
js 0x8de459
salc
add byte [edx + 0x71bf2082], 0x7d
and byte [eax], 0xbf
jno 0x8de54a
mov edi, 0xf6287d71
sub dh, dh
xchg ecx, eax
sub ebp, dword [edx]
sub dh, dh
or byte [ecx - 0xa], dh
add byte [ebp - 0x7f], dh
jne 0x8de45b
iretd
std
idiv dword [ebx - 4]
jnp 0x8de4db
mov ebx, 0x7d7d7d7c
cmc
jge 0x8de4da
jp 0x8de4e3
mov edx, 0x7d7d7d7c
invalid
jg 0x8de56c
jge 0x8de56d
jge 0x8de56e
jge 0x8de571
jg 0x8de4a2
scasd eax, dword es:[edi]
jb 0x8de4ed
js 0x8de574
jge 0x8de576
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
cmp ebp, dword [edi - 0x51]
jb 0x8de4fe
movsd dword es:[edi], dword [esi]
add byte [edx + 0x72af7f82], 0xf8
jg 0x8de4b5
jb 0x8de500
js 0x8de587
jge 0x8de589
jge 0x8de504
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
imul edi, dword [ebx], 0x6f
scasd eax, dword es:[edi]
jb 0x8de511
pop ss
jge 0x8de593
jge 0x8de594
jge 0x8de566
dec esi
mov ebp, 0xf872af7f
jg 0x8de4ca
jb 0x8de515
js 0x8de59c
jge 0x8de59d
jge 0x8de59e
jge 0x8de519
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
imul edi, dword [ebx], 0x6f
scasd eax, dword es:[edi]
jb 0x8de526
push edi
jl 0x8de5a8
jge 0x8de5ac
scasd eax, dword es:[edi]
jb 0x8de528
js 0x8de5af
jge 0x8de5b1
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
js 0x8de5be
jge 0x8de5c0
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
jg 0x8de4fb
jb 0x8de546
js 0x8de5cd
jge 0x8de5cf
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
js 0x8de5dc
jge 0x8de5de
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0x7d7bf972
stc
jnp 0x8de5e9
jge 0x8de5ea
jge 0x8de5eb
jge 0x8de565
mul byte [edx + 0x7ef7a556]
mov byte [0x7ef7a556], al
movsd dword es:[edi], dword [esi]
idiv dword [esi - 0xb]
cmc
jp 0x8de5b1
cmp al, dh
jg 0x8de5f7
invalid
jge 0x8de5f9
xchg esp, eax
or eax, 0xc5828282
jl 0x8de601
jge 0x8de603
jg 0x8de537
scasd eax, dword es:[edi]
jb 0x8de582
clc
js 0x8de609
jge 0x8de60b
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ebp, 0xf872af7f
jg 0x8de546
jb 0x8de591
js 0x8de618
jge 0x8de61a
jge 0x8de595
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
imul edi, dword [ebx], 0x6f
scasd eax, dword es:[edi]
jb 0x8de5a3
jmp dword [ebx + 0x56828282]
mov dword [0x56828282], eax
push esi
mov esi, 0x7d7d7cc6
jge 0x8de62b
jge 0x8de622
jb 0x8de5a9
clc
dec ecx
jge 0x8de631
jge 0x8de57a
jl 0x8de635
jge 0x8de636
jge 0x8de637
jge 0x8de63a
jg 0x8de56b
scasd eax, dword es:[edi]
jb 0x8de5b6
js 0x8de63d
jge 0x8de63f
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ah, 0x7f
scasd eax, dword es:[edi]
jb 0x8de5c5
js 0x8de64c
jge 0x8de64e
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
jb 0x8de5d7
jmp dword [ebx + 0x2b828282]
mov dword [0x2b828282], eax
test byte [edx - 0x267177aa], 0x23
xchg esp, eax
sub esi, esi
mov dl, byte [esi - 0x78]
mov ds, ecx
and edx, dword [ebp + esi*2 + 0x35828282]
jne 0x8de569
add byte [edx + 0x759dbc35], 0xf7
xor eax, 0xf7759dbc
mov esp, 0x7bf7759d
cmp esi, esi
xchg ebp, eax
les edi, [ebp + edi*2 + 0x7d]
popfd
jne 0x8de5e5
jnp 0x8de62b
not byte [ebp + 0x7d7d7cc4]
jl 0x8de672
jge 0x8de674
jge 0x8de677
jg 0x8de5a8
scasd eax, dword es:[edi]
jb 0x8de5f3
js 0x8de67a
jge 0x8de67c
imul dword [ebx + 0x3b]
cmp ebp, dword [edi - 0x51]
outsd dx, dword [esi]
scasd eax, dword es:[edi]
outsb dx, byte [esi]
mov ah, 0x7f
scasd eax, dword es:[edi]
jg 0x8de5b7
jb 0x8de602
clc
js 0x8de689
jge 0x8de68a
jge 0x8de68b
jge 0x8de606
imul dword [ebx + 0x3b]
outsd dx, dword [esi]
imul edi, dword [ebx], 0x6f
scasd eax, dword es:[edi]
jb 0x8de614
jmp dword [ebx - 0x37d7d7e]
mov dword [0xfc828282], eax
cmp ah, 0x85
jge 0x8de61d
test dword [ebp], edi
jge 0x8de69c
cld
movsb byte es:[edi], byte [esi]
add byte [edx - 0x7a037d7e], 0x7d
add byte [edx + 0x7d85fc82], 0x78
jge 0x8de6a8
js 0x8de6a7
jge 0x8de628
cld
movsb byte es:[edi], byte [esi]
add byte [edx - 0x7a037d7e], 0xfd
cld
test ebp, edi
jge 0x8de6b3
jge 0x8de6b4
jge 0x8de634
cld
lodsb al, byte [esi]
jge 0x8de6b8
jge 0x8de6b9
jge 0x8de6ba
jge 0x8de63a
cld
test ebp, edi
std
jge 0x8de6bf
jge 0x8de640
lodsb al, byte [esi]
jge 0x8de6c4
jge 0x8de6c6
sub esi, esi
mov dl, byte [esi - 0x73]
push esi
lea ecx, [esi - 0x196bdc27]
add dword [edx + 0x3b7bf782], 0x4e
mov ds, ecx
and edx, dword [esi - 0x87d7d7d]
jnp 0x8de694
xor bh, 0x7b
cmp ecx, dword [esi - 0x4c]
mov ebp, 0xf9727c95
idiv dword [ebx + 0x3b]
dec esi
mov ah, 0xbd
xchg ebp, eax
jl 0x8de6d1
stc
jge 0x8de6e0
jge 0x8de6e0
jge 0x8de661
lodsb al, byte [esi]
jg 0x8de6e5
jge 0x8de6e7
not byte [ebp + 0x568af62b]
lea ecx, [esi + 0x7cc623d9]
jge 0x8de6f5
mov ds, ecx
and eax, esi
jl 0x8de6f4
fldenv [ebx]
invalid
jge 0x8de6f6
jge 0x8de60e
xchg esp, eax
push cs
add dword [edx + 0x562082], 0x75
idiv byte [edx - 0x6709dcde]
add byte [edx + 0x75005620], 0xf6
mov edx, 0x98f62322
and byte [edi + 0x23227d75], bh
mov edi, 0x23227d75
jne 0x8de709
jge 0x8de6af
and ah, byte [ebx]
and edx, dword [ecx + edi*2 - 0x4e828283]
xchg esp, eax
jns 0x8de70e
jge 0x8de710
mov cl, 0x38
cmp byte [edi - 0x2d], bl
lds esi, [ebp - 0x62]
pop edi
rol ebp, cl
jne 0x8de638
xor byte [ebp + 0x7e], bh
mov eax, 0x7ec8bdfc
jge 0x8de721
jle 0x8de656
cld
mov ebp, 0x7d7d7ec8
les esi, [esi + 0x7e]
jge 0x8de726
jge 0x8de671
invalid
ja 0x8de6cc
push edi
iretd
insd dword es:[edi], dx
cmp eax, 0x8bf87234
add byte [edx + 0x7d799482], 0x7d
clc
mov eax, dword [edx + 0x79948282]
xchg esp, eax
jns 0x8de738
jge 0x8de739
jge 0x8de73a
jge 0x8de734
jbe 0x8de725
fisub word [ecx]
fisub word [ecx]
and byte [eax], ah
inc esp
mov bh, 0xfc
cld
stc
daa
jbe 0x8de742
ja 0x8de683
mov dh, 0x9e
sahf
jne 0x8de655
fsubr qword [eax]
cld
sub ah, bh
stc
and esi, dword [esi + 0x77]
ja 0x8de68f
sahf
jne 0x8de661
shr byte [eax], cl
sub esp, edi
jmp 0x78055e30
ja 0x8de75b
ja 0x8de70a
and al, 0x78
js 0x8de6b0
enter 0x442b, 0x71
sub eax, 0x778fb5f6
ja 0x8de769
sub eax, dword [ecx + esi*2 + 0x2d]
div byte [ebp + 0x7777778f]
ja 0x8de768
ja 0x8de767
je 0x8de695
mov eax, dword [0x77778cf6]
test byte [edi + esi*2 + 0x78777777], 0xf3
invalid
ja 0x8de76f
ja 0x8de771
js 0x8de6ef
push 0x21777777
and al, dh
cmpsb byte [esi], byte es:[edi]
cld
invalid
je 0x8de718
or eax, 0x6305747b
test ebx, edx
sub byte [ecx], ch
div byte [ebp + 0x7777775f]
cmp al, 0x9e
jnp 0x8de781
add eax, 0x28d38563
arpl word [ebp - 0x9d6d72d], ax
shr dword [eax], cl
sub esi, esi
mov ch, 0x5f
ja 0x8de78f
ja 0x8de756
sahf
mov byte [0x1f888888], al
ja 0x8de759
aaa
ja 0x8de79b
pop ds
ja 0x8de6e2
mov ebx, 0x8821775b
loop 0x8de764
pop ebx
ja 0x8de74b
mov dl, ah
aaa
push esi
xor esi, dword [edi - 0x10]
mov eax, esi
cmp ah, 0
dec ebx
invalid
invalid
cld
add byte [ebx - 0x10], cl
cmp ah, 0xcb
inc eax
xlatb
ja 0x8de7b6
cld
retf
ja 0x8de7b5
mov dword [ecx], esp
sub al, 0xf6
and dword [esi + esi*8], ebp
pushfd
ja 0x8de7bf
ja 0x8de780
aaa
ja 0x8de747
and byte [edi - 4], dh
cmp byte [ebx - 0xa], dh
lea esi, [edi + 0x77]
ja 0x8de7cd
js 0x8de74b
xor dword [edi + 0x77], esi
ja 0x8de7d2
ja 0x8de7d1
mov eax, dword [0x777fb0f6]
ja 0x8de7db
ja 0x8de7da
ja 0x8de75b
neg byte [esi + 0x7777777f]
sahf
jg 0x8de7df
ja 0x8de7e0
ja 0x8de7e1
ja 0x8de761
test byte [esi + 0x77777777], 0x78
invalid
ja 0x8de7e9
mov dword [0x11888888], eax
cld
adc esp, edi
jo 0x8de730
mov dh, 0x9f
lahf
jnp 0x8de771
xchg edi, eax
js 0x8de776
invalid
je 0x8de7fa
ja 0x8de7fc
js 0x8de779
jp 0x8de800
ja 0x8de802
adc esp, edi
jo 0x8de785
xchg edi, eax
mov byte [eax + 0x77], bh
ja 0x8de809
mov ch, 0x76
outsd dx, dword [esi]
hlt
mov al, 0x75
sahf
mov edi, 0x9e888888
jae 0x8de81c
ja 0x8de81e
mov dl, 0xb2
jl 0x8de7ac
iretd
jg 0x8de742
cmp dh, byte [edi + 0x74]
mov dl, 0xf6
mov bh, 0xbe
jae 0x8de82e
ja 0x8de82f
ja 0x8de787
into
xor byte [esi + 0x77], 0x77
int 0x2c
jbe 0x8de833
ja 0x8de78b
sub al, 0xb3
inc esp
mov bl, 0x44
adc al, byte [edi + 0x67]
aaa
js 0x8de7ba
or dword [eax + 0x739e8888], 0xf2777777
jae 0x8de846
ja 0x8de848
fmul dword [eax - 0x6e]
fmul dword [eax - 0x6e]
cmpsd dword [esi], dword es:[edi]
push edx
adc byte [edi + 0x2cac1b90], ah
sub al, 0x2c
sbb ebp, dword [esp + ebp - 0x2dd0d3d4]
lodsb al, byte [esi]
sub al, 0x2c
sub al, 0x2f
das
shr byte [edi + 0x232c2053], cl
scasd eax, dword es:[edi]
push ebx
and byte [ebx], ch
test al, 0xbb
sub al, 0x2c
sub al, 0xa7
sub al, 0x2c
cmpsd dword [esi], dword es:[edi]
imul esp, dword [eax], 0x2f
ljmp 0x680d
sub al, 0x2c
sub al, 0x23
test eax, 0x2c2c2c20
cmpsd dword [esi], dword es:[edi]
sub al, 0x2c
sub al, 0xa7
imul esp, dword [eax], 0x2f
das
ljmp 0x680d:0x7cb9d37c
sar dword [ecx + 0x2c680d7c], cl
scasd eax, dword es:[edi]
push ebx
and byte [ebx], ch
push 0x2053af2c
sub al, 0x23
test al, 0x45
sub al, 0x2c
sub al, 0xaf
push ebx
sub al, 0x2c
and ebp, dword [ecx + 0x2c2c2c26]
sub al, 0x23
test eax, 0x2c2c2c26
scasd eax, dword es:[edi]
push ebx
cmp al, 0x2c
and ebp, dword [eax + 0x2c2c2c65]
jns 0x8de7d6
cmpsd dword [esi], dword es:[edi]
stc
cmpsd dword [esi], dword es:[edi]
inc ebx
cmp al, 0x2f
das
ret 0x51af
jl 0x8de8c6
daa
in eax, 0x23
movsd dword es:[edi], dword [esi]
sub ch, byte [esp + ebp]
sub al, 0x7d
lds esp, [0x2f2c2c2c]
loop 0x8de806
in eax, dx
sub al, 0x2c
sub al, 0x7d
jl 0x8de834
mov esi, 0x2c680d64
jbe 0x8de80d
imul ebp, dword [esp + esi*2], 0x2c28e9ad
sub al, 0x2c
lds edx, [ebx + 0x71d3d3d3]
lodsd eax, dword [esi]
jmp 0x8de8b2
inc esi
sub al, 0x46
sub eax, 0x5ca7ba79
adc byte [edx + 0x41ca8a7], bh
sub al, 0x2c
sub al, 0x2f
ljmp 0x4944
ror esp, cl
js 0x8de90e
dec ecx
or al, 0x69
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
or al, 0x7c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
or al, 0x5a
dec ecx
pop esi
pop edi
inc ebp
inc ebx
inc edx
or al, 0x1d
add bl, byte [edi]
sbb eax, 0x49682621
pop edx
dec ecx
inc eax
inc ebx
pop esp
dec ecx
pop esi
push ss
or al, 0x7a
inc eax
dec ebp
dec eax
inc ebp
inc ecx
inc ebp
pop esi
or al, 0x7f
pop ecx
inc edi
inc esp
inc ebx
pop edx
and dword [esi], esp
jg 0x8de94e
pop eax
dec ecx
or al, 0x16
or al, 0x44
inc esp
pop eax
pop eax
pop esp
push ss
add eax, dword [ebx]
pop ebx
pop ebx
pop ebx
add cl, byte [ecx + 0x42]
inc ebp
dec ebx
inc ecx
dec ebp
pop esp
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
add cl, byte [edi + 0x43]
inc ecx
add esp, dword [ecx]
imul eax, dword es:[ecx], 0x40454d41
or al, 0x16
or al, 0x5f
pop ecx
pop esp
pop esp
inc ebx
pop esi
pop eax
insb byte es:[edi], dx
dec ecx
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
pop esp
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
inc ebx
pop esi
add cl, byte [edi + 0x43]
inc ecx
and dword [esi], esp
js 0x8de99b
inc ebp
pop edi
or al, 0x5c
pop esi
inc ebx
dec ebx
pop esi
dec ebp
inc ecx
or al, 0x45
pop edi
or al, 0x5c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
dec ecx
dec eax
or al, 0x5b
inc ebp
pop eax
inc esp
or al, 0x7e
imul ebp, dword [ebx + 0x65], 0x7e69787f
imul ebp, dword [eax + 0xc], 0x7f7e697a
arpl word gs:[edx + 0xc], sp
inc ebx
dec edx
or al, 0x78
inc esp
dec ecx
or al, 0x69
inc edx
inc ebp
dec ebx
inc ecx
dec ebp
or al, 0x7c
pop esi
inc ebx
pop eax
dec ecx
dec edi
pop eax
dec ecx
dec eax
and dword [esi], esp
insd dword es:[edi], dx
inc eax
inc eax
or al, 0x5e
inc ebp
dec ebx
inc esp
pop eax
pop edi
or al, 0x5e
dec ecx
pop edi
dec ecx
pop esi
pop edx
dec ecx
dec eax
or eax, 0x45602621
pop edi
dec ecx
inc edx
dec edi
dec ecx
or al, 0x44
inc ebx
inc eax
dec eax
dec ecx
pop esi
push ss
or al, 9
pop edi
sub al, 5
add byte [eax], al
add byte [edi + 0xf], bl
add byte [eax], al
mov al, byte [0xe0000ec]
adc al, 0xbc
jle 0x8dea15
nop
xchg byte [edi], cl
sbb cl, byte [eax]
mov cl, 0xc1
mov bh, 0x3b
or byte [eax - 0xa], 0xc7
inc ecx
invalid
sar dword [eax - 0x1d1ee560], 0xe4
rcr byte [ebx + 0x76], cl
pop ebp
mov dl, 0x98
std
invalid