Function at 0x3002d661
Capabilities:
Encode data using xor

Disassembly:
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
sub al, byte [eax]
add byte [eax], al
add dword [eax], edx
add byte [eax], al
add al, byte [eax]
or eax, 0x1d1000
pop es
add byte [eax], al
sbb eax, 0x700
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
dec edx
add byte [eax], al
add byte [eax + eax], cl
add byte [ebx], bl
xor byte [edx], al
add byte [edx], cl
add byte [eax], al
or al, 0
add byte [ecx], dl
add ch, byte [eax]
or dword [ecx], eax
add byte [esi], al
and eax, 0x2c280a
add byte [edx], cl
add bh, byte [ebx - 0x41]
add byte [eax], al
add al, 0x2d
add bl, dh
xor al, byte [edx]
jnp 0x3002d647
add byte [eax], al
add al, 0x18
xor ecx, dword [edx]
add ch, byte [eax]
or al, 1
add byte [esi], al
sub al, 2
ficomp word [edi]
pop ds
add dl, byte [edi]
jge 0x3002d65b
add byte [eax], al
add al, 0xde
pop es
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
add ch, byte [eax]
mov byte [eax], al
add byte [esi], al
push ss
xor dword [esi], eax
add ch, byte [eax]
push ss
add dword [eax], eax
push es
add byte [esi], al
sub al, byte [eax]
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [0x332600], cl
pop es
add byte [eax], al
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
dec esi
add byte [eax], al
add byte [ebx], al
add byte [ecx], dl
adc al, 0xa
jle 0x3002d697
add byte [eax], al
add al, 0x25
or al, 0x28
sub al, 0
add byte [edx], cl
add ch, byte [eax]
or byte [ecx], al
add byte [esi], al
or al, byte [esi]
sub eax, 0xde0b1d04
xor byte [edi], cl
add dword [esi], eax
jnp 0x3002d6b5
add byte [eax], al
add al, 0x6f
inc edx
add dword [eax], eax
or ch, byte [eax]
inc ebx
add dword [eax], eax
or ch, byte [0xde0b1d04]
sbb dh, bl
pop es
or byte [eax], ch
das
add byte [eax], al
or bl, ah
push es
outsd dx, dword [esi]
adc dword [ecx], eax
add byte [esi], al
push es
add al, 0x6f
xchg esi, eax
add byte [eax], al
push es
push ss
sub al, byte [edi]
sub al, byte [eax]
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [esi], cl
add byte [eax], ch
add byte ss:[edi], al
add byte [eax], al
add byte [eax], al
sbb esi, dword [eax]
add al, byte [eax]
and eax, 0xc000000
add byte [eax], al
adc dword [edx], eax
sub byte [ecx], cl
add dword [eax], eax
push es
add ch, byte [eax]
or dword [ecx], eax
add byte [esi], al
and eax, 0x2c280a
add byte [edx], cl
add dl, byte [esi]
jge 0x3002d714
add byte [eax], al
add al, 2
sbb dword [ebp - 0x41], edi
add byte [eax], al
add al, 0xde
pop es
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
sub al, byte [eax]
add byte [eax], al
add dword [eax], edx
add byte [eax], al
add al, byte [eax]
or eax, 0x1d1000
add byte [0x1d1000], cl
pop es
add byte [eax], al
add byte [eax], al
mov byte [0xba7b02], al
add byte [ebx + eax], al
push ds
add al, byte [ebx]
jge 0x3002d742
add byte [eax], al
add al, 3
sub al, 7
add ch, byte [eax]
mov eax, dword [0x2a060000]
add ch, byte [eax]
mov byte [0x2060000], al
pop ss
sub byte [edx + 0x2a060000], cl
push ds
add ch, byte [eax]
push ss
add dword [eax], eax
push es
sub ah, byte [edx]
add dl, byte [edi]
jge 0x3002d76f
add byte [eax], al
add al, 0x2a
and al, byte [edx]
pop ss
jge 0x3002d778
add byte [eax], al
add al, 0x2a
add byte [ebx], bl
xor byte [edx], al
add byte [0xc000000], bh
add byte [eax], al
adc dword [edx], eax
sub byte [ecx], cl
add dword [eax], eax
push es
and eax, 0x2c280a
add byte [edx], cl
add bh, byte [ebx - 0x41]
add byte [eax], al
add al, 0x17
pop ss
add bl, dh
and al, 2
sbb byte [ebp - 0x41], bh
add byte [eax], al
add al, 0xde
pop es
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
add bh, byte [ebx - 0x45]
add byte [eax], al
add al, 2
outsd dx, dword [esi]
movsb byte es:[edi], byte [esi]
add dword [eax], eax
push es
sub eax, 0xd280206
add dword [eax], eax
push es
sub al, byte [eax]
add byte [eax], al
add dword [eax], edx
add byte [eax], al
add al, byte [eax]
or eax, 0x211400
or eax, 0x2a060001
add byte [eax], al
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [0x211400], cl
pop es
add byte [eax], al
add byte [eax], al
sub al, byte [edx]
jnp 0x3002d7dd
add byte [eax], al
add al, 0x19
inc byte [ecx]
sub al, byte [eax]
sbb esi, dword [eax]
add al, byte [eax]
push ds
add byte [eax], al
add byte [eax + eax], cl
add byte [ecx], dl
add ch, byte [eax]
or dword [ecx], eax
add byte [esi], al
and eax, 0x2c280a
add byte [edx], cl
add dl, byte [edi]
jge 0x3002d802
add byte [eax], al
add al, 0xde
pop es
push es
sub byte [edi], ch
add byte [eax], al
or bl, ah
sub al, byte [eax]
add byte [ecx], al
adc byte [eax], al
add byte [edx], al
add byte [0x160900], cl
pop es
add byte [eax], al
add byte [eax], al
push es
sub ah, byte [edx]
add al, byte [ebx]
sub byte [eax + 0x2a060000], bl
push ds
add ch, byte [eax]
wait
add byte [eax], al
push es
sub bh, byte [edx + 0x23]
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
sub byte [ecx + eax], al
or al, byte [eax + 0x40000b8]
jae 0x3002d8c7
add dword [eax], eax
or al, byte [eax + 0x40000bd]
sub ah, dl
add ch, byte [eax]
sti
add byte [eax], al
or al, byte [edx]
add al, 0x7d
leave
add byte [eax], al
add al, 2
add ebp, dword [eax]
cld
add byte [eax], al
or al, byte [edx]
push ss
sub dh, bh
add byte [eax], al
or al, byte [edx]
push ss
sub bh, bh
add byte [eax], al
or al, byte [edx]
pop ss
sub byte [eax], al
add dword [eax], eax
or al, byte [edx]
pop ss
sub ch, bh
add byte [eax], al
or al, byte [edx]
pop ss
sub byte [ecx], al
add dword [eax], eax
or ch, byte [edx]
push ds
add bh, byte [ebx - 0x36]
add byte [eax], al
add al, 0x2a
push ds
add ch, byte [eax]
inc ebp
add dword [eax], eax
or ch, byte [edx]
push ds
add bh, byte [ebx - 0x37]
add byte [eax], al
add al, 0x2a
and al, byte [ebx]
add al, 0x73
add eax, dword [ecx]
add byte [esi], al
sub bl, byte [esi]
add ebp, dword [eax]
or byte [ecx], al
add byte [esi], al
push es
sub ch, byte [esi + 0x28]
dec ebx
add al, byte [eax]
push es
sub al, 0xc
push ds
and byte [ecx], dl
add byte [ecx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
add dl, byte [esi]
jge 0x3002d8d8
add byte [eax], al
add al, 0x2a
outsb dx, byte [esi]
sub byte [ebx + 2], cl
add byte [esi], al
sub al, 0xc
push ds
and byte [edx], dl
add byte [ecx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
add dl, byte [edi]
jge 0x3002d8f4
add byte [eax], al
add al, 0x2a
sub byte [eax], 0x4b
add al, byte [eax]
push es
sub al, 0xc
push ds
and byte [ebx], dl
add byte [ecx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
add ch, byte [eax]
add dword cs:[eax], eax
push es
add ch, byte [eax]
add eax, dword [ecx]
add byte [edx], cl
sub ch, byte [edx + 0x28]
dec ebx
add al, byte [eax]
push es
sub al, 0xc
push ds
and byte [edi], dl
add byte [ecx], cl
add byte [edx], al
sub byte [ecx], al
add byte [esi], al
add ch, byte [eax]
add dword cs:[eax], eax
push es
sub ch, byte [edx + 0x28]
dec ebx
add al, byte [eax]
push es
sub al, 0xc
push ds
and byte [0x2000900], dl
sub byte [ecx], al
add byte [esi], al
add ch, byte [eax]
sub eax, 0x2a060001
add byte [ebx], al
xor byte [ebx], al
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub byte [eax + eax], ah
and al, 0
add byte [esi], al
sub eax, 0x321f0222
sub byte [esi + 1], al
add byte [edx], cl
add bl, byte [edi]
xor ch, byte [eax]
inc esi
add dword [eax], eax
or ch, byte [eax]
add al, byte ds:[eax]
sub byte [esi], bh
add al, byte [eax]
push es
jb 0x3002d9a1
or dword [eax], eax
jo 0x3002d9d4
or al, byte [eax]
add byte [esi], al
jae 0x3002d9f9
add dword [eax], eax
or ch, byte [edi + 0x33]
add byte [eax], al
or bh, byte [edx + 2]
push ss
jge 0x3002d989
add byte [eax], al
add al, 2
add dh, byte [ebx - 0x79]
add dword [eax], eax
push es
xchg dword [ecx], eax
add byte [esi], al
jge 0x3002d993
add byte [eax], al
add al, 2
jnp 0x3002d999
add byte [eax], al
add al, 0x6f
outsd dx, dword [esi]
test dword [ecx], eax
add byte [esi], al
sub dh, byte [edx]
add bh, byte [ebx - 0x38]
add byte [eax], al
add al, 0x6f
mov eax, dword [ecx]
add byte [esi], al
sub bl, byte [esi]
add ch, byte [eax]
add eax, dword [ecx]
add byte [edx], cl
sub dh, byte [edx + 0x202802]
add byte [edx], cl
add al, byte [ebx]
jge 0x3002d9c5
retf
add byte [eax], al
add al, 2
add al, 0x7d
iretd