Function at 0x40d63b
Capabilities:
Encode data using xor

Disassembly:
xor bl, ah
mov al, byte [0x6c239ed7]
adc byte [edx + 0x19], ah
ret 0xd7cc
xchg ebp, eax
lodsd eax, dword [esi]
mov dl, 0x8d
xchg ebx, eax
in al, dx
invalid
sahf
mov eax, dword [0x629c83bf]
js 0x40d5ca
cdq
test al, 0xb7
lea edx, [ebx - 0x747e6111]
xchg ebx, eax
out dx, eax
sahf
invalid
mov ebp, dword [ebx]
jp 0x40d67d
pop esi
jecxz 0x40d603
loop 0x40d6a4
and dword [ebx + 0x21], esi
push edx
pushal
xor ah, byte [edi + 0x54]
and eax, 0xdb562477
mov ecx, 0x7b2958ea
sub byte [ebp + 0x6f], bl
cmp eax, 0x7f2d5c6e
sub al, 0x5e
in al, dx
mov cl, 0xe2
push ebx
and byte [ebp + 0x56], dh
pop ebx
cmp byte [ecx + 0x5b], ch
sub byte [edx + 0x2f], bh
pop ebp
out dx, eax
mov esp, 0x712c5eee
and edx, dword [eax + 0x60]
xor ah, byte [eax + 0x52]
daa
jne 0x40d6b5
push esi
fstp xword [ebx + 0x732c5ce8]
pop esp
sub al, 0x73
and eax, 0x6d3d5b69
pop esi
and esi, dword [edi + 0x1b]
pop edx
out dx, eax
mov esp, 0x72225eed
and eax, 0x6b395b56
pop ecx
and dh, byte [edx + 0x25]
push esi
pop ebx
cmp dword [ebx + 0x59], ebp
sub bh, byte [eax + 0x29]
pop ebx
jmp 0x2f9bbf6f
jge 0x40d6e6
pop esp
outsb dx, byte [esi]
cmp al, 0x6d
pop edi
sub eax, 0xe35e2c7e
mov cl, 0xe3
push eax
and dword [edx + 0x27], esi
push ebp
xor al, 0x66
push edi
and al, 0x76
sbb ebx, dword [ecx - 0x15]
mov ecx, 0x7d285ae9
das
pop esp
outsb dx, byte [esi]
cmp al, 0x6d
pop edi
sub al, 0x7e
sub al, 0x51
jecxz 0x40d693
loop 0x40d734
and dword [edx + 0x20], esi
push ebp
xor al, 0x66
and byte [ebp + 0x67], dl
xor al, 0x66
push esi
sbb edi, dword [eax + 0x29]
pop ebx
jmp 0x2f9bbfb0
pop esp
outsb dx, byte [esi]
cmp al, 0x6d
pop edi
sub eax, 0xe3512c7e
mov cl, 0xe2
push eax
and dh, byte [ebx + 0x21]
push edx
pushal
xor al, 0x66
push esp
and eax, 0xeb591b76
mov eax, 0x7d285bea
pop esp
insd dword es:[edi], dx
xor esp, dword [edi + 0x69]
sub al, 0x71
and dl, byte [eax - 0x1f]
mov bl, 0xe0
push esp
and eax, 0x685b1b49
cmp ch, byte [eax + 0x5a]
sub byte [ebp + 0x2f], bh
pop ebp
out dx, eax
mov ebp, 0x7c2f5def
pop esp
das
jl 0x40d765
pop esp
outsb dx, byte [esi]
aas
insd dword es:[edi], dx
pop edi
and esi, dword [ecx + 0x21]
push ebx
loope 0x40d6f7
out 0x54, al
and eax, 0x64562477
or dword [ebx + 0x59], ebp
push esi
or dword fs:[ebx + 0x59], ebp
sub bh, byte [ebx + 0x29]
pop ebp
out dx, eax
mov ebp, 0x712c5fee
and edx, dword [eax + 0x61]
xor ah, byte [eax + 0x55]
je 0x40d785
push edi
in eax, 0xb7
in al, 0x69
sub edi, dword [ecx + 0x2a]
jns 0x40d791
pop eax
imul edi, dword [0x7321516e], 0xb2e05221
out 0x55, eax
daa
jne 0x40d79e
push esp
push esi
push esi
sbb edi, dword [ecx + 0x2b]
pop ecx
ljmp 0x2f7d
jge 0x40d7b6
pop ebp
outsd dx, dword [esi]
cmp al, 0x6e
push ecx
and dh, byte [eax + 0x21]
push edx
loopne 0x40d747
mov ch, 0xe6
push edi
out 0x57, al
xor byte [ebx], dl
sbb dword [ecx + ebp*2], edi
pop esp
imul edi, dword [eax + ebp], 0xeb3e2b1d
fsubr st(7)
cmp ah, byte [eax]
adc eax, 0x56603520
xor ebx, dword [bx + di]
sbb eax, 0xdeeb3e28
in eax, dx
cmp byte [edx + ebx], ch
sub edi, dword [esi]
jmp 0x40d77a
das
cmp esp, dword [ecx + 0x56]
bound esi, qword [edi]
and eax, 0xe4312410
sar dword [ecx + 0x2e19293c], cl
bound edx, qword ss:[ecx + 0x29]
cmp dword [esi], esp
adc ebx, dword [eax]
cmp al, 0xe9
fucomp st(0)
cmp eax, 0x3e2b1e2b
imul ebx, dword [edi + 0x6a], 0x3f
sub bl, byte [edi]
sub eax, 0xecd9ec39
cmp ch, byte [edi]
sbb ebp, dword [esi]
cmp esp, dword [ecx + 0x54]
popal
xor eax, 0x37231520
in eax, 0xed
jmp 0x285e0033