Function at 0x40219c
Capabilities:
Encode data using xor

Disassembly:
push 0x40cd4c
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
xchg esp, eax
mov dword [0x9164eafb], eax
dec ebp
mov ecx, 0xaa178d6a
imul ebx, edi, 0xffffffe8
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
pop es
add bl, ah
adc byte [ebx], cl
add dword [ecx + 0x31ccb3a4], edi
add byte [ebx + 1], bl
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
xor dl, byte [ecx - 0x54]
push ecx
lodsb al, byte [esi]
mov eax, 0x70bde044
dec eax
mov byte [esi - 0x640531cc], bl
mov edi, 0x555606ec
adc byte [0x8b4b14d3], al
sub eax, 0xfac9d1d5
outsb dx, byte [esi]
cmp cl, byte [edi - 0x53]
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
jg 0x4021e9
add byte [eax], al
xchg dword [ebp], edi
add byte [eax], al
add eax, 0x726f4600
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0xd5000e01
sar byte [ebx - 0x46443928], cl
sti
mov bh, 0xfe
into
int1
mov dh, 0xcb
add byte [ecx], bl
add dword [eax], eax
inc edx
add byte [ebx], ah
jge 0x40226a
add byte [esp + esi*2], ch
add byte [esi], dh
jge 0x402272
add byte [eax], al
add byte [ecx], al
add byte [eax + eax], al
adc byte [eax], dl
add byte [eax], al
add dword [eax], eax
and byte [eax], al
insb byte es:[edi], dx
add al, 0
add byte [esi], al
add byte [eax], al
and byte [eax], ah
add byte [eax], al
add dword [eax], eax
and byte [eax], al
lodsb al, byte [esi]
adc byte [eax], al
add byte [edx + 0x30000004], dh
xor byte [eax], al
add byte [ecx], al
add byte [eax], ah
add byte [ebp + 0x155e0000], ch
add byte [eax], al
inc eax
inc eax
add byte [eax], al
add dword [eax], eax
and byte [eax], al
sub al, 0x42
add byte [eax], al
or bh, byte [ebx]
add byte [eax], al
sub byte [eax], al
add byte [eax], al
adc byte [eax], al
add byte [eax], al
and byte [eax], al
add byte [eax], al
add dword [eax], eax
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 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 eax, dword [eax]
add byte [eax], al
or byte [eax], al
add byte [eax], al
or al, byte [eax]
add byte [eax], al
adc byte [eax], al
add byte [eax], al
push ss
add byte [eax], al
add byte [esi], dl
add byte [eax], al
add byte [eax], dl
add byte [eax], al
add byte [ebx], cl
add byte [eax], al
add byte [ecx], cl
add byte [eax], al
add byte [eax + 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
push es
add byte [eax], al
add byte [ebx + eax], cl
add al, byte [edx]
sbb eax, 0x55232224
dec ebp
dec esp
dec ebp
mov word [esi + 0x6e], gs
outsb dx, byte [esi]
scasd eax, dword es:[edi]
jo 0x4023b2
jo 0x4022f6
push eax
push eax
push eax
xchg ecx, eax
and eax, 0x25c2525
add al, byte [edx]
and dword [eax], eax
add byte [eax], al
or al, 0
add byte [eax], al
pop es
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi], al
add byte [eax], al
add byte [ebx], cl
adc eax, 0x5e3f1516
push 0x61
mov edx, 0xfcaaacaa
invalid
sahf
pop ebx
dec dword [edi - 0x6544]
cld