Function at 0x40d0d4
Capabilities:
Encode data using xor

Disassembly:
mov dh, 0xea
dec ecx
leave
invalid
arpl word [ebx], dx
inc ecx
inc ecx
loop 0x40d05d
inc ecx
xchg byte [ecx + 0x3a], al
inc ecx
jo 0x40d123
cmp al, byte [ecx - 0x7a]
inc ecx
pop ecx
inc ecx
cmp eax, dword [ecx - 0x3f]
inc ecx
stosb byte es:[edi], al
inc ecx
inc ebx
inc ecx
dec edx
inc ecx
mov dl, 0x41
xchg byte [ecx - 0x7a], al
inc ecx
mov eax, dword [ecx - 0x68]
inc ecx
xchg byte [ecx + 0x59], al
inc ecx
inc ecx
inc ecx
cmovno ebx, dword [ebx - 0x70be9cbf]
inc ecx
inc ecx
inc ecx
add byte [ecx - 0x7a], 0x41
cmp al, byte [ecx + 0x70]
inc ecx
cmp al, byte [ecx - 0x7a]
inc ecx
pop ecx
inc ecx
cmp eax, dword [ecx - 0x3f]
inc ecx
stosb byte es:[edi], al
inc ecx
inc ebx
inc ecx
dec edx
inc ecx
mov dl, 0x41
xchg byte [ecx - 0x7a], al
inc ecx
mov eax, dword [ecx - 0x68]
inc ecx
xchg byte [ecx + 0x59], al
inc ecx
inc ecx
inc ecx
stosd dword es:[edi], eax
inc ecx
inc ebp
inc ecx
jl 0x40d17b
wait
inc ecx
leave
inc ecx
mov bl, 0x41
stosb byte es:[edi], al
inc ecx
rol dword [ecx - 0x60], cl
inc ecx
test dword [ecx - 0x75], eax
inc ecx
push ecx
inc ecx
mov al, byte [0x41419b41]
inc ecx
inc ecx
inc ecx
jmp 0x52c45a1d
inc ecx
mov eax, dword [ecx + 0x51]
inc ecx
mov al, byte [0x41419b41]
inc ecx
cmovno ebx, dword [ebx - 0x70be9cbf]
inc ecx
inc ecx
inc ecx
stosd dword es:[edi], eax
inc ecx
inc ebp
inc ecx
jl 0x40d1d7
wait
inc ecx
leave
inc ecx
mov bl, 0x41
stosb byte es:[edi], al
inc ecx
rol dword [ecx - 0x60], cl
inc ecx
test dword [ecx - 0x75], eax
inc ecx
push ecx
inc ecx
mov al, byte [0x41419b41]
inc ecx
stosd dword es:[edi], eax
inc ecx
inc ebp
inc ecx
jl 0x40d1f5
wait
inc ecx
leave
inc ecx
mov bl, 0x41
stosb byte es:[edi], al
inc ecx
rol dword [ecx - 0x60], cl
inc ecx
test dword [ecx - 0x75], eax
inc ecx
push ecx
inc ecx
mov al, byte [0xf419b41]
inc ecx
wait
inc ecx
arpl word [ecx - 0x71], ax
inc ecx
and dword [ecx + 0x41], eax
inc ecx
adc eax, dword [ecx - 0x7e]
inc ecx
dec ebp
inc ecx
inc ecx
add byte [ecx + 0x4d], 0x41
mov dword [0xcb36cc41], eax
add byte ss:[eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
and al, byte [ecx]
xchg edx, eax
sub byte [ebp - 0x2e], dl
ror dword [ebp + 0x23e924], 0
add byte [eax], al
add byte [edx], al
add byte [eax + eax], al
rol cl, cl
lea esp, [ecx + ebp*8]
and eax, dword [eax]
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add al, 0
add byte [eax], al
add byte [eax], al
xchg edx, eax
push es
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor al, 0x79
sub byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
aas
movsd dword es:[edi], dword [esi]
push es
add byte [eax], al
add byte [eax], al
add byte [ecx + edi*2], ah
sub byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop edi
movsd dword es:[edi], dword [esi]
push es
add byte [eax], al
add byte [eax], al
add byte [edx + 0x79], al
sub byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jg 0x40d1f7
push es
add byte [edi], cl
add al, byte [ecx]
pop esp
jns 0x40d283
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ch
pop ds
mov edx, 0xcb896b8c
bound edi, qword [ecx + 0x28]
add byte [eax], al
add byte [eax], al
add bl, dl
inc ecx
std
inc ecx
pop ecx
inc ecx
dec edx
inc ecx
fadd dword [ecx - 0x34]
inc ecx
int3