Function at 0x4035d8
Capabilities:
Encode data using xor

Disassembly:
push 0x40406c
call sub.MSVBVM60.DLL_ThunRTMain
add byte [eax], al
dec eax
add byte [eax], al
add byte [eax], dh
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
nop
pop ebx
xor dh, byte [edx]
ja 0x4035f6
inc ecx
inc eax
scasb al, byte es:[edi]
jnp 0x403628
mov bl, 0x6b
scasd eax, dword es:[edi]
popfd
out 0, eax
add byte [eax], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax + 0x7c], al
mov ecx, 0x6f725005
push 0x65
arpl word [ecx + esi], si
rol dword [eax], 8
rol dword [eax], 0
rol byte [eax], 0x74
jl 0x4035e4
je 0x4036a6
mov ecx, 0xc005
add byte [eax], dl
add eax, 0xc0
nop
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [0x22000000], cl
dec ebx
add ecx, dword [edi + ebx*2 + 0x55]
ljmp 0xfa00
add byte [eax], al
or byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
or al, 0
add byte [eax], al
jg 0x403705
in eax, 0x35
bnd jp 0x403724
inc ecx
mov fs, word [esi + 0x2f]
sti
jmp 0x1a8fd86
aas
jae 0x40374b
add dword [ebx + 0x2cd8aa43], ebp
pop ecx
push 0x12
pushal
xor ecx, dword [ebp - 0x70]
mov ecx, 0xc5642a05
les esp, [ebp + 0x1b0]
add byte [ecx], 0
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [ebx], cl
add byte [eax], al
add byte [edi + 0x5e], cl
add byte [eax], al
add byte [eax], al
add al, byte [eax]
add byte [eax], al
or eax, dword [eax]
add byte [eax], al
dec edi
pop esi
mov ecx, 0x8c99239f
dec edx
movsd dword es:[edi], dword [esi]
ror dl, cl
mov dl, 0xb
pop ebx
pop ds
push eax
add dword [eax], eax
add byte [eax], al
nop
add dword [eax], eax
add byte [eax + 0x1000001], ah
add byte [ecx], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx], al
and byte [ecx + 0x905], bh
add byte [eax - 0x4a], al
out dx, al
add dword [eax], esp
rol dword [eax], 0x55
outsb dx, byte [esi]
imul ecx, dword [ecx + 0x62], 0x7d006c65
mov ecx, 5
add dh, bl
mov esi, 0x4ca76349
push cs
dec eax
xchg edx, eax
rcr eax, 1
add eax, 0x3a83b681
dec ebp
stosb byte es:[edi], al
xor al, 0x78
push ss
add al, 0x66
dec edx
mov dh, 0x95
in al, 0x92
or al, 0xe9
cmp dword [ecx], ebx
add byte [eax], al
add al, bh
add dword [eax], eax
add byte [eax], al
add byte [eax], al
add byte [edx], al
add byte [eax], al
add byte [edx], cl
add byte [eax], al
add byte [ecx - 0x72], bl
xor eax, 0x45876d5d
xchg dword [ebx - 0x605db1e9], eax
inc esp
salc
add dword [eax], eax
add byte [eax], al
or byte [edx], al
add byte [eax], al
sbb byte [edx], al
add byte [eax], al
add dword [eax], eax
add byte [eax], al
inc eax
mov dh, 0xee
add dword [ecx], eax
and byte [eax], al
or cl, al
add byte [eax], al
fadd st(0)
inc eax
add byte [esi + edi*2], ah
mov ecx, 0x6f725005
jb 0x403847
jae 0x403857
inc edx
popal
jb 0x4037e8
or eax, 0xe8000000
scasb al, byte es:[edi]
leave
mov byte [0x4f4f9f0d], al
mov ecx, 0x46f21fd9
out dx, al
dec ebp
js 0x403826
retf
aas
cmpsd dword [esi], dword es:[edi]
dec edi
lahf
mov cl, 0x84
xchg ecx, eax
xlatb
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 [eax], al
add byte [eax], al
add byte [eax], al
add byte [0x48e0000], al
add byte [eax], al
add byte [ecx], cl
add byte [esi + 0x6f], al
jb 0x4038e1
inc ebx
push 0x686e69
adc al, 1
push cs
add byte [eax + ebp*2 + 0x6f], dl
outsb dx, byte [esi]
and byte [bp + di + 0x65], ch
and byte [eax + ecx*2 + 0x41], dl
inc esp
push ebx
add byte [ebx], al
or al, 0
add byte [eax + 0x3e23020a], al
add al, 0
add byte [esp + esi*2], ch
add byte [esi], dh
add al, 0
add byte [eax], al
add byte [ecx], al
add byte [edx], 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], ah
add byte [eax], al
add byte [eax], dl
adc byte [eax], dl
add byte [eax], al
add byte [eax], al
add byte [eax], ch
add dword [eax], eax
add byte [esi], cl
add eax, dword [eax]
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 [edx], 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 + 0x800000], al
add byte [eax], al
add byte [eax + 0x8000], 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], 0
add byte [eax], 0
add byte [eax + 0x800080], al
add byte [eax], al
add byte [eax], 0x80
add byte [eax - 0x7fffff80], al
add byte [eax - 0x3f3f4000], 0
add byte [eax], al
inc dword [eax]
add bh, bh
add byte [eax], al
add bh, bh
inc dword [eax]
inc dword [eax]
add byte [eax], al
inc dword [eax]
inc dword [eax]
invalid