Function at 0x401038
Capabilities:
Encode data using xor

Disassembly:
push 0x4165b4
call sub.VB40032.DLL_ThunRTMain
add byte [eax], al
or dword [eax + eax], eax
add byte [eax], cl
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax + edx], ch
inc eax
add al, ch
jns 0x40109c
add byte [eax], dh
adc byte [eax], al
add al, byte [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
jo 0x4010ec
inc ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
rol byte [ecx], 1
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
sub al, 0
add byte [eax], al
cmp al, 0
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
clc
push eax
mov byte [esi], cl
xchg ebx, eax
psrlq mm2, qword [ecx]
invalid
xor al, byte [edi]
add edi, dword [edx]
add byte [eax], al
add byte [eax], al
push eax
jb 0x401116
push 0x65
arpl word [ecx + esi], si
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add byte [edx], dh
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
add eax, dword [eax]
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
push 0x4022
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 [esi], ah
cwde
add byte [eax], al
add byte [eax], al
cwde
inc ecx
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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
dec ecx
add byte [ebx], al
add byte [eax], ch
add byte [eax], al
add byte [eax], bl
sbb 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 eax, dword [eax]
add byte [eax], al
ficom dword [esi]
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
sbb byte [eax], bl
inc 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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
das
add byte [ebx], al
add byte [eax], ch
add byte [eax], al
add byte [eax], ah
adc al, byte [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 eax, dword [eax]
add byte [eax], al
ficom dword [esi]
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
xor eax, dword [eax]
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
js 0x4011c7
inc 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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
and eax, 0x28000300
add byte [eax], al
add byte [eax], al
adc dword [eax], 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
aas
cwde
inc ecx
add byte [eax], al
add byte [eax], al
add byte [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
add byte es:[ebx], al
add byte [eax], ch
add byte [eax], al
add byte [esi], bl
inc 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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
cmp dword [eax], eax
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
push esp
and dword [eax], 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 eax, dword [eax]
add byte [eax], al
xor dl, byte [esi]
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
sbb dword [eax], eax
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
mov eax, 0x4010
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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
sub eax, dword [eax]
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
cmp byte [0x40], dl
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 eax, dword [eax]
add byte [eax], al
ficom dword [esi]
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
sub al, byte [eax]
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
mov byte [ebx], dl
inc 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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
xor byte [eax], al
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
rcl byte [ebx]
inc 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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
and eax, dword [eax]
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
sbb byte [eax + eax*2], dl
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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
and al, byte [eax]
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
je 0x401454
inc 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 [ebx], al
add byte [eax], al
add dl, bl
push ss
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
ficom dword [esi]
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
sub eax, 0x28000300
add byte [eax], al
add ah, cl
and al, 0x40
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 [ebx], al
add byte [eax], al
add dl, bl
push ss
mov ecx, ebp
fiadd dword [ebp + 0x1b]
adc byte [ecx + 0x2b000876], dh
xor ebp, dword [edi + 0x60]
cmp byte [eax], al
add eax, dword [eax]
sub byte [eax], al
add byte [eax], al
invalid