Function at 0x40d080
Capabilities:
Encode data using xor

Disassembly:
adc bl, ah
nop
bound edx, qword [ecx - 0x5b]
adc al, ah
daa
mul esp
mul dword [ebp - 0x4a]
in eax, 0xef
add dword [ecx + 0x27], esi
add eax, dword [edx]
test byte [edx], ah
std
or byte [edx], 0x61
inc edx
jmp 0x16ea43d1
mov al, 0xd3
sbb eax, 0xb6976c62
jg 0x40cfd1
xor esp, dword [edi + 0x41308c4f]
push es
outsb dx, byte [esi]
and cl, byte [esi]
rol dl, cl
mov bh, 0x9f
jl 0x40cfc6
loope 0x40cfd1
sbb al, 0x90
insb byte es:[edi], dx
cmp dword [ecx], eax
adc al, 8
jne 0x40d07d
arpl word [eax - 0x3bad2b59], sp
or al, 0xe1
pop ds
jb 0x40cfc6
push es
mov edi, 0x4c952c5f
fcomp qword [esi + 0x4580ee82]
shl dword [edx + edx - 0x6d], cl
invalid
jecxz 0x40d072
inc eax
jno 0x40d00c
rol dword [edx - 0x1f], 0xdd
add dword [ebx - 0x21], ecx
lodsb al, byte [esi]
add byte [bp + di], ah
jbe 0x40d0d6
jno 0x40d005
scasd eax, dword es:[edi]
pop es
cmpsb byte [esi], byte es:[edi]
and ch, byte [ebp + 0x33]
push edi
cmc
and al, 0x3e
xor dword [ebx - 0x248e1e39], esp
wait
xor al, 0xa4
dec edx
xchg edi, eax
push es
jae 0x40d0f9
ja 0x40d0e2
ja 0x40d0e2
add byte [0xf3219e68], 0xd8
mov edx, 0x6a1026c5
and ebx, esi
fdivr dword [edx + 0x6a1026c5]
loope 0x40d0c7
inc ebp
inc ebp
mov eax, dword [0x288ecbb1]
jp 0x40d10f
mov ebp, ebp
test al, 0xd
sub byte [ecx - 0x5e], ah
stc
ret 0x6a8a
mov bl, 0x84
outsb dx, byte [esi]
mov dh, 0x6f
jne 0x40d0c6
invalid
jo 0x40d09b
rcl dword [ebx], cl
sar byte [eax + ecx*4 - 0x5d], cl
sbb esp, dword [edx + 0x428784c4]
pop ds
adc edx, edx
jl 0x40d054
mov dword [0x84c4a21b], eax
xchg dword [edx + 0x1f], eax
and al, 0x5a
inc esp
jne 0x40d094
mulps xmm7, xmmword [esi + 0x1a]
cmp eax, 0x14741643
mov dl, 0x61
ret 0x8ac0
xor eax, 0xe1bdab5d
lcall 0x1ef5, 0x7efb9ed3
stosd dword es:[edi], eax
mov ebp, 0x9ed39ae1
sti
jle 0x40d0f7
push ds
or bl, byte [eax + eax*8]
aaa
jge 0x40d181
sbb eax, 0x21cf0197
xchg edi, eax
xor dword [edi + 3], 0x403ce7a5
sub dword [eax - 0x1ffee250], esp
mov edi, 0x923c43bc
sbb al, 0x2c
jb 0x40d0bc
xchg byte [edx + 0x7d], bh
pushal
invalid
add byte [edi], cl
dec esp
out dx, eax
adc ebx, edx
insb byte es:[edi], dx
into
mov cl, 0x93
mov al, 0xca
push ecx
sbb al, 0xc3
sbb edx, dword [ebp + 0x108b11d5]
pop edx
or dword [edi], 0xff7e84e0
mov word [ebx], ss
jne 0x40d1ae
mov ebx, 0x926e8f8e
xchg ebx, eax
and cl, al
inc eax
rcl byte [eax + 0xc], 0x8d
push cs
mov al, byte [0xdcd400d]
xlatb
mov ecx, dword [esi + 0x2c]
cld
mov eax, dword [0xb2781da2]
jno 0x40d1f5
push ecx
rcr dword [eax - 0x77], cl
pushal
xchg ebx, eax
sal byte [esi - 0x65], 0xde
push ecx
sbb esi, dword [eax + 0x572e7e1e]
cwde
pop ebp
aas
and dword [ebx - 0xcbe26df], esi
mov eax, dword [0x674d87c7]
add eax, 0xcefc4be0
jle 0x40d255
outsb dx, byte [esi]
xor eax, 0xa8ef490e
xor edx, dword [ebx + 0x51d8b117]
push ebx
and eax, 0x2c03135c
loope 0x40d1e6
adc eax, dword [ebx]
sub al, 0xe1
in al, dx
into
mov eax, dword [0x31e3718d]
and byte [ebp], cl
ljmp 0x41ce
insb byte es:[edi], dx
out 0x2f, eax
lea ebx, [edx]
mov edi, 0xdfe59704
mov cl, 0x4e
test eax, 0x40df445e
into
add byte [ecx + esi*8 - 0x71], ch
ror edi, 1
push eax
js 0x40d221
push ds
mov bl, al
enter 0xd47, 0xffffffffffffffd2
int1
mov gs, word [edi + ecx*4 - 0x3b830d0]
xor bh, cl
inc edi
cld
mov dh, 0xab
cmpsd dword [esi], dword es:[edi]
fiadd word [edi - 0x2b1c82c2]
sub dl, cl
stc
sar ecx, 1
dec ebp
ffree st(2)
adc byte [edi - 0x505d1502], dh
into
inc edi
xor byte [esi + 0x13], bl
jns 0x40d23a
push 0x3b5a50d6
or byte [ebx + 0x3a], ch
out 0xc0, eax
daa
int3