Function at 0x40104c
Capabilities:
Encode data using xor

Disassembly:
push 0x401564
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
jo 0x401054
invalid
sahf
loope 0x4010c7
sub cl, byte [eax - 0x78]
cmpsd dword [esi], dword es:[edi]
cli
rol dword [edi], 1
salc
jg sym.imp.MSVBVM60.DLL_EVENT_SINK_Release
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xor byte [edx], dh
xor byte [ebx + esi], dh
xor byte [ecx + 0x31ccb3a4], bh
add byte [eax], dh
xor byte [eax], al
add byte [eax], al
add bh, bh
int3
rcl dword [ebx], cl
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 al, 4
add byte [eax], al
push edi
add byte [eax], al
add byte [eax], al
add eax, 0x726f4600
insd dword es:[edi], dx
xor dword [eax], eax
or eax, 0x77001801
and byte fs:[esi], ah
and byte [edi + 0x69], dh
jae 0x40112c
xlatb
fstp xword [edx - 0x415b4631]
fbld tbyte [eax]
bound edi, qword [ecx + 0x20]
mov edx, 0x11900c6
add byte [edx], al
and al, byte [ecx]
and edi, edi
invalid
jb 0x40119b
xor dword [eax], eax
add byte es:[edi], ah
add byte [0x2d], dh
dec edx
add dword [eax], eax
add byte [ecx + 0x4a000012], dh
adc byte [eax], al
add byte [esi + 3], al
inc dword [ecx]
and eax, dword [eax]
add byte [eax], al
add dword [esi], eax
add byte [esi + 0x72], al
popal
insd dword es:[edi], dx
xor al, byte gs:[eax]
add eax, dword [ecx]
add eax, dword [eax]
push edi
dec ecx
push ebx
add byte [0x7f80078], al
adc dword [bx], esp
push es
adc cl, byte [eax]
add bh, bh
add dword [edi], esp
add byte [eax], al
add byte [edx], al
or byte [eax], al
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
xor al, byte fs:[eax]
add al, 1
add eax, 0x61745300
jb 0x4011fa
add byte [eax], al
add dword [eax + 3], ecx
invalid
add byte [ebp + 0x78], dl
je 0x4011d3
add byte [edx], al
add al, 0xe0
add eax, esi
add byte [edi], cl
pxor mm0, qword [ecx]
adc cl, byte [ecx]
add bh, bh
add esp, dword [ebx]
add byte [eax], al
add byte [esi + eax], al
add byte [ecx + 0x62], cl
insb byte es:[edi], dx
xor eax, 0x3010100
add byte [ebp + 0x72], dl
insb byte es:[edi], dx
add byte [0x1680078], al
out dx, eax
add edi, edi
add byte [edx], dl
or eax, dword [eax]
inc dword [edx]
add esp, dword [ebx]
add byte [eax], al
add byte [0x72460006], al
popal
insd dword es:[edi], dx
xor dword gs:[eax], eax
add eax, dword [ecx]
add eax, dword [eax]
push edi
inc ebp
inc esp
add byte [0xf00078], al
adc dword [bx + 0x1205], ebp
add dword [eax], eax
inc dword [ecx]
sbb eax, dword [eax]
add byte [eax], al
push es
add eax, 0x78655400
je 0x401237
add byte [edx], al
add al, 0x58
add dh, al
add byte [edi + 0x1201770e], dl
add eax, dword [eax]
inc dword [ebx]
daa
add byte [eax], al
add byte [edi], al
or byte [eax], al
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
popal
outsb dx, byte [esi]
xor dword fs:[eax], eax
add al, 1
add eax, 0x61745300
jb 0x4012a3
add byte [eax + ebx*2], al
add dl, al
add dl, byte [edi + 0x1101ef0e]
out dx, eax
add dword [ecx], edx
add al, byte [eax]
inc dword [ebx]
and al, byte [eax]
add byte [eax], al
or byte [0x62614c00], al
insb byte es:[edi], dx
add byte [ecx], al
add dword [ebx], eax
add byte [ebp + 0x72], dl
insb byte es:[edi], dx
add byte [0x1680078], al
out dx, eax
add edi, edi
add byte [edx], dl
add al, 0
inc dword [edx]
add ecx, dword [ebx]
add byte [eax], al
or dword [esi], eax
add byte [ecx + 0x62], cl
insb byte es:[edi], dx
add byte ss:[ecx], al
add dword [ebx], ebp
add byte [edx + 0x444557cd], bh
mov esp, 0x534957b0
mov bh, 0xc5
aam 0xda
int 0xac
sar byte [ebx - 0x3b310948], cl
mov esp, 0xc4d0bcfe
fisub dword [ecx + 0x202020a3]
and byte [eax], ah
xor dh, byte [eax]
xor byte [esi + ebp], dh
mov esp, 0xa1dac4d0
mov dword [0x20202020], eax
and byte [edx], dh
xor byte [eax], dh
xor al, 0x2e
cmp dword [esi], ebp
xor eax, dword [eax]
add eax, 0xf0000f0
add byte [edi], cl
out dx, eax
adc bh, bh
add byte [edx], dl
or al, 0
inc dword [ebx]
cmp al, 0
add byte [eax], al
or al, byte [esi]
add byte [ecx + 0x62], cl
insb byte es:[edi], dx
xor al, 0
add dword [ecx], eax
sbb al, 0
or eax, 0x650a0d0a
arpl word [eax + 0x6f], bp
and byte [ebp - 0x2d31371d], dh
loop 0x40128c
cld
int 0xcb
mov bl, 0xf6
or eax, 0x7561700a
jae 0x401341
add byte [0xd2017e8], al
mov edi, 0x1201ef04
pop es
add bh, bh
add esi, ebx
add byte [eax], al
add byte [ebx], cl
push es
add byte [ecx + 0x62], cl
insb byte es:[edi], dx
xor eax, dword [eax]
add dword [ecx], eax
rol dword [eax], cl
arpl word gs:[eax + 0x6f], bp
and byte [edi + 0x66], ch
or ax, 0x630a
insb byte es:[edi], dx
jae 0x401318
or ah, byte [ebp + 0x63]
push 0x2a2a206f
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
or eax, 0x6863650a
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub ch, byte [edx]
sub cl, byte [0x6863650a]
push 0x2020206f
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
mov ebx, 0xcaadd3b6
outsd dx, dword [esi]
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [eax], ah
and byte [ebx - 0x35522c4a], bh
mov ecx, 0x4957c3d3
push ebx
mov al, 0xd1
retf 0x20d6