Function at 0x401a00
Capabilities:
Encode data using xor

Disassembly:
push 0x442c48
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 - 0x788d5155], al
jg entry0
inc edi
xchg edi, eax
bound eax, qword [esi + 0x63]
pop eax
test al, 0
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + ebx + 0x27], ch
sub bl, byte [edx]
pop ss
insb byte es:[edi], dx
popal
jne 0x401aae
arpl word [eax + 0x65], bp
jb 0x401a45
adc dl, byte [ecx + edx]
adc eax, 0x151015
add byte [eax], al
add bh, bh
int3
push esp
add eax, dword [eax]
add byte [eax], cl
add byte [ebp + 0x61], ch
imul ebp, dword [esi + 0x66], 0x6d726f
or eax, 0xbe000a01
fistp qword [eax - 0x481b3a4a]
mov cl, 0xc3
mov bl, 0
add ebx, dword [eax]
add byte [eax], al
sbb byte [ecx], 1
add byte [edx], ah
and dword [ebp + 0x6c000306], ecx
je 0x401ade
add byte [ebp - 0xfffcfa], al
fdivr st(7)
loope 0x401afb
push 0x45
js 0x401b55
add byte [eax], al
dec ecx
dec ecx
sub al, byte [eax]
or byte [eax], al
add byte [eax], al
or al, 0
add byte [ecx], al
add eax, dword [eax]
add dword [eax], eax
add byte [eax], al
out dx, al
add al, byte [eax]
add byte [ecx], al
add dword [ebx], eax
add byte [ecx], al
add byte [eax], al
add byte [edi + 0x2000001], ch
add dword [ebx], eax
add byte [ebx], al
add byte [eax], al
add byte [esi + 0x6000000], bl
add dword [ebx], eax
add byte [ecx], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [edx], dl
add dword [ebx], eax
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x1000301], dl
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add byte [edx], bl
add dword [0x100], eax
add byte [eax + eax + 0x11b0000], ah
add eax, 0x100
add byte [eax + eax + 0x1280000], ch
add eax, dword [eax]
add dword [eax], eax
add byte [eax], al
add al, byte [eax]
add byte [eax], al
xor dword [ecx], eax
add al, byte [eax]
sbb al, 0
lodsb al, byte [esi]
add byte [eax], al
add byte [eax], ch
add dword [ebx], eax
add byte [ecx], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [ecx], dh
add dword [edx], eax
add byte [eax + eax], bl
add byte [eax], al
mov ah, 0
add byte [eax], al
xor al, byte [ecx]
add al, byte [eax]
adc al, 0
add byte [eax], al
rol byte [eax], 1
add byte [eax], al
imul eax, dword [edi + 0x10004], 0xe40000
add byte [eax], al
sbb al, 1
add byte [eax], al
or byte [eax], al
or byte [eax], al
or byte [eax], al
cmp ah, 0xa
add byte [eax], dl
daa
add byte [eax], al
cmp ah, 0xa
add byte [eax], dl
daa
add byte [eax], al
inc ecx
outsd dx, dword fs:[esi]
bound esp, qword [ebp + 0x20]
push eax
push 0x736f746f
push 0x4320706f
push ebx
xor eax, 0x6e695720
outsd dx, dword fs:[esi]
ja 0x401c31
add byte [edx], dh
xor byte [ecx], dh
xor eax, 0x3a31303a
xor byte [eax], bh
and byte [ecx], dh
xor al, 0x3a
xor bh, byte [ecx]
cmp dh, byte [edx]
xor eax, 0x400
nop
pop es
add byte [eax + eax], al
add byte [eax], al
xor byte [edx], dh
xor dh, byte [ecx]
add dword [eax + 0x10003], esp
add byte [eax], al
invalid
sub byte [ecx], al
add eax, dword [eax]
add dword [eax], eax
add byte [eax], al
add al, byte [eax]
add byte [eax], al
add dword [edx], eax
add al, 0
add dword [eax], eax
add byte [eax], al
jp 0x401c48
add byte [eax], al
add al, byte [edx]
add al, 0
add byte [edx], al
add al, byte [eax + eax]
add dword [eax], eax
add byte [eax], al
call 0x401c67
add byte [eax], al
add byte [eax], cl
add byte [eax], al
add dword [eax], eax
add byte [eax], al
dec eax
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add bh, bh
fdivr st(7)
in eax, dx
add byte [ecx + eax*2], cl
outsd dx, dword fs:[esi]
bound esp, qword [ebp + 0x5f]
inc ebx
dec ebp
add byte [edx], al
invalid