Function at 0x40c6e6
Capabilities:
Encode data using xor

Disassembly:
inc eax
push esp
push ecx
inc esp
push es
call 0x45476956
sub ch, byte [edx]
xchg byte [ecx + 0xb], dl
test al, 0xa0
sub dword [edx - 0x5dfdbdac], eax
or byte [eax + 0x88a202a], ah
jno 0x40c72f
push edx
cmp esp, dword [edx - 0x65]
aad 0x51
inc ebp
pop ebx
jne 0x40c719
jge 0x40c70a
hlt
mov dword gs:[ebx - 0x2936ccc2], edi
stc
adc al, 0x1f
cmp eax, 0xd91f95ed
or dword [eax + 0x6f71963f], ebx
jnp 0x40c6ac
xchg esp, eax
jno 0x40c766
xchg esi, eax
int1
or ebx, ecx
pop es
test ebp, eax
iretd
jg 0x40c781
test dword [esi], 0x86aa4d3d
cmpsb byte [esi], byte es:[edi]
xor edi, edi
add byte [edi - 0xc], cl
daa
sti
das
invalid
mov esp, 0xd47debcd
loop 0x40c78f
insd dword es:[edi], dx
mov bh, 0xb8
std
adc byte [ebx + 0x34], bh
dec ebx
std
cmp dh, byte [ecx + 0x60b555ec]
adc dword [eax - 0xc3d428e], ebp
cmp edi, dword [eax]
adc eax, 0xea4d3ed
mov cl, byte [eax - 0xc34c454]
push 0xffffffffffffffd3
pop eax
pop es
mov esi, dword ds:[ebx]
pop ebx
loopne 0x40c7d9
mov al, byte [0x5c63f5ca]
pop esp
jmp 0x1683b8d3
movsb byte es:[edi], byte [esi]
bound ebx, qword [ebp - 0x5f4d125a]
in eax, dx
mov dl, 0xa0
stosd dword es:[edi], eax
xchg byte [edi], bl
pop ds
stc
stosb byte es:[edi], al
in al, 0x19
sub dl, byte [ecx + esi*4 - 0x66599a11]
fidiv dword [ebp + 0x2c]
mov dword [0x6f677c75], eax
sub al, 0xa3
jne 0x40c80f
outsd dx, dword [si]
push esp
test eax, 0xe66c281d
cmp dword [edi + 0x4aa27f61], esp
arpl word [edx + 0x57], di
mov bh, 0x92
xor al, 0xe6
ror dword [eax - 0x12], 1
and byte [ebx + ecx*4], 0xd
jo 0x40c796
jne 0x40c778
ror edi, 1
test al, 3
mov esp, 0xced4543f
shr bh, cl
push 6
fmulp st(2)
mov eax, 0xf8758d8f
popal
salc
test al, 0x67
mov byte [eax - 0x21], cl
dec esp
jnp 0x40c77c
push ds
cmp esi, ebp
push esi
fist word [ebp + ecx*2 - 0xb]
dec ebp
cmc
push ss
cli
and dword [esi - 0xe], ebp
das
ljmp 0x720b
stosd dword es:[edi], eax
push ecx
mov dl, 0x22
mov edx, 0x930b6e94
push ss
pop ss
inc edx
cdq
div byte [edx - 0x1f]
wait
mov esi, 0xb27e42e
dec ebx
cmp eax, 0x85771a56
lodsd eax, dword [esi]
mov es, edx
pop eax
in eax, dx
sbb ch, ah
sbb al, 0xcd
xchg esi, eax
jns 0x40c874
and al, 0x59
cmp ebx, dword [edi]
popal
dec esp
scasb al, byte es:[edi]
retf 0xc5a1
sub al, 0xd0
pop esp
lodsd eax, dword [esi]
push cs
mov edx, 0x4f3557f4
jnp 0x40c8ae
frstor dword [edi]
lds ebp, [eax - 0x1a]
test byte [ecx + 0x2ee7eb71], al
jno 0x40c861
out 0x2e, eax
jg 0x40c8ec
ret
leave
xchg esp, eax
pushfd
dec edx
movsd dword es:[edi], dword [esi]
rol dword [eax - 0x28], 1
cdq
cld
fnstcw word [ecx + 0x7f]
dec edx
adc al, 0xb9
cmp cl, byte [esi - 0x1dbbe235]
dec edx
xchg dword [ecx - 0xe], ecx
push ds
retf 0x7567
jg 0x40c956
sti
pop edi
sti
jl 0x40c8c9
jp 0x40c973
xchg esi, eax
pop edi
fsub st(6)
ljmp 0x8622
mov edi, 0x19138643
test al, 0xf8
cdq
jb 0x40c8f8
imul esp, dword [ebx - 0x65], 0xc0235f4e
mov ah, 0x87
outsb dx, byte [esi]
jp 0x40c9c2
sub al, 0x6c
test eax, 0xeeaf1477
in eax, 0xf0
rol al, 1
dec ecx
test al, 0x77
push ebx
ja 0x40c9ab
clc
pop ss
scasb al, byte es:[edi]
scasb al, byte es:[edi]
pop edx
test eax, 0x802335c5
and byte [edi - 0x30], ah
push cs
imul edi, dword [ebp + 0x2d], 0x55
sbb eax, 0xba8d4214
fstp qword [ebx + 0x276febca]
xor bh, byte [edi + 0x65]
lodsd eax, dword [esi]
mov dl, 0xf4
xchg esp, eax
sbb eax, 0x518ea4a6
dec edi
adc al, 0x6d
mov al, cl
cmpsd dword [esi], dword es:[edi]
pushal
cmp dword [eax], eax
stosd dword es:[edi], eax
test al, 0xe3
sbb eax, 0x5deecec4
loop 0x40c987
wait
retf 0x6feb
jmp 0x40c9e4
shl dword [edi - 0x54ffc6a0], 0xa8
jecxz 0x40c9ad
invalid
add ah, cl
mov ecx, 0xf1b2fcc7
adc eax, 0xf5149515
inc ebx
in al, dx
dec eax
popal
int1
xor esi, ebx
popfd
push edi
ja 0x40c932
int1
dec edx
jp 0x40c971
enter 0xa4, 0x6b
jbe 0x40ca23
cmp bh, byte [edx - 4]
xchg edx, eax
push 0x7cd56c98
outsb dx, byte [esi]
mov eax, dword [0x3835d28f]
cmp edi, dword [edx]
invalid
invalid
stosb byte es:[edi], al
clc
jl 0x40ca3d
adc eax, 0x6ebc1a15
outsb dx, byte [esi]
inc ebp
invalid
jae 0x40c9d3
inc ebx
fdiv dword [0x9dcf6145]
salc
dec edx
pop edx
dec ecx
ret
ret