Function at 0x401610
Capabilities:
Encode data using xor

Disassembly:
push 0x41efb0
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
xchg edx, eax
scasb al, byte es:[edi]
aad 0x9c
push ss
loopne 0x401661
dec edi
sbb dword [0xd227f44f], 0x21
cmpsb byte [esi], byte es:[edi]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
jns 0x401646
add byte [eax], al
add byte [eax + 0x6f747541], al
dec ecx
inc esi
add byte [eax + eax], dh
add byte [eax], al
dec esp
xor dword [eax], eax
add cl, ah
jbe 0x401648
pop esi
mov edi, 0xb249e39b
sbb al, 0xaf
or eax, 0xde92cbe9
aad 0x18
outsb dx, byte [esi]
mov ss, edi
ja 0x4016c2
movsb byte es:[edi], byte [esi]
out dx, eax
mov dh, 0xfe
add ebx, dword [esi + 0x4f3a82c5]
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
pop edi
fadd dword [ecx]
add byte [edx - 0x28], bl
add dword [eax], eax
add byte [edx], cl
add byte [esi + 0x6f], al
jb 0x40172d
inc ecx
jne 0x401737
je 0x401733
outsd dx, dword [esi]
dec ecx
inc esi
add byte [0x41000601], cl
jne 0x401742
outsd dx, dword [esi]
dec ecx
inc esi
add byte [ecx], bl
add dword [eax], eax
inc edx
add byte [edx], ah
add al, 0x23
push cs
fadd dword [ecx]
add byte [esp + esi*2], ch
add byte [esi], al
fadd dword [ecx]
add byte [eax], al
add byte [ecx], al
add byte [eax], cl
add byte [eax], dl
adc byte [eax], al
add byte [ecx], al
add byte [eax], ah
add byte [eax + 4], ch
add byte [eax], al
xchg byte [eax], al
add byte [eax], al
sbb byte [eax], bl
add byte [eax], al
add dword [eax], eax
and byte [eax], al
mov byte [ecx], cl
add byte [eax], al
out dx, al
add al, 0
add byte [eax], ah
and byte [eax], al
add byte [ecx], al
add byte [eax], ah
add byte [eax + 0x76000010], ch
push cs
add byte [eax], al
xor byte [eax], dh
add byte [eax], al
add dword [eax], eax
and byte [eax], al
test al, 0x25
add byte [eax], al
push ds
pop ds
add byte [eax], al
inc eax
inc eax
add byte [eax], al
add dword [eax], eax
and byte [eax], al
sub byte [edx], al
add byte [eax], ch
inc edx
add byte [eax], al
mov byte [eax + eax], 0x48
add dh, al
inc esp
add byte [eax], al
dec eax
dec eax
add byte [eax], al
add dword [eax], eax
and byte [eax], al
mov byte [eax + eax], dl
out dx, al
xchg byte [eax], al
add byte [eax + 0x50], dl
add byte [eax], al
add dword [eax], eax
and byte [eax], al
call 0x764017c0
fild dword [eax]
add byte [eax + 0x60], ah
add byte [eax], al
add dword [eax], eax
and byte [eax], al
test al, 0x94
add byte [eax], al
pop esi
inc ebx
add dword [eax], eax
sub byte [eax], al
add byte [eax], al
adc byte [eax], al
add byte [eax], al
and byte [eax], al
add byte [eax], al
add dword [eax], eax
and byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x5bff4748], bh
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
add byte [edx - 0x62ff5556], ch
popfd
popfd
add byte [edx - 0x76ff6d6e], dl
mov dword [ecx - 0x7e7e7f00], ecx
add byte [ebp + 0x7d], bh
jge 0x4017bc
add dword [ecx - 0x7777ff7f], 0x82820088
add byte [eax], 0x99
cdq
cdq
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add ah, al
invalid