XOR EBX, EBX;
PUSH EBX;
LEA EBP, [EBX + 1];
LEA EDX, [EBX + 2];
LEA EAX, [EBX + 3];
MOV ECX, ESP;
INT 80h;
POP ECX;
SUB ECX, '00';
CMP ECX, EBX;
MOVZX ESI, CH;
MOVZX ECX, CL;
JLE @skip;
LEA ECX, [ECX + ECX*4];
LEA ECX, [ESI + ECX*2];
@skip:
SHL EBP, CL;
LEA ESI, [EBP - 1];
XOR EDI, EDI;
MOV EDX, EDI;
MOV EAX, ' ';
MOV EBX, '▲ ';
@loop:
PUSH 0Ah;
@line:
MOV ECX, EAX;
TEST EDI, ESI;
CMOVE ECX, EBX;
ADD EDX, 4;
PUSH ECX;
DEC EDI;
JGE @line;
SUB EDI, ESI;
@fill:
PUSH EAX;
ADD EDX, 4;
ADD EDI, 2;
JLE @fill;
LEA ESP, [ESP + EDI*2 + 2];
NEG EDI;
LEA EDX, [EDX + EDI*2 + 2];
MOV ECX, ESP;
PUSH EAX;
PUSH EBX;
MOV EAX, 4;
MOV EBX, 1;
INT 80h;
POP EBX;
POP EAX;
ADD ESP, EDX;
XOR EDX, EDX;
MOV EDI, EBP;
SUB EDI, ESI;
DEC ESI;
JGE @loop;
XOR EBX, EBX;
LEA EAX, [EBX + 1];
INT 80h;
WE9SIEVCWCwgRUJYOwpQVVNIIEVCWDsKTEVBIEVCUCwgW0VCWCArIDFdOwpMRUEgRURYLCBbRUJYICsgMl07CkxFQSBFQVgsIFtFQlggKyAzXTsKTU9WIEVDWCwgRVNQOwpJTlQgODBoOwoKUE9QIEVDWDsKU1VCIEVDWCwgJzAwJzsKQ01QIEVDWCwgRUJYOwpNT1ZaWCBFU0ksIENIOwpNT1ZaWCBFQ1gsIENMOwpKTEUgQHNraXA7CiAgTEVBIEVDWCwgW0VDWCArIEVDWCo0XTsKICBMRUEgRUNYLCBbRVNJICsgRUNYKjJdOwpAc2tpcDoKClNITCBFQlAsIENMOwpMRUEgRVNJLCBbRUJQIC0gMV07ClhPUiBFREksIEVESTsKTU9WIEVEWCwgRURJOwpNT1YgRUFYLCAnwqDCoCc7Ck1PViBFQlgsICfilrIgJzsKCkBsb29wOgogIFBVU0ggMEFoOwoKICBAbGluZToKICAgIE1PViBFQ1gsIEVBWDsKICAgIFRFU1QgRURJLCBFU0k7CiAgICBDTU9WRSBFQ1gsIEVCWDsKICAgIEFERCBFRFgsIDQ7CiAgICBQVVNIIEVDWDsKICAgIERFQyBFREk7CiAgSkdFIEBsaW5lOwoKICBTVUIgRURJLCBFU0k7CiAgQGZpbGw6CiAgICBQVVNIIEVBWDsKICAgIEFERCBFRFgsIDQ7CiAgICBBREQgRURJLCAyOwogIEpMRSBAZmlsbDsKICBMRUEgRVNQLCBbRVNQICsgRURJKjIgKyAyXTsKICBORUcgRURJOwogIExFQSBFRFgsIFtFRFggKyBFREkqMiArIDJdOwoKICBNT1YgRUNYLCBFU1A7CiAgUFVTSCBFQVg7CiAgUFVTSCBFQlg7CiAgTU9WIEVBWCwgNDsKICBNT1YgRUJYLCAxOwogIElOVCA4MGg7CiAgUE9QIEVCWDsKICBQT1AgRUFYOwogIEFERCBFU1AsIEVEWDsKICBYT1IgRURYLCBFRFg7CgogIE1PViBFREksIEVCUDsKICBTVUIgRURJLCBFU0k7CiAgREVDIEVTSTsKSkdFIEBsb29wOwoKWE9SIEVCWCwgRUJYOwpMRUEgRUFYLCBbRUJYICsgMV07CklOVCA4MGg7