Function at 0x40d940
Capabilities:
Encode data using xor

Disassembly:
adc al, bh
jg 0x40d7ee
cmp dh, byte [ebx + 0x11]
popfd
adc al, 0x86
loope 0x40d7ef
mov word [ebx - 0x2a], ds
aam 0x3f
test al, 0x2c
pop edi
xchg edi, eax
xchg edi, eax
xchg ebp, eax
lds edx, [ecx]
cmpsd dword [esi], dword es:[edi]
invalid
inc esi
and byte [ebx + 0x70], cl
and eax, 0x77c0b6f1
into
test al, 0x24
pop esi
shr bh, 1
sbb eax, 0x8093a92f
or byte [edi + 0x1f378365], dl
movsd dword es:[edi], dword [esi]
rcl dword [ebx + 0x612f48f0]
shl dword [edi + 0x35], 0xc6
xor esi, dword [edi + 0x382dde55]
inc eax
inc ebp
xchg esi, eax
xlatb
hlt
mov ebp, 0x268752a4
cmp esp, dword [ebx + esi*8 + 0x34]
jecxz 0x40d7c3
add byte [edi - 0x58950aed], 0x34
push cs
add esi, dword [edi]
jo 0x40d7d8
out 0xd, eax
xchg edi, eax
pop esi
pop ecx
mov word [esi], es
dec edi
les dx, [esi]
test dword [edi], edx
mov ecx, 0x7fbd029f
imul ebp, dword [ecx], 0x49ff228b
adc eax, 0xdd966ec1
or eax, 0xe2f555e3
adc eax, 0xa257ea67
invalid
test eax, 0x7721308b
xlatb
mov dword [ecx], 0x121f2b78
xchg edi, eax
mov bl, 0x72
stc
mov esi, es
add eax, esp
pop es
push 0xc622b425
arpl word [edi + 0x21], ax
salc
and dword [edi - 0x4d], esp
invalid
mov dl, 0x61
xchg edi, eax
imul edx, dword [esi + 0x1e754160], 0xfffffff2
jg 0x40d866
jnp 0x40d826
xchg esp, eax
test eax, 0x91c86825
push edx
invalid
pop ds
jecxz 0x40d898
cmp byte [edi + 0x951077f], 0x60
invalid
sal dword [ebx], 0xad
add dword [esi - 0x64], esi
cmc
sbb al, 0x7a
adc byte [edi], al
bound eax, qword [esi - 0x44]
idiv cl
mov dword [0xfcdf61c], eax
inc ecx
push ecx
jne 0x40d9a2
dec ecx
xchg byte [esi + esi*2 - 0x46d5b1e1], bl
imul esi, dword [edi], 0x5e
pushfd
pop ss
ret
xchg edi, eax
push ebx
adc dword [ebx + 0x76], ecx
push ecx
jne 0x40d8f4
sub eax, 0x95e5aecb
pop ebx
cld
loopne 0x40d90a
cwde
xchg eax, esp
nop
or al, byte cs:[ebx + 0x60ca5005]
mov bl, 0x75
cmp al, 0x75
push dword [eax + 0x6efb84df]
sub al, byte [edx - 0x32b850aa]
ret
mov al, 0xfb
pop ds
mov bh, 0xd1
das
xor dword [edi + 0x73], edx
pushfd
shl dword [esi], 0xa0
leave
pop esp
push dword [edx + 0x57]
wait
mov bl, 0x48
aaa
xor al, byte [ebp + 0x12]
mov bh, 0xee
xor esp, dword [eax + 0x15]
inc ebp
adc dh, byte [edi + 0x156033ee]
add eax, 0xb82b7eee
xor ah, byte [ebp + 0x734356de]
inc eax
sub edi, dword [eax + 0x56dea532]
inc ebx
jae 0x40d9eb
jno 0x40d9c3
in al, dx
js 0x40d981
cmp dword [ecx - 0x6c547019], eax
pop ecx
add byte [ecx - 0x4a410ed4], dl
in al, 0xfc
sub al, 0x12
test byte [eax - 0x34], dh
jmp [esi + edx*2 - 0x371a367e]
int3
add edi, dword [ebx + 0x3d]
jl 0x40d998
xchg edx, eax
sbb dword [ecx + 0x4f], 0xd04779f7
xchg edi, eax
mov al, byte [0x6be901d0]
mov edx, 0x97a01035
mov al, 6
mov cs, edx
adc bh, byte [edi - 0x36]
scasd eax, dword es:[edi]
mov al, byte [0xdbe0f793]
jo 0x40da5c
retf 0xa0af
call 0x5a0017a7
dec ebp
sub dword [eax + eax - 0x7a], edi
or dl, cl
inc eax
and dword [ecx], edx
sub dword [edx], 0x3a
movsd dword es:[edi], dword [esi]
jae 0x40da7f
add dword [eax], ebp
push edx
popfd
outsb dx, byte [esi]
push edi
std
cdq
cli
jg 0x40da32
cmp al, 0x11
pop es
cmp eax, 0xe1d80db9
push es
jb 0x40da09
arpl si, bx
sub byte [esi - 0x6b], dl
dec edi
inc eax
dec ecx
add esi, dword [ebp + ebp*2 - 0x782fb786]
dec ebp
push es
popal
rcl byte [ebp - 0x3a], 0x16
sub byte [esi], ah
test dword [eax + 0x2194fcc0], edx
sti
mov dword [ecx - 0x10fffa23], ebx
out 0x35, al
invalid
mov cl, 0x21
xchg esi, eax
cdq
test dword [eax], esi
inc edx
inc ebp
stosd dword es:[edi], eax
fucomi st(7)
sub bh, byte [eax - 0x4e]
xor edx, ecx
and esi, eax
adc dword [edx - 0x2035394a], edx
or dword [edx + 0x4a4177c1], eax
jmp 0x40da34