Function at 0xde089c
Capabilities:
Encode data using xor

Disassembly:
jmp 0xde08a6
pushal
call 0xde08ac
pop ebp
sub ebp, 0x10
sub ebp, 0x9e089c
jmp 0xde08c2
add ch, al
mov cl, 0x96
sub edi, dword [eax + 0x9e089c]
mov eax, 0x9e089c
or byte [esi - 0x7e3afd00], bl
ror byte [eax + eax], 0
add eax, ebp
add eax, 0x4c
mov ecx, 0x5e0
mov edx, 0xf0a4d05b
xor byte [eax], dl
inc eax
dec ecx
jne 0xde08d9
jmp 0xde08ec
rcl byte [esi + 0x5b67d2d0]
pop ebx
pop ebx
ficomp dword [edx + 0x5b5b5ba3]
pop eax
xchg esi, eax
jecxz 0xde095d
pop ebx
pop ebx
pop ebx
loope 0xde0976
pop ebx
pop ebx
pop ebx
lodsb al, byte [esi]
mov ecx, 0xdad09358
push edi
pop ebx
pop ebx
pop ebx
pop eax
sahf
salc
aas
jg 0xde08bd
rcr byte [edi + 0x7f], cl
salc
aas
jg 0xde08c4
rcr byte [edi + 0x7f], cl
xor esi, dword [ebx - 0x25]
jp 0xde0980
xor ebp, dword [edi]
shl dword [edi], cl
pop ebx
pop edx
ja 0xde09ac
xor edx, dword [0xb3cb77d7]
pop esi
pop ebx
pop ebx
pop ebx
mov dl, 0x75
pop ebx
pop ebx
pop ebx
push cs
sal byte [edi + 0x5b53ded0], 1
pop ebx
pop ebx
ror dh, 1
push edi
pop ebx
pop ebx
pop ebx
rcl dh, 1
dec ebx
pop ebx
pop ebx
pop ebx
lcall 0x99d8, 0x596a59b2
pop edi
adc dl, byte [esi + ebx*8 - 0x51]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
sal byte [edi + 0x7f], 1
salc
aas
jg 0xde09c6
cdq
push edi
pop ebx
rcl bh, 1
jg 0xde09cd
pop ebx
pop ebx
pop ebx
xor esi, dword [ebx - 0x25]
jp 0xde09d1
xor ebp, dword [edi]
shl dword [edi], cl
pop ebx
pop edx
ja 0xde09fd
salc
aas
jg 0xde0929
rcl byte [edi + 0x7f], cl
mov bl, 0x5e
pop ebx
pop ebx
pop ebx
mov dl, 0xc
pop ecx
pop ebx
pop ebx
salc
aas
jg 0xde093a
sal byte [edi + 0x7f], cl
sal byte [edi - 0x5ba8d15c], 1
push ebx
mov bl, 0xdf
pop ebx
pop ebx
pop ebx
shl dh, 1
push ebx
pop ebx
pop ebx
pop ebx
fisubr dword [edx + 0x3fd598cf]
cwde
aad 0x3f
fisubr dword [edx + 0x3fd598cf]
push 0xc9a9da92
mov esi, 0xa9daed0a
leave
mov esi, 0x8968ed0a
fdiv dword [ebx - 0x20abeca2]
adc eax, 0x545b5b5b
mov bl, 0x5e
adc edx, dword [edi + ebx*8 + 0x15]
pop ebx
pop ebx
pop ebx
push esp
rcl dword [ebx], cl
pop ebx
pop ebx
adc ebx, dword [ebx + 0x5b]
pop ebx
cmp eax, 0xdb6247d0
mov al, byte [0x41df54b3]
pop ebx
pop ebx
pop ebx
invalid
pop ss
bound ebx, qword [edx - 0x28]
lcall 0xe6b2, 0x5fb3d85e
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
jb 0xde0a1c
bound ebx, qword [ecx - 0x28]
lcall 0xb3d8, 0x5fb1d85d
pop esi
mov dl, 0xf0
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
sal byte [edi + 0x7f], 1
salc
aas
jg 0xde0a83
cdq
push edi
pop ebx
push cs
sal byte [edi - 0x2ff1f3f3], 1
push edi
shl byte [esi], 1
push ebx
cmpsd dword [esi], dword es:[edi]
jmp 0xdb3bdc14
pop edx
pop ebx
pop ebx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
push esp
fistp word [ebp + 0x5b]
pop ebx
pop ebx
rol byte [eax + esi*2 - 0x2ca72e7d], 1
pop esp
sbb al, 0xe0
pop ecx
pop ebx
pop ebx
pop ebx
mov dl, 0x2b
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
jecxz 0xde0b37
pop ebx
pop ebx
pop ebx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [ecx + ebx*8 - 0x7b], edx
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
jo 0xde0a9c
loopne 0xde0b60
pop ebx
pop ebx
pop ebx
push esp
fisubr word [edi + 0x5b]
pop ebx
pop ebx
loop 0xde0b6b
pop ebx
pop ebx
pop ebx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x6e], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [ecx + ebx*8 - 0x7b], edx
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
or eax, 0xae70acd0
test al, 0xff
add eax, 0xa4a453b2
shr byte [eax + esi*2 + 0x5ffa8ae], 1
mov dl, 0x53
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
adc ebx, dword [edx + 0x5dd153bb]
sbb eax, 0x5ae2b3d0
pop ebx
pop ebx
pop ebx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x6e], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [ecx + ebx*8 - 0x7b], edx
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
fisub dword [ebx + 0x5b5b265b]
fiadd dword [edx - 0x5b5b5b5c]
fisub dword [ebx + 0x5b5b5e5b]
fiadd dword [edx - 0x5b5b5b5c]
fisub dword [ebx + 0x5b5b5bdb]
fimul dword [edx + 0x5b5b5b5b]
fisub dword [ebx + 0x5b5b5bdb]
fimul dword [edx + 0x5b5b5b5b]
or eax, 0xab70acd0
test al, 0xff
add eax, 0xa4a5c0b2
movsb byte es:[edi], byte [esi]
rcr dword [ebp + 0x1d], 1
shl byte [ebp + 0x5dd1a4a4], 0x1d
push 0x5ab39b92
push esp
fild word [ecx + 0x5b]
pop ebx
pop ebx
fimul dword [edx + 0x5b5b5b59]
sal byte [ebx + 0x70acd00d], 1
stosd dword es:[edi], eax
test al, 0xff
add eax, 0x5b5b5ae0
pop ebx
mov dl, 0x28
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
push es
jo 0xde0c01
push ebx
rcr byte [esp + eax + 0x6bed005], 1
cdq
push ebx
pop ebx
shl byte [edi + 0x7f], 1
salc
aas
jg 0xde0c4c
shr byte [edi + 0x7f], 1
salc
aas
jg 0xde0c53
mov dl, 0x5f
pop ebx
pop ebx
pop ebx
test eax, 0xe3b4c23c
invalid
pop ebx
pop eax
sahf
ficomp dword [ebx + 0x5b5b58dc]
loop 0xde0c0a
pop ecx
pop ebx
pop ebx
loope 0xde0bac
stc
jnp 0xde0c12
imul ecx, dword [ebx + 0x1b], 0x12
push esp
fisubr word [ebp - 0x4d5b5b5c]
pop edi
pop ebx
pop ebx
pop ebx
and al, 0xc8
stosd dword es:[edi], eax
add al, 0x1c
sbb al, 0x6c
adc ah, ch
cmpsd dword [esi], dword es:[edi]
sbb al, 0x6c
adc byte [edi], ah
lodsb al, byte [esi]
cmp ebx, dword [ebx + 0x65989b9b]
adc byte [ebp + 0x10], al
frstor dword [edi - 0x5054e0f0]
wait
wait
wait
mov al, 0x43
sbb al, 0x61
popal
adc cl, ah
wait
sbb al, 0x61
sbb al, 0x62
adc dl, ah
lahf
sbb al, 0x62
sbb ah, byte [ecx - 0x65]
wait
wait
wait
xchg esp, eax
pop ds
fstp qword [ebx + 0x4d989b9b]
sbb bl, byte [ebx + edx*4 - 0x65]
wait
wait
sbb dh, byte [edx - 0x6d]
wait
wait
wait
sbb ah, byte [edx - 0x65]
wait
wait
wait
xchg esp, eax
pop ds
push edi
std
adc byte [edx + ebx*2 + 0x7b189773], bl
xchg esp, eax
sbb ah, byte [ebx - 0x68]
wait
wait
wait
xchg esp, eax
push ds
xchg esi, eax
wait
wait
wait
std
adc byte [edx + ebx - 0x646b9b85], bl
wait
cwde
pop ecx
lcall 0x995c, 0x18d2d283
jb 0xde0cf7
jb 0xde0c48
wait
wait
wait
clc
sub al, 4
push 0x23
pop es
xchg ebx, eax
add eax, 0x1a5e989b
pop ebx
mov eax, dword [0x229b9b9f]
imul ebx, dword [edx + 0x52219b9b], 0xab242697
mov ebx, ebx
rcl byte [esi + ebx + 0x6464646d], cl
jb 0xde0c72
wait
wait
wait
cmpsb byte [esi], byte es:[edi]
jbe 0xde0c75
mov edi, 0x25d9a5d5
outsb dx, byte [esi]
aad 0xa5
fldz
rcl byte gs:[edx + 0x52], cl
push edx
push ecx
lodsb al, byte [esi]
shr dword [0xd65d525e], 1
out 0x52, al
push edx
push edx
invalid
pop esi
lds edx, [ecx - 0x6c]
add ch, byte [ebp + 0x2e7256c7]
push edx
shr dword [edx + 0x52525252], cl
pop ebp
xlatb
pop esp
push edx
push edx
push edx
invalid