Function at 0x401b90
Capabilities:
Encode data using xor

Disassembly:
push 0x403dac
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
inc eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 4], ch
push 0x44
xor bl, byte [edx]
inc esp
mov edi, 0xa4ed38b9
xor eax, 0x2954
add byte [eax], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
inc edi
inc esi
add byte [eax], al
add byte [edi + 0x46], al
inc esp
push ebx
imul esp, dword [edi + 0x6e], 0x72757461
xor dh, byte [eax]
xor dh, byte [eax + eax]
add byte [eax], al
add byte [eax], al
dec esp
xor dword [eax], eax
cmp dword [ebp + 0x2ca4bf3f], edx
movsd dword es:[edi], dword [esi]
mov dword [edx + ebp*4 - 0x79], ecx
aas
pop esi
lds edx, [eax - 0x3bc6339a]
mov byte [0xbab2d828], al
inc esp
mov eax, 0xb9b5a60
jl 0x401bc9
out dx, al
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
push ebx
and byte [eax], al
add byte [ebx + 0xf], al
add byte [eax], al
add byte [ecx], al
add byte [eax + eax + 0xd], dl
add dword [edx], esi
add byte [edi + 0x46], al
inc esp
sub eax, 0x6e676953
popal
je 0x401cca
jb 0x401c77
and byte [eax], ah
sub byte [ebx + 0x29], ah
and byte [edx], dh
xor byte [edx], dh
xor al, 0x20
bound edi, qword [ecx + 0x20]
push esp
push 0x7246202e
jb 0x401cd7
arpl word [eax + 0x73], bp
and byte [eax], ah
and byte [edi + 0x46], al
inc esp
and byte [edi + 0x6d], al
bound ecx, qword [eax]
sbb dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x373fb6e5], dh
xchg ebx, eax
popal
aas
inc ebx
add byte [edx], ah
add dword [ebx], esp
invalid
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esp + eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, 4
add al, 0
or dword [ecx], ecx
or dword [eax], eax
or eax, 0x10000d0d
adc byte [eax], dl
add byte [0x19001515], dl
sbb dword [ecx], ebx
add byte [0x22001d1d], bl
and ah, byte [edx]
add byte [esp], ah
and al, 0
sub ch, byte [edx]
sub al, byte [eax]
add byte cs:[ecx], dh
xor dword [ecx], esi
add byte [0x39003535], dh
cmp dword [ecx], edi
add byte [esi], bh
add byte ds:[ecx + 0x41], al
inc ecx
add byte [esi + 0x46], al
inc esi
add byte [ecx + 0x49], cl
dec ecx
add byte [esi + 0x4e], cl
dec esi
add byte [ecx + 0x51], dl
push ecx
add byte [esi + 0x56], dl
push esi
add byte [ecx + 0x59], bl
pop ecx
add byte [ebp + 0x5d], bl
pop ebp
add byte [edx + 0x62], ah
bound eax, qword [eax]
add byte gs:[ecx + 0x69], ch
imul eax, dword [eax], 0x6d6d6d
jno 0x401dc2
jno 0x401d53
jne 0x401dca
jne 0x401d57
jp 0x401dd3
jp 0x401d5b
jle 0x401ddb
jle 0x401d5f
add dword [ecx - 0x7a7aff7f], 0x89890085
mov dword [eax], eax
lea ecx, [ebp - 0x6e6eff73]
xchg ecx, eax
add byte [ebp - 0x66ff6a6b], dl
cdq
cdq
add byte [ebp - 0x5eff6263], bl
mov eax, dword [0xa5a500a1]
movsd dword es:[edi], dword [esi]
add byte [edx - 0x51ff5556], ch
scasb al, byte es:[edi]
scasb al, byte es:[edi]
add byte [ecx - 0x4aff4e4f], dh
mov ch, 0xb5
add byte [eax - 0x42ff4748], bh
mov ebp, 0xc1c100bd
rol dword [eax], 0xc5
invalid
add dh, ah
out 0xe6, al
add cl, ch
jmp 0xee2d1eb6
add ch, ch
in eax, dx
in eax, dx
add cl, dh
int1
int1
add ch, dh
cmc
cmc
cmc
add cl, bh
stc
stc
add dh, bh
invalid
invalid