Function at 0x401108
Capabilities:
Encode data using xor

Disassembly:
push 0x403334
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
pushal
add byte [eax], al
add byte [eax], cl
add byte [eax], al
cmp dword [ebp - 0x3e], ecx
or al, 0xaf
scasb al, byte es:[edi]
or byte [eax - 0x53], cl
jae 0x401109
xor al, 0x33
inc eax
add al, ch
out dx, al
invalid
out dx, eax
lahf
test byte [eax - 0x1d], bl
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xor byte [eax], dh
xor byte [eax], dh
xor byte [eax], ah
push ebx
inc esi
dec ecx
inc ebx
inc ecx
xor al, byte [ebx + 0x61]
insb byte es:[edi], dx
arpl word [ebp + 0x6c], si
popal
je 0x4011c2
jb 0x401155
and byte [ecx + 0x66], cl
or eax, 0x430a0d0a
popal
insb byte es:[edi], dx
arpl word [ebp + 0x6c], si
popal
je 0x4011d4
jb 0x401187
outsw dx, word [esi]
jb 0x40118b
push ebx
inc esi
dec ecx
inc ebx
and byte [ecx + 0x32], al
add byte [eax], dh
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
jae 0x401172
mov esi, 0xdc828192
cmp dword [edx - 0x4a], ecx
out dx, eax
add ecx, edx
jo 0x40116f
in eax, dx
ja 0x401148
inc eax
jo 0x401131
or dl, ah
dec edi
mov edi, 0xf0710fc
mov esp, 0x4f3a1edc
lodsd eax, dword [esi]
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
inc esi
and 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 [esi + 0x20], al
add byte [eax], al
adc ecx, dword [ecx]
add byte [eax], al
add byte [0x726f4600], al
add byte [ebx], dl
or dword [eax], eax
add byte [eax], al
add eax, 0x726f4600
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0x53001201
inc esi
dec ecx
inc ebx
and byte [ecx + 0x32], al
and byte [ebx + 0x61], al
insb byte es:[edi], dx
arpl word [ebp + 0x6c], si
popal
je 0x401266
jb 0x4011f9
sbb dword [ecx], eax
add byte [edx], al
and al, byte [ecx]
and eax, esi
or byte [eax], al
add byte [esp + esi*2], ch
add byte [esi + 8], bh
add byte [ecx], al
add byte [ecx], al
add byte [eax], ah
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x16000008], ch
add byte [eax], al
add byte [eax], ch
add byte [eax], al
add byte [eax], ah
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
or byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 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
das
das
das
add byte [ecx], dh
xor dword [ecx], esi
add byte [esp + ecx*2 + 0x4c], cl
add byte [edx + 0x52], dl
push edx
add byte [ebx + 0x53], dl
push ebx
add byte [ebp + 0x55], dl
push ebp
add byte [edi + 0x5f], bl
pop edi
add byte [esi + 0x6e], ch
outsb dx, byte [esi]
add byte [eax + 0x70], dh
jo 0x401273
ja 0x4012ec
ja 0x401277
jns 0x4012f2
jns 0x40127b
invalid
test eax, 0xaaaa00a9
stosb byte es:[edi], al
add byte [ebx - 0x53ff5455], ch
lodsb al, byte [esi]
lodsb al, byte [esi]
add byte [ebp - 0x51ff5253], ch
scasb al, byte es:[edi]
scasb al, byte es:[edi]
add byte [edi - 0x4fff5051], ch
mov al, 0xb0
add byte [ecx - 0x4dff4e4f], dh
mov dl, 0xb2
add byte [ebx - 0x4bff4c4d], dh
mov ah, 0xb4
add byte [ebp - 0x49ff4a4b], dh
mov dh, 0xb6
add byte [edi - 0x47ff4849], dh
mov eax, 0xb9b900b8
mov ecx, 0xbababa00
add byte [ebx - 0x43ff4445], bh
mov esp, 0xbdbd00bc
mov ebp, 0xbebebe00
add byte [edi - 0x3fff4041], bh
rol al, 0
rol ecx, 0xc1
add dl, al
ret 0xc2