Function at 0x402510
Capabilities:
Encode data using xor

Disassembly:
push 0x407240
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
dec eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dh, dl
mov bh, 0xc6
add dword [ebp - 0x26], esp
xchg ebp, eax
dec edi
mov gs, word [edx + 0x37]
inc dx
mov bh, 0x9d
lds eax, [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x53b5148], bh
inc esi
popal
js 0x4025a0
jb 0x4025b9
inc ecx
push edx
inc ecx
push 0x55
outsb dx, byte [esi]
popal
push 0x43
jb 0x40255f
add eax, 0x53c7200
add byte [eax], al
add byte [eax], al
add eax, 0
dec esp
xor dword [eax], eax
mov esp, 0x68c6d4d9
mov cl, 0xee
inc ecx
test eax, 0xe9cc252f
pop eax
loop 0x402563
salc
pop edi
in eax, 2
push ecx
or dword [ecx + 0x61189442], ebp
cmp ch, byte [ecx]
lodsd eax, dword [esi]
push es
popfd
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
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
dec esp
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + eax], cl
mov eax, dword [4]
adc al, byte [eax]
jb 0x40263c
inc esi
popal
js 0x402623
jb 0x40263c
inc ecx
push edx
push ebp
outsb dx, byte [esi]
popal
push 0x43
jb 0x4025df
or eax, 0x41001901
push 0x75
jae 0x40265d
and byte [ebp + 0x6e], dl
popal
push 0x75
jae 0x402666
and byte fs:[ebx + 0x72], al
imul esi, dword fs:[ebx + esi*2], 0x42000119
add byte [edx], ah
add dword [ebx], esp
add al, 0
add byte [esp + esi*2], ch
add byte [esi], dh
add al, 0
add byte [eax], al
add byte [ecx], al
add byte [edx], al
add byte [eax], ah
and byte [eax], dl
add byte [eax], al
add byte [eax], al
add al, ch
add al, byte [eax]
add byte [esi], ah
add byte [eax], al
add byte es:[eax], al
add byte [eax], dl
adc byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], ch
add dword [eax], eax
add byte [esi], cl
add eax, dword [eax]
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
add al, 0
add byte [eax], al
add byte [eax], al
add byte [edx], 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
add byte [eax], al
add byte [eax + 0x800000], al
add byte [eax], al
add byte [eax + 0x8000], 0
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], al
add byte [eax], 0
add byte [eax + 0x800080], al
add byte [eax], al
add byte [eax], 0x80
add byte [eax - 0x7fffff80], al
add byte [eax - 0x3f3f4000], 0
add byte [eax], al
inc dword [eax]
add bh, bh
add byte [eax], al
add bh, bh
inc dword [eax]
inc dword [eax]
add byte [eax], al
inc dword [eax]
inc dword [eax]
invalid