Function at 0x402c78
Capabilities:
Encode data using xor

Disassembly:
push 0x403234
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 [esp + eax*4 - 0x44d1c6a2], ah
js 0x402ce1
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
movsb byte es:[edi], byte [esi]
test byte [esi + 0x39], bl
mov ebx, 0x86874578
adc ch, 0x97
sub dword [ebx], ebx
push ss
xchg dword [esi + 0x2997d582], eax
sbb edx, dword [esi]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
sub dword [esi], 0x80000000
dec ebp
popal
imul esi, dword [ecx + 0x42], 0x6f
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0x2e], al
or byte [ebp + 0x61], 0x6b
je 0x402d1a
inc edx
outsd dx, dword [esi]
je 0x402cbd
dec ebx
outsd dx, dword [esi]
insb byte es:[edi], dx
insb byte es:[edi], dx
push 0x20
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
adc al, 0xb6
jle 0x402cbf
push ebp
insb byte es:[edi], dx
or eax, dword [edx - 0x62]
jne 0x402c8b
pop eax
sbb dh, byte ds:[esi - 0x12]
popal
std
sti
loope 0x402ca9
invalid
cmpsd dword [esi], dword es:[edi]
cmpsb byte [esi], byte es:[edi]
inc edi
mov eax, dword [0xeaff1ff3]
pop ss
jno 0x402d2b
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
sub dword [eax + eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], ch
add al, 0
add byte [ebp], al
add byte [eax], al
add byte [0x726f4600], al
insd dword es:[edi], dx
add byte [esi + 0x6f], al
jb 0x402d9d
xor dword [eax], eax
or eax, 0x4d000801
popal
imul esi, dword [ecx + 0x42], 0x6f
je 0x402d3f
sbb dword [ecx], eax
add byte [edx], al
and edi, edi
invalid
inc ebx
xor al, 0x12
or byte [eax], al
add byte [eax], al
in eax, 2
add byte [eax], al
in eax, 2
add byte [eax], al
xchg edx, eax
fmul dword [ebp + 0x6000024]
add byte [eax], al
add byte [eax], al
add byte [ecx], cl
add byte [eax], al
add byte [ecx], dh
add byte [edx], dh
add byte [edi], dh
add byte [esi], ch
add byte [eax], dh
add byte [esi], ch
add byte [eax], dh
add byte [esi], ch
add byte [ecx], dh
add byte [esi], cl
daa
add byte [eax], al
add byte [eax], al
add byte [eax], al
cmp ecx, ebp
pop es
add byte [eax], al
cmp ah, byte [esi - 0xfffff2]
add ebp, dword [esi]
add byte [eax], al
add byte [ecx], al
or dword [eax], eax
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
xor dword fs:[edx], esi
add byte [ecx + eax], al
or dword [eax], eax
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
xor dword fs:[edx], esi
add byte [esi + edx*4], al
add ah, ah
or al, 0xde
add edx, ecx
add dword [ecx], ecx
add byte [ecx], dl
invalid