Function at 0x4013ac
Capabilities:
Encode data using xor

Disassembly:
push 0x401720
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
cmp byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
push 0x71e2ba78
setge byte [edx - 0x6c]
and eax, 0xc3e6e94d
fisub word [edi]
add byte [eax], al
add dword [eax], eax
add byte [eax], al
inc esi
sub eax, 0x43424139
push ebx
add byte [eax], dh
cmp byte [eax], dh
inc ebx
aaa
inc ebp
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
pcmpeqd mm0, mm7
popfd
mov bh, 0xcb
cdq
nop
dec ebx
lcall 0x275c, 0x3f1bc184
scasd eax, dword es:[edi]
jg 0x4013c6
sub eax, 0x5357c27c
inc ebp
mov edi, 0x5797ef66
pop eax
mov esp, 0xad4f3a14
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
add byte [edx], 0
add byte [edx], al
add byte [eax], al
add byte [0x726f4600], al
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0x46000501
outsd dx, dword [esi]
jb 0x4014d3
xor dword [eax], eax
sbb dword [ecx], eax
add byte [edx], al
and al, byte [ecx]
and edi, edi
invalid
add byte [ebx], al
add eax, 0x78655400
je 0x40150e
add byte [edx], al
add al, 0
add byte [eax], bh
fist word [ecx]
push cs
add dword [edx], edx
add al, 0
inc dword [ebx]
add byte es:[eax], al
add byte [eax + ecx], al
add byte [ebx + 0x6f], al
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
xor dword fs:[eax], eax
add al, 1
add al, 0
imul bp, word [esi + 0x64], 0x400
dec eax
adc bh, byte [eax]
iretd
adc dword [ebx], eax
add bh, bh
add ebx, dword [ebx]
add byte [eax], al
add byte [0x694c0005], al
jae 0x401592
xor dword [eax], eax
or byte [eax + eax], al
add al, ah
add dword [edi], edx
pop es
rcl byte [ecx]
adc dword [eax], eax
add bh, bh
add ebx, dword [edi]
add byte [eax], al
add byte [esi], al
push es
add byte [ecx + ebp*2 + 0x6d], dl
jb 0x40156d
add byte [ebx], cl
add esi, esp
add dword [eax], eax
add byte [edi], al
enter 0x19, 0
or al, al
adc al, byte [eax]
add bh, bh
add ebx, dword [esi]
add byte [eax], al
push cs
add al, byte [eax]
push edi
xor dword [eax], eax
call dword [eax + eax]
dec ebp
push ebx
push edi
imul ebp, dword [esi + 0x73], 0x4c6b636f
imul esp, dword [edx + 0x2e], 0x736e6957
outsd dx, dword [esi]
arpl word [ebx], bp
sub eax, 0x9424c
sub byte [eax], al
add byte [eax], al
and dword [ebx + 0x34], eax
adc cl, byte [eax]
add byte [eax], al
add ch, ah
add al, byte [eax]
add ch, ah
add al, byte [eax]
add byte [edx + 0x248dd8], dl
add byte [esi], 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 + 4], al
add byte [eax], al
cmp eax, ecx
sbb dword [eax], eax
add byte [edx], bh
mov al, byte [0xff000014]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc eax
add al, 0
add byte [ecx], bh
enter 0x19, 0
cmp ah, byte [eax - 0xffffec]
add ebx, dword [ebx]
add byte [eax], al
add byte [edi], al
add eax, 0x73694c00
je 0x4015ec
add byte [eax], cl
add al, 0xf8
pop es
loopne 0x4015c2
adc eax, edx
adc eax, edx
adc dword [ecx], edx
add dword [eax], eax
inc dword [ebx]
pop esi
add byte [eax], al
add byte [edi], cl
add al, byte [eax]
ja 0x401605
add bh, bh
adc al, 0
dec ebp
push ebx
push edi
imul ebp, dword [esi + 0x73], 0x4c6b636f
imul esp, dword [edx + 0x2e], 0x736e6957
outsd dx, dword [esi]
arpl word [ebx], bp
sub eax, 0x9424c
sub byte [eax], al
add byte [eax], al
and dword [ebx + 0x34], eax
adc cl, byte [eax]
add byte [eax], al
add ch, ah
add al, byte [eax]
add ch, ah
add al, byte [eax]
add byte [edx + 0x248dd8], dl
add byte [esi], al
xchg edx, eax
fmul dword [ebp + 0x6000024]
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 [ecx + 4], al
add byte [eax], al
cmp dword [eax], esp
sbb al, 0
add byte [edx], bh
mov al, byte [0xff000014]
add esp, dword [edx]
add byte [eax], al
add byte [eax], cl
push es
add byte [ecx + 0x62], cl
insb byte es:[edi], dx
xor al, byte [eax]
add dword [ecx], eax
add al, byte [eax]
dec esi
dec edi
add byte [0x781a40], al
fild word [edx]
inc dword [eax]
adc al, byte [esi]
add bh, bh
add esp, dword [edx]
add byte [eax], al
add byte [ecx], cl
push es
add byte [ecx + 0x62], cl
insb byte es:[edi], dx
xor dword [eax], eax
add dword [ecx], eax
add al, byte [eax]
dec esi
dec edi
add byte [0x7816f8], al
fild word [edx]
inc dword [eax]
adc al, byte [edx]
add bh, bh
add al, byte [0x16]
or al, byte [edx]
add byte [ebx + 0x5a], al
add byte [ebx], dl
add al, byte [eax]
add eax, dword [edx]
add byte [ebx + 0x7a], ah
add byte [edi], al
invalid