section .text

.globl main
main:
entry:
    push rbp
    mov rbp, rsp
    push rbx
    push rsi
    sub rsp, 32
    mov rbx, 0
    mov [rbp+1], rbx
    mov rbx, 0
    mov [rbp+2], rbx
    mov rbx, 0
    mov [rbp+3], rbx
    mov rbx, 0
    mov [rbp+2], rbx
    mov rbx, 0
    mov [rbp+3], rbx
    jmp pb_do_cond_1
pb_do_end_0:
    jmp pb_while_cond_7
pb_do_cond_1:
    mov r10, [rbp+2]
    mov rbx, [rbp+2]
    mov r10, 1
    cmp r10, 0
    mov r10, 0
    mov rbx, 0
    mov r10, 0
    setne r10
    mov rbx, r10
    cmp rbx, 0
    jne pb_do_body_2
    jmp pb_do_end_0
    jmp pb_do_body_2
pb_do_body_2:
    mov r10, [rbp+2]
    mov rbx, [rbp+2]
    mov r10, 1
    mov rbx, 1
    mov [rbp+2], rbx
    mov r10, [rbp+2]
    mov rbx, [rbp+2]
    mov r10, 0
    cmp r10, 0
    mov r10, 0
    mov rbx, 0
    mov r10, 0
    setne r10
    mov rbx, r10
    cmp rbx, 0
    jne pb_if_then_3
    jmp pb_if_else_4
pb_if_then_3:
    jmp pb_do_cond_1
pb_if_else_4:
    jmp pb_if_end_5
pb_if_end_5:
    mov r10, [rbp+3]
    mov rbx, [rbp+3]
    mov r10, [rbp+2]
    mov rbx, [rbp+2]
    mov rbx, 1
    mov [rbp+3], rbx
    jmp pb_do_cond_1
pb_dead_6:
    jmp pb_if_end_5
pb_while_cond_7:
    mov r10, [rbp+3]
    mov rbx, [rbp+3]
    mov r10, 1
    cmp r10, 0
    mov r10, 0
    mov rbx, 0
    mov r10, 0
    setne r10
    mov rbx, r10
    cmp rbx, 0
    jne pb_while_body_8
    jmp pb_while_end_9
pb_while_body_8:
    mov r10, [rbp+3]
    mov rbx, [rbp+3]
    mov rbx, 3
    mov [rbp+3], rbx
    jmp pb_while_cond_7
pb_while_end_9:
    mov r10, [rbp+3]
    mov rbx, [rbp+3]
    mov rsi, [rbp+3]
    mov [rbp+1], rsi
    mov r10, [rbp+1]
    mov rbx, [rbp+1]
    mov rax, [rbp+1]
    add rsp, 32
    pop rsi
    pop rbx
    pop rbp
    ret _

