.file "pointer.c" .text .def printf; .scl 3; .type 32; .endef .seh_proc printf printf: pushq %rbp .seh_pushreg %rbp pushq %rbx .seh_pushreg %rbx subq $56, %rsp .seh_stackalloc 56 leaq 48(%rsp), %rbp .seh_setframe %rbp, 48 .seh_endprologue movq %rcx, 32(%rbp) movq %rdx, 40(%rbp) movq %r8, 48(%rbp) movq %r9, 56(%rbp) leaq 40(%rbp), %rax movq %rax, -16(%rbp) movq -16(%rbp), %rbx movl $1, %ecx movq __imp___acrt_iob_func(%rip), %rax call *%rax movq %rax, %rcx movq 32(%rbp), %rax movq %rbx, %r8 movq %rax, %rdx call __mingw_vfprintf movl %eax, -4(%rbp) movl -4(%rbp), %eax addq $56, %rsp popq %rbx popq %rbp ret .seh_endproc .globl brave .def brave; .scl 2; .type 32; .endef .seh_proc brave brave: pushq %rbp .seh_pushreg %rbp movq %rsp, %rbp .seh_setframe %rbp, 0 .seh_endprologue movl %ecx, 16(%rbp) movl %edx, 24(%rbp) movl 24(%rbp), %edx movl 16(%rbp), %eax cmpl %eax, %edx cmovge %edx, %eax popq %rbp ret .seh_endproc .section .rdata,"dr" .LC0: .ascii "Bigger: %d\0" .text .globl main .def main; .scl 2; .type 32; .endef .seh_proc main main: pushq %rbp .seh_pushreg %rbp movq %rsp, %rbp .seh_setframe %rbp, 0 subq $48, %rsp .seh_stackalloc 48 .seh_endprologue call __main movl $91, -4(%rbp) movl $69, -8(%rbp) leaq brave(%rip), %rax movq %rax, -16(%rbp) movl -8(%rbp), %edx movl -4(%rbp), %eax movq -16(%rbp), %r8 movl %eax, %ecx call *%r8 movl %eax, %edx leaq .LC0(%rip), %rax movq %rax, %rcx call printf movl $0, %eax addq $48, %rsp popq %rbp ret .seh_endproc .def __main; .scl 2; .type 32; .endef .ident "GCC: (x86_64-posix-seh-rev1, Built by MinGW-Builds project) 14.2.0" .def __mingw_vfprintf; .scl 2; .type 32; .endef