lea ecx, [array + esi]
lea ebx, [array + esi + 1]
mov al, [array + esi]
mov cl, [array + esi + 1]
All these lines don't use constant offset from address stored in register. From the view of syntax translator, label addresses aren't known and it can't be sure what configuration does target compiler use.
Translation:
lea array(%esi), %ecx
lea array+1(%esi), %ebx
movb array(%esi), %al
movb array+1(%esi), %cl