Function at 0x40c43f
Capabilities:
Encode data using xor

Disassembly:
test byte [0x91febcd9], dl
in al, dx
inc ebx
mov esp, 0x43ec91fe
add byte [edi + edx*4 - 0x68], bh
aas
jg 0x40c402
jge 0x40c446
jo 0x40c409
xchg edi, eax
mov ah, 0x23
sbb al, 0xa8
sbb al, 0x60
mov word [eax - 0x23], ds
sub al, 0x5f
pop edx
lds edi, [esi + 0xf]
fdiv dword [edx - 0x78cfb6b6]
jp 0x40c410
popal
popal
push eax
and eax, dword [esi + ebx + 0xd75ccf5]
jbe 0x40c3dc
push ds
cmc
int3
jne 0x40c3d9
push esp
pcmpeqd mm1, mm4
jne 0x40c455
ficom dword [ebx]
movsb byte es:[edi], byte [esi]
jo 0x40c3f9
sal dword [eax + 0x9b8d15], 1
adc ch, byte [esi + ecx*4]
call 0x54552b48
fstp xword ss:[ebp - 0xf586a48]
sbb dword [ebp + 0x4a], edx
arpl word [edi - 0xa148966], di
mov cl, byte [esi]
xchg ecx, eax
mov bl, 0x8a
mov esi, 0xd26637da
lcall 0x9a8, 0x6338f6b8
mov esi, 0xafafa409
jno 0x40c4a9
jbe 0x40c4a1
dec ebx
jp 0x40c424
add cl, ch
adc edi, dword [ebp + 0x6f]
jb 0x40c4d2
jg 0x40c497
imul esi, ebp, 0x8a7e874d
jge 0x40c405
or eax, 0x5a2fbd6f
invalid
pop es
lock sub ebx, dword [ebx - 0x35855a96]
push 0xffffffffffffffa5
jp 0x40c469
push esp
pushfd
cdq
out dx, eax
out 0x84, al
inc ebp
xchg ebp, eax
xchg dword [ecx], ecx
insd dword es:[edi], dx
or byte [ebx + eax + 2], bh
dec eax
cmp eax, 0x3c9f1cc7
ror byte [edi + 0x768c934a], 0xfb
loop 0x40c531
cmp al, 0xc0
invalid
ljmp 0x96a:0x76770d3b
lodsb al, byte [esi]
mov ah, 0xfb
jle 0x40c49b
or dword [eax + 0x79], eax
jmp 0x40c544
jo 0x40c4ca
arpl bp, bx
add bl, bh
push esp
fsubr st(3), st(0)
ret
jl 0x40c4b3
lodsb al, byte [esi]
jl 0x40c4d3
jl 0x40c505
jge 0x40c535
insb byte es:[edi], dx
and eax, 0xe39c8bd3
in al, 0xc0
inc edi
push edi
stc
jle 0x40c56a
call 0xca20238d
aam 0x21
stc
ret
mov bl, byte [eax]
loop 0x40c4cf
sbb eax, 0xf55d5a3a
lds eax, [ebx - 0x5f3ecf3e]
and edi, edi
iretd
xor al, 0x68
jp 0x40c5be
dec eax
jbe 0x40c5c6
xor ebp, esp
mov word [edx - 0x23], cs
inc edx
ror dword cs:[ecx], cl
fld qword [edx + 0x2e]
ror dword [ecx], cl
xor eax, 0xc7cbd0e6
push 0xffffffffffffff8d
scasd eax, dword es:[edi]
jl 0x40c506
fstp dword ss:[eax + 0x45]
and bl, bh
inc ebp
or cl, byte [edx + ebx*2 - 0x62f06e91]
pop esp
mov ebx, 0x49d6012d
outsd dx, dword [esi]
xchg ecx, eax
setge byte [ebx + edi*4 + 0x2d]
add esi, edx
dec ecx
or eax, 0x6f63976c
rol byte [eax + 0x70db81aa], 0x59
and dword [ebp + 0x1d6d5a83], ecx
popal
xlatb
lahf
adc al, 0x79
enter 0xffffffffffffc86b, 0x64
xchg ebp, eax
outsd dx, dword [esi]
jl 0x40c54f
push cs
mov al, byte [0x684df8fc]
sub al, 0xf8
push es
jae 0x40c54f
js 0x40c569
dec edx
jmp 0x40c61f
jmp 0x40c5ea
imul edx, dword [edi + 0x3cdbb0a7], 0x7f127c85
retf 0x1cdc
mov al, 0xdb
cmp al, 0x85
jl 0x40c5e1
jg 0x40c59b
fcomp qword [esp + edi]
stosb byte es:[edi], al
jo 0x40c635
xchg ebp, eax
aam 0x5d
fist word [ebp + 0x63]
inc edi
cmp dword [edi - 0x53], 0x5e
pop esi
into
dec ebp
cmpsd dword [esi], dword es:[edi]
or eax, 0xf7fc7eab
test dword [edi + 0x4f], esp
push 0xffffffffffffffea
arpl sp, dx
ja 0x40c621
pop ebp
pop dword [esi - 0x4a52d238]
scasd eax, dword es:[edi]
int 0x2e
fild word [eax + 0x43]
sal dword [esi + edx*4 + 0x1d], 0xcc
push esi
pushal
inc esi
int 0xf1
xchg edx, esi
jmp dword [ebx]
stosd dword es:[edi], eax
mov bl, 0x75
wait
jne 0x40c5be
jno 0x40c5c9
jae 0x4cf66810
sub byte [esi - 0x698a1fde], dl
mov esp, 0x4b8ea01d
pushal
mov cs, word [ebx + 0x60]
daa
daa
xchg edx, eax
and al, byte [edx]
hlt