Function at 0x8c0418
Capabilities:
Encode data using xor

Disassembly:
jmp 0x8c0422
pushal
call 0x8c0428
pop ebp
sub ebp, 0x10
sub ebp, 0x4c0418
jmp 0x8c043e
mov eax, 0x4c0418
add eax, ebp
add eax, 0x4c
mov ecx, 0x608
mov edx, 0xc86d127e
xor byte [eax], dl
inc eax
dec ecx
jne 0x8c0455
jmp 0x8c0468
cmc
mov bl, 0xf5
test dword [edx + 0x7e], 0xbfff7e7e
xchg byte [esi + 0x7e], bh
jle 0x8c04f4
mov bl, 0xc6
jp 0x8c04f9
jle 0x8c04fb
les edx, [esi + 0x7e]
jle 0x8c0500
mov dword [ebp + edi*2 + 0x72fff5b6], ebx
jle 0x8c0509
jle 0x8c050a
mov ebx, 0xce162e2e
iretd
jle 0x8c04ac
sbb ebp, dword [ebx + eax*2]
jle 0x8c051a
push edx
pop edx
push ss
jmp 0x8c04f1
sub esi, ebx
adc bl, byte [edx + 0x7e]
cmc
sti
jbe 0x8c0533
jle 0x8c0535
cmc
jmp 0x8c052c
sbb bl, byte [edx - 0x7e]
div dword [edx + 0x5a]
xchg esi, eax
jnp 0x8c0578
jle 0x8c0579
jle 0x8c057a
jle 0x8c0494
xchg edi, eax
xor edi, dword [esi + edi*2 + 0x7e]
sub esi, ebx
adc bl, byte [edx + 0x7e]
jle 0x8c052d
adc bl, byte [edx + 0x7e]
or dword [ebx], 0x760b8172
or esi, dword [edx - 0x7f]
or dword [ebx], 0x7e009676
jle 0x8c058f
or esi, dword [esi - 0x6a]
xchg esi, eax
add byte [esi + 0x7e], bh
jle 0x8c0507
cmc
ret
out 0x4a, eax
pushfd
dec dword [edi - 0x63b51823]
dec ebp
mov bh, 0xff
invalid
invalid
invalid
ja 0x8c058a
lahf
mov edx, 0x96fdac4d
std
xchg esi, eax
jnp 0x8c056d
jno 0x8c0533
xor byte [esi + 0x7e], bh
jle 0x8c05af
div byte [esi]
jle 0x8c05c0
jle 0x8c055c
cmc
bound eax, qword [edi - 2]
test dword [esi + 0x7e64fa71], edx
jle 0x8c05ce
inc byte [ebp + 0x6ffa7197]
jle 0x8c05d6
jle 0x8c0572
inc dword [ebp - 0x58ea47f]
imul edi, dword [esi + 0x7e], 0x7e
aas
sbb dword [ebx + 0x71], 0x7e7e6bfa
jle 0x8c05e1
jle 0x8c05a4
xchg edi, eax
mov dl, 0x81
add dword [ecx + 0x7f473257], 0xfd7bbffd
inc edi
jg 0x8c056c
mov edi, 0x7a96fd7b
xchg edi, eax
xchg esi, eax
jp 0x8c050c
ret
adc dword [edi + 0x2a], 0xbffd7c47
js 0x8c057e
push edi
sub al, byte [edi + 0x7c]
std
mov edi, 0x7a94fd78
std
xchg esp, eax
jp 0x8c0581
xchg esi, eax
jnp 0x8c051e
aad 0x81
add dword [ecx + 0x7e72bc23], 0x2892f52b
sub dword [ebx], ebp
cmc
and dword [ebx], 0x2b7e72bc
cmc
sub esi, ebp
xchg edx, eax
sub byte [ecx], ch
sub esi, ebp
or esi, dword [edx - 0xb]
add esi, dword [esi - 0x7e]
int3
jle 0x8c0624
idiv byte [ecx - 1]
mov ecx, 0x7e7e7e7f
lds edi, [esi + edi*2 + 0x7e]
jl 0x8c062f
jle 0x8c0631
jle 0x8c0630
jl 0x8c0561
lodsb al, byte [esi]
jno 0x8c05b2
jnp 0x8c0637
jle 0x8c0639
hlt
lodsb al, byte [esi]
jno 0x8c05bf
cmpsb byte [esi], byte es:[edi]
add dword [ecx + 0x71ac7c81], 0x7e7e7bfb
jle 0x8c05c3
hlt
push 0x71ac6c38
std
adc al, 0x7e
jle 0x8c0657
jle 0x8c0656
jle 0x8c0627
dec ebp
mov esi, 0xfb71ac7c
jnp 0x8c065f
jle 0x8c0661
hlt
hlt
push 0x6dac6c38
insb byte es:[edi], dx
lodsb al, byte [esi]
insd dword es:[edi], dx
mov esi, 0x7e78fa71
jno 0x8c0626
js 0x8c06ac
jle 0x8c06ae
jle 0x8c0626
cmc
mov eax, dword [0x7df4a655]
idiv byte [ecx + 0x39]
jns 0x8c0672
lds edi, [esi + edi*2 + 0x7e]
jle 0x8c05d6
push cs
add dword [ecx + 0x7e7fc681], 0xac7c7e7e
jle 0x8c06c5
lodsb al, byte [esi]
jno 0x8c0647
jnp 0x8c06cc
jle 0x8c06ce
hlt
mov esi, 0xfb71ac7c
jl 0x8c0605
jno 0x8c0656
jnp 0x8c06db
jle 0x8c06dd
hlt
cmp byte [esp + ebp*4 + 0x71], ch
cld
mov al, byte [0x55818181]
mov ebp, 0x7e7e7fc5
jle 0x8c06e3
sti
dec edx
jle 0x8c06f4
jle 0x8c063f
jg 0x8c06f8
jle 0x8c06fa
jle 0x8c06f9
jl 0x8c062a
lodsb al, byte [esi]
jno 0x8c067b
jnp 0x8c0700
jle 0x8c0702
hlt
fisub dword [eax]
xchg edi, eax
jbe 0x8c062a
add dword [ecx + 0x769ebf36], 0xf53878f4
mov edi, 0x78f4769e
cmp ch, dh
jbe 0x8c06a4
js 0x8c06ea
cmc
xchg esi, eax
invalid
lodsb al, byte [esi]
insd dword es:[edi], dx
mov bh, 0x7c
lodsb al, byte [esi]
jno 0x8c06c7
jnp 0x8c074c
jle 0x8c074e
hlt
inc dword [esi + 0x7e7e037e]
jle 0x8c06e2
jle 0x8c075f
jmp dword [edi - 0x7e7e7e7f]
cmpsd dword [esi], dword es:[edi]
add dword [ecx - 0x79007e7f], 0x7e7e7b7e
jnp 0x8c076a
jle 0x8c06ed
jmp dword [edi - 0x7e7e7e7f]
cmpsd dword [esi], dword es:[edi]
add dword [ecx - 0x79007e7f], 0x7e7e7efe
xchg dh, bh
jle 0x8c0776
jle 0x8c06f9
jmp [edi + 0x7e7e7e7e]
scasd eax, dword es:[edi]
jle 0x8c077b
jle 0x8c077d
inc dword [esi + 0x7e7e7efe]
xchg dh, bh
jle 0x8c0782
jle 0x8c0705
jmp [edi + 0x7e7e7e7e]
scasd eax, dword es:[edi]
jle 0x8c0787
jle 0x8c0789
sub ch, dh
mov dword [ebp - 0x72], edx
invalid
jbe 0x8c07cc
and ebp, esi
dec edx
pop edx
sbb bl, byte [edx + 0x7a]
xchg edi, eax
jp 0x8c07d7
jle 0x8c07d9
xchg edi, eax
test dword [edi - 0x4c], ebp
invalid
jle 0x8c07ea
invalid
dec esi
outsb dx, byte [esi]
aaa
jno 0x8c0777
sti
mov byte [ecx + 0x7a978181], al
add dword [ecx + 0x7e7a9781], 0x32337e7e
jle 0x8c0802
jle 0x8c07b9
xor ch, byte [edi]
das
invalid
pop edi
sub bl, bh
popfd
sub bl, byte [0xa1a10196]
mov eax, dword [0xfaf75fa2]
aaa
sub dl, cl
popfd
aaa
sub ah, byte [0xa1a19591]
mov eax, dword [0x5b26798a]
sub bl, bl
mov eax, dword [0xee2a5b26]
movsd dword es:[edi], dword [esi]
and byte [ebx - 0x5f], bl
mov eax, dword [0x25aea1a1]
mov eax, dword [0xe725aea1]
mov eax, dword [0x77a2a1a1]
and byte [esi - 0x57], ah
mov eax, dword [0x4820a1a1]
test eax, 0x20a1a1a1
out 0xa1, eax
mov eax, dword [0x2077a2a1]
test ax, 0xa1a1
mov eax, dword [0xa1a94820]
mov eax, dword [0xa15820a1]
mov eax, dword [0x25aea1a1]
jno 0x8c0833
pop eax
mov eax, dword [0xaea1a1a1]
and eax, 0x5e5e5e71
pop esi
pop esi
invalid
cmpsb byte [esi], byte es:[edi]
pushal
dec ecx
lodsd eax, dword [esi]
and al, byte [ecx - 0x52]
and byte [ecx - 0x5e], bl
mov eax, dword [0x24aea1a1]
lodsb al, byte [esi]
mov eax, dword [0x2ac7a1a1]
cmpsb byte [esi], byte es:[edi]
mov eax, dword [0xa62ac7a1]
and byte [ecx + 0x5e], al
scasb al, byte es:[edi]
mov eax, dword [0xa063a2a1]
mov ecx, 0x6622e8e8
mov dword [0x5e5e6948], eax
mov byte [0xe8b9a063], al
call 0x492f6e21
imul ebx, dword [esi + 0x5e], 0xa1a5485e
mov eax, dword [0x11e647a1]
xor al, 0x19
pop esi
dec eax
movsd dword es:[edi], dword [esi]
mov eax, dword [0xe647a1a1]
adc dword [ecx + ebx], esi
mov ecx, 0xa2a1eda5
and byte fs:[ecx - 0x45], ah
movsd dword es:[edi], dword [esi]
mov eax, dword [0xa39b18a1]
mov eax, dword [0x351ba1]
aas
jp 0x8c07b5
mov cl, 0xe1
call 0x5ee32cd9
pop esi
pop esi
dec eax
movsd dword es:[edi], dword [esi]
mov eax, dword [0xb6b6a1a1]
mov dword [ebp - 0x42], edi
mov dh, 0x89
jge 0x8c07f5
dec ebx
or dword [esi + 0x35b50289], edi
xor eax, 0xb6cb3635
dec edx
cmp dword [0x35f1b13a], esi
xor eax, 0x3972be35
mov eax, 0xbcc91151
xor dword [ecx], edx
retf 0xe1a0