memset32:
        mov    %rbp, %rcx
        mov    %rdi, %rdx
        sub    $16, %rdx
        mov    %rdx, %rbp
        add    $28, %rdi
        add    $20, %rdx
        mov    %rcx, (%rdx)

# n_words LOCAL_VAR 1
# (stack-ref-n 3)
        mov    12(%rbp), %ecx
# mem_offset LOCAL_VAR 1
# (stack-ref-n 1)
        mov    4(%rbp), %ebx
# mem LOCAL_VAR_ASSIGNMENT 1
# (stack-ref-n 0)
        mov    (%rbp), %eax
# (add)
        add    %eax, %ebx
        shl    $2, %ebx # ebx = ebx * 4
        mov    %rsi, %rdi
        add    %rbx, %rdi
# val LOCAL_VAR 1
# (stack-ref-n 2)
        mov    8(%rbp), %eax

        rep    stosl

# (proc-end 5)
        mov    %rbp, %rdi
        add    $20, %rbp
        mov    (%rbp), %rbp

# (return)
        ret   
