Function at 0x81c09c
Capabilities:
Encode data using xor

Disassembly:
push esi
inc edi
mov ch, 0x9c
xor al, 0x2e
or byte [edx - 0x2c488629], ah
inc bl
adc ebx, ebp
cmp dh, 0x43
scasb al, byte es:[edi]
xchg esi, eax
pop ss
inc ebp
aam 0xef
dec edx
inc edi
mov al, byte [0x3be821c4]
invalid
call 0x96d85d9
add byte [esi + 3], ch
add byte [eax], al
jmp 0x81c0a6
pushal
call 0x81c0ac
pop ebp
sub ebp, 0x10
sub ebp, 0x41c09c
jmp 0x81c0c2
mov eax, 0x41c09c
add eax, ebp
add eax, 0x4c
mov ecx, 0x5f9
mov edx, 0x889e4983
xor byte [eax], dl
inc eax
dec ecx
jne 0x81c0d9
jmp 0x81c0ec
or byte [esi + 8], cl
or bh, byte [edi + 0x2838383]
inc edx
jnp 0x81c07b
add dword [ebx - 0x6dc4b180], 0xffffff83
add dword [ebx - 0x7c7c54c7], 0xffffff83
je 0x81c169
or byte [ebx + 8], 2
pop dword [ebx + 0x46808383]
rcl ebx, cl
jmp 0x81c099
xor dword [edx - 0x78beff7f], 0x77068cca
jl 0x81c1d1
jl 0x81c15f
scasd eax, dword es:[edi]
cmpsd dword [esi], dword es:[edi]
push cs
out 0xa7, eax
xchg dword [ecx - 0x71], eax
or dword [eax], 0xf
cmpsd dword [esi], dword es:[edi]
xchg dword [ebx - 0x7c147c7d], eax
or byte [ebp - 0x49e0147d], cl
mov al, 0x83
sub byte [edi - 0x79942d59], 0x83
add dword [ebx - 0x7c7e2d96], 0xffffff83
push cs
out 0xa7, eax
jg 0x81c18e
or ch, byte [edi + 0x7cded7a7]
test byte [edi + 0x6b8bf67c], 0xfd
scasd eax, dword es:[edi]
cmpsd dword [esi], dword es:[edi]
xlatb
fidivr word [esi + esi*8 - 0x71]
jl 0x81c183
mov ebp, dword [ebx - 3]
imul edi, ebp, 0xffffff83
add dword [ebx - 0x7c74c1f8], 0xffffff83
add dword [edx], 0x72
invalid
add dword [ebx - 0x74c1f77d], 0xffffff83
add dword [ebx - 0x32208dfe], 0xffffffe3
pop ebp
add dh, byte [edx - 0x21]
int 0xe3
pop ebp
mov al, 0x4a
add dh, byte [ecx - 0x67]
xor ah, bl
cmp dword [edx], eax
jno 0x81c149
xor ah, bl
cmp dword [eax - 0x7994ffaf], esi
retf
add dword [ebx], 0x78
push 0xffffffffffffff8c
pop es
xchg edx, eax
add dword [ebx + 0x7802e583], 0x7c
cmpsb byte [esi], byte es:[edi]
mov word [edi], es
xchg esi, eax
add dword [ebx + 0x4f6ac283], 0x7c
jl 0x81c268
stosb byte es:[edi], al
iretd
xchg ecx, eax
push ecx
mov word [eax], es
test eax, 0x81838382
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx - 0x7ebc6faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx - 0x7ebc6faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
or dword [ecx], 0xffffff95
lds edx, [ecx - 0x7ebc6faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx - 0x73bc6faf]
pop es
test dword [ebx + 0x5c088383], eax
test al, 0x5b
or dword [eax + 0x38c4840b], eax
add dword [ebx - 0xc957c7d], 0x3b7c7c7c
add byte [ebx + 0x51818383], 0x8c
push es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx - 0x7ebc6faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx + 0x5d018c51]
jl 0x81c367
jl 0x81c295
inc eax
cmp byte [edx - 0x737c7c7d], al
push es
mov bh, 0x83
add dword [ebx - 0x7c7c7dc6], 0xffffff83
adc dword [ecx - 0x74], 0x83838606
or dword [ecx], 0xffffff95
lds edx, [ecx - 0x7eb56faf]
push ecx
mov word [esi], es
xchg byte [ebx - 0x6af67c7d], al
add byte [ebx + 0x68c8383], 0xb7
add dword [ebx - 0x7c7dc57d], 0xffffff83
add dword [ecx - 0x79f973af], 0xffffff83
add dword [ebx - 0x6e3a6af7], 0x51
nop
dec edx
adc dword [ecx - 0x74], 0x83838606
or dword [ecx], 0xffffff95
lds edx, [ecx + 0x5d018c51]
jl 0x81c39b
jl 0x81c2f6
or byte [eax + ebp*4 + 0x76], dh
jo 0x81c34e
invalid
add dword [ebx + 0x68c5181], 0xffffff86
add dword [ebx - 0x3a6af67d], 0xffffff91
push ecx
nop
dec edx
adc dword [ecx - 0x74], 0x83838606
or dword [ecx], 0xffffff95
xchg byte [ebx - 0x6af67c7d], al
lds edx, [ecx + 0x5d018c51]
jl 0x81c3d8
jl 0x81c360
jnp 0x81c2e3
inc byte [ebx + 0x7c5a0283]
jl 0x81c3e4
jl 0x81c3e5
jl 0x81c36c
add bh, byte [ebx - 0x7d]
jnp 0x81c2ef
xchg byte [ebx + 0x7c5a0283], al
jl 0x81c3f0
jl 0x81c378
jnp 0x81c37b
add dword [ebx - 0x7cadfd7d], 0xffffff83
add dword [ebx - 0x7cfc84fe], 0xffffff83
add dword [edx], 0x52
add dword [ebx + 0x8d58383], 0x74
test al, 0x73
jo 0x81c3bb
add dl, byte [edx - 0x7d]
add dword [ebx + 0x37b0283], 0xffffff83
add dword [ebx - 0x7c7cadfe], 0xffffff83
adc ebp, 8
je 0x81c339
jae 0x81c403
daa
invalid
or dword [ebp + 0x434ab0c5], eax
test ebp, eax
mov al, 0x4a
inc ebx
imul eax, dword [edx - 0x7c66f874], 0xffffff83
add dword [edx], 0x52
add dword [ebx + 0x6b088383], 0xa87408d5
jae 0x81c426
daa
fnstsw word [eax]
add byte [ebx - 0xf957c7d], 0x7d
jl 0x81c43e
add dword [ebx + 0x7c7df06a], 0x7c
fisubr word [eax + 0x44088bfe]
invalid
jb 0x81c39a
lahf
cmp ebx, dword [edi]
inc ebx
ret 0x8083
out 0x80, al
add dword [ebx - 0x7c7e9cc6], 0xffffff83
cmp dword [ebx - 0x4cf5912e], ecx
xchg ebx, eax
add byte [ebx - 0x7e9cc57d], 0x83
cmp dword [ecx], 0xffffff8b
shr byte [esi + 0xa], cl
mov bl, 0x93
outsb dx, byte [esi]
or dh, byte [ebx - 0x73353c6d]
push es
jne 0x81c476
ret
jl 0x81c478
push 0xffffffffffffff87
add dword [ebx + 0x24a8ec83], 0x72
and al, 0x72
or al, 0x75
add ch, dh
mov bh, 0
aaa
mov esp, 0x8b8b8b2b
mov byte [ebp + 6], dh
aad 0x8b
sbb eax, 0x1db7fb00
add byte [edi], cl
mov ebx, 0x8b8b8bbf
mov al, byte [0x710c53]
int1
add cl, dh
mov ecx, dword [ecx + esi*2]
or al, 0x72
add dl, dh
invalid
mov byte [ebp + 0xa], bl
dec esp
or dword [ebx + 0x620a8b8b], 0xffffff83
or ah, byte [edx - 0x7d]
mov ecx, dword [ebx - 0x748df575]
mov ecx, dword [ebx + 0x470f848b]
je 0x81c4cb
je 0x81c446
add byte [edx + ecx*2 + 0x6b088763], cl
test byte [edx], cl
jae 0x81c3ec
mov ecx, dword [ebx - 0x79f17b75]
mov ecx, dword [ebx - 0x73ff1275]
or ch, byte [ebx + 0x74]
test byte [ebx - 0x75b67775], cl
mov byte [ecx - 0x76], cl
mov dl, byte [ebx + 0x4c08c2c2]
mov dword [edx + 0x43], esp
je 0x81c4f7
xchg ebx, eax
ret 0x8c2
je 0x81c4e7
invalid
xor eax, 0x3a3a80be
cmp ch, byte [ebp - 0x52c9bd4f]
cmp esp, edi
mov bh, 0x5e
push ds
invalid
cmp bh, byte [edx]
cmp bh, byte [edx]
xor eax, 0x3a3a34bf
cmp ch, byte [ebp - 0x52c9bd4f]
cmp esp, edi
cld
push 0xffffffffffffffc5
scasd eax, dword es:[edi]
salc
or cl, byte [ecx]
cmp bh, byte [ecx + 0x353a3645]
mov esi, 0x3a3a3ab8
mov ecx, 0x353a3a45
mov edi, 0x3a3a3a30
mov ecx, 0x353a2a45
mov esi, 0x3a3a3a58
outsd dx, dword [esi]
mov bh, 0x6f
cmp bh, byte [ebp + 0x2a47b1c7]
mov ebp, 0xb9d439c7
inc edi
cmp bh, byte [edx]
xor eax, 0x3a3a71be
cmp dh, byte [ecx + 0x5eb73a77]
push ds
invalid