Function at 0x40179c
Capabilities:
Encode data using xor

Disassembly:
push 0x401e18
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
jo 0x4017b2
add byte [eax], al
inc eax
add byte [eax], al
add byte [eax - 0xb], cl
ror byte [ebx], 1
movsb byte es:[edi], byte [esi]
push edi
xchg byte [eax - 0x75], al
jns 0x4017e9
mov al, 0xa6
out dx, al
inc esi
inc byte [eax]
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x30303043], ch
sub eax, 0x45494c43
dec esi
push esp
inc ebp
pop edi
push eax
push ebx
dec edi
dec esp
add byte [ebx], ah
xor ch, byte [esi]
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebp + 0x6e], 0x50206574
jb 0x401858
jo 0x401856
jb 0x401858
outsd dx, dword fs:[esi]
and byte [eax + 0x61], dh
jb 0x40185f
and byte [ebp + 0x6e], al
jbe 0x40186c
outsd dx, dword [esi]
and byte [ebp + 0x20], ah
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
jb 0x40187b
popal
arpl word [ecx - 0xe], bp
outsb dx, byte [esi]
add byte [ebp + 0x61], ch
popal
je 0x401881
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
add ebx, dword [esi - 0x4ae8e22b]
xor al, 0x91
dec ebp
lcall 0xa3a7, 0x3d01a31
jnp 0x401815
mov ecx, dword [eax]
push ecx
jge 0x40180f
inc eax
xchg byte [ecx + 0x7a775d68], cl
inc byte [ecx + 0x3a]
dec edi
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
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
and byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], ah
add al, 0
add byte [ebx + 3], ah
add byte [eax], al
add byte [esi], cl
add byte [esi + 0x52], al
push edx
dec ebp
pop edi
inc ebx
dec esp
dec ecx
push eax
push ebx
dec edi
dec esp
inc esi
push esp
push eax
add byte [0xd03], cl
add byte [eax + ebx], 0
add byte [eax + 0x42000119], al
add byte [edx], ah
add dword [ebx], esp
push es
add eax, dword [eax]
add byte [esp + esi*2], ch
add dh, bh
add al, byte [eax]
add byte [eax], al
add byte [ecx], al
add byte [ecx], 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], dl
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
add al, 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], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], 0
add byte [eax], 0
add byte [eax + 0x800080], al
add byte [eax], al
add byte [eax], 0x80
add byte [eax - 0x3fffff80], al
rol al, 0
add byte [eax + 0x80], 0xff
add byte [eax], al
inc dword [eax]
add byte [eax], al
invalid