Function at 0x4036e4
Capabilities:
Encode data using xor

Disassembly:
push 0x409b10
call sub.MSVBVM60.DLL_ThunRTMain
add byte [eax], al
add byte [eax], al
add byte [eax], al
xor byte [eax], al
add byte [eax], al
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x47], ch
inc ebp
add dh, ch
fisub dword [ecx]
dec ebp
nop
lodsb al, byte [esi]
xor ebp, dword [eax - 0x1636ca3]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
dec ecx
outsb dx, byte [esi]
jae 0x403798
popal
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebp + 0x6e], 0x74
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
add byte [edx - 0x23], ch
vreducess xmm1 {k4} {z}, xmm0, dword [edx + eax*4 + 0xb0], 0xd
or al, 0x3d
xor dword [edi], ebp
fcomp dword [edi + 0x76750e68]
cmpsb byte [esi], byte es:[edi]
cli
inc edi
wait
enter 0x52d6, 0xffffffffffffffc0
sub byte [ecx - 0x52b0c560], dl
xor ebx, dword [ecx - 0x48ee309a]
or al, 0
stosb byte es:[edi], al
add byte [eax - 0x2d], ah
xchg ebx, eax
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], 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
aam 0x62
add byte [eax], al
iretd
push ebp
push eax
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebp + 0x6e], 0x10d0074
or eax, 0x736e4900
je 0x40380b
insb byte es:[edi], dx
insb byte es:[edi], dx
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebp + 0x6e], 0x1190074
add byte [edx], al
and eax, dword [esi + 0x6c000062]
je 0x4037c0
add byte [esi + 0x62], bh
add byte [eax], al
add byte [eax], al
add dword [eax], eax
or dword [eax], eax
adc byte [eax], dl
adc byte [eax], al
add dword [eax], eax
add al, 0
sub byte [ecx], al
add byte [eax], al
xchg esi, eax
add byte [eax], al
add byte [eax], ah
and byte [eax], dl
add byte [ecx], al
add byte [eax + eax], al
call 0xbe4037ea
add dword [eax], eax
add byte [eax], dh
xor byte [eax], dl
add byte [ecx], al
add byte [eax + eax], al
push 0xa6000006
add al, 0
add byte [eax], dl
adc byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 5], ch
add byte [eax], al
push cs
or eax, dword [eax]
add byte [eax], ah
and byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 0x76000008], ch
adc byte [eax], al
add byte [eax], dh
xor byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax + 0x1e00000e], ch
and byte [eax], ah
add byte [eax], al
add dword [eax], eax
or byte [eax], al
test al, 8
add byte [eax], al
jbe 0x403829
add byte [eax], al
xor byte [eax], dh
add byte [eax], al
add dword [eax], eax
or byte [eax], al
test al, 0xe
add byte [eax], al
push ds
sbb dword [eax], eax
add byte [eax], dl
adc byte [eax], al
add byte [ecx], al
add byte [eax], ah
add byte [eax + 4], ch
add byte [eax], al
invalid
add byte [eax], al
adc byte [eax], dl
add byte [eax], al
add dword [eax], eax
and byte [eax], al
push 0xc6000004
daa
add byte [eax], al
and byte [eax], ah
add byte [eax], al
add dword [eax], eax
and byte [eax], al
test al, 0x10
add byte [eax], al
sub al, 0
add byte [eax], dh
xor byte [eax], al
add byte [ecx], al
add byte [eax], ah
add byte [eax - 0x29ffffdb], ch
cmp al, 0
add byte [eax], ch
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add byte [ecx], al
add byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
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 dh, bh
invalid