Function at 0xd939ec
Capabilities:
Encode data using xor

Disassembly:
jmp 0xd939f6
pushal
call 0xd939fc
pop ebp
sub ebp, 0x10
sub ebp, 0x9939ec
jmp 0xd93a12
add cl, ch
add al, 0
add byte [eax], al
sub dword [ecx + edi*4], edi
test dword [eax + 0x9939ec], edi
mov eax, 0x9939ec
add eax, ebp
add eax, 0x4c
mov ecx, 0x5b3
mov edx, 0x8d17f41f
xor byte [eax], dl
inc eax
dec ecx
jne 0xd93a29
jmp 0xd93a3c
add byte [eax], al
int 0xcb
in al, dx
dec edi
xchg esp, eax
rcl byte [esi + edx*4 + 0x1f1f1f23], cl
sahf
fsubrp st(7)
pop ds
pop ds
pop ds
sbb al, 0xd2
cmpsd dword [esi], dword es:[edi]
sbb ebx, dword [edi]
pop ds
pop ds
movsd dword es:[edi], dword [esi]
aaa
pop ds
pop ds
pop ds
call 0x95b05758
sahf
adc ebx, dword [edi]
pop ds
pop ds
sbb al, 0xda
xchg edx, eax
jnp 0xd93aa0
jecxz 0xd939fd
sbb edi, dword [ebx]
dec edi
ja 0xd93a7b
lds eax, [eax]
pop ds
ja 0xd93a36
inc eax
pop ds
push ds
xor edi, dword [ebx]
ja 0xd93a08
scasb al, byte es:[edi]
jne 0xd93a1f
mov dword [0x1f1f1af7], eax
neg dword [edx]
pop ds
pop ds
pop ds
div byte [0x4a1f1f1f]
pop ds
pop ds
pop ds
dec edx
xchg edx, eax
jae 0xd93ac5
pop ds
xchg esp, eax
lcall 0x8a94, 0x1f1f1f17
adc ebx, dword [edi]
pop ds
pop ds
xchg esp, eax
xchg edx, eax
nop dword [edi]
pop ds
fdivrp st(6)
sbb eax, 0xdd9c1d2e
sbb edx, dword [esi + 0x10]
lcall 0xdd42, 0xe0e0e0eb
adc ebx, dword [edi]
sbb eax, 0x561bdd9c
adc byte [edx - 0x1f1f1f15], bl
inc edx
fst qword [ebx]
pop ds
xchg esp, eax
xchg ebx, eax
cmp ebx, dword [ebx]
pop ds
sbb ebx, dword [edi]
pop ds
pop ds
ja 0xd93ac8
lds eax, [eax]
pop ds
ja 0xd93a83
inc eax
pop ds
push ds
xor edi, dword [ebx]
xchg edx, eax
jnp 0xd93b02
jecxz 0xd93a5f
xchg esi, eax
adc edi, dword [ebx]
neg dword [edx]
pop ds
pop ds
pop ds
mul byte [esi]
sbb eax, 0x944a1f1f
loopne 0xd93b44
adc esp, eax
push 0x17
div dword [ebx + 0x1f]
pop ds
pop ds
xchg esp, eax
mov byte [0x1f1f1f17], al
sub al, 0xd6
sub al, 0xcd
pushfd
neg dword [edx]
push edi
adc byte [ebx + 0x1f1f1f51], bl
adc byte [edi + 0x1f1f1f57], dl
jns 0xd93a93
add esp, dword [esi]
lahf
in al, 0xf7
adc byte [ebx + 0x1f1f1f05], bl
not dword [eax]
wait
add eax, 0x9f1f1f1f
lahf
in al, 0xf6
adc byte [ebx + 0x1f1f1f0e], bl
jns 0xd93ab3
in al, 0xe0
cmp dl, byte [eax]
wait
or bl, byte [edi]
pop ds
pop ds
pop esi
not bl
loopne 0xd93b03
loopne 0xd93b5b
push ebx
push ds
pushfd
ficomp word [edx]
pushfd
neg dword [ebx]
mul byte [edx + 0x36e0e0e0]
dec ebx
sbb eax, 0x9c19de9c
cmc
sbb ebx, dword [edi + esi*8 - 0x1f4b09e6]
loopne 0xd93b25
loopne 0xd93ada
xchg esp, eax
xor edi, dword [ebx]
xchg edx, eax
jnp 0xd93b86
sbb ebx, ebp
adc ebx, dword [edi]
dec edx
xchg esp, eax
dec ecx
dec eax
dec edx
xchg esp, eax
push 0x13
xchg esp, eax
bound edx, qword [edi]
jecxz 0xd93b0a
lahf
xchg ebp, eax
sbb dword [esi + 0x1f1f1ed9], ebx
pop ds
xchg edi, eax
sbb byte [esi + 0x1f1f1ed8], bl
pop ds
movsb byte es:[edi], byte [esi]
sbb eax, 0x1d1f1f1f
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0xc79c10cd
loopne 0xd93b65
loopne 0xd93ba4
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
pushfd
jne 0xd93bb6
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x759c10cd
pop ds
pop ds
pop ds
sub al, 0xdf
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
pushfd
xor eax, 0x1d1f1f1e
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x1ddf0ccd
int 0x10
lcall 0x995, 0x1f1f1f1a
pop ecx
or eax, 0x10df0ccd
push ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fist word [eax]
wait
sbb dword [edi], ebx
pop ds
pop ds
xchg esp, eax
sal byte [edi + eax*8], 0x95
sbb al, 0x97
sbb byte [eax - 0x5c], bl
sbb eax, 0xf61f1f1f
outsd dx, dword [esi]
loopne 0xd93be2
loopne 0xd93bab
push ds
pop ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
fistp word [0x1a9a10cd]
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0xd93c5f
fsub qword [esi + ebx + 0x101f1f1f]
lcall 0x1ea6, 0x1f1f1f2b
pop ds
pop ds
pop ds
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
salc
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0xd93ca8
xchg esp, eax
call 0xbcc62699
inc ecx
not byte [edi]
loopne 0xd93c4a
loopne 0xd93cc3
fdivp st(7)
pop ss
xchg ebp, eax
sbb dword [ecx - 0x6c], ebx
mul dword [esi + 0x1f1f1f1e]
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0xc
salc
sbb eax, 0x1a9a10cd
pop ds
pop ds
pop ds
xchg ebp, eax
or dword [ecx + 0xd], ebx
int 0x10
popfd
shl eax, 0xe0
loopne 0xd93c3a
out 0x1f, eax
bound ebx, qword [edi]
pop ds
sahf
invalid
out 0x1f, eax
sbb bl, byte [edi]
pop ds
sahf
invalid
pop ds
pop ds
sahf
into
pop ds
pop ds
pop ds
pop ds
dec ecx
xchg esp, eax
call 0xbcc62c06
inc ecx
test byte [ecx + 0x1995e0e0], 0x59
sub al, 0xd6
fcompi st(7)
push ds
adc byte [ebx + 0x1f1f1f05], bl
sahf
into
sbb eax, 0x941f1f1f
test dword [ecx - 0x6c], 0xecef34e8
mov ebx, 0x1f1ea441
pop ds
pop ds
imul byte [ecx - 0x20]
loopne 0xd93d43
xor al, 0x62
pop ss
xchg esp, eax
fadd dword [eax + 0x41]
xchg esp, eax
cli
inc edx
fst qword [edi]
pop ds
inc eax
inc ecx
neg byte [ebx]
pop ds
pop ds
pop ds
cmp dword [edx - 0xc5831c4], esp
xchg byte es:[edi], bl
sbb al, 0xda
sahf
fisttp word [esp + ebx + 0x1f]
pop ds
cmpsb byte [esi], byte es:[edi]
mov bl, 0x1d
pop ds
pop ds
movsd dword es:[edi], dword [esi]
retf
dec esp
xor eax, 0xbc403c4c
test dword [esp + edi + 0x40], 0xcb6bfc77
retf