diff options
author | alex <alex@ASUS> | 2018-09-24 15:06:29 +0200 |
---|---|---|
committer | alex <alex@ASUS> | 2018-09-24 15:06:29 +0200 |
commit | 5585d5123cfd999d078f6530993c54789f265ec9 (patch) | |
tree | 5d6675721b19d79edbf3e79b83f29b4bcdb843ee | |
parent | a73f942c11e48b11ed940ce660232e7c431c6bed (diff) |
Change win build system MSYS -> MSYS2 (x64 support); Add assembly step in compilation; Rename obj dirs to tmp
48 files changed, 20089 insertions, 286 deletions
@@ -86,7 +86,7 @@ MAIN_DIR = $(CURDIR) LIBALX_DIR = $(CURDIR)/libalx/ MODULES_DIR = $(CURDIR)/modules/ -OBJ_DIR = $(CURDIR)/obj/ +TMP_DIR = $(CURDIR)/tmp/ BIN_DIR = $(CURDIR)/bin/ export MAIN_DIR @@ -128,18 +128,16 @@ export BIN_NAME ################################################################################ # Make variables (CC, etc...) -ifeq ($(OS), linux) CC = gcc + AS = as LD = ld -else ifeq ($(OS), win) - CC = gcc.exe - LD = ld.exe -endif export CC +export AS export LD ################################################################################ +# cflags CFLAGS = -std=c11 CFLAGS += `pkg-config --cflags gtk+-2.0` CFLAGS += -D PROG_VERSION=\"$(PROGRAMVERSION)\" @@ -148,21 +146,27 @@ CFLAGS += -D SHARE_DIR=\"$(SHARE_DIR)\" CFLAGS += -D 'INSTALL_VAR_DIR="$(INSTALL_VAR_DIR)"' CFLAGS += -D VAR_DIR=\"$(VAR_DIR)\" -GTK_LIBS = `pkg-config --libs gtk+-2.0` ifeq ($(OS), linux) CFLAGS += -D OS_LINUX - - LIBS = -l m -l ncursesw $(GTK_LIBS) else ifeq ($(OS), win) CFLAGS += -D OS_WIN # curses - CFLAGS += -D _XOPEN_SOURCE=500 -I /mingw/include/ncursesw -I /mingw/include + CFLAGS += -D _XOPEN_SOURCE=500 -I /mingw64/include/ncurses +endif + +export CFLAGS + +################################################################################ +# libs +CURSES_LIBS = -l ncurses +GTK_LIBS = `pkg-config --libs gtk+-2.0` - CURSES_LIBS = -L /mingw/lib -l ncursesw -l psapi +ifeq ($(OS), linux) + LIBS = -l m $(CURSES_LIBS) $(GTK_LIBS) +else ifeq ($(OS), win) LIBS = -static -l m $(CURSES_LIBS) $(GTK_LIBS) endif -export CFLAGS export LIBS ################################################################################ @@ -184,7 +188,7 @@ modules: libalx PHONY += object object: modules libalx - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. PHONY += binary binary: object @@ -233,7 +237,7 @@ PHONY += clean clean: $(Q)cd $(LIBALX_DIR) && $(MAKE) clean && cd .. $(Q)cd $(MODULES_DIR) && $(MAKE) clean && cd .. - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. PHONY += mrproper mrproper: clean @@ -46,7 +46,7 @@ site: COMPILE: - linux: $ make - - windows (MSYS): + - windows (MSYS2): $ make OS=win INSTALL: diff --git a/bin/Makefile b/bin/Makefile index 6211f13..6107a75 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -2,54 +2,22 @@ # directories -LIBALX_OBJ_DIR = $(LIBALX_DIR)/obj/ +LIBALX_TMP_DIR = $(LIBALX_DIR)/tmp/ +MODULES_TMP_DIR = $(MODULES_DIR)/tmp/ -ABOUT_DIR = $(MODULES_DIR)/about/ -ABOUT_OBJ_DIR = $(ABOUT_DIR)/obj/ - -CTRL_DIR = $(MODULES_DIR)/ctrl/ -CTRL_OBJ_DIR = $(CTRL_DIR)/obj/ - -GAME_DIR = $(MODULES_DIR)/game/ -GAME_OBJ_DIR = $(GAME_DIR)/obj/ - -MENU_DIR = $(MODULES_DIR)/menu/ -MENU_OBJ_DIR = $(MENU_DIR)/obj/ - -PLAY_DIR = $(MODULES_DIR)/player/ -PLAY_OBJ_DIR = $(PLAY_DIR)/obj/ - -SAVE_DIR = $(MODULES_DIR)/save/ -SAVE_OBJ_DIR = $(SAVE_DIR)/obj/ - -XYZZY_DIR = $(MODULES_DIR)/xyzzy/ -XYZZY_OBJ_DIR = $(XYZZY_DIR)/obj/ - -OBJ_DIR = $(MAIN_DIR)/obj/ +TMP_DIR = $(MAIN_DIR)/tmp/ # dependencies _ALL = mine-sweeper mine-sweeper.exe ALL = $(BIN_NAME) -MAIN_OBJ_LIBALX = alx_lib.o -MAIN_OBJ_ABOUT = about_mod.o -MAIN_OBJ_CTRL = ctrl_mod.o -MAIN_OBJ_GAME = game_mod.o -MAIN_OBJ_MENU = menu_mod.o -MAIN_OBJ_PLAY = player_mod.o -MAIN_OBJ_SAVE = save_mod.o -MAIN_OBJ_XYZZY = xyzzy_mod.o +MAIN_OBJ_LIBALX = alx_lib.o +MAIN_OBJ_MODULES = modules.o -MAIN_OBJS = $(OBJ_DIR)/main.o \ - $(patsubst %,$(LIBALX_OBJ_DIR)/%,$(MAIN_OBJ_LIBALX)) \ - $(patsubst %,$(ABOUT_OBJ_DIR)/%,$(MAIN_OBJ_ABOUT)) \ - $(patsubst %,$(CTRL_OBJ_DIR)/%,$(MAIN_OBJ_CTRL)) \ - $(patsubst %,$(GAME_OBJ_DIR)/%,$(MAIN_OBJ_GAME)) \ - $(patsubst %,$(MENU_OBJ_DIR)/%,$(MAIN_OBJ_MENU)) \ - $(patsubst %,$(PLAY_OBJ_DIR)/%,$(MAIN_OBJ_PLAY)) \ - $(patsubst %,$(SAVE_OBJ_DIR)/%,$(MAIN_OBJ_SAVE)) \ - $(patsubst %,$(XYZZY_OBJ_DIR)/%,$(MAIN_OBJ_XYZZY)) +MAIN_OBJS = $(TMP_DIR)/main.o \ + $(patsubst %,$(LIBALX_TMP_DIR)/%,$(MAIN_OBJ_LIBALX)) \ + $(patsubst %,$(MODULES_TMP_DIR)/%,$(MAIN_OBJ_MODULES)) # target: dependencies @@ -60,7 +28,7 @@ all: $(ALL) $(BIN_NAME): $(MAIN_OBJS) $(Q)$(CC) $^ -o $@ $(LIBS) - @echo "\tBIN $@" + @echo "\tCC $@" @echo "" diff --git a/libalx/Makefile b/libalx/Makefile index a3e998b..e0096c4 100644 --- a/libalx/Makefile +++ b/libalx/Makefile @@ -4,16 +4,16 @@ # directories -OBJ_DIR = $(LIBALX_DIR)/obj/ +TMP_DIR = $(LIBALX_DIR)/tmp/ # target: dependencies # action all: - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. @echo "Clean libalx" diff --git a/libalx/obj/Makefile b/libalx/tmp/Makefile index 84eae78..7595cfd 100644 --- a/libalx/obj/Makefile +++ b/libalx/tmp/Makefile @@ -5,7 +5,6 @@ # directories INC_DIR = $(LIBALX_DIR)/inc/ -OBJ_DIR = $(LIBALX_DIR)/obj/ SRC_DIR = $(LIBALX_DIR)/src/ # dependencies @@ -49,38 +48,59 @@ all: $(ALL) alx_lib.o: $(_ALL) $(Q)$(LD) -r $^ -o $@ - @echo "\tLD $@" + @echo " LD $@" @echo "" -alx_cmp.o: $(CMP_DEPS) - $(Q)$(CC) $(CFLAGS) $(CMP_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -alx_file.o: $(FILE_DEPS) - $(Q)$(CC) $(CFLAGS) $(FILE_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -alx_input.o: $(INPUT_DEPS) - $(Q)$(CC) $(CFLAGS) $(INPUT_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -alx_mask.o: $(MASK_DEPS) - $(Q)$(CC) $(CFLAGS) $(MASK_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -alx_math.o: $(MATH_DEPS) - $(Q)$(CC) $(CFLAGS) $(MATH_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -alx_ncur.o: $(NCUR_DEPS) - $(Q)$(CC) $(CFLAGS) $(NCUR_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -alx_seed.o: $(SEED_DEPS) - $(Q)$(CC) $(CFLAGS) $(SEED_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +alx_cmp.s: $(CMP_DEPS) + $(Q)$(CC) $(CFLAGS) $(CMP_INC_DIRS) -S $< -o $@ + @echo " CC $@" +alx_cmp.o: alx_cmp.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +alx_file.s: $(FILE_DEPS) + $(Q)$(CC) $(CFLAGS) $(FILE_INC_DIRS) -S $< -o $@ + @echo " CC $@" +alx_file.o: alx_file.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +alx_input.s: $(INPUT_DEPS) + $(Q)$(CC) $(CFLAGS) $(INPUT_INC_DIRS) -S $< -o $@ + @echo " CC $@" +alx_input.o: alx_input.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +alx_mask.s: $(MASK_DEPS) + $(Q)$(CC) $(CFLAGS) $(MASK_INC_DIRS) -S $< -o $@ + @echo " CC $@" +alx_mask.o: alx_mask.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +alx_math.s: $(MATH_DEPS) + $(Q)$(CC) $(CFLAGS) $(MATH_INC_DIRS) -S $< -o $@ + @echo " CC $@" +alx_math.o: alx_math.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +alx_ncur.s: $(NCUR_DEPS) + $(Q)$(CC) $(CFLAGS) $(NCUR_INC_DIRS) -S $< -o $@ + @echo " CC $@" +alx_ncur.o: alx_ncur.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +alx_seed.s: $(SEED_DEPS) + $(Q)$(CC) $(CFLAGS) $(SEED_INC_DIRS) -S $< -o $@ + @echo " CC $@" +alx_seed.o: alx_seed.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" clean: - $(Q)rm -f *.o + $(Q)rm -f *.o *.s diff --git a/libalx/tmp/alx_cmp.s b/libalx/tmp/alx_cmp.s new file mode 100644 index 0000000..ae25378 --- /dev/null +++ b/libalx/tmp/alx_cmp.s @@ -0,0 +1,49 @@ + .file "alx_cmp.c" + .text + .globl compare_int64 + .type compare_int64, @function +compare_int64: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq -24(%rbp), %rax + movq (%rax), %rdx + movq -32(%rbp), %rax + movq (%rax), %rax + cmpq %rax, %rdx + jge .L2 + movl $-1, -4(%rbp) + jmp .L3 +.L2: + movq -24(%rbp), %rax + movq (%rax), %rdx + movq -32(%rbp), %rax + movq (%rax), %rax + cmpq %rax, %rdx + jle .L4 + movl $1, -4(%rbp) + jmp .L3 +.L4: + movq -24(%rbp), %rax + movq (%rax), %rdx + movq -32(%rbp), %rax + movq (%rax), %rax + cmpq %rax, %rdx + jne .L3 + movl $0, -4(%rbp) +.L3: + movl -4(%rbp), %eax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size compare_int64, .-compare_int64 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/libalx/tmp/alx_file.s b/libalx/tmp/alx_file.s new file mode 100644 index 0000000..332472e --- /dev/null +++ b/libalx/tmp/alx_file.s @@ -0,0 +1,97 @@ + .file "alx_file.c" + .section .rodata +.LC0: + .string "r" +.LC1: + .string "\302\241 FILE is too big !" +.LC2: + .string "\302\241 FILE error !" +.LC3: + .string " errno = %i;\n" +.LC4: + .string "%s" + .text + .globl alx_snprint_file + .type alx_snprint_file, @function +alx_snprint_file: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1048624, %rsp + movq %rdi, -1048600(%rbp) + movl %esi, -1048604(%rbp) + movq %rdx, -1048616(%rbp) + movq -1048616(%rbp), %rax + leaq .LC0(%rip), %rsi + movq %rax, %rdi + call fopen@PLT + movq %rax, -8(%rbp) + cmpq $0, -8(%rbp) + je .L2 + movq -8(%rbp), %rax + movl $2, %edx + movl $0, %esi + movq %rax, %rdi + call fseek@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call ftell@PLT + movq %rax, -16(%rbp) + movq -8(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call fseek@PLT + cmpq $1048575, -16(%rbp) + jg .L3 + movq -16(%rbp), %rdx + movq -8(%rbp), %rcx + leaq -1048592(%rbp), %rax + movl $1, %esi + movq %rax, %rdi + call fread@PLT + leaq -1048592(%rbp), %rdx + movq -16(%rbp), %rax + addq %rdx, %rax + movb $0, (%rax) + jmp .L4 +.L3: + leaq .LC1(%rip), %rdi + call puts@PLT +.L4: + movq -8(%rbp), %rax + movq %rax, %rdi + call fclose@PLT + jmp .L5 +.L2: + leaq .LC2(%rip), %rdi + call puts@PLT + call __errno_location@PLT + movl (%rax), %eax + movl %eax, %esi + leaq .LC3(%rip), %rdi + movl $0, %eax + call printf@PLT +.L5: + movl -1048604(%rbp), %eax + movslq %eax, %rsi + leaq -1048592(%rbp), %rdx + movq -1048600(%rbp), %rax + movq %rdx, %rcx + leaq .LC4(%rip), %rdx + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size alx_snprint_file, .-alx_snprint_file + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/libalx/tmp/alx_input.s b/libalx/tmp/alx_input.s new file mode 100644 index 0000000..0778f7f --- /dev/null +++ b/libalx/tmp/alx_input.s @@ -0,0 +1,545 @@ + .file "alx_input.c" + .section .rodata +.LC0: + .string " %lf" + .text + .globl alx_sscan_dbl + .type alx_sscan_dbl, @function +alx_sscan_dbl: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $64, %rsp + movq %rdi, -24(%rbp) + movsd %xmm0, -32(%rbp) + movsd %xmm1, -40(%rbp) + movsd %xmm2, -48(%rbp) + movq %rsi, -56(%rbp) + movq -24(%rbp), %rdx + movq -56(%rbp), %rax + leaq .LC0(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + cmpl $1, %eax + je .L2 + movl $2, -4(%rbp) + jmp .L3 +.L2: + movq -24(%rbp), %rax + movsd (%rax), %xmm1 + movsd -32(%rbp), %xmm0 + ucomisd %xmm1, %xmm0 + ja .L4 + movq -24(%rbp), %rax + movsd (%rax), %xmm0 + ucomisd -48(%rbp), %xmm0 + jbe .L9 +.L4: + movl $1, -4(%rbp) + jmp .L3 +.L9: + movl $0, -4(%rbp) +.L3: + cmpl $0, -4(%rbp) + je .L7 + movq -24(%rbp), %rax + movsd -40(%rbp), %xmm0 + movsd %xmm0, (%rax) +.L7: + movl -4(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size alx_sscan_dbl, .-alx_sscan_dbl + .section .rodata +.LC1: + .string " %li" + .text + .globl alx_sscan_int + .type alx_sscan_int, @function +alx_sscan_int: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $64, %rsp + movq %rdi, -24(%rbp) + movsd %xmm0, -32(%rbp) + movq %rsi, -40(%rbp) + movsd %xmm1, -48(%rbp) + movq %rdx, -56(%rbp) + movq -24(%rbp), %rdx + movq -56(%rbp), %rax + leaq .LC1(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + cmpl $1, %eax + je .L11 + movl $2, -4(%rbp) + jmp .L12 +.L11: + movq -24(%rbp), %rax + movq (%rax), %rax + pxor %xmm0, %xmm0 + cvtsi2sdq %rax, %xmm0 + movsd -32(%rbp), %xmm1 + ucomisd %xmm0, %xmm1 + ja .L13 + movq -24(%rbp), %rax + movq (%rax), %rax + pxor %xmm0, %xmm0 + cvtsi2sdq %rax, %xmm0 + ucomisd -48(%rbp), %xmm0 + jbe .L18 +.L13: + movl $1, -4(%rbp) + jmp .L12 +.L18: + movl $0, -4(%rbp) +.L12: + cmpl $0, -4(%rbp) + je .L16 + movq -24(%rbp), %rax + movq -40(%rbp), %rdx + movq %rdx, (%rax) +.L16: + movl -4(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size alx_sscan_int, .-alx_sscan_int + .section .rodata +.LC2: + .string " %s " +.LC3: + .string "%s%s" +.LC4: + .string "r" + .text + .globl alx_sscan_fname + .type alx_sscan_fname, @function +alx_sscan_fname: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $8240, %rsp + movq %rdi, -8216(%rbp) + movq %rsi, -8224(%rbp) + movl %edx, %eax + movq %rcx, -8240(%rbp) + movb %al, -8228(%rbp) + leaq -4112(%rbp), %rdx + movq -8240(%rbp), %rax + leaq .LC2(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + cmpl $1, %eax + je .L20 + movl $2, -4(%rbp) + jmp .L21 +.L20: + leaq -4112(%rbp), %rcx + movq -8216(%rbp), %rdx + leaq -8208(%rbp), %rax + movq %rcx, %r8 + movq %rdx, %rcx + leaq .LC3(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + leaq -8208(%rbp), %rax + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call fopen@PLT + movq %rax, -16(%rbp) + cmpb $0, -8228(%rbp) + je .L22 + cmpq $0, -16(%rbp) + jne .L23 + movl $3, -4(%rbp) + jmp .L21 +.L23: + movl $0, -4(%rbp) + movq -16(%rbp), %rax + movq %rax, %rdi + call fclose@PLT + jmp .L21 +.L22: + cmpq $0, -16(%rbp) + jne .L25 + movl $0, -4(%rbp) + jmp .L21 +.L25: + movl $3, -4(%rbp) + movq -16(%rbp), %rax + movq %rax, %rdi + call fclose@PLT +.L21: + cmpl $0, -4(%rbp) + jne .L26 + leaq -4112(%rbp), %rdx + movq -8224(%rbp), %rax + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT +.L26: + movl -4(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size alx_sscan_fname, .-alx_sscan_fname + .section .rodata + .align 8 +.LC5: + .string "Introduce a real number [%lf U %lf] (default %lf):...\t" + .text + .globl alx_getdbl + .type alx_getdbl, @function +alx_getdbl: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $256, %rsp + movsd %xmm0, -216(%rbp) + movsd %xmm1, -224(%rbp) + movsd %xmm2, -232(%rbp) + movq %rdi, -240(%rbp) + movq %rsi, -248(%rbp) + movq %rdx, -160(%rbp) + movq %rcx, -152(%rbp) + movq %r8, -144(%rbp) + movq %r9, -136(%rbp) + testb %al, %al + je .L34 + movaps %xmm3, -80(%rbp) + movaps %xmm4, -64(%rbp) + movaps %xmm5, -48(%rbp) + movaps %xmm6, -32(%rbp) + movaps %xmm7, -16(%rbp) +.L34: + movl $16, -208(%rbp) + movl $96, -204(%rbp) + leaq 16(%rbp), %rax + movq %rax, -200(%rbp) + leaq -176(%rbp), %rax + movq %rax, -192(%rbp) + cmpq $0, -240(%rbp) + je .L30 + movq -240(%rbp), %rax + movq %rax, %rdi + call puts@PLT +.L30: + cmpq $0, -248(%rbp) + jne .L31 + movsd -224(%rbp), %xmm1 + movsd -232(%rbp), %xmm0 + movq -216(%rbp), %rax + movapd %xmm1, %xmm2 + movapd %xmm0, %xmm1 + movq %rax, -256(%rbp) + movsd -256(%rbp), %xmm0 + leaq .LC5(%rip), %rdi + movl $3, %eax + call printf@PLT + jmp .L32 +.L31: + leaq -208(%rbp), %rdx + movq -248(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call vprintf@PLT +.L32: + movsd -232(%rbp), %xmm1 + movsd -224(%rbp), %xmm0 + movq -216(%rbp), %rax + movapd %xmm1, %xmm2 + movapd %xmm0, %xmm1 + movq %rax, -256(%rbp) + movsd -256(%rbp), %xmm0 + call loop_getdbl + movq %xmm0, %rax + movq %rax, -184(%rbp) + movsd -184(%rbp), %xmm0 + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size alx_getdbl, .-alx_getdbl + .section .rodata + .align 8 +.LC6: + .string "Introduce an integer number [%lf U %lf] (default %li):...\t" + .text + .globl alx_getint + .type alx_getint, @function +alx_getint: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $256, %rsp + movsd %xmm0, -216(%rbp) + movq %rdi, -224(%rbp) + movsd %xmm1, -232(%rbp) + movq %rsi, -240(%rbp) + movq %rdx, -248(%rbp) + movq %rcx, -152(%rbp) + movq %r8, -144(%rbp) + movq %r9, -136(%rbp) + testb %al, %al + je .L41 + movaps %xmm2, -96(%rbp) + movaps %xmm3, -80(%rbp) + movaps %xmm4, -64(%rbp) + movaps %xmm5, -48(%rbp) + movaps %xmm6, -32(%rbp) + movaps %xmm7, -16(%rbp) +.L41: + movl $24, -208(%rbp) + movl $80, -204(%rbp) + leaq 16(%rbp), %rax + movq %rax, -200(%rbp) + leaq -176(%rbp), %rax + movq %rax, -192(%rbp) + cmpq $0, -240(%rbp) + je .L37 + movq -240(%rbp), %rax + movq %rax, %rdi + call puts@PLT +.L37: + cmpq $0, -248(%rbp) + jne .L38 + movq -224(%rbp), %rdx + movsd -232(%rbp), %xmm0 + movq -216(%rbp), %rax + movq %rdx, %rsi + movapd %xmm0, %xmm1 + movq %rax, -256(%rbp) + movsd -256(%rbp), %xmm0 + leaq .LC6(%rip), %rdi + movl $2, %eax + call printf@PLT + jmp .L39 +.L38: + leaq -208(%rbp), %rdx + movq -248(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call vprintf@PLT +.L39: + movsd -232(%rbp), %xmm0 + movq -224(%rbp), %rdx + movq -216(%rbp), %rax + movapd %xmm0, %xmm1 + movq %rdx, %rdi + movq %rax, -256(%rbp) + movsd -256(%rbp), %xmm0 + call loop_getint + movq %rax, -184(%rbp) + movq -184(%rbp), %rax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size alx_getint, .-alx_getint + .type loop_getdbl, @function +loop_getdbl: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1088, %rsp + movsd %xmm0, -1064(%rbp) + movsd %xmm1, -1072(%rbp) + movsd %xmm2, -1080(%rbp) + movl $0, -4(%rbp) + jmp .L43 +.L49: + movq stdin(%rip), %rdx + leaq -1040(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + movq %rax, -16(%rbp) + cmpq $0, -16(%rbp) + jne .L44 + movl $4, -8(%rbp) + jmp .L45 +.L44: + leaq -1040(%rbp), %rcx + movsd -1080(%rbp), %xmm1 + movsd -1072(%rbp), %xmm0 + movq -1064(%rbp), %rdx + leaq -1048(%rbp), %rax + movq %rcx, %rsi + movapd %xmm1, %xmm2 + movapd %xmm0, %xmm1 + movq %rdx, -1088(%rbp) + movsd -1088(%rbp), %xmm0 + movq %rax, %rdi + call alx_sscan_dbl + movl %eax, -8(%rbp) +.L45: + cmpl $0, -8(%rbp) + je .L51 + movl -8(%rbp), %eax + movl %eax, %edi + call manage_error + addl $1, -4(%rbp) +.L43: + cmpl $1, -4(%rbp) + jle .L49 + jmp .L48 +.L51: + nop +.L48: + movsd -1048(%rbp), %xmm0 + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size loop_getdbl, .-loop_getdbl + .type loop_getint, @function +loop_getint: +.LFB6: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1088, %rsp + movsd %xmm0, -1064(%rbp) + movq %rdi, -1072(%rbp) + movsd %xmm1, -1080(%rbp) + movl $0, -4(%rbp) + jmp .L53 +.L59: + movq stdin(%rip), %rdx + leaq -1040(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + movq %rax, -16(%rbp) + cmpq $0, -16(%rbp) + jne .L54 + movl $4, -8(%rbp) + jmp .L55 +.L54: + leaq -1040(%rbp), %rdx + movsd -1080(%rbp), %xmm0 + movq -1072(%rbp), %rsi + movq -1064(%rbp), %rcx + leaq -1048(%rbp), %rax + movapd %xmm0, %xmm1 + movq %rcx, -1088(%rbp) + movsd -1088(%rbp), %xmm0 + movq %rax, %rdi + call alx_sscan_int + movl %eax, -8(%rbp) +.L55: + cmpl $0, -8(%rbp) + je .L61 + movl -8(%rbp), %eax + movl %eax, %edi + call manage_error + addl $1, -4(%rbp) +.L53: + cmpl $1, -4(%rbp) + jle .L59 + jmp .L58 +.L61: + nop +.L58: + movq -1048(%rbp), %rax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE6: + .size loop_getint, .-loop_getint + .section .rodata +.LC7: + .string "\302\241 Number is out of range !" +.LC8: + .string "\302\241 sscanf() error !" +.LC9: + .string "\302\241 fgets() error !" + .text + .type manage_error, @function +manage_error: +.LFB7: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movl -4(%rbp), %eax + cmpl $2, %eax + je .L64 + cmpl $4, %eax + je .L65 + cmpl $1, %eax + je .L66 + jmp .L67 +.L66: + leaq .LC7(%rip), %rdi + call puts@PLT + jmp .L63 +.L64: + leaq .LC8(%rip), %rdi + call puts@PLT + jmp .L63 +.L65: + leaq .LC9(%rip), %rdi + call puts@PLT + nop +.L63: +.L67: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE7: + .size manage_error, .-manage_error + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/libalx/tmp/alx_mask.s b/libalx/tmp/alx_mask.s new file mode 100644 index 0000000..397f81e --- /dev/null +++ b/libalx/tmp/alx_mask.s @@ -0,0 +1,26 @@ + .file "alx_mask.c" + .text + .globl alx_maskgen + .type alx_maskgen, @function +alx_maskgen: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movl $1, %edx + movl %eax, %ecx + salq %cl, %rdx + movq %rdx, %rax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size alx_maskgen, .-alx_maskgen + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/libalx/tmp/alx_math.s b/libalx/tmp/alx_math.s new file mode 100644 index 0000000..512f5a8 --- /dev/null +++ b/libalx/tmp/alx_math.s @@ -0,0 +1,82 @@ + .file "alx_math.c" + .text + .globl alx_fact + .type alx_fact, @function +alx_fact: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + cmpq $0, -8(%rbp) + jg .L2 + movsd .LC0(%rip), %xmm0 + jmp .L3 +.L2: + pxor %xmm1, %xmm1 + cvtsi2sdq -8(%rbp), %xmm1 + movsd %xmm1, -16(%rbp) + movq -8(%rbp), %rax + subq $1, %rax + movq %rax, %rdi + call alx_fact + mulsd -16(%rbp), %xmm0 +.L3: + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size alx_fact, .-alx_fact + .globl alx_bin_coef + .type alx_bin_coef, @function +alx_bin_coef: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq $1, -8(%rbp) + movsd .LC0(%rip), %xmm0 + movsd %xmm0, -16(%rbp) + jmp .L5 +.L6: + movq -24(%rbp), %rax + leaq -1(%rax), %rdx + movq %rdx, -24(%rbp) + pxor %xmm0, %xmm0 + cvtsi2sdq %rax, %xmm0 + mulsd -16(%rbp), %xmm0 + movq -8(%rbp), %rax + leaq 1(%rax), %rdx + movq %rdx, -8(%rbp) + pxor %xmm1, %xmm1 + cvtsi2sdq %rax, %xmm1 + divsd %xmm1, %xmm0 + movsd %xmm0, -16(%rbp) +.L5: + movq -24(%rbp), %rax + cmpq -32(%rbp), %rax + jg .L6 + movsd -16(%rbp), %xmm0 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size alx_bin_coef, .-alx_bin_coef + .section .rodata + .align 8 +.LC0: + .long 0 + .long 1072693248 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/libalx/tmp/alx_ncur.s b/libalx/tmp/alx_ncur.s new file mode 100644 index 0000000..76c3245 --- /dev/null +++ b/libalx/tmp/alx_ncur.s @@ -0,0 +1,1793 @@ + .file "alx_ncur.c" + .text + .globl alx_start_curses + .type alx_start_curses, @function +alx_start_curses: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call initscr@PLT + call nonl@PLT + call cbreak@PLT + call noecho@PLT + movq stdscr(%rip), %rax + movl $1, %esi + movq %rax, %rdi + call keypad@PLT + call has_colors@PLT + testb %al, %al + je .L3 + call start_color@PLT + call use_default_colors@PLT +.L3: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size alx_start_curses, .-alx_start_curses + .globl alx_pause_curses + .type alx_pause_curses, @function +alx_pause_curses: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call def_prog_mode@PLT + call endwin@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size alx_pause_curses, .-alx_pause_curses + .globl alx_resume_curses + .type alx_resume_curses, @function +alx_resume_curses: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq stdout(%rip), %rax + movq %rax, %rdi + call fflush@PLT + call reset_prog_mode@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size alx_resume_curses, .-alx_resume_curses + .globl alx_end_curses + .type alx_end_curses, @function +alx_end_curses: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq stdscr(%rip), %rax + movq %rax, %rdi + call wclear@PLT + movq stdscr(%rip), %rax + movq %rax, %rdi + call wrefresh@PLT + call endwin@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size alx_end_curses, .-alx_end_curses + .globl alx_win_del + .type alx_win_del, @function +alx_win_del: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movl $0, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call wclear@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call delwin@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size alx_win_del, .-alx_win_del + .globl alx_menu + .type alx_menu, @function +alx_menu: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $64, %rsp + movl %edi, -36(%rbp) + movl %esi, -40(%rbp) + movl %edx, -44(%rbp) + movq %rcx, -56(%rbp) + movq %r8, -64(%rbp) + movl $1, -4(%rbp) + movl $80, %eax + subl -40(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -8(%rbp) + movl -8(%rbp), %ecx + movl -4(%rbp), %edx + movl -40(%rbp), %esi + movl -36(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -16(%rbp) + movq -64(%rbp), %rcx + movq -56(%rbp), %rdx + movl -44(%rbp), %esi + movq -16(%rbp), %rax + movq %rax, %rdi + call alx_menu_2 + movl %eax, -20(%rbp) + movq -16(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movl -20(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size alx_menu, .-alx_menu + .globl alx_menu_2 + .type alx_menu_2, @function +alx_menu_2: +.LFB6: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -24(%rbp) + movl %esi, -28(%rbp) + movq %rdx, -40(%rbp) + movq %rcx, -48(%rbp) + movq -24(%rbp), %rax + movl $1, %esi + movq %rax, %rdi + call keypad@PLT + call noecho@PLT + movq -24(%rbp), %rax + subq $8, %rsp + pushq $0 + pushq $0 + pushq $0 + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wborder@PLT + addq $32, %rsp + movq -48(%rbp), %rdx + movq -24(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_title + movq -40(%rbp), %rdx + movl -28(%rbp), %ecx + movq -24(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call alx_ncur_prn_menu + movq -40(%rbp), %rdx + movl -28(%rbp), %ecx + movq -24(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call alx_ncur_usr_sel + movl %eax, -4(%rbp) + movl -4(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE6: + .size alx_menu_2, .-alx_menu_2 + .section .rodata + .align 8 +.LC0: + .string "Introduce a real number [%lf U %lf] (default %lf)" + .text + .globl alx_w_getdbl + .type alx_w_getdbl, @function +alx_w_getdbl: +.LFB7: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $352, %rsp + movl %edi, -292(%rbp) + movl %esi, -296(%rbp) + movq %rdx, -304(%rbp) + movsd %xmm0, -312(%rbp) + movsd %xmm1, -320(%rbp) + movsd %xmm2, -328(%rbp) + movq %rcx, -336(%rbp) + movq %r8, -144(%rbp) + movq %r9, -136(%rbp) + testb %al, %al + je .L17 + movaps %xmm3, -80(%rbp) + movaps %xmm4, -64(%rbp) + movaps %xmm5, -48(%rbp) + movaps %xmm6, -32(%rbp) + movaps %xmm7, -16(%rbp) +.L17: + movl $32, -280(%rbp) + movl $96, -276(%rbp) + leaq 16(%rbp), %rax + movq %rax, -272(%rbp) + leaq -176(%rbp), %rax + movq %rax, -264(%rbp) + movl $3, -180(%rbp) + movl -292(%rbp), %eax + movl %eax, -184(%rbp) + movl -296(%rbp), %eax + movl %eax, -188(%rbp) + movl $80, %eax + subl -292(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -192(%rbp) + movl $1, -196(%rbp) + movl -184(%rbp), %eax + subl $4, %eax + movl %eax, -200(%rbp) + movl -188(%rbp), %eax + addl $3, %eax + movl %eax, -204(%rbp) + movl -192(%rbp), %eax + addl $2, %eax + movl %eax, -208(%rbp) + movl $1, -212(%rbp) + movl -184(%rbp), %eax + subl $2, %eax + movl %eax, -216(%rbp) + movl -188(%rbp), %eax + addl $1, %eax + movl %eax, -220(%rbp) + movl -192(%rbp), %eax + addl $1, %eax + movl %eax, -224(%rbp) + movl -192(%rbp), %ecx + movl -188(%rbp), %edx + movl -184(%rbp), %esi + movl -180(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -232(%rbp) + movq -232(%rbp), %rax + movl $262144, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -232(%rbp), %rax + subq $8, %rsp + pushq $0 + pushq $0 + pushq $0 + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wborder@PLT + addq $32, %rsp + movq -304(%rbp), %rdx + movq -232(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_title + movq -232(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl -208(%rbp), %ecx + movl -204(%rbp), %edx + movl -200(%rbp), %esi + movl -196(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -240(%rbp) + cmpq $0, -336(%rbp) + jne .L14 + movsd -320(%rbp), %xmm1 + movsd -328(%rbp), %xmm0 + movq -312(%rbp), %rdx + movq -240(%rbp), %rax + movapd %xmm1, %xmm2 + movapd %xmm0, %xmm1 + movq %rdx, -344(%rbp) + movsd -344(%rbp), %xmm0 + leaq .LC0(%rip), %rsi + movq %rax, %rdi + movl $3, %eax + call wprintw@PLT + jmp .L15 +.L14: + leaq -280(%rbp), %rdx + movq -336(%rbp), %rcx + movq -240(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call vwprintw@PLT +.L15: + movq -240(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl -224(%rbp), %ecx + movl -220(%rbp), %edx + movl -216(%rbp), %esi + movl -212(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -248(%rbp) + movq -248(%rbp), %rax + movl $262144, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -248(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movsd -328(%rbp), %xmm1 + movsd -320(%rbp), %xmm0 + movq -312(%rbp), %rdx + movq -248(%rbp), %rax + movapd %xmm1, %xmm2 + movapd %xmm0, %xmm1 + movq %rdx, -344(%rbp) + movsd -344(%rbp), %xmm0 + movq %rax, %rdi + call loop_w_getdbl + movq %xmm0, %rax + movq %rax, -256(%rbp) + movq -248(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movq -240(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movq -232(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movsd -256(%rbp), %xmm0 + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE7: + .size alx_w_getdbl, .-alx_w_getdbl + .section .rodata + .align 8 +.LC1: + .string "Introduce an integer number [%lf U %lf] (default %li)" + .text + .globl alx_w_getint + .type alx_w_getint, @function +alx_w_getint: +.LFB8: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $352, %rsp + movl %edi, -292(%rbp) + movl %esi, -296(%rbp) + movq %rdx, -304(%rbp) + movsd %xmm0, -312(%rbp) + movq %rcx, -320(%rbp) + movsd %xmm1, -328(%rbp) + movq %r8, -336(%rbp) + movq %r9, -136(%rbp) + testb %al, %al + je .L23 + movaps %xmm2, -96(%rbp) + movaps %xmm3, -80(%rbp) + movaps %xmm4, -64(%rbp) + movaps %xmm5, -48(%rbp) + movaps %xmm6, -32(%rbp) + movaps %xmm7, -16(%rbp) +.L23: + movl $40, -280(%rbp) + movl $80, -276(%rbp) + leaq 16(%rbp), %rax + movq %rax, -272(%rbp) + leaq -176(%rbp), %rax + movq %rax, -264(%rbp) + movl $3, -180(%rbp) + movl -292(%rbp), %eax + movl %eax, -184(%rbp) + movl -296(%rbp), %eax + movl %eax, -188(%rbp) + movl $80, %eax + subl -292(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -192(%rbp) + movl $1, -196(%rbp) + movl -184(%rbp), %eax + subl $4, %eax + movl %eax, -200(%rbp) + movl -188(%rbp), %eax + addl $3, %eax + movl %eax, -204(%rbp) + movl -192(%rbp), %eax + addl $2, %eax + movl %eax, -208(%rbp) + movl $1, -212(%rbp) + movl -184(%rbp), %eax + subl $2, %eax + movl %eax, -216(%rbp) + movl -188(%rbp), %eax + addl $1, %eax + movl %eax, -220(%rbp) + movl -192(%rbp), %eax + addl $1, %eax + movl %eax, -224(%rbp) + movl -192(%rbp), %ecx + movl -188(%rbp), %edx + movl -184(%rbp), %esi + movl -180(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -232(%rbp) + movq -232(%rbp), %rax + movl $262144, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -232(%rbp), %rax + subq $8, %rsp + pushq $0 + pushq $0 + pushq $0 + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wborder@PLT + addq $32, %rsp + movq -304(%rbp), %rdx + movq -232(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_title + movq -232(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl -208(%rbp), %ecx + movl -204(%rbp), %edx + movl -200(%rbp), %esi + movl -196(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -240(%rbp) + cmpq $0, -336(%rbp) + jne .L20 + movq -320(%rbp), %rdx + movsd -328(%rbp), %xmm0 + movq -312(%rbp), %rcx + movq -240(%rbp), %rax + movapd %xmm0, %xmm1 + movq %rcx, -344(%rbp) + movsd -344(%rbp), %xmm0 + leaq .LC1(%rip), %rsi + movq %rax, %rdi + movl $2, %eax + call wprintw@PLT + jmp .L21 +.L20: + leaq -280(%rbp), %rdx + movq -336(%rbp), %rcx + movq -240(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call vwprintw@PLT +.L21: + movq -240(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl -224(%rbp), %ecx + movl -220(%rbp), %edx + movl -216(%rbp), %esi + movl -212(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -248(%rbp) + movq -248(%rbp), %rax + movl $262144, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -248(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movsd -328(%rbp), %xmm0 + movq -320(%rbp), %rcx + movq -312(%rbp), %rdx + movq -248(%rbp), %rax + movapd %xmm0, %xmm1 + movq %rcx, %rsi + movq %rdx, -344(%rbp) + movsd -344(%rbp), %xmm0 + movq %rax, %rdi + call loop_w_getint + movl %eax, -252(%rbp) + movq -248(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movq -240(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movq -232(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movl -252(%rbp), %eax + cltq + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE8: + .size alx_w_getint, .-alx_w_getint + .section .rodata +.LC2: + .string "Introduce a string" + .text + .globl alx_w_getstr + .type alx_w_getstr, @function +alx_w_getstr: +.LFB9: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $320, %rsp + movq %rdi, -280(%rbp) + movl %esi, -284(%rbp) + movl %edx, -288(%rbp) + movl %ecx, -292(%rbp) + movq %r8, -304(%rbp) + movq %r9, -312(%rbp) + testb %al, %al + je .L28 + movaps %xmm0, -128(%rbp) + movaps %xmm1, -112(%rbp) + movaps %xmm2, -96(%rbp) + movaps %xmm3, -80(%rbp) + movaps %xmm4, -64(%rbp) + movaps %xmm5, -48(%rbp) + movaps %xmm6, -32(%rbp) + movaps %xmm7, -16(%rbp) +.L28: + movl $48, -272(%rbp) + movl $48, -268(%rbp) + leaq 16(%rbp), %rax + movq %rax, -264(%rbp) + leaq -176(%rbp), %rax + movq %rax, -256(%rbp) + movl $3, -180(%rbp) + movl -288(%rbp), %eax + movl %eax, -184(%rbp) + movl -292(%rbp), %eax + movl %eax, -188(%rbp) + movl $80, %eax + subl -288(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -192(%rbp) + movl $1, -196(%rbp) + movl -184(%rbp), %eax + subl $4, %eax + movl %eax, -200(%rbp) + movl -188(%rbp), %eax + addl $3, %eax + movl %eax, -204(%rbp) + movl -192(%rbp), %eax + addl $2, %eax + movl %eax, -208(%rbp) + movl $1, -212(%rbp) + movl -184(%rbp), %eax + subl $2, %eax + movl %eax, -216(%rbp) + movl -188(%rbp), %eax + addl $1, %eax + movl %eax, -220(%rbp) + movl -192(%rbp), %eax + addl $1, %eax + movl %eax, -224(%rbp) + movl -192(%rbp), %ecx + movl -188(%rbp), %edx + movl -184(%rbp), %esi + movl -180(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -232(%rbp) + movq -232(%rbp), %rax + movl $262144, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -232(%rbp), %rax + subq $8, %rsp + pushq $0 + pushq $0 + pushq $0 + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wborder@PLT + addq $32, %rsp + movq -304(%rbp), %rdx + movq -232(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_title + movq -232(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl -208(%rbp), %ecx + movl -204(%rbp), %edx + movl -200(%rbp), %esi + movl -196(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -240(%rbp) + cmpq $0, -312(%rbp) + jne .L26 + movq -240(%rbp), %rax + movl $-1, %edx + leaq .LC2(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT + jmp .L27 +.L26: + leaq -272(%rbp), %rdx + movq -312(%rbp), %rcx + movq -240(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call vwprintw@PLT +.L27: + movq -240(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl -224(%rbp), %ecx + movl -220(%rbp), %edx + movl -216(%rbp), %esi + movl -212(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -248(%rbp) + movq -248(%rbp), %rax + movl $262144, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -248(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movq -248(%rbp), %rdx + movl -284(%rbp), %ecx + movq -280(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call loop_w_getstr + movq -248(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movq -240(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movq -232(%rbp), %rax + movq %rax, %rdi + call alx_win_del + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE9: + .size alx_w_getstr, .-alx_w_getstr + .section .rodata +.LC3: + .string "Introduce a file name" + .text + .globl alx_w_getfname + .type alx_w_getfname, @function +alx_w_getfname: +.LFB10: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $320, %rsp + movq %rdi, -280(%rbp) + movq %rsi, -288(%rbp) + movl %ecx, -296(%rbp) + movl %r8d, -300(%rbp) + movq %r9, -312(%rbp) + testb %al, %al + je .L30 + movaps %xmm0, -128(%rbp) + movaps %xmm1, -112(%rbp) + movaps %xmm2, -96(%rbp) + movaps %xmm3, -80(%rbp) + movaps %xmm4, -64(%rbp) + movaps %xmm5, -48(%rbp) + movaps %xmm6, -32(%rbp) + movaps %xmm7, -16(%rbp) +.L30: + movb %dl, -292(%rbp) + movl $48, -272(%rbp) + movl $48, -268(%rbp) + leaq 24(%rbp), %rax + movq %rax, -264(%rbp) + leaq -176(%rbp), %rax + movq %rax, -256(%rbp) + movl $3, -180(%rbp) + movl -296(%rbp), %eax + movl %eax, -184(%rbp) + movl -300(%rbp), %eax + movl %eax, -188(%rbp) + movl $80, %eax + subl -296(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -192(%rbp) + movl $1, -196(%rbp) + movl -184(%rbp), %eax + subl $4, %eax + movl %eax, -200(%rbp) + movl -188(%rbp), %eax + addl $3, %eax + movl %eax, -204(%rbp) + movl -192(%rbp), %eax + addl $2, %eax + movl %eax, -208(%rbp) + movl $1, -212(%rbp) + movl -184(%rbp), %eax + subl $2, %eax + movl %eax, -216(%rbp) + movl -188(%rbp), %eax + addl $1, %eax + movl %eax, -220(%rbp) + movl -192(%rbp), %eax + addl $1, %eax + movl %eax, -224(%rbp) + movl -192(%rbp), %ecx + movl -188(%rbp), %edx + movl -184(%rbp), %esi + movl -180(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -232(%rbp) + movq -232(%rbp), %rax + movl $262144, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -232(%rbp), %rax + subq $8, %rsp + pushq $0 + pushq $0 + pushq $0 + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wborder@PLT + addq $32, %rsp + movq -312(%rbp), %rdx + movq -232(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_title + movq -232(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl -208(%rbp), %ecx + movl -204(%rbp), %edx + movl -200(%rbp), %esi + movl -196(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -240(%rbp) + cmpq $0, 16(%rbp) + jne .L31 + movq -240(%rbp), %rax + movl $-1, %edx + leaq .LC3(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT + jmp .L32 +.L31: + leaq -272(%rbp), %rdx + movq -240(%rbp), %rax + movq 16(%rbp), %rsi + movq %rax, %rdi + call vwprintw@PLT +.L32: + movq -240(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl -224(%rbp), %ecx + movl -220(%rbp), %edx + movl -216(%rbp), %esi + movl -212(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -248(%rbp) + movq -248(%rbp), %rax + movl $262144, %esi + movq %rax, %rdi + call wbkgd@PLT + movq -248(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movzbl -292(%rbp), %edx + movq -248(%rbp), %rcx + movq -288(%rbp), %rsi + movq -280(%rbp), %rax + movq %rax, %rdi + call loop_w_getfname + movq -248(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movq -240(%rbp), %rax + movq %rax, %rdi + call alx_win_del + movq -232(%rbp), %rax + movq %rax, %rdi + call alx_win_del + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE10: + .size alx_w_getfname, .-alx_w_getfname + .section .rodata +.LC4: + .string " %s " + .text + .globl alx_ncur_prn_title + .type alx_ncur_prn_title, @function +alx_ncur_prn_title: +.LFB11: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + cmpq $0, -24(%rbp) + je .L34 + movq -24(%rbp), %rax + movzwl 4(%rax), %eax + cwtl + addl $1, %eax + jmp .L35 +.L34: + movl $-1, %eax +.L35: + movl %eax, -4(%rbp) + cmpq $0, -24(%rbp) + je .L36 + movq -24(%rbp), %rax + movzwl 6(%rax), %eax + cwtl + addl $1, %eax + jmp .L37 +.L36: + movl $-1, %eax +.L37: + movl %eax, -8(%rbp) + movq -32(%rbp), %rax + movq %rax, %rdi + call strlen@PLT + movl %eax, -12(%rbp) + movl -12(%rbp), %eax + leal 2(%rax), %edx + movl -8(%rbp), %eax + subl %edx, %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + leal -1(%rax), %edx + movq -24(%rbp), %rax + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L39 + movq 936+acs_map(%rip), %rdx + movq -24(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L39: + movq -32(%rbp), %rdx + movq -24(%rbp), %rax + leaq .LC4(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call wprintw@PLT + movq 928+acs_map(%rip), %rdx + movq -24(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE11: + .size alx_ncur_prn_title, .-alx_ncur_prn_title + .globl alx_ncur_prn_subtitle + .type alx_ncur_prn_subtitle, @function +alx_ncur_prn_subtitle: +.LFB12: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + cmpq $0, -24(%rbp) + je .L41 + movq -24(%rbp), %rax + movzwl 4(%rax), %eax + cwtl + addl $1, %eax + jmp .L42 +.L41: + movl $-1, %eax +.L42: + movl %eax, -4(%rbp) + cmpq $0, -24(%rbp) + je .L43 + movq -24(%rbp), %rax + movzwl 6(%rax), %eax + cwtl + addl $1, %eax + jmp .L44 +.L43: + movl $-1, %eax +.L44: + movl %eax, -8(%rbp) + movq -32(%rbp), %rax + movq %rax, %rdi + call strlen@PLT + movl %eax, -12(%rbp) + movl -12(%rbp), %eax + leal 2(%rax), %edx + movl -8(%rbp), %eax + subl %edx, %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + leal -1(%rax), %edx + movl -4(%rbp), %eax + leal -1(%rax), %ecx + movq -24(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L46 + movq 936+acs_map(%rip), %rdx + movq -24(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L46: + movq -32(%rbp), %rdx + movq -24(%rbp), %rax + leaq .LC4(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call wprintw@PLT + movq 928+acs_map(%rip), %rdx + movq -24(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE12: + .size alx_ncur_prn_subtitle, .-alx_ncur_prn_subtitle + .type alx_ncur_prn_menu, @function +alx_ncur_prn_menu: +.LFB13: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -24(%rbp) + movl %esi, -28(%rbp) + movq %rdx, -40(%rbp) + cmpq $0, -24(%rbp) + je .L48 + movq -24(%rbp), %rax + movzwl 4(%rax), %eax + cwtl + addl $1, %eax + jmp .L49 +.L48: + movl $-1, %eax +.L49: + movl %eax, -8(%rbp) + cmpq $0, -24(%rbp) + je .L50 + movq -24(%rbp), %rax + movzwl 6(%rax), %eax + cwtl + addl $1, %eax + jmp .L51 +.L50: + movl $-1, %eax +.L51: + movl %eax, -12(%rbp) + movl $0, -4(%rbp) + jmp .L52 +.L55: + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rdx + movq -40(%rbp), %rax + addq %rdx, %rax + movl 4(%rax), %edx + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rcx + movq -40(%rbp), %rax + addq %rcx, %rax + movl (%rax), %ecx + movq -24(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L54 + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rdx + movq -40(%rbp), %rax + addq %rdx, %rax + movq 8(%rax), %rcx + movq -24(%rbp), %rax + movl $-1, %edx + movq %rcx, %rsi + movq %rax, %rdi + call waddnstr@PLT +.L54: + addl $1, -4(%rbp) +.L52: + movl -4(%rbp), %eax + cmpl -28(%rbp), %eax + jl .L55 + movq -24(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE13: + .size alx_ncur_prn_menu, .-alx_ncur_prn_menu + .type alx_ncur_usr_sel, @function +alx_ncur_usr_sel: +.LFB14: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -24(%rbp) + movl %esi, -28(%rbp) + movq %rdx, -40(%rbp) + movl $1, -4(%rbp) + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rdx + movq -40(%rbp), %rax + addq %rdx, %rax + movl 4(%rax), %eax + leal 1(%rax), %edx + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rcx + movq -40(%rbp), %rax + addq %rcx, %rax + movl (%rax), %ecx + movq -24(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + movb $1, -5(%rbp) + jmp .L57 +.L70: + movq -24(%rbp), %rax + movq %rax, %rdi + call wgetch@PLT + movl %eax, -12(%rbp) + movl -12(%rbp), %eax + cmpl $107, %eax + je .L59 + cmpl $107, %eax + jg .L60 + cmpl $13, %eax + je .L61 + cmpl $13, %eax + jg .L62 + cmpl $10, %eax + je .L61 + jmp .L58 +.L62: + cmpl $32, %eax + je .L61 + cmpl $106, %eax + je .L63 + jmp .L58 +.L60: + cmpl $119, %eax + je .L59 + cmpl $119, %eax + jg .L64 + cmpl $115, %eax + je .L63 + jmp .L58 +.L64: + cmpl $258, %eax + je .L63 + cmpl $259, %eax + jne .L58 +.L59: + cmpl $0, -4(%rbp) + je .L65 + subl $1, -4(%rbp) + jmp .L66 +.L65: + movl -28(%rbp), %eax + subl $1, %eax + movl %eax, -4(%rbp) +.L66: + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rdx + movq -40(%rbp), %rax + addq %rdx, %rax + movl 4(%rax), %eax + leal 1(%rax), %edx + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rcx + movq -40(%rbp), %rax + addq %rcx, %rax + movl (%rax), %ecx + movq -24(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + jmp .L57 +.L63: + movl -28(%rbp), %eax + subl $1, %eax + cmpl -4(%rbp), %eax + je .L67 + addl $1, -4(%rbp) + jmp .L68 +.L67: + movl $0, -4(%rbp) +.L68: + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rdx + movq -40(%rbp), %rax + addq %rdx, %rax + movl 4(%rax), %eax + leal 1(%rax), %edx + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rcx + movq -40(%rbp), %rax + addq %rcx, %rax + movl (%rax), %ecx + movq -24(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + jmp .L57 +.L61: + movb $0, -5(%rbp) + jmp .L57 +.L58: + cmpl $47, -12(%rbp) + jle .L72 + movl -28(%rbp), %eax + addl $48, %eax + cmpl -12(%rbp), %eax + jle .L72 + movl -12(%rbp), %eax + subl $48, %eax + movl %eax, -4(%rbp) + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rdx + movq -40(%rbp), %rax + addq %rdx, %rax + movl 4(%rax), %eax + leal 1(%rax), %edx + movl -4(%rbp), %eax + cltq + salq $4, %rax + movq %rax, %rcx + movq -40(%rbp), %rax + addq %rcx, %rax + movl (%rax), %ecx + movq -24(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + movb $0, -5(%rbp) +.L72: + nop +.L57: + cmpb $0, -5(%rbp) + jne .L70 + movl -4(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE14: + .size alx_ncur_usr_sel, .-alx_ncur_usr_sel + .type loop_w_getdbl, @function +loop_w_getdbl: +.LFB15: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1104, %rsp + movq %rdi, -1064(%rbp) + movsd %xmm0, -1072(%rbp) + movsd %xmm1, -1080(%rbp) + movsd %xmm2, -1088(%rbp) + movl $0, -4(%rbp) + jmp .L74 +.L82: + call echo@PLT + movq -1064(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L75 + leaq -1040(%rbp), %rcx + movq -1064(%rbp), %rax + movl $1024, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wgetnstr@PLT + jmp .L76 +.L75: + movl $-1, %eax +.L76: + movl %eax, -12(%rbp) + call noecho@PLT + movq -1064(%rbp), %rax + movq %rax, %rdi + call wclear@PLT + movq -1064(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + cmpl $-1, -12(%rbp) + jne .L77 + movl $5, -8(%rbp) + jmp .L78 +.L77: + leaq -1040(%rbp), %rcx + movsd -1088(%rbp), %xmm1 + movsd -1080(%rbp), %xmm0 + movq -1072(%rbp), %rdx + leaq -1048(%rbp), %rax + movq %rcx, %rsi + movapd %xmm1, %xmm2 + movapd %xmm0, %xmm1 + movq %rdx, -1096(%rbp) + movsd -1096(%rbp), %xmm0 + movq %rax, %rdi + call alx_sscan_dbl@PLT + movl %eax, -8(%rbp) +.L78: + cmpl $0, -8(%rbp) + je .L84 + movl -8(%rbp), %edx + movq -1064(%rbp), %rax + movl %edx, %esi + movq %rax, %rdi + call manage_w_error + addl $1, -4(%rbp) +.L74: + cmpl $1, -4(%rbp) + jle .L82 + jmp .L81 +.L84: + nop +.L81: + movsd -1048(%rbp), %xmm0 + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE15: + .size loop_w_getdbl, .-loop_w_getdbl + .type loop_w_getint, @function +loop_w_getint: +.LFB16: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1104, %rsp + movq %rdi, -1064(%rbp) + movsd %xmm0, -1072(%rbp) + movq %rsi, -1080(%rbp) + movsd %xmm1, -1088(%rbp) + movl $0, -4(%rbp) + jmp .L86 +.L94: + call echo@PLT + movq -1064(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L87 + leaq -1040(%rbp), %rcx + movq -1064(%rbp), %rax + movl $1024, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wgetnstr@PLT + jmp .L88 +.L87: + movl $-1, %eax +.L88: + movl %eax, -12(%rbp) + call noecho@PLT + movq -1064(%rbp), %rax + movq %rax, %rdi + call wclear@PLT + movq -1064(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + cmpl $-1, -12(%rbp) + jne .L89 + movl $5, -8(%rbp) + jmp .L90 +.L89: + leaq -1040(%rbp), %rdx + movsd -1088(%rbp), %xmm0 + movq -1080(%rbp), %rsi + movq -1072(%rbp), %rcx + leaq -1048(%rbp), %rax + movapd %xmm0, %xmm1 + movq %rcx, -1096(%rbp) + movsd -1096(%rbp), %xmm0 + movq %rax, %rdi + call alx_sscan_int@PLT + movl %eax, -8(%rbp) +.L90: + cmpl $0, -8(%rbp) + je .L96 + movl -8(%rbp), %edx + movq -1064(%rbp), %rax + movl %edx, %esi + movq %rax, %rdi + call manage_w_error + addl $1, -4(%rbp) +.L86: + cmpl $1, -4(%rbp) + jle .L94 + jmp .L93 +.L96: + nop +.L93: + movq -1048(%rbp), %rax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE16: + .size loop_w_getint, .-loop_w_getint + .type loop_w_getstr, @function +loop_w_getstr: +.LFB17: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1072, %rsp + movq %rdi, -1048(%rbp) + movl %esi, -1052(%rbp) + movq %rdx, -1064(%rbp) + movl $0, -4(%rbp) + jmp .L98 +.L106: + call echo@PLT + movq -1064(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L99 + leaq -1040(%rbp), %rcx + movq -1064(%rbp), %rax + movl $1024, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wgetnstr@PLT + jmp .L100 +.L99: + movl $-1, %eax +.L100: + movl %eax, -12(%rbp) + call noecho@PLT + movq -1064(%rbp), %rax + movq %rax, %rdi + call wclear@PLT + movq -1064(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movl $0, -8(%rbp) + cmpl $-1, -12(%rbp) + jne .L108 + movl $5, -8(%rbp) + cmpl $0, -8(%rbp) + je .L109 + movl -8(%rbp), %edx + movq -1064(%rbp), %rax + movl %edx, %esi + movq %rax, %rdi + call manage_w_error + addl $1, -4(%rbp) +.L98: + cmpl $1, -4(%rbp) + jle .L106 + jmp .L103 +.L108: + nop + jmp .L103 +.L109: + nop +.L103: + cmpl $0, -8(%rbp) + jne .L110 + movl -1052(%rbp), %eax + movslq %eax, %rcx + leaq -1040(%rbp), %rdx + movq -1048(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT +.L110: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE17: + .size loop_w_getstr, .-loop_w_getstr + .type loop_w_getfname, @function +loop_w_getfname: +.LFB18: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $4144, %rsp + movq %rdi, -4120(%rbp) + movq %rsi, -4128(%rbp) + movl %edx, %eax + movq %rcx, -4144(%rbp) + movb %al, -4132(%rbp) + movl $0, -4(%rbp) + jmp .L112 +.L120: + call echo@PLT + movq -4144(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L113 + leaq -4112(%rbp), %rcx + movq -4144(%rbp), %rax + movl $4096, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wgetnstr@PLT + jmp .L114 +.L113: + movl $-1, %eax +.L114: + movl %eax, -12(%rbp) + call noecho@PLT + movq -4144(%rbp), %rax + movq %rax, %rdi + call wclear@PLT + movq -4144(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + cmpl $-1, -12(%rbp) + jne .L115 + movl $5, -8(%rbp) + jmp .L116 +.L115: + movzbl -4132(%rbp), %edx + leaq -4112(%rbp), %rcx + movq -4128(%rbp), %rsi + movq -4120(%rbp), %rax + movq %rax, %rdi + call alx_sscan_fname@PLT + movl %eax, -8(%rbp) +.L116: + cmpl $0, -8(%rbp) + je .L121 + movl -8(%rbp), %edx + movq -4144(%rbp), %rax + movl %edx, %esi + movq %rax, %rdi + call manage_w_error + addl $1, -4(%rbp) +.L112: + cmpl $1, -4(%rbp) + jle .L120 + jmp .L119 +.L121: + nop +.L119: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE18: + .size loop_w_getfname, .-loop_w_getfname + .section .rodata +.LC5: + .string "\302\241 Number is out of range !" +.LC6: + .string "\302\241 sscanf() error !" +.LC7: + .string "\302\241 wgetstr() error !" +.LC8: + .string "\302\241 FILE error !" + .text + .type manage_w_error, @function +manage_w_error: +.LFB19: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movl %esi, -12(%rbp) + movl -12(%rbp), %eax + cmpl $2, %eax + je .L124 + cmpl $2, %eax + jg .L125 + cmpl $1, %eax + je .L126 + jmp .L123 +.L125: + cmpl $3, %eax + je .L127 + cmpl $5, %eax + je .L128 + jmp .L123 +.L126: + movq -8(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L137 + movq -8(%rbp), %rax + movl $-1, %edx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT + jmp .L137 +.L124: + movq -8(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L138 + movq -8(%rbp), %rax + movl $-1, %edx + leaq .LC6(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT + jmp .L138 +.L128: + movq -8(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L139 + movq -8(%rbp), %rax + movl $-1, %edx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT + jmp .L139 +.L127: + movq -8(%rbp), %rax + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L140 + movq -8(%rbp), %rax + movl $-1, %edx + leaq .LC8(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT + jmp .L140 +.L137: + nop + jmp .L123 +.L138: + nop + jmp .L123 +.L139: + nop + jmp .L123 +.L140: + nop +.L123: + movq -8(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call wgetch@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call wclear@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE19: + .size manage_w_error, .-manage_w_error + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/libalx/tmp/alx_seed.s b/libalx/tmp/alx_seed.s new file mode 100644 index 0000000..7173306 --- /dev/null +++ b/libalx/tmp/alx_seed.s @@ -0,0 +1,87 @@ + .file "alx_seed.c" + .text + .globl seedf + .type seedf, @function +seedf: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl %edx, -12(%rbp) + movl -8(%rbp), %edx + movl -12(%rbp), %eax + addl %edx, %eax + subl %eax, -4(%rbp) + movl -12(%rbp), %eax + shrl $13, %eax + xorl %eax, -4(%rbp) + movl -12(%rbp), %edx + movl -4(%rbp), %eax + addl %edx, %eax + subl %eax, -8(%rbp) + movl -4(%rbp), %eax + sall $8, %eax + xorl %eax, -8(%rbp) + movl -4(%rbp), %edx + movl -8(%rbp), %eax + addl %edx, %eax + subl %eax, -12(%rbp) + movl -8(%rbp), %eax + shrl $13, %eax + xorl %eax, -12(%rbp) + movl -8(%rbp), %edx + movl -12(%rbp), %eax + addl %edx, %eax + subl %eax, -4(%rbp) + movl -12(%rbp), %eax + shrl $12, %eax + xorl %eax, -4(%rbp) + movl -4(%rbp), %edx + movl -12(%rbp), %eax + addl %edx, %eax + subl %eax, -8(%rbp) + movl -4(%rbp), %eax + sall $16, %eax + xorl %eax, -8(%rbp) + movl -4(%rbp), %edx + movl -8(%rbp), %eax + addl %edx, %eax + subl %eax, -12(%rbp) + movl -8(%rbp), %eax + shrl $5, %eax + xorl %eax, -12(%rbp) + movl -8(%rbp), %edx + movl -12(%rbp), %eax + addl %edx, %eax + subl %eax, -4(%rbp) + movl -12(%rbp), %eax + shrl $3, %eax + xorl %eax, -4(%rbp) + movl -4(%rbp), %edx + movl -12(%rbp), %eax + addl %edx, %eax + subl %eax, -8(%rbp) + movl -4(%rbp), %eax + sall $10, %eax + xorl %eax, -8(%rbp) + movl -4(%rbp), %edx + movl -8(%rbp), %eax + addl %edx, %eax + subl %eax, -12(%rbp) + movl -8(%rbp), %eax + shrl $15, %eax + xorl %eax, -12(%rbp) + movl -12(%rbp), %eax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size seedf, .-seedf + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/Makefile b/modules/Makefile index 8bbb06b..a6e81db 100644 --- a/modules/Makefile +++ b/modules/Makefile @@ -12,6 +12,8 @@ PLAY_DIR = $(MODULES_DIR)/player/ SAVE_DIR = $(MODULES_DIR)/save/ XYZZY_DIR = $(MODULES_DIR)/xyzzy/ +TMP_DIR = $(MODULES_DIR)/tmp/ + export ABOUT_DIR export CTRL_DIR export GAME_DIR @@ -34,6 +36,7 @@ all: $(Q)cd $(PLAY_DIR) && $(MAKE) && cd .. $(Q)cd $(SAVE_DIR) && $(MAKE) && cd .. $(Q)cd $(XYZZY_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: @@ -44,6 +47,7 @@ clean: $(Q)cd $(PLAY_DIR) && $(MAKE) clean && cd .. $(Q)cd $(SAVE_DIR) && $(MAKE) clean && cd .. $(Q)cd $(XYZZY_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. @echo "Clean modules" ################################################################################ diff --git a/modules/about/Makefile b/modules/about/Makefile index 224aba5..42eb4c2 100644 --- a/modules/about/Makefile +++ b/modules/about/Makefile @@ -4,16 +4,16 @@ # directories -OBJ_DIR = $(ABOUT_DIR)/obj/ +TMP_DIR = $(ABOUT_DIR)/tmp/ # target: dependencies # action all: - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. ################################################################################ ######## End of file ########################################################### diff --git a/modules/about/obj/Makefile b/modules/about/tmp/Makefile index 2c1886b..b75a882 100644 --- a/modules/about/obj/Makefile +++ b/modules/about/tmp/Makefile @@ -4,22 +4,22 @@ # directories -LIBALX_INC_DIR = $(LIBALX_DIR)/inc/ +LIBALX_INC_DIR = $(LIBALX_DIR)/inc/ INC_DIR = $(ABOUT_DIR)/inc/ SRC_DIR = $(ABOUT_DIR)/src/ # dependencies -_ALL = about.o -ALL = $(_ALL) about_mod.o +_ALL = about.o +ALL = $(_ALL) about_mod.o -ABOU_INC_LIBALX = alx_file.h -ABOU_INC = about.h -ABOU_DEPS = $(SRC_DIR)/about.c \ +ABOU_INC_LIBALX = alx_file.h +ABOU_INC = about.h +ABOU_DEPS = $(SRC_DIR)/about.c \ $(patsubst %,$(LIBALX_INC_DIR)/%,$(ABOU_INC_LIBALX)) \ $(patsubst %,$(INC_DIR)/%,$(ABOU_INC)) -ABOU_INC_DIRS = -I $(INC_DIR) \ +ABOU_INC_DIRS = -I $(INC_DIR) \ -I $(LIBALX_INC_DIR) # target: dependencies @@ -30,14 +30,17 @@ all: $(ALL) about_mod.o: $(_ALL) $(Q)$(LD) -r $^ -o $@ - @echo "\tLD $@" + @echo " LD $@" @echo "" -about.o: $(ABOU_DEPS) - $(Q)$(CC) $(CFLAGS) $(ABOU_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +about.s: $(ABOU_DEPS) + $(Q)$(CC) $(CFLAGS) $(ABOU_INC_DIRS) -S $< -o $@ + @echo " CC $@" +about.o: about.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" clean: - $(Q)rm -f *.o + $(Q)rm -f *.o *.s diff --git a/modules/about/tmp/about.s b/modules/about/tmp/about.s new file mode 100644 index 0000000..aa459e8 --- /dev/null +++ b/modules/about/tmp/about.s @@ -0,0 +1,214 @@ + .file "about.c" + .comm share_path,4096,32 + .section .rodata +.LC0: + .string "mine-sweeper/" +.LC1: + .string "/usr/local/share/" +.LC2: + .string "%s/%s/" + .text + .globl about_init + .type about_init, @function +about_init: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC0(%rip), %r8 + leaq .LC1(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $4096, %esi + leaq share_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size about_init, .-about_init + .section .rodata +.LC3: + .string "COPYRIGHT.txt" +.LC4: + .string "%s/%s" +.LC5: + .string "DISCLAIMER.txt" +.LC6: + .string "HELP.txt" +.LC7: + .string "LICENSE.txt" +.LC8: + .string "USAGE.txt" + .text + .globl snprint_share_file + .type snprint_share_file, @function +snprint_share_file: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $4112, %rsp + movq %rdi, -4104(%rbp) + movl %esi, -4108(%rbp) + movl %edx, -4112(%rbp) + cmpl $4, -4112(%rbp) + ja .L3 + movl -4112(%rbp), %eax + leaq 0(,%rax,4), %rdx + leaq .L5(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L5(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L5: + .long .L4-.L5 + .long .L6-.L5 + .long .L7-.L5 + .long .L8-.L5 + .long .L9-.L5 + .text +.L4: + leaq -4096(%rbp), %rax + leaq .LC3(%rip), %r8 + leaq share_path(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L3 +.L6: + leaq -4096(%rbp), %rax + leaq .LC5(%rip), %r8 + leaq share_path(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L3 +.L7: + leaq -4096(%rbp), %rax + leaq .LC6(%rip), %r8 + leaq share_path(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L3 +.L8: + leaq -4096(%rbp), %rax + leaq .LC7(%rip), %r8 + leaq share_path(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L3 +.L9: + leaq -4096(%rbp), %rax + leaq .LC8(%rip), %r8 + leaq share_path(%rip), %rcx + leaq .LC4(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + nop +.L3: + leaq -4096(%rbp), %rdx + movl -4108(%rbp), %ecx + movq -4104(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call alx_snprint_file@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size snprint_share_file, .-snprint_share_file + .section .rodata + .align 8 +.LC9: + .string "\n\342\224\214\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\220" +.LC10: + .string "%s" + .align 8 +.LC11: + .string "\342\224\224\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\230\n" + .text + .globl print_share_file + .type print_share_file, @function +print_share_file: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1048592, %rsp + movl %edi, -1048580(%rbp) + movl -1048580(%rbp), %edx + leaq -1048576(%rbp), %rax + movl $1048576, %esi + movq %rax, %rdi + call snprint_share_file + leaq .LC9(%rip), %rdi + call puts@PLT + leaq -1048576(%rbp), %rax + movq %rax, %rsi + leaq .LC10(%rip), %rdi + movl $0, %eax + call printf@PLT + leaq .LC11(%rip), %rdi + call puts@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size print_share_file, .-print_share_file + .section .rodata +.LC12: + .string "mine-sweeper 4~b1\n" + .text + .globl print_version + .type print_version, @function +print_version: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC12(%rip), %rdi + call puts@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size print_version, .-print_version + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/ctrl/Makefile b/modules/ctrl/Makefile index d19e170..60d7283 100644 --- a/modules/ctrl/Makefile +++ b/modules/ctrl/Makefile @@ -4,16 +4,16 @@ # directories -OBJ_DIR = $(CTRL_DIR)/obj/ +TMP_DIR = $(CTRL_DIR)/tmp/ # target: dependencies # action all: - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. ################################################################################ ######## End of file ########################################################### diff --git a/modules/ctrl/obj/Makefile b/modules/ctrl/tmp/Makefile index a0e4537..a7b18d6 100644 --- a/modules/ctrl/obj/Makefile +++ b/modules/ctrl/tmp/Makefile @@ -10,12 +10,11 @@ PLAY_INC_DIR = $(PLAY_DIR)/inc/ INC_DIR = $(CTRL_DIR)/inc/ SRC_DIR = $(CTRL_DIR)/src/ -TST_DIR = $(CTRL_DIR)/tst/ # dependencies -_ALL = start.o -ALL = $(_ALL) ctrl_mod.o +_ALL = start.o +ALL = $(_ALL) ctrl_mod.o STRT_INC_GAME = game.h game_iface.h STRT_INC_MENU = menu_iface.h @@ -39,14 +38,17 @@ all: $(ALL) ctrl_mod.o: $(_ALL) $(Q)$(LD) -r $^ -o $@ - @echo "\tLD $@" + @echo " LD $@" @echo "" -start.o: $(STRT_DEPS) - $(Q)$(CC) $(CFLAGS) $(STRT_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +start.s: $(STRT_DEPS) + $(Q)$(CC) $(CFLAGS) $(STRT_INC_DIRS) -S $< -o $@ + @echo " CC $@" +start.o: start.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" clean: - $(Q)rm -f *.o + $(Q)rm -f *.o *.s diff --git a/modules/ctrl/tmp/start.s b/modules/ctrl/tmp/start.s new file mode 100644 index 0000000..28ab17b --- /dev/null +++ b/modules/ctrl/tmp/start.s @@ -0,0 +1,151 @@ + .file "start.c" + .comm start_mode,4,4 + .text + .globl start_switch + .type start_switch, @function +start_switch: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl start_mode(%rip), %eax + cmpl $1, %eax + je .L3 + cmpl $2, %eax + je .L4 + testl %eax, %eax + je .L5 + jmp .L6 +.L5: + call start_foo + jmp .L2 +.L3: + call start_rand + jmp .L2 +.L4: + call start_load + nop +.L2: +.L6: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size start_switch, .-start_switch + .type start_foo, @function +start_foo: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size start_foo, .-start_foo + .type start_rand, @function +start_rand: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + leaq -20(%rbp), %rcx + leaq -16(%rbp), %rdx + leaq -12(%rbp), %rsi + leaq -8(%rbp), %rax + movq %rax, %rdi + call menu_iface_board@PLT + movl -16(%rbp), %edx + movl -12(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call player_iface_init@PLT + leaq -28(%rbp), %rdx + leaq -24(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call player_iface_start@PLT + testl %eax, %eax + setne %al + movb %al, -1(%rbp) + movzbl -1(%rbp), %eax + xorl $1, %eax + testb %al, %al + je .L9 + movl -28(%rbp), %edi + movl -24(%rbp), %ecx + movl -20(%rbp), %edx + movl -16(%rbp), %esi + movl -12(%rbp), %eax + movl %edi, %r8d + movl %eax, %edi + call game_init_rand@PLT + movl -28(%rbp), %edx + movl -24(%rbp), %ecx + movl -8(%rbp), %eax + movl %ecx, %esi + movl %eax, %edi + call game_iface_init_rand@PLT + call game_iface@PLT +.L9: + call player_iface_cleanup@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size start_rand, .-start_rand + .type start_load, @function +start_load: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + call __errno_location@PLT + movl $0, (%rax) + leaq -8(%rbp), %rdx + leaq -4(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call game_init_load@PLT + call __errno_location@PLT + movl (%rax), %eax + testl %eax, %eax + jne .L12 + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call player_iface_init@PLT + call game_iface_init_load@PLT + call game_iface@PLT + call player_iface_cleanup@PLT +.L12: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size start_load, .-start_load + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/game/Makefile b/modules/game/Makefile index 891e668..692908e 100644 --- a/modules/game/Makefile +++ b/modules/game/Makefile @@ -4,16 +4,16 @@ # directories -OBJ_DIR = $(GAME_DIR)/obj/ +TMP_DIR = $(GAME_DIR)/tmp/ # target: dependencies # action all: - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. ################################################################################ ######## End of file ########################################################### diff --git a/modules/game/obj/Makefile b/modules/game/tmp/Makefile index 5cd2974..74cbf4f 100644 --- a/modules/game/obj/Makefile +++ b/modules/game/tmp/Makefile @@ -15,25 +15,25 @@ SRC_DIR = $(GAME_DIR)/src/ # dependencies -_ALL = game.o game_iface.o -ALL = $(_ALL) game_mod.o +_ALL = game.o game_iface.o +ALL = $(_ALL) game_mod.o -GAME_INC_LIBALX = alx_seed.h -GAME_INC_SAVE = save.h -GAME_INC = game.h -GAME_DEPS = $(SRC_DIR)/game.c \ +GAME_INC_LIBALX = alx_seed.h +GAME_INC_SAVE = save.h +GAME_INC = game.h +GAME_DEPS = $(SRC_DIR)/game.c \ $(patsubst %,$(INC_DIR)/%,$(GAME_INC)) \ $(patsubst %,$(LIBALX_INC_DIR)/%,$(GAME_INC_LIBALX)) \ $(patsubst %,$(SAVE_INC_DIR)/%,$(GAME_INC_SAVE)) -GAME_INC_DIRS = -I $(INC_DIR) \ +GAME_INC_DIRS = -I $(INC_DIR) \ -I $(SAVE_INC_DIR) \ -I $(LIBALX_INC_DIR) -GAMEI_INC_PLAY = player_iface.h -GAMEI_INC_SAVE = save.h score.h -GAMEI_INC_XYZZY = xyzzy.h -GAMEI_INC = game_iface.h game.h -GAMEI_DEPS = $(SRC_DIR)/game_iface.c \ +GAMEI_INC_PLAY = player_iface.h +GAMEI_INC_SAVE = save.h score.h +GAMEI_INC_XYZZY = xyzzy.h +GAMEI_INC = game_iface.h game.h +GAMEI_DEPS = $(SRC_DIR)/game_iface.c \ $(patsubst %,$(INC_DIR)/%,$(GAME_INC)) \ $(patsubst %,$(PLAY_INC_DIR)/%,$(GAMEI_INC_PLAY)) \ $(patsubst %,$(SAVE_INC_DIR)/%,$(GAME_INC_SAVE)) \ @@ -51,18 +51,24 @@ all: $(ALL) game_mod.o: $(_ALL) $(Q)$(LD) -r $^ -o $@ - @echo "\tLD $@" + @echo " LD $@" @echo "" -game.o: $(GAME_DEPS) - $(Q)$(CC) $(CFLAGS) $(GAME_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +game.s: $(GAME_DEPS) + $(Q)$(CC) $(CFLAGS) $(GAME_INC_DIRS) -S $< -o $@ + @echo " CC $@" +game.o: game.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" -game_iface.o: $(GAMEI_DEPS) - $(Q)$(CC) $(CFLAGS) $(GAMEI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +game_iface.s: $(GAMEI_DEPS) + $(Q)$(CC) $(CFLAGS) $(GAMEI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +game_iface.o: game_iface.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" clean: - $(Q)rm -f *.o + $(Q)rm -f *.o *.s diff --git a/modules/game/tmp/game.s b/modules/game/tmp/game.s new file mode 100644 index 0000000..752fd83 --- /dev/null +++ b/modules/game/tmp/game.s @@ -0,0 +1,1170 @@ + .file "game.c" + .comm game_board,7984032,32 + .text + .globl game_init + .type game_init, @function +game_init: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r12 + pushq %rbx + subq $16, %rsp + .cfi_offset 12, -24 + .cfi_offset 3, -32 + call getpid@PLT + movl %eax, %r12d + movl $0, %edi + call time@PLT + movl %eax, %ebx + call clock@PLT + movl %r12d, %edx + movl %ebx, %esi + movl %eax, %edi + call seedf@PLT + movl %eax, -20(%rbp) + movl -20(%rbp), %eax + movl %eax, %edi + call srand@PLT + nop + addq $16, %rsp + popq %rbx + popq %r12 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size game_init, .-game_init + .globl game_init_rand + .type game_init_rand, @function +game_init_rand: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl %edx, -12(%rbp) + movl %ecx, -16(%rbp) + movl %r8d, -20(%rbp) + movl -4(%rbp), %eax + movl %eax, game_board(%rip) + movl -8(%rbp), %eax + movl %eax, 4+game_board(%rip) + movl -12(%rbp), %eax + movl %eax, 8+game_board(%rip) + call game_init_clr + movl -20(%rbp), %edx + movl -16(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_init_mines + call game_init_adjnums + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size game_init_rand, .-game_init_rand + .globl game_init_load + .type game_init_load, @function +game_init_load: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + call load_game_file@PLT + movl $0, 7984028+game_board(%rip) + movl game_board(%rip), %edx + movq -8(%rbp), %rax + movl %edx, (%rax) + movl 4+game_board(%rip), %edx + movq -16(%rbp), %rax + movl %edx, (%rax) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size game_init_load, .-game_init_load + .globl game_action + .type game_action, @function +game_action: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl %edx, -12(%rbp) + movl -4(%rbp), %eax + cmpl $2, %eax + je .L6 + cmpl $2, %eax + jg .L7 + cmpl $1, %eax + je .L8 + jmp .L11 +.L7: + cmpl $3, %eax + je .L9 + cmpl $4, %eax + je .L10 + jmp .L11 +.L8: + movl -12(%rbp), %edx + movl -8(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_step + jmp .L5 +.L6: + movl -12(%rbp), %edx + movl -8(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_flag + jmp .L5 +.L9: + movl -12(%rbp), %edx + movl -8(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_possible + jmp .L5 +.L10: + movl -12(%rbp), %edx + movl -8(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_rmflag + nop +.L5: +.L11: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size game_action, .-game_action + .type game_init_clr, @function +game_init_clr: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $0, -4(%rbp) + jmp .L13 +.L16: + movl $0, -8(%rbp) + jmp .L14 +.L15: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl $0, (%rdx,%rax) + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $0, (%rdx,%rax) + addl $1, -8(%rbp) +.L14: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L15 + addl $1, -4(%rbp) +.L13: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L16 + movl $0, 7984020+game_board(%rip) + movl $0, 7984024+game_board(%rip) + movl $0, 7984028+game_board(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size game_init_clr, .-game_init_clr + .type game_init_mines, @function +game_init_mines: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl $0, -4(%rbp) + jmp .L18 +.L20: + call rand@PLT + movl game_board(%rip), %ecx + cltd + idivl %ecx + movl %edx, -8(%rbp) + call rand@PLT + movl 4+game_board(%rip), %ecx + cltd + idivl %ecx + movl %edx, -12(%rbp) + movl -12(%rbp), %eax + cltq + movl -8(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + testl %eax, %eax + jne .L18 + movl -8(%rbp), %eax + cmpl -20(%rbp), %eax + jne .L19 + movl -12(%rbp), %eax + cmpl -24(%rbp), %eax + je .L18 +.L19: + movl -12(%rbp), %eax + cltq + movl -8(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl $9, (%rdx,%rax) + addl $1, -4(%rbp) +.L18: + movl 8+game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L20 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size game_init_mines, .-game_init_mines + .type game_init_adjnums, @function +game_init_adjnums: +.LFB6: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $0, -4(%rbp) + jmp .L22 +.L31: + movl $0, -8(%rbp) + jmp .L23 +.L30: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $8, %eax + jle .L24 + movl -4(%rbp), %eax + subl $1, %eax + movl %eax, -12(%rbp) + jmp .L25 +.L29: + movl -8(%rbp), %eax + subl $1, %eax + movl %eax, -16(%rbp) + jmp .L26 +.L28: + cmpl $0, -12(%rbp) + js .L27 + movl game_board(%rip), %eax + cmpl -12(%rbp), %eax + jle .L27 + cmpl $0, -16(%rbp) + js .L27 + movl 4+game_board(%rip), %eax + cmpl -16(%rbp), %eax + jle .L27 + movl -16(%rbp), %eax + cltq + movl -12(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + leal 1(%rax), %ecx + movl -16(%rbp), %eax + cltq + movl -12(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl %ecx, (%rdx,%rax) +.L27: + addl $1, -16(%rbp) +.L26: + movl -8(%rbp), %eax + addl $2, %eax + cmpl -16(%rbp), %eax + jg .L28 + addl $1, -12(%rbp) +.L25: + movl -4(%rbp), %eax + addl $2, %eax + cmpl -12(%rbp), %eax + jg .L29 +.L24: + addl $1, -8(%rbp) +.L23: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L30 + addl $1, -4(%rbp) +.L22: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L31 + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE6: + .size game_init_adjnums, .-game_init_adjnums + .type game_step, @function +game_step: +.LFB7: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $1, %eax + je .L34 + cmpl $3, %eax + je .L35 + testl %eax, %eax + je .L35 + jmp .L36 +.L35: + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_discover + jmp .L33 +.L34: + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_big_step + nop +.L33: +.L36: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE7: + .size game_step, .-game_step + .type game_discover, @function +game_discover: +.LFB8: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl game_board(%rip), %edx + movl 4+game_board(%rip), %eax + imull %eax, %edx + movl 8+game_board(%rip), %eax + subl %eax, %edx + movl %edx, %eax + movl %eax, -4(%rbp) + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $8, %eax + jle .L38 + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $-1, (%rdx,%rax) + movl $2, 7984028+game_board(%rip) + jmp .L41 +.L38: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $1, %eax + je .L41 + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $1, (%rdx,%rax) + movl 7984024+game_board(%rip), %eax + addl $1, %eax + movl %eax, 7984024+game_board(%rip) + movl 7984024+game_board(%rip), %eax + cmpl -4(%rbp), %eax + jne .L40 + movl $1, 7984028+game_board(%rip) + jmp .L41 +.L40: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + testl %eax, %eax + jne .L41 + movl -24(%rbp), %edx + movl -20(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_discover_recursive +.L41: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE8: + .size game_discover, .-game_discover + .type game_discover_recursive, @function +game_discover_recursive: +.LFB9: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl -20(%rbp), %eax + subl $1, %eax + movl %eax, -4(%rbp) + jmp .L43 +.L47: + movl -24(%rbp), %eax + subl $1, %eax + movl %eax, -8(%rbp) + jmp .L44 +.L46: + cmpl $0, -4(%rbp) + js .L45 + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jle .L45 + cmpl $0, -8(%rbp) + js .L45 + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jle .L45 + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_discover +.L45: + addl $1, -8(%rbp) +.L44: + movl -24(%rbp), %eax + addl $2, %eax + cmpl -8(%rbp), %eax + jg .L46 + addl $1, -4(%rbp) +.L43: + movl -20(%rbp), %eax + addl $2, %eax + cmpl -4(%rbp), %eax + jg .L47 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE9: + .size game_discover_recursive, .-game_discover_recursive + .type game_big_step, @function +game_big_step: +.LFB10: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl -24(%rbp), %edx + movl -20(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_count_flags + movl %eax, -4(%rbp) + cmpl $0, -4(%rbp) + je .L50 + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl -4(%rbp), %eax + jne .L50 + movl -24(%rbp), %edx + movl -20(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_step_recursive +.L50: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE10: + .size game_big_step, .-game_big_step + .type game_count_flags, @function +game_count_flags: +.LFB11: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl $0, -4(%rbp) + movl -20(%rbp), %eax + subl $1, %eax + movl %eax, -8(%rbp) + jmp .L52 +.L56: + movl -24(%rbp), %eax + subl $1, %eax + movl %eax, -12(%rbp) + jmp .L53 +.L55: + cmpl $0, -8(%rbp) + js .L54 + movl game_board(%rip), %eax + cmpl -8(%rbp), %eax + jle .L54 + cmpl $0, -12(%rbp) + js .L54 + movl 4+game_board(%rip), %eax + cmpl -12(%rbp), %eax + jle .L54 + movl -12(%rbp), %eax + cltq + movl -8(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $2, %eax + jne .L54 + addl $1, -4(%rbp) +.L54: + addl $1, -12(%rbp) +.L53: + movl -24(%rbp), %eax + addl $2, %eax + cmpl -12(%rbp), %eax + jg .L55 + addl $1, -8(%rbp) +.L52: + movl -20(%rbp), %eax + addl $2, %eax + cmpl -8(%rbp), %eax + jg .L56 + movl -4(%rbp), %eax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE11: + .size game_count_flags, .-game_count_flags + .type game_step_recursive, @function +game_step_recursive: +.LFB12: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl -20(%rbp), %eax + subl $1, %eax + movl %eax, -4(%rbp) + jmp .L59 +.L64: + movl -24(%rbp), %eax + subl $1, %eax + movl %eax, -8(%rbp) + jmp .L60 +.L63: + cmpl $0, -4(%rbp) + js .L61 + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jle .L61 + cmpl $0, -8(%rbp) + js .L61 + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jle .L61 + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + testl %eax, %eax + je .L62 + cmpl $3, %eax + jne .L61 +.L62: + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_discover + nop +.L61: + addl $1, -8(%rbp) +.L60: + movl -24(%rbp), %eax + addl $2, %eax + cmpl -8(%rbp), %eax + jg .L63 + addl $1, -4(%rbp) +.L59: + movl -20(%rbp), %eax + addl $2, %eax + cmpl -4(%rbp), %eax + jg .L64 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE12: + .size game_step_recursive, .-game_step_recursive + .type game_flag, @function +game_flag: +.LFB13: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $1, %eax + je .L67 + cmpl $1, %eax + jg .L68 + testl %eax, %eax + je .L69 + jmp .L72 +.L68: + cmpl $2, %eax + je .L70 + cmpl $3, %eax + je .L71 + jmp .L72 +.L69: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $2, (%rdx,%rax) + movl 7984020+game_board(%rip), %eax + addl $1, %eax + movl %eax, 7984020+game_board(%rip) + jmp .L66 +.L70: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $3, (%rdx,%rax) + movl 7984020+game_board(%rip), %eax + subl $1, %eax + movl %eax, 7984020+game_board(%rip) + jmp .L66 +.L71: + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_rmflag + jmp .L66 +.L67: + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_all_flags + nop +.L66: +.L72: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE13: + .size game_flag, .-game_flag + .type game_possible, @function +game_possible: +.LFB14: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + testl %eax, %eax + je .L75 + cmpl $3, %eax + je .L76 + jmp .L77 +.L75: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $3, (%rdx,%rax) + jmp .L74 +.L76: + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_rmflag + nop +.L74: +.L77: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE14: + .size game_possible, .-game_possible + .type game_rmflag, @function +game_rmflag: +.LFB15: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $2, %eax + je .L80 + cmpl $3, %eax + je .L81 + jmp .L82 +.L80: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $0, (%rdx,%rax) + movl 7984020+game_board(%rip), %eax + subl $1, %eax + movl %eax, 7984020+game_board(%rip) + jmp .L79 +.L81: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $0, (%rdx,%rax) + nop +.L79: +.L82: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE15: + .size game_rmflag, .-game_rmflag + .type game_all_flags, @function +game_all_flags: +.LFB16: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl -24(%rbp), %edx + movl -20(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_count_nclear + movl %eax, -4(%rbp) + cmpl $0, -4(%rbp) + je .L85 + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl -4(%rbp), %eax + jne .L85 + movl -24(%rbp), %edx + movl -20(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_flag_recursive +.L85: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE16: + .size game_all_flags, .-game_all_flags + .type game_count_nclear, @function +game_count_nclear: +.LFB17: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl $0, -4(%rbp) + movl -20(%rbp), %eax + subl $1, %eax + movl %eax, -8(%rbp) + jmp .L87 +.L91: + movl -24(%rbp), %eax + subl $1, %eax + movl %eax, -12(%rbp) + jmp .L88 +.L90: + cmpl $0, -8(%rbp) + js .L89 + movl game_board(%rip), %eax + cmpl -8(%rbp), %eax + jle .L89 + cmpl $0, -12(%rbp) + js .L89 + movl 4+game_board(%rip), %eax + cmpl -12(%rbp), %eax + jle .L89 + movl -12(%rbp), %eax + cltq + movl -8(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $1, %eax + je .L89 + addl $1, -4(%rbp) +.L89: + addl $1, -12(%rbp) +.L88: + movl -24(%rbp), %eax + addl $2, %eax + cmpl -12(%rbp), %eax + jg .L90 + addl $1, -8(%rbp) +.L87: + movl -20(%rbp), %eax + addl $2, %eax + cmpl -8(%rbp), %eax + jg .L91 + movl -4(%rbp), %eax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE17: + .size game_count_nclear, .-game_count_nclear + .type game_flag_recursive, @function +game_flag_recursive: +.LFB18: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl -20(%rbp), %eax + subl $1, %eax + movl %eax, -4(%rbp) + jmp .L94 +.L99: + movl -24(%rbp), %eax + subl $1, %eax + movl %eax, -8(%rbp) + jmp .L95 +.L98: + cmpl $0, -4(%rbp) + js .L96 + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jle .L96 + cmpl $0, -8(%rbp) + js .L96 + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jle .L96 + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + testl %eax, %eax + je .L97 + cmpl $3, %eax + jne .L96 +.L97: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl $2, (%rdx,%rax) + movl 7984020+game_board(%rip), %eax + addl $1, %eax + movl %eax, 7984020+game_board(%rip) + nop +.L96: + addl $1, -8(%rbp) +.L95: + movl -24(%rbp), %eax + addl $2, %eax + cmpl -8(%rbp), %eax + jg .L98 + addl $1, -4(%rbp) +.L94: + movl -20(%rbp), %eax + addl $2, %eax + cmpl -4(%rbp), %eax + jg .L99 + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE18: + .size game_flag_recursive, .-game_flag_recursive + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/game/tmp/game_iface.s b/modules/game/tmp/game_iface.s new file mode 100644 index 0000000..e1aabc7 --- /dev/null +++ b/modules/game/tmp/game_iface.s @@ -0,0 +1,1218 @@ + .file "game_iface.c" + .local game_iface_out + .comm game_iface_out,7984032,32 + .local game_iface_in + .comm game_iface_in,3992008,32 + .local game_iface_score + .comm game_iface_score,12,8 + .local tim_ini + .comm tim_ini,8,8 + .text + .globl game_iface_init_rand + .type game_iface_init_rand, @function +game_iface_init_rand: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl %edx, -12(%rbp) + movl -12(%rbp), %edx + movl -8(%rbp), %eax + movl %eax, %esi + movl $1, %edi + call game_action@PLT + movl $0, 7984028+game_iface_out(%rip) + movl -4(%rbp), %eax + movl %eax, %edi + call game_iface_init_score + movl game_board(%rip), %eax + movl %eax, game_iface_out(%rip) + movl 4+game_board(%rip), %eax + movl %eax, 4+game_iface_out(%rip) + movl 8+game_board(%rip), %eax + movl %eax, 8+game_iface_out(%rip) + call game_iface_update_out + call game_iface_update_score + call game_iface_clean_in + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size game_iface_init_rand, .-game_iface_init_rand + .globl game_iface_init_load + .type game_iface_init_load, @function +game_iface_init_load: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call game_iface_init_cheated + movl game_board(%rip), %eax + movl %eax, game_iface_out(%rip) + movl 4+game_board(%rip), %eax + movl %eax, 4+game_iface_out(%rip) + movl 8+game_board(%rip), %eax + movl %eax, 8+game_iface_out(%rip) + call game_iface_update_out + call game_iface_clean_in + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size game_iface_init_load, .-game_iface_init_load + .globl game_iface + .type game_iface, @function +game_iface: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + jmp .L4 +.L5: + call game_iface_update_out + call game_iface_update_score + call game_iface_clean_in + leaq game_iface_in(%rip), %rdx + leaq game_iface_score(%rip), %rsi + leaq game_iface_out(%rip), %rdi + call player_iface@PLT + call game_iface_act +.L4: + movl 7984028+game_iface_out(%rip), %eax + cmpl $6, %eax + jne .L5 + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size game_iface, .-game_iface + .type game_iface_init_score, @function +game_iface_init_score: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movl -4(%rbp), %eax + movl %eax, game_iface_score(%rip) + movl $0, %edi + call time@PLT + movq %rax, tim_ini(%rip) + movl $1, 8+game_iface_score(%rip) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size game_iface_init_score, .-game_iface_init_score + .type game_iface_init_cheated, @function +game_iface_init_cheated: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $4, 7984028+game_iface_out(%rip) + movl $4, game_iface_score(%rip) + movl $-1, 4+game_iface_score(%rip) + movl $-1, 8+game_iface_score(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size game_iface_init_cheated, .-game_iface_init_cheated + .type game_iface_act, @function +game_iface_act: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl 7984028+game_iface_out(%rip), %eax + cmpl $5, %eax + ja .L17 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L11(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L11(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L11: + .long .L10-.L11 + .long .L12-.L11 + .long .L13-.L11 + .long .L14-.L11 + .long .L15-.L11 + .long .L16-.L11 + .text +.L10: + call game_iface_playing_act + jmp .L9 +.L15: + call game_iface_cheated_act + jmp .L9 +.L16: + call game_iface_xyzzy_act + jmp .L9 +.L14: + call game_iface_pause_act + jmp .L9 +.L12: + call game_iface_safe_act + jmp .L9 +.L13: + call game_iface_gameover_act + nop +.L9: +.L17: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size game_iface_act, .-game_iface_act + .type game_iface_playing_act, @function +game_iface_playing_act: +.LFB6: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl game_iface_in(%rip), %eax + cmpl $9, %eax + ja .L26 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L21(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L21(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L21: + .long .L26-.L21 + .long .L20-.L21 + .long .L22-.L21 + .long .L23-.L21 + .long .L24-.L21 + .long .L26-.L21 + .long .L26-.L21 + .long .L26-.L21 + .long .L26-.L21 + .long .L25-.L21 + .text +.L20: + call game_iface_act_game + jmp .L19 +.L22: + call game_iface_pause + jmp .L19 +.L24: + call game_iface_xyzzy_on + jmp .L19 +.L23: + leaq saved_path(%rip), %rdi + call save_game_file@PLT + jmp .L19 +.L25: + call game_iface_quit + nop +.L19: +.L26: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE6: + .size game_iface_playing_act, .-game_iface_playing_act + .type game_iface_xyzzy_act, @function +game_iface_xyzzy_act: +.LFB7: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + call xyzzy_init@PLT + movb $1, -1(%rbp) + jmp .L28 +.L37: + movl game_iface_in(%rip), %eax + cmpl $9, %eax + ja .L29 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L31(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L31(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L31: + .long .L29-.L31 + .long .L30-.L31 + .long .L29-.L31 + .long .L32-.L31 + .long .L29-.L31 + .long .L33-.L31 + .long .L34-.L31 + .long .L35-.L31 + .long .L29-.L31 + .long .L36-.L31 + .text +.L30: + call game_iface_act_game + movb $0, -1(%rbp) + jmp .L28 +.L33: + call game_iface_xyzzy_off + movb $0, -1(%rbp) + jmp .L28 +.L34: + leaq game_iface_in(%rip), %rsi + leaq game_iface_out(%rip), %rdi + call xyzzy_lin@PLT + testl %eax, %eax + setne %al + movb %al, -1(%rbp) + call game_iface_act_game + jmp .L28 +.L35: + leaq game_iface_in(%rip), %rsi + leaq game_iface_out(%rip), %rdi + call xyzzy_p@PLT + testl %eax, %eax + setne %al + movb %al, -1(%rbp) + call game_iface_act_game + call game_iface_update_out + jmp .L28 +.L32: + leaq saved_path(%rip), %rdi + call save_game_file@PLT + movb $0, -1(%rbp) + jmp .L28 +.L36: + call game_iface_quit + movb $0, -1(%rbp) + jmp .L28 +.L29: + movb $0, -1(%rbp) + nop +.L28: + cmpb $0, -1(%rbp) + jne .L37 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE7: + .size game_iface_xyzzy_act, .-game_iface_xyzzy_act + .type game_iface_cheated_act, @function +game_iface_cheated_act: +.LFB8: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl game_iface_in(%rip), %eax + cmpl $3, %eax + je .L40 + cmpl $3, %eax + jg .L41 + cmpl $1, %eax + je .L42 + jmp .L45 +.L41: + cmpl $4, %eax + je .L43 + cmpl $9, %eax + je .L44 + jmp .L45 +.L42: + call game_iface_act_game + jmp .L39 +.L43: + call game_iface_xyzzy_on + jmp .L39 +.L40: + leaq saved_path(%rip), %rdi + call save_game_file@PLT + jmp .L39 +.L44: + call game_iface_quit + nop +.L39: +.L45: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE8: + .size game_iface_cheated_act, .-game_iface_cheated_act + .type game_iface_pause_act, @function +game_iface_pause_act: +.LFB9: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl game_iface_in(%rip), %eax + cmpl $3, %eax + je .L48 + cmpl $3, %eax + jg .L49 + cmpl $2, %eax + je .L50 + jmp .L53 +.L49: + cmpl $4, %eax + je .L51 + cmpl $9, %eax + je .L52 + jmp .L53 +.L50: + call game_iface_unpause + jmp .L47 +.L51: + call game_iface_xyzzy_on + jmp .L47 +.L48: + leaq saved_path(%rip), %rdi + call save_game_file@PLT + jmp .L47 +.L52: + call game_iface_quit + nop +.L47: +.L53: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE9: + .size game_iface_pause_act, .-game_iface_pause_act + .type game_iface_safe_act, @function +game_iface_safe_act: +.LFB10: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl game_iface_in(%rip), %eax + cmpl $3, %eax + je .L56 + cmpl $9, %eax + je .L57 + jmp .L58 +.L56: + call game_iface_save_score + call game_iface_quit + jmp .L55 +.L57: + call game_iface_quit + nop +.L55: +.L58: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE10: + .size game_iface_safe_act, .-game_iface_safe_act + .type game_iface_gameover_act, @function +game_iface_gameover_act: +.LFB11: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl game_iface_in(%rip), %eax + cmpl $9, %eax + je .L61 + jmp .L62 +.L61: + call game_iface_quit + nop +.L62: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE11: + .size game_iface_gameover_act, .-game_iface_gameover_act + .type game_iface_act_game, @function +game_iface_act_game: +.LFB12: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, -4(%rbp) + jmp .L64 +.L68: + movl $0, -8(%rbp) + jmp .L65 +.L67: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 4+game_iface_in(%rip), %rax + movl (%rdx,%rax), %eax + testl %eax, %eax + je .L66 + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 4+game_iface_in(%rip), %rax + movl (%rdx,%rax), %eax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movl %eax, %edi + call game_action@PLT + movl 8+game_iface_score(%rip), %eax + addl $1, %eax + movl %eax, 8+game_iface_score(%rip) +.L66: + addl $1, -8(%rbp) +.L65: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L67 + addl $1, -4(%rbp) +.L64: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L68 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE12: + .size game_iface_act_game, .-game_iface_act_game + .type game_iface_pause, @function +game_iface_pause: +.LFB13: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, %edi + call time@PLT + movq %rax, -8(%rbp) + movq -8(%rbp), %rax + movl %eax, %edx + movq tim_ini(%rip), %rax + subl %eax, %edx + movl %edx, %eax + movl %eax, 4+game_iface_score(%rip) + movl $3, 7984028+game_iface_out(%rip) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE13: + .size game_iface_pause, .-game_iface_pause + .type game_iface_unpause, @function +game_iface_unpause: +.LFB14: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, %edi + call time@PLT + movq %rax, -8(%rbp) + movl 4+game_iface_score(%rip), %eax + cltq + movq -8(%rbp), %rdx + subq %rax, %rdx + movq %rdx, %rax + movq %rax, tim_ini(%rip) + movl $0, 7984028+game_iface_out(%rip) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE14: + .size game_iface_unpause, .-game_iface_unpause + .type game_iface_xyzzy_on, @function +game_iface_xyzzy_on: +.LFB15: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $5, 7984028+game_iface_out(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE15: + .size game_iface_xyzzy_on, .-game_iface_xyzzy_on + .type game_iface_xyzzy_off, @function +game_iface_xyzzy_off: +.LFB16: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $4, 7984028+game_iface_out(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE16: + .size game_iface_xyzzy_off, .-game_iface_xyzzy_off + .type game_iface_save_score, @function +game_iface_save_score: +.LFB17: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl game_iface_score(%rip), %eax + cmpl $1, %eax + je .L75 + cmpl $1, %eax + jg .L76 + testl %eax, %eax + je .L77 + jmp .L80 +.L76: + cmpl $2, %eax + je .L78 + cmpl $4, %eax + je .L79 + jmp .L80 +.L77: + leaq var_boards_beginner_path(%rip), %rdi + call save_game_file@PLT + leaq game_iface_score(%rip), %rdi + call save_score@PLT + jmp .L74 +.L75: + leaq var_boards_intermediate_path(%rip), %rdi + call save_game_file@PLT + leaq game_iface_score(%rip), %rdi + call save_score@PLT + jmp .L74 +.L78: + leaq var_boards_expert_path(%rip), %rdi + call save_game_file@PLT + leaq game_iface_score(%rip), %rdi + call save_score@PLT + jmp .L74 +.L79: + leaq var_boards_custom_path(%rip), %rdi + call save_game_file@PLT + nop +.L74: +.L80: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE17: + .size game_iface_save_score, .-game_iface_save_score + .type game_iface_quit, @function +game_iface_quit: +.LFB18: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $6, 7984028+game_iface_out(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE18: + .size game_iface_quit, .-game_iface_quit + .type game_iface_update_out, @function +game_iface_update_out: +.LFB19: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl 7984020+game_board(%rip), %eax + movl %eax, 7984020+game_iface_out(%rip) + movl 7984024+game_board(%rip), %eax + movl %eax, 7984024+game_iface_out(%rip) + movl 7984028+game_board(%rip), %eax + cmpl $1, %eax + je .L84 + cmpl $2, %eax + je .L85 + jmp .L83 +.L84: + movl $1, 7984028+game_iface_out(%rip) + jmp .L83 +.L85: + movl $2, 7984028+game_iface_out(%rip) + nop +.L83: + call game_iface_update_board + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE19: + .size game_iface_update_out, .-game_iface_update_out + .type game_iface_update_board, @function +game_iface_update_board: +.LFB20: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, -4(%rbp) + jmp .L87 +.L90: + movl $0, -8(%rbp) + jmp .L88 +.L89: + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_iface_update_vis + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call game_iface_update_usr + addl $1, -8(%rbp) +.L88: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L89 + addl $1, -4(%rbp) +.L87: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L90 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE20: + .size game_iface_update_board, .-game_iface_update_board + .type game_iface_update_vis, @function +game_iface_update_vis: +.LFB21: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl 7984028+game_iface_out(%rip), %eax + cmpl $5, %eax + ja .L92 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L94(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L94(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L94: + .long .L93-.L94 + .long .L95-.L94 + .long .L96-.L94 + .long .L92-.L94 + .long .L93-.L94 + .long .L93-.L94 + .text +.L93: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $1, %eax + je .L98 + cmpl $1, %eax + jg .L99 + testl %eax, %eax + je .L100 + jmp .L103 +.L99: + cmpl $2, %eax + je .L101 + cmpl $3, %eax + je .L102 + jmp .L103 +.L100: + movl $1, -4(%rbp) + jmp .L97 +.L98: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + addl $5, %eax + movl %eax, -4(%rbp) + jmp .L97 +.L101: + movl $14, -4(%rbp) + jmp .L97 +.L102: + movl $16, -4(%rbp) + nop +.L97: + jmp .L103 +.L95: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $1, %eax + je .L105 + cmpl $1, %eax + jg .L106 + testl %eax, %eax + je .L107 + jmp .L103 +.L106: + cmpl $2, %eax + je .L108 + cmpl $3, %eax + je .L109 + jmp .L103 +.L107: + movl $4, -4(%rbp) + jmp .L104 +.L105: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + addl $5, %eax + movl %eax, -4(%rbp) + jmp .L104 +.L108: + movl $14, -4(%rbp) + jmp .L104 +.L109: + movl $16, -4(%rbp) + nop +.L104: + jmp .L103 +.L96: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + addl $1, %eax + cmpl $4, %eax + ja .L123 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L112(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L112(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L112: + .long .L111-.L112 + .long .L113-.L112 + .long .L114-.L112 + .long .L115-.L112 + .long .L116-.L112 + .text +.L111: + movl $0, -4(%rbp) + jmp .L110 +.L113: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $8, %eax + jle .L117 + movl $2, -4(%rbp) + jmp .L110 +.L117: + movl $3, -4(%rbp) + jmp .L110 +.L114: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + addl $5, %eax + movl %eax, -4(%rbp) + jmp .L110 +.L115: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $8, %eax + jle .L119 + movl $14, -4(%rbp) + jmp .L110 +.L119: + movl $15, -4(%rbp) + jmp .L110 +.L116: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %eax + cmpl $8, %eax + jle .L121 + movl $16, -4(%rbp) + jmp .L124 +.L121: + movl $17, -4(%rbp) +.L124: + nop +.L110: + jmp .L123 +.L92: + movl $1, -4(%rbp) + jmp .L103 +.L123: + nop +.L103: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rcx + leaq 12+game_iface_out(%rip), %rax + movl -4(%rbp), %edx + movl %edx, (%rcx,%rax) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE21: + .size game_iface_update_vis, .-game_iface_update_vis + .type game_iface_update_usr, @function +game_iface_update_usr: +.LFB22: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %eax + addl $1, %eax + cmpl $4, %eax + ja .L126 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L128(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L128(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L128: + .long .L127-.L128 + .long .L129-.L128 + .long .L130-.L128 + .long .L131-.L128 + .long .L132-.L128 + .text +.L127: + movl $-1, -4(%rbp) + jmp .L126 +.L129: + movl $0, -4(%rbp) + jmp .L126 +.L130: + movl $1, -4(%rbp) + jmp .L126 +.L131: + movl $14, -4(%rbp) + jmp .L126 +.L132: + movl $16, -4(%rbp) + nop +.L126: + movl -24(%rbp), %eax + cltq + movl -20(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rcx + leaq game_iface_out(%rip), %rax + movl -4(%rbp), %edx + movl %edx, (%rcx,%rax) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE22: + .size game_iface_update_usr, .-game_iface_update_usr + .type game_iface_update_score, @function +game_iface_update_score: +.LFB23: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl 7984028+game_iface_out(%rip), %eax + testl %eax, %eax + je .L135 + testl %eax, %eax + js .L138 + subl $4, %eax + cmpl $1, %eax + ja .L138 + jmp .L137 +.L135: + movl $0, %edi + call time@PLT + movq %rax, -8(%rbp) + movq -8(%rbp), %rax + movl %eax, %edx + movq tim_ini(%rip), %rax + subl %eax, %edx + movl %edx, %eax + movl %eax, 4+game_iface_score(%rip) + jmp .L134 +.L137: + movl $4, game_iface_score(%rip) + movl $-1, 4+game_iface_score(%rip) + movl $-1, 8+game_iface_score(%rip) + nop +.L134: +.L138: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE23: + .size game_iface_update_score, .-game_iface_update_score + .type game_iface_clean_in, @function +game_iface_clean_in: +.LFB24: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $0, -4(%rbp) + jmp .L140 +.L143: + movl $0, -8(%rbp) + jmp .L141 +.L142: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 4+game_iface_in(%rip), %rax + movl $0, (%rdx,%rax) + addl $1, -8(%rbp) +.L141: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L142 + addl $1, -4(%rbp) +.L140: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L143 + movl $0, game_iface_in(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE24: + .size game_iface_clean_in, .-game_iface_clean_in + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/menu/Makefile b/modules/menu/Makefile index 981afeb..48ed965 100644 --- a/modules/menu/Makefile +++ b/modules/menu/Makefile @@ -4,16 +4,16 @@ # directories -OBJ_DIR = $(MENU_DIR)/obj/ +TMP_DIR = $(MENU_DIR)/tmp/ # target: dependencies # action all: - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. ################################################################################ ######## End of file ########################################################### diff --git a/modules/menu/obj/Makefile b/modules/menu/tmp/Makefile index be8ede5..cdff0ea 100644 --- a/modules/menu/obj/Makefile +++ b/modules/menu/tmp/Makefile @@ -122,30 +122,45 @@ all: $(ALL) menu_mod.o: $(_ALL) $(Q)$(LD) -r $^ -o $@ - @echo "\tLD $@" + @echo " LD $@" @echo "" -parser.o: $(PARS_DEPS) - $(Q)$(CC) $(CFLAGS) $(PARS_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -menu_iface.o: $(MENUI_DEPS) - $(Q)$(CC) $(CFLAGS) $(MENUI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -menu_clui.o: $(MENUCLUI_DEPS) - $(Q)$(CC) $(CFLAGS) $(MENUCLUI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -menu_tui.o: $(MENUTUI_DEPS) - $(Q)$(CC) $(CFLAGS) $(MENUTUI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -menu_gui.o: $(MENUGUI_DEPS) - $(Q)$(CC) $(CFLAGS) $(MENUGUI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +parser.s: $(PARS_DEPS) + $(Q)$(CC) $(CFLAGS) $(PARS_INC_DIRS) -S $< -o $@ + @echo " CC $@" +parser.o: parser.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +menu_iface.s: $(MENUI_DEPS) + $(Q)$(CC) $(CFLAGS) $(MENUI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +menu_iface.o: menu_iface.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +menu_clui.s: $(MENUCLUI_DEPS) + $(Q)$(CC) $(CFLAGS) $(MENUCLUI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +menu_clui.o: menu_clui.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +menu_tui.s: $(MENUTUI_DEPS) + $(Q)$(CC) $(CFLAGS) $(MENUTUI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +menu_tui.o: menu_tui.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +menu_gui.s: $(MENUGUI_DEPS) + $(Q)$(CC) $(CFLAGS) $(MENUGUI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +menu_gui.o: menu_gui.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" clean: - $(Q)rm -f *.o + $(Q)rm -f *.o *.s diff --git a/modules/menu/tmp/menu_clui.s b/modules/menu/tmp/menu_clui.s new file mode 100644 index 0000000..0ccaf45 --- /dev/null +++ b/modules/menu/tmp/menu_clui.s @@ -0,0 +1,453 @@ + .file "menu_clui.c" + .section .rodata + .align 8 +.LC0: + .string "Read 'Disclaimer of warranty'? (yes/NO): " +.LC1: + .string " %c" +.LC2: + .string " >yes" +.LC3: + .string " >NO" +.LC4: + .string "Read 'License'? (yes/NO): " + .align 8 +.LC5: + .string "New game or load game? (NEW/load): " +.LC6: + .string " >load" +.LC7: + .string " >NEW" + .text + .globl menu_clui + .type menu_clui, @function +menu_clui: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1040, %rsp + movb $110, -1025(%rbp) + leaq .LC0(%rip), %rdi + movl $0, %eax + call printf@PLT + movq stdin(%rip), %rdx + leaq -1024(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + leaq -1025(%rbp), %rdx + leaq -1024(%rbp), %rax + leaq .LC1(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1025(%rbp), %eax + cmpb $121, %al + je .L2 + movzbl -1025(%rbp), %eax + cmpb $89, %al + jne .L3 +.L2: + leaq .LC2(%rip), %rdi + call puts@PLT + movl $1, %edi + call print_share_file@PLT + jmp .L4 +.L3: + leaq .LC3(%rip), %rdi + call puts@PLT +.L4: + movb $110, -1025(%rbp) + leaq .LC4(%rip), %rdi + movl $0, %eax + call printf@PLT + movq stdin(%rip), %rdx + leaq -1024(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + leaq -1025(%rbp), %rdx + leaq -1024(%rbp), %rax + leaq .LC1(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1025(%rbp), %eax + cmpb $121, %al + je .L5 + movzbl -1025(%rbp), %eax + cmpb $89, %al + jne .L6 +.L5: + leaq .LC2(%rip), %rdi + call puts@PLT + movl $3, %edi + call print_share_file@PLT + jmp .L7 +.L6: + leaq .LC3(%rip), %rdi + call puts@PLT +.L7: + movb $110, -1025(%rbp) + leaq .LC5(%rip), %rdi + movl $0, %eax + call printf@PLT + movq stdin(%rip), %rdx + leaq -1024(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + leaq -1025(%rbp), %rdx + leaq -1024(%rbp), %rax + leaq .LC1(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1025(%rbp), %eax + cmpb $108, %al + je .L8 + movzbl -1025(%rbp), %eax + cmpb $76, %al + jne .L9 +.L8: + leaq .LC6(%rip), %rdi + call puts@PLT + call menu_clui_load + jmp .L10 +.L9: + leaq .LC7(%rip), %rdi + call puts@PLT + call menu_clui_rand +.L10: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size menu_clui, .-menu_clui + .section .rodata + .align 8 +.LC8: + .string "Set seed for random generator? (yes/NO): " +.LC9: + .string "Seed:" + .align 8 +.LC12: + .string "Level? (BEGINNER/intermediate/(expert)/custom): " +.LC13: + .string " >intermediate" +.LC14: + .string " >expert" +.LC15: + .string " >custom" +.LC16: + .string " >BEGINNER" + .text + .type menu_clui_rand, @function +menu_clui_rand: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1072, %rsp + movl $1, start_mode(%rip) + movb $110, -1041(%rbp) + leaq .LC8(%rip), %rdi + movl $0, %eax + call printf@PLT + movq stdin(%rip), %rdx + leaq -1040(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC1(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + cmpb $121, %al + je .L12 + movzbl -1041(%rbp), %eax + cmpb $89, %al + jne .L13 +.L12: + leaq .LC2(%rip), %rdi + call puts@PLT + movsd .LC10(%rip), %xmm0 + movq .LC11(%rip), %rax + movl $0, %edx + leaq .LC9(%rip), %rsi + movapd %xmm0, %xmm1 + movl $1, %edi + movq %rax, -1064(%rbp) + movsd -1064(%rbp), %xmm0 + movl $2, %eax + call alx_getint@PLT + movl %eax, -4(%rbp) + movl -4(%rbp), %eax + movl %eax, %edi + call srand@PLT + jmp .L14 +.L13: + leaq .LC3(%rip), %rdi + call puts@PLT +.L14: + movb $98, -1041(%rbp) + leaq .LC12(%rip), %rdi + movl $0, %eax + call printf@PLT + movq stdin(%rip), %rdx + leaq -1040(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC1(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + cmpb $105, %al + je .L15 + movzbl -1041(%rbp), %eax + cmpb $73, %al + jne .L16 +.L15: + leaq .LC13(%rip), %rdi + call puts@PLT + movl $1, menu_iface_variables(%rip) + call menu_clui_start + jmp .L17 +.L16: + movzbl -1041(%rbp), %eax + cmpb $101, %al + je .L18 + movzbl -1041(%rbp), %eax + cmpb $69, %al + jne .L19 +.L18: + leaq .LC14(%rip), %rdi + call puts@PLT + movl $3, menu_iface_variables(%rip) + call menu_clui_start + jmp .L17 +.L19: + movzbl -1041(%rbp), %eax + cmpb $99, %al + je .L20 + movzbl -1041(%rbp), %eax + cmpb $67, %al + jne .L21 +.L20: + leaq .LC15(%rip), %rdi + call puts@PLT + movl $4, menu_iface_variables(%rip) + call menu_clui_custom + jmp .L17 +.L21: + leaq .LC16(%rip), %rdi + call puts@PLT + movl $0, menu_iface_variables(%rip) + call menu_clui_start +.L17: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size menu_clui_rand, .-menu_clui_rand + .section .rodata +.LC17: + .string "Rows:" +.LC20: + .string "Columns:" +.LC22: + .string "Proportion:" + .text + .type menu_clui_custom, @function +menu_clui_custom: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $1, start_mode(%rip) + movl 4+menu_iface_variables(%rip), %eax + movslq %eax, %rcx + movsd .LC18(%rip), %xmm0 + movq .LC19(%rip), %rax + movl $0, %edx + leaq .LC17(%rip), %rsi + movapd %xmm0, %xmm1 + movq %rcx, %rdi + movq %rax, -8(%rbp) + movsd -8(%rbp), %xmm0 + movl $2, %eax + call alx_getint@PLT + movl %eax, 4+menu_iface_variables(%rip) + movl 8+menu_iface_variables(%rip), %eax + movslq %eax, %rcx + movsd .LC21(%rip), %xmm0 + movq .LC19(%rip), %rax + movl $0, %edx + leaq .LC20(%rip), %rsi + movapd %xmm0, %xmm1 + movq %rcx, %rdi + movq %rax, -8(%rbp) + movsd -8(%rbp), %xmm0 + movl $2, %eax + call alx_getint@PLT + movl %eax, 8+menu_iface_variables(%rip) + movsd 16+menu_iface_variables(%rip), %xmm0 + movl $0, %esi + leaq .LC22(%rip), %rdi + movsd .LC23(%rip), %xmm2 + movapd %xmm0, %xmm1 + pxor %xmm0, %xmm0 + movl $3, %eax + call alx_getdbl@PLT + movq %xmm0, %rax + movq %rax, 16+menu_iface_variables(%rip) + call menu_clui_start + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size menu_clui_custom, .-menu_clui_custom + .type menu_clui_load, @function +menu_clui_load: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $2, start_mode(%rip) + call menu_clui_start + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size menu_clui_load, .-menu_clui_load + .section .rodata +.LC25: + .string " >>START:" + .align 8 +.LC26: + .string "Play again? (MENU/play/exit): " +.LC27: + .string " >play" +.LC28: + .string " >exit!" +.LC29: + .string " >MENU" + .text + .type menu_clui_start, @function +menu_clui_start: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1040, %rsp + leaq .LC25(%rip), %rdi + call puts@PLT + call start_switch@PLT + movb $109, -1025(%rbp) + leaq .LC26(%rip), %rdi + movl $0, %eax + call printf@PLT + movq stdin(%rip), %rdx + leaq -1024(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + leaq -1025(%rbp), %rdx + leaq -1024(%rbp), %rax + leaq .LC1(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1025(%rbp), %eax + cmpb $112, %al + je .L25 + movzbl -1025(%rbp), %eax + cmpb $80, %al + jne .L26 +.L25: + leaq .LC27(%rip), %rdi + call puts@PLT + call menu_clui_start + jmp .L27 +.L26: + movzbl -1025(%rbp), %eax + cmpb $101, %al + je .L28 + movzbl -1025(%rbp), %eax + cmpb $69, %al + jne .L29 +.L28: + leaq .LC28(%rip), %rdi + call puts@PLT + jmp .L27 +.L29: + leaq .LC29(%rip), %rdi + call puts@PLT + call menu_clui +.L27: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size menu_clui_start, .-menu_clui_start + .section .rodata + .align 8 +.LC10: + .long 0 + .long 2146435072 + .align 8 +.LC11: + .long 0 + .long -1048576 + .align 8 +.LC18: + .long 0 + .long 1079558144 + .align 8 +.LC19: + .long 0 + .long 1073741824 + .align 8 +.LC21: + .long 0 + .long 1077542912 + .align 8 +.LC23: + .long 0 + .long 1072693248 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/menu/tmp/menu_gui.s b/modules/menu/tmp/menu_gui.s new file mode 100644 index 0000000..2583c37 --- /dev/null +++ b/modules/menu/tmp/menu_gui.s @@ -0,0 +1,2823 @@ + .file "menu_gui.c" + .comm window_gui,8,8 + .local box + .comm box,8,8 + .section .rodata +.LC0: + .string "delete-event" +.LC1: + .string "destroy" +.LC2: + .string "4~b1" +.LC3: + .string "mine-sweeper %s" + .text + .globl menu_gui_init + .type menu_gui_init, @function +menu_gui_init: +.LFB206: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $80, %rsp + movl $0, %edi + call gtk_window_new@PLT + movq %rax, window_gui(%rip) + movq window_gui(%rip), %rax + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + leaq delete_window(%rip), %rdx + leaq .LC0(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq window_gui(%rip), %rax + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + leaq destroy_window(%rip), %rdx + leaq .LC1(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + leaq -80(%rbp), %rax + leaq .LC2(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $80, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + call gtk_window_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdx + leaq -80(%rbp), %rax + movq %rax, %rsi + movq %rdx, %rdi + call gtk_window_set_title@PLT + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $20, %esi + movq %rax, %rdi + call gtk_container_set_border_width@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE206: + .size menu_gui_init, .-menu_gui_init + .globl menu_gui_cleanup + .type menu_gui_cleanup, @function +menu_gui_cleanup: +.LFB207: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE207: + .size menu_gui_cleanup, .-menu_gui_cleanup + .section .rodata +.LC4: + .string "clicked" + .text + .globl menu_gui + .type menu_gui, @function +menu_gui: +.LFB208: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $552, %rsp + .cfi_offset 3, -24 + leaq -144(%rbp), %rax + addq $8, %rax + movabsq $7954884302878630221, %rcx + movq %rcx, (%rax) + movw $117, 8(%rax) + leaq -560(%rbp), %rax + addq $112, %rax + movabsq $7957652872868487003, %rcx + movq %rcx, (%rax) + movl $1970170228, 8(%rax) + movw $101, 12(%rax) + leaq -560(%rbp), %rax + addq $216, %rax + movabsq $8316253092709556059, %rcx + movq %rcx, (%rax) + movabsq $2338042677152541795, %rcx + movq %rcx, 8(%rax) + movabsq $7021800531960030831, %rbx + movq %rbx, 16(%rax) + movl $7959662, 24(%rax) + leaq -560(%rbp), %rax + addq $320, %rax + movabsq $8243087190950895451, %rcx + movq %rcx, (%rax) + movabsq $7142819434248303469, %rbx + movq %rbx, 8(%rax) + movabsq $7957695015292268143, %rcx + movq %rcx, 16(%rax) + movw $115, 24(%rax) + leaq -560(%rbp), %rax + addq $8, %rax + movabsq $7599900376492433243, %rbx + movq %rbx, (%rax) + movabsq $7021788497383006324, %rsi + movq %rsi, 8(%rax) + movw $109, 16(%rax) + movl $1, -368(%rbp) + movl $2, -264(%rbp) + movl $3, -160(%rbp) + movl $0, -472(%rbp) + leaq -24(%rbp), %rax + movq %rax, -360(%rbp) + leaq -24(%rbp), %rax + movq %rax, -256(%rbp) + leaq -24(%rbp), %rax + movq %rax, -152(%rbp) + leaq -24(%rbp), %rax + movq %rax, -464(%rbp) + movb $1, -17(%rbp) + jmp .L4 +.L10: + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -144(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -144(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -560(%rbp), %rax + addq $112, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -456(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -560(%rbp), %rax + addq $216, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -352(%rbp) + leaq -560(%rbp), %rax + addq $320, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -248(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -32(%rbp) + leaq -560(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -560(%rbp) + movq -456(%rbp), %rax + leaq -560(%rbp), %rdx + addq $104, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -352(%rbp), %rax + leaq -560(%rbp), %rdx + addq $208, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -248(%rbp), %rax + leaq -560(%rbp), %rdx + addq $312, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -560(%rbp), %rax + leaq -560(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -144(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -456(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -352(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -248(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -32(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -560(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + movl $-1, -24(%rbp) + call gtk_main@PLT + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + movl -24(%rbp), %eax + cmpl $1, %eax + je .L5 + cmpl $1, %eax + jg .L6 + testl %eax, %eax + je .L7 + jmp .L4 +.L6: + cmpl $2, %eax + je .L8 + cmpl $3, %eax + je .L9 + jmp .L4 +.L7: + movb $0, -17(%rbp) + jmp .L4 +.L5: + call menu_gui_continue + jmp .L4 +.L8: + call menu_gui_disclaim + jmp .L4 +.L9: + call menu_gui_license + nop +.L4: + cmpb $0, -17(%rbp) + jne .L10 + nop + addq $552, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE208: + .size menu_gui, .-menu_gui + .type delete_window, @function +delete_window: +.LFB209: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + call gtk_main_quit@PLT + movl $0, %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE209: + .size delete_window, .-delete_window + .type destroy_window, @function +destroy_window: +.LFB210: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movl $0, %edi + call exit@PLT + .cfi_endproc +.LFE210: + .size destroy_window, .-destroy_window + .type callback_button, @function +callback_button: +.LFB211: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq -32(%rbp), %rax + movq %rax, -8(%rbp) + movq -8(%rbp), %rax + movq 96(%rax), %rax + movq -8(%rbp), %rdx + movl 88(%rdx), %edx + movl %edx, (%rax) + call gtk_main_quit@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE211: + .size callback_button, .-callback_button + .section .rodata +.LC5: + .string "Error %i" + .text + .type callback_entry_dbl, @function +callback_entry_dbl: +.LFB212: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $152, %rsp + .cfi_offset 3, -24 + movq %rdi, -136(%rbp) + movq %rsi, -144(%rbp) + movq -144(%rbp), %rax + movq %rax, -24(%rbp) + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + call gtk_entry_get_text@PLT + movq %rax, -32(%rbp) + movq -24(%rbp), %rax + movsd 120(%rax), %xmm1 + movq -24(%rbp), %rax + movsd 112(%rax), %xmm0 + movq -24(%rbp), %rax + movq 104(%rax), %rdx + movq -24(%rbp), %rax + movq 96(%rax), %rax + movq -32(%rbp), %rcx + movq %rcx, %rsi + movapd %xmm1, %xmm2 + movapd %xmm0, %xmm1 + movq %rdx, -152(%rbp) + movsd -152(%rbp), %xmm0 + movq %rax, %rdi + call alx_sscan_dbl@PLT + movl %eax, -36(%rbp) + cmpl $0, -36(%rbp) + je .L16 + movl -36(%rbp), %edx + leaq -128(%rbp), %rax + movl %edx, %ecx + leaq .LC5(%rip), %rdx + movl $80, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdx + leaq -128(%rbp), %rax + movq %rax, %rsi + movq %rdx, %rdi + call gtk_entry_set_text@PLT + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movzwl 106(%rax), %eax + movzwl %ax, %ebx + call gtk_editable_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl %ebx, %edx + movl $0, %esi + movq %rax, %rdi + call gtk_editable_select_region@PLT +.L16: + call gtk_main_quit@PLT + nop + addq $152, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE212: + .size callback_entry_dbl, .-callback_entry_dbl + .type callback_entry_int, @function +callback_entry_int: +.LFB213: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $152, %rsp + .cfi_offset 3, -24 + movq %rdi, -136(%rbp) + movq %rsi, -144(%rbp) + movq -144(%rbp), %rax + movq %rax, -24(%rbp) + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + call gtk_entry_get_text@PLT + movq %rax, -32(%rbp) + movq -24(%rbp), %rax + movsd 120(%rax), %xmm0 + movq -24(%rbp), %rax + movq 112(%rax), %rsi + movq -24(%rbp), %rax + movq 104(%rax), %rcx + movq -32(%rbp), %rdx + leaq -48(%rbp), %rax + movapd %xmm0, %xmm1 + movq %rcx, -152(%rbp) + movsd -152(%rbp), %xmm0 + movq %rax, %rdi + call alx_sscan_int@PLT + movl %eax, -36(%rbp) + cmpl $0, -36(%rbp) + je .L18 + movl -36(%rbp), %edx + leaq -128(%rbp), %rax + movl %edx, %ecx + leaq .LC5(%rip), %rdx + movl $80, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdx + leaq -128(%rbp), %rax + movq %rax, %rsi + movq %rdx, %rdi + call gtk_entry_set_text@PLT + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movzwl 106(%rax), %eax + movzwl %ax, %ebx + call gtk_editable_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl %ebx, %edx + movl $0, %esi + movq %rax, %rdi + call gtk_editable_select_region@PLT + jmp .L19 +.L18: + movq -24(%rbp), %rax + movq 96(%rax), %rax + movq -48(%rbp), %rdx + movl %edx, (%rax) +.L19: + call gtk_main_quit@PLT + nop + addq $152, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE213: + .size callback_entry_int, .-callback_entry_int + .type callback_entry_fname, @function +callback_entry_fname: +.LFB214: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $136, %rsp + .cfi_offset 3, -24 + movq %rdi, -136(%rbp) + movq %rsi, -144(%rbp) + movq -144(%rbp), %rax + movq %rax, -24(%rbp) + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + call gtk_entry_get_text@PLT + movq %rax, -32(%rbp) + movq -24(%rbp), %rax + movq 104(%rax), %rsi + movq -24(%rbp), %rax + movq 96(%rax), %rax + movq -32(%rbp), %rdx + movq %rdx, %rcx + movl $1, %edx + movq %rax, %rdi + call alx_sscan_fname@PLT + movl %eax, -36(%rbp) + cmpl $0, -36(%rbp) + je .L21 + movl -36(%rbp), %edx + leaq -128(%rbp), %rax + movl %edx, %ecx + leaq .LC5(%rip), %rdx + movl $80, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdx + leaq -128(%rbp), %rax + movq %rax, %rsi + movq %rdx, %rdi + call gtk_entry_set_text@PLT + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movzwl 106(%rax), %eax + movzwl %ax, %ebx + call gtk_editable_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl %ebx, %edx + movl $0, %esi + movq %rax, %rdi + call gtk_editable_select_region@PLT +.L21: + call gtk_main_quit@PLT + nop + addq $136, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE214: + .size callback_entry_fname, .-callback_entry_fname + .type menu_gui_disclaim, @function +menu_gui_disclaim: +.LFB215: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $1048824, %rsp + .cfi_offset 3, -24 + leaq -144(%rbp), %rax + addq $8, %rax + movabsq $7883939740841634116, %rcx + movq %rcx, (%rax) + movabsq $7023117768230728293, %rcx + movq %rcx, 8(%rax) + movl $1851880050, 16(%rax) + movw $31092, 20(%rax) + movb $0, 22(%rax) + leaq -1048832(%rbp), %rax + movl $1, %edx + movl $1048576, %esi + movq %rax, %rdi + call snprint_share_file@PLT + leaq -256(%rbp), %rax + addq $8, %rax + movabsq $7161077589265637211, %rcx + movq %rcx, (%rax) + movw $107, 8(%rax) + movl $0, -168(%rbp) + leaq -28(%rbp), %rax + movq %rax, -160(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -144(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -144(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -1048832(%rbp), %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -24(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -256(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -256(%rbp) + movq -256(%rbp), %rax + leaq -256(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -144(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + movq -24(%rbp), %rax + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rax, %rsi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -256(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + call gtk_main@PLT + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + nop + addq $1048824, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE215: + .size menu_gui_disclaim, .-menu_gui_disclaim + .type menu_gui_license, @function +menu_gui_license: +.LFB216: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $1048824, %rsp + .cfi_offset 3, -24 + leaq -144(%rbp), %rax + addq $8, %rax + movabsq $7953674097042548052, %rcx + movq %rcx, (%rax) + movabsq $8388346206432206948, %rcx + movq %rcx, 8(%rax) + movl $1936617321, 16(%rax) + movb $0, 20(%rax) + leaq -1048832(%rbp), %rax + movl $3, %edx + movl $1048576, %esi + movq %rax, %rdi + call snprint_share_file@PLT + leaq -256(%rbp), %rax + addq $8, %rax + movabsq $7161077589265637211, %rcx + movq %rcx, (%rax) + movw $107, 8(%rax) + movl $0, -168(%rbp) + leaq -28(%rbp), %rax + movq %rax, -160(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -144(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -144(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -1048832(%rbp), %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -24(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -256(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -256(%rbp) + movq -256(%rbp), %rax + leaq -256(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -144(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + movq -24(%rbp), %rax + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rax, %rsi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -256(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + call gtk_main@PLT + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + nop + addq $1048824, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE216: + .size menu_gui_license, .-menu_gui_license + .type menu_gui_hiscores, @function +menu_gui_hiscores: +.LFB217: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $1048824, %rsp + .cfi_offset 3, -24 + leaq -144(%rbp), %rax + addq $8, %rax + movabsq $7310027618099685704, %rcx + movq %rcx, (%rax) + movw $115, 8(%rax) + leaq -1048832(%rbp), %rax + movl $1048576, %esi + movq %rax, %rdi + call snprint_scores@PLT + leaq -256(%rbp), %rax + addq $8, %rax + movabsq $7161077589265637211, %rcx + movq %rcx, (%rax) + movw $107, 8(%rax) + movl $0, -168(%rbp) + leaq -28(%rbp), %rax + movq %rax, -160(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -144(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -144(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -1048832(%rbp), %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -24(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -256(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -256(%rbp) + movq -256(%rbp), %rax + leaq -256(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -144(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + movq -24(%rbp), %rax + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rax, %rsi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -256(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + call gtk_main@PLT + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + nop + addq $1048824, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE217: + .size menu_gui_hiscores, .-menu_gui_hiscores + .section .rodata +.LC6: + .string "Change file name (File: \"%s\")" +.LC7: + .string "activate" + .text + .type menu_gui_continue, @function +menu_gui_continue: +.LFB218: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $888, %rsp + .cfi_offset 3, -24 + leaq -160(%rbp), %rax + addq $8, %rax + movabsq $7954884302727897415, %rcx + movq %rcx, (%rax) + movw $117, 8(%rax) + leaq -784(%rbp), %rax + addq $112, %rax + movabsq $7022329117445021531, %rcx + movq %rcx, (%rax) + movw $29810, 8(%rax) + movb $0, 10(%rax) + leaq -784(%rbp), %rax + addq $216, %rax + movabsq $7810740527211634523, %rcx + movq %rcx, (%rax) + movabsq $31632318715421541, %rcx + movq %rcx, 8(%rax) + leaq -784(%rbp), %rax + addq $320, %rax + movabsq $7018933825538580315, %rbx + movq %rbx, (%rax) + movabsq $7378700918254298990, %rcx + movq %rcx, 8(%rax) + movl $1819632489, 16(%rax) + movw $31092, 20(%rax) + movb $0, 22(%rax) + leaq -784(%rbp), %rax + addq $424, %rax + movabsq $2335477185608179547, %rbx + movq %rbx, (%rax) + movl $1919902579, 8(%rax) + movw $29541, 12(%rax) + movb $0, 14(%rax) + leaq -784(%rbp), %rax + addq $528, %rax + movabsq $6216449766448258907, %rcx + movq %rcx, (%rax) + movw $19525, 8(%rax) + movb $0, 10(%rax) + leaq -784(%rbp), %rax + addq $8, %rax + movabsq $7161077589265637211, %rbx + movq %rbx, (%rax) + movw $107, 8(%rax) + movl $1, -592(%rbp) + movl $2, -488(%rbp) + movl $3, -384(%rbp) + movl $4, -280(%rbp) + movl $5, -176(%rbp) + movl $0, -696(%rbp) + leaq -24(%rbp), %rax + movq %rax, -584(%rbp) + leaq -24(%rbp), %rax + movq %rax, -480(%rbp) + leaq -24(%rbp), %rax + movq %rax, -376(%rbp) + leaq saved_path(%rip), %rax + movq %rax, -800(%rbp) + leaq saved_name(%rip), %rax + movq %rax, -792(%rbp) + leaq -24(%rbp), %rax + movq %rax, -272(%rbp) + leaq -24(%rbp), %rax + movq %rax, -168(%rbp) + leaq -24(%rbp), %rax + movq %rax, -688(%rbp) + movb $1, -17(%rbp) + jmp .L26 +.L34: + leaq -896(%rbp), %rax + addq $16, %rax + leaq saved_name(%rip), %rcx + leaq .LC6(%rip), %rdx + movl $80, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -160(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -160(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -64(%rbp) + leaq -784(%rbp), %rax + addq $112, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -680(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -56(%rbp) + leaq -784(%rbp), %rax + addq $216, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -576(%rbp) + leaq -784(%rbp), %rax + addq $320, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -472(%rbp) + leaq -896(%rbp), %rax + addq $16, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -888(%rbp) + call gtk_entry_new@PLT + movq %rax, -896(%rbp) + leaq -784(%rbp), %rax + addq $424, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -368(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -784(%rbp), %rax + addq $528, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -264(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -784(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -784(%rbp) + movq -680(%rbp), %rax + leaq -784(%rbp), %rdx + addq $104, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -576(%rbp), %rax + leaq -784(%rbp), %rdx + addq $208, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -472(%rbp), %rax + leaq -784(%rbp), %rdx + addq $312, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -896(%rbp), %rax + leaq -896(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_entry_fname(%rip), %rdx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -368(%rbp), %rax + leaq -784(%rbp), %rdx + addq $416, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -264(%rbp), %rax + leaq -784(%rbp), %rdx + addq $520, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -784(%rbp), %rax + leaq -784(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -160(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -64(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -680(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -56(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -576(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -472(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -888(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -896(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -368(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -264(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -784(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + movl $-1, -24(%rbp) + call gtk_main@PLT + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + movl -24(%rbp), %eax + cmpl $5, %eax + ja .L26 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L28(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L28(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L28: + .long .L27-.L28 + .long .L29-.L28 + .long .L30-.L28 + .long .L31-.L28 + .long .L32-.L28 + .long .L33-.L28 + .text +.L27: + movb $0, -17(%rbp) + jmp .L26 +.L29: + call start_switch@PLT + jmp .L26 +.L30: + call menu_gui_select + jmp .L26 +.L31: + call menu_gui_level + jmp .L26 +.L32: + call menu_gui_hiscores + jmp .L26 +.L33: + call menu_gui_devel + nop +.L26: + cmpb $0, -17(%rbp) + jne .L34 + nop + addq $888, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE218: + .size menu_gui_continue, .-menu_gui_continue + .section .rodata +.LC8: + .string "[_2] Load map (File: \"%s\")" + .text + .type menu_gui_select, @function +menu_gui_select: +.LFB219: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $456, %rsp + .cfi_offset 3, -24 + leaq -144(%rbp), %rax + addq $8, %rax + movabsq $7863412919641072979, %rcx + movq %rcx, (%rax) + movw $28769, 8(%rax) + movb $0, 10(%rax) + leaq -464(%rbp), %rax + addq $112, %rax + movabsq $8603368564070637403, %rcx + movq %rcx, (%rax) + movl $1885433120, 8(%rax) + movb $0, 12(%rax) + leaq -464(%rbp), %rax + addq $216, %rax + leaq saved_name(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $80, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + leaq -464(%rbp), %rax + addq $8, %rax + movabsq $7161077589265637211, %rcx + movq %rcx, (%rax) + movw $107, 8(%rax) + movl $1, -272(%rbp) + movl $2, -168(%rbp) + movl $0, -376(%rbp) + leaq -20(%rbp), %rax + movq %rax, -264(%rbp) + leaq -20(%rbp), %rax + movq %rax, -160(%rbp) + leaq -20(%rbp), %rax + movq %rax, -368(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -144(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -144(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -464(%rbp), %rax + addq $112, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -360(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -464(%rbp), %rax + addq $216, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -256(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -32(%rbp) + leaq -464(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -464(%rbp) + movq -360(%rbp), %rax + leaq -464(%rbp), %rdx + addq $104, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -256(%rbp), %rax + leaq -464(%rbp), %rdx + addq $208, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -464(%rbp), %rax + leaq -464(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -144(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -360(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -256(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -32(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -464(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + movl $-1, -20(%rbp) + call gtk_main@PLT + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + movl -20(%rbp), %eax + cmpl $1, %eax + je .L37 + cmpl $2, %eax + je .L38 + testl %eax, %eax + jmp .L36 +.L37: + movl $1, start_mode(%rip) + jmp .L36 +.L38: + movl $2, start_mode(%rip) + nop +.L36: + nop + addq $456, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE219: + .size menu_gui_select, .-menu_gui_select + .type menu_gui_level, @function +menu_gui_level: +.LFB220: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $664, %rsp + .cfi_offset 3, -24 + leaq -144(%rbp), %rax + addq $8, %rax + movabsq $7791355325603145043, %rcx + movq %rcx, (%rax) + movl $1818588773, 8(%rax) + movb $0, 12(%rax) + leaq -672(%rbp), %rax + addq $112, %rax + movabsq $7450433865324257115, %rcx + movq %rcx, (%rax) + movl $1701736041, 8(%rax) + movw $114, 12(%rax) + leaq -672(%rbp), %rax + addq $216, %rax + movabsq $8389723559189176155, %rcx + movq %rcx, (%rax) + movabsq $8386099861059891813, %rcx + movq %rcx, 8(%rax) + movw $101, 16(%rax) + leaq -672(%rbp), %rax + addq $320, %rax + movabsq $8104303534758125403, %rbx + movq %rbx, (%rax) + movl $7631461, 8(%rax) + leaq -672(%rbp), %rax + addq $424, %rax + movabsq $8319629692918587227, %rcx + movq %rcx, (%rax) + movl $7171956, 8(%rax) + leaq -672(%rbp), %rax + addq $8, %rax + movabsq $7161077589265637211, %rbx + movq %rbx, (%rax) + movw $107, 8(%rax) + movl $1, -480(%rbp) + movl $2, -376(%rbp) + movl $3, -272(%rbp) + movl $4, -168(%rbp) + movl $0, -584(%rbp) + leaq -20(%rbp), %rax + movq %rax, -472(%rbp) + leaq -20(%rbp), %rax + movq %rax, -368(%rbp) + leaq -20(%rbp), %rax + movq %rax, -264(%rbp) + leaq -20(%rbp), %rax + movq %rax, -160(%rbp) + leaq -20(%rbp), %rax + movq %rax, -576(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -144(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -144(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -672(%rbp), %rax + addq $112, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -568(%rbp) + leaq -672(%rbp), %rax + addq $216, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -464(%rbp) + leaq -672(%rbp), %rax + addq $320, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -360(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -672(%rbp), %rax + addq $424, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -256(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -32(%rbp) + leaq -672(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -672(%rbp) + movq -568(%rbp), %rax + leaq -672(%rbp), %rdx + addq $104, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -464(%rbp), %rax + leaq -672(%rbp), %rdx + addq $208, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -360(%rbp), %rax + leaq -672(%rbp), %rdx + addq $312, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -256(%rbp), %rax + leaq -672(%rbp), %rdx + addq $416, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -672(%rbp), %rax + leaq -672(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -144(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -568(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -464(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -360(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -256(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -32(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -672(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + movl $-1, -20(%rbp) + call gtk_main@PLT + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + movl -20(%rbp), %eax + cmpl $2, %eax + je .L42 + cmpl $2, %eax + jg .L43 + cmpl $1, %eax + je .L44 + jmp .L47 +.L43: + cmpl $3, %eax + je .L45 + cmpl $4, %eax + je .L46 + jmp .L47 +.L44: + movl $0, menu_iface_variables(%rip) + jmp .L41 +.L42: + movl $1, menu_iface_variables(%rip) + jmp .L41 +.L45: + movl $2, menu_iface_variables(%rip) + jmp .L41 +.L46: + movl $4, menu_iface_variables(%rip) + call menu_gui_custom + nop +.L41: +.L47: + nop + addq $664, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE220: + .size menu_gui_level, .-menu_gui_level + .section .rodata + .align 8 +.LC14: + .string "Change rows: rows\t\t(%i)\nIntroduce an integer number [%i U %i]" + .align 8 +.LC15: + .string "Change columns: cols\t(%i)\nIntroduce an integer number [%i U %i]" + .align 8 +.LC16: + .string "Change proportion of mines: p\t(%lf)\nIntroduce a Real number [%i U %i]" + .text + .type menu_gui_custom, @function +menu_gui_custom: +.LFB221: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $648, %rsp + .cfi_offset 3, -24 + leaq -144(%rbp), %rax + addq $8, %rax + movl $1953723715, (%rax) + movw $28015, 4(%rax) + movb $0, 6(%rax) + leaq -256(%rbp), %rax + addq $8, %rax + movabsq $7161077589265637211, %rcx + movq %rcx, (%rax) + movw $107, 8(%rax) + leaq 4+menu_iface_variables(%rip), %rax + movq %rax, -416(%rbp) + movsd .LC9(%rip), %xmm0 + movsd %xmm0, -408(%rbp) + movl 4+menu_iface_variables(%rip), %eax + cltq + movq %rax, -400(%rbp) + movsd .LC10(%rip), %xmm0 + movsd %xmm0, -392(%rbp) + leaq 8+menu_iface_variables(%rip), %rax + movq %rax, -288(%rbp) + movsd .LC9(%rip), %xmm0 + movsd %xmm0, -280(%rbp) + movl 8+menu_iface_variables(%rip), %eax + cltq + movq %rax, -272(%rbp) + movsd .LC11(%rip), %xmm0 + movsd %xmm0, -264(%rbp) + leaq 16+menu_iface_variables(%rip), %rax + movq %rax, -544(%rbp) + pxor %xmm0, %xmm0 + movsd %xmm0, -536(%rbp) + movsd 16+menu_iface_variables(%rip), %xmm0 + movsd %xmm0, -528(%rbp) + movsd .LC13(%rip), %xmm0 + movsd %xmm0, -520(%rbp) + movl $0, -168(%rbp) + leaq -24(%rbp), %rax + movq %rax, -160(%rbp) + movb $1, -17(%rbp) + jmp .L49 +.L53: + movl 4+menu_iface_variables(%rip), %eax + leaq -512(%rbp), %rdx + leaq 16(%rdx), %rdi + movl $22, %r9d + movl $2, %r8d + movl %eax, %ecx + leaq .LC14(%rip), %rdx + movl $80, %esi + movl $0, %eax + call snprintf@PLT + movl 8+menu_iface_variables(%rip), %eax + leaq -512(%rbp), %rdx + leaq 144(%rdx), %rdi + movl $33, %r9d + movl $2, %r8d + movl %eax, %ecx + leaq .LC15(%rip), %rdx + movl $80, %esi + movl $0, %eax + call snprintf@PLT + movq 16+menu_iface_variables(%rip), %rax + leaq -640(%rbp), %rdx + leaq 16(%rdx), %rdi + movl $1, %r8d + movl $0, %ecx + movq %rax, -648(%rbp) + movsd -648(%rbp), %xmm0 + leaq .LC16(%rip), %rdx + movl $80, %esi + movl $1, %eax + call snprintf@PLT + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -144(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -144(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -512(%rbp), %rax + addq $16, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -504(%rbp) + call gtk_entry_new@PLT + movq %rax, -512(%rbp) + leaq -512(%rbp), %rax + addq $144, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -376(%rbp) + call gtk_entry_new@PLT + movq %rax, -384(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -640(%rbp), %rax + addq $16, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -632(%rbp) + call gtk_entry_new@PLT + movq %rax, -640(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -32(%rbp) + leaq -256(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -256(%rbp) + movq -512(%rbp), %rax + leaq -512(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_entry_int(%rip), %rdx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -384(%rbp), %rax + leaq -512(%rbp), %rdx + subq $-128, %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_entry_int(%rip), %rdx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -640(%rbp), %rax + leaq -640(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_entry_dbl(%rip), %rdx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -256(%rbp), %rax + leaq -256(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -144(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -504(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -512(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -376(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -384(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -632(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -640(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -32(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -256(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + movl $-1, -24(%rbp) + call gtk_main@PLT + movl -24(%rbp), %eax + testl %eax, %eax + je .L51 + jmp .L52 +.L51: + movb $0, -17(%rbp) + nop +.L52: + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT +.L49: + cmpb $0, -17(%rbp) + jne .L53 + nop + addq $648, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE221: + .size menu_gui_custom, .-menu_gui_custom + .type menu_gui_devel, @function +menu_gui_devel: +.LFB222: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $392, %rsp + .cfi_offset 3, -24 + leaq -144(%rbp), %rax + addq $8, %rax + movabsq $4994579175753270596, %rcx + movq %rcx, (%rax) + movabsq $5642809484591964242, %rcx + movq %rcx, 8(%rax) + movw $83, 16(%rax) + leaq -384(%rbp), %rax + addq $16, %rax + movabsq $8295742008524367939, %rcx + movq %rcx, (%rax) + movabsq $7021801385203361125, %rcx + movq %rcx, 8(%rax) + movl $2712686, 16(%rax) + leaq -256(%rbp), %rax + addq $8, %rax + movabsq $7161077589265637211, %rbx + movq %rbx, (%rax) + movw $107, 8(%rax) + leaq -388(%rbp), %rax + movq %rax, -288(%rbp) + movsd .LC17(%rip), %xmm0 + movsd %xmm0, -280(%rbp) + movq $1, -272(%rbp) + movsd .LC18(%rip), %xmm0 + movsd %xmm0, -264(%rbp) + movl $0, -168(%rbp) + leaq -24(%rbp), %rax + movq %rax, -160(%rbp) + movb $1, -17(%rbp) + jmp .L55 +.L59: + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box(%rip) + leaq -144(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -144(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -48(%rbp) + leaq -384(%rbp), %rax + addq $16, %rax + movq %rax, %rdi + call gtk_label_new@PLT + movq %rax, -376(%rbp) + call gtk_entry_new@PLT + movq %rax, -384(%rbp) + call gtk_hseparator_new@PLT + movq %rax, -40(%rbp) + leaq -256(%rbp), %rax + addq $8, %rax + movq %rax, %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, -256(%rbp) + movq -384(%rbp), %rax + leaq -384(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_entry_int(%rip), %rdx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq -256(%rbp), %rax + leaq -256(%rbp), %rdx + movl $0, %r9d + movl $0, %r8d + movq %rdx, %rcx + leaq callback_button(%rip), %rdx + leaq .LC4(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movq -144(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -48(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -376(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -384(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -256(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + movl $-1, -24(%rbp) + call gtk_main@PLT + movl -24(%rbp), %eax + testl %eax, %eax + jne .L60 + movb $0, -17(%rbp) + jmp .L58 +.L60: + movl -388(%rbp), %eax + movl %eax, %edi + call srand@PLT + nop +.L58: + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT +.L55: + cmpb $0, -17(%rbp) + jne .L59 + nop + addq $392, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE222: + .size menu_gui_devel, .-menu_gui_devel + .section .rodata + .align 8 +.LC9: + .long 0 + .long 1073741824 + .align 8 +.LC10: + .long 0 + .long 1077280768 + .align 8 +.LC11: + .long 0 + .long 1077968896 + .align 8 +.LC13: + .long 0 + .long 1072693248 + .align 8 +.LC17: + .long 0 + .long -1048576 + .align 8 +.LC18: + .long 0 + .long 2146435072 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/menu/tmp/menu_iface.s b/modules/menu/tmp/menu_iface.s new file mode 100644 index 0000000..21f9576 --- /dev/null +++ b/modules/menu/tmp/menu_iface.s @@ -0,0 +1,257 @@ + .file "menu_iface.c" + .comm flag_exit,1,1 + .comm menu_iface_mode,4,4 + .comm menu_iface_variables,24,16 + .text + .globl menu_iface_init + .type menu_iface_init, @function +menu_iface_init: +.LFB206: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $0, menu_iface_variables(%rip) + movl $8, 4+menu_iface_variables(%rip) + movl $8, 8+menu_iface_variables(%rip) + movsd .LC0(%rip), %xmm0 + movsd %xmm0, 16+menu_iface_variables(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE206: + .size menu_iface_init, .-menu_iface_init + .globl menu_iface_init_iface + .type menu_iface_init_iface, @function +menu_iface_init_iface: +.LFB207: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl menu_iface_mode(%rip), %eax + cmpl $2, %eax + je .L7 + cmpl $3, %eax + je .L5 + cmpl $1, %eax + jmp .L3 +.L5: + call menu_gui_init@PLT + jmp .L3 +.L7: + nop +.L3: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE207: + .size menu_iface_init_iface, .-menu_iface_init_iface + .globl menu_iface_cleanup + .type menu_iface_cleanup, @function +menu_iface_cleanup: +.LFB208: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl menu_iface_mode(%rip), %eax + cmpl $2, %eax + je .L13 + cmpl $3, %eax + je .L11 + cmpl $1, %eax + jmp .L9 +.L11: + call menu_gui_cleanup@PLT + jmp .L9 +.L13: + nop +.L9: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE208: + .size menu_iface_cleanup, .-menu_iface_cleanup + .globl menu_iface_board + .type menu_iface_board, @function +menu_iface_board: +.LFB209: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq %rcx, -32(%rbp) + movl menu_iface_variables(%rip), %edx + movq -8(%rbp), %rax + movl %edx, (%rax) + movq -8(%rbp), %rax + movl (%rax), %eax + cmpl $4, %eax + ja .L23 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L17(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L17(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L17: + .long .L16-.L17 + .long .L18-.L17 + .long .L19-.L17 + .long .L20-.L17 + .long .L21-.L17 + .text +.L16: + movq -16(%rbp), %rax + movl $8, (%rax) + movq -24(%rbp), %rax + movl $8, (%rax) + movq -32(%rbp), %rax + movl $10, (%rax) + jmp .L15 +.L18: + movq -16(%rbp), %rax + movl $16, (%rax) + movq -24(%rbp), %rax + movl $16, (%rax) + movq -32(%rbp), %rax + movl $40, (%rax) + jmp .L15 +.L19: + movq -16(%rbp), %rax + movl $16, (%rax) + movq -24(%rbp), %rax + movl $30, (%rax) + movq -32(%rbp), %rax + movl $99, (%rax) + jmp .L15 +.L20: + movq -16(%rbp), %rax + movl $30, (%rax) + movq -24(%rbp), %rax + movl $16, (%rax) + movq -32(%rbp), %rax + movl $99, (%rax) + jmp .L15 +.L21: + movl 4+menu_iface_variables(%rip), %edx + movq -16(%rbp), %rax + movl %edx, (%rax) + movl 8+menu_iface_variables(%rip), %edx + movq -24(%rbp), %rax + movl %edx, (%rax) + movsd 16+menu_iface_variables(%rip), %xmm1 + movq -16(%rbp), %rax + movl (%rax), %eax + pxor %xmm0, %xmm0 + cvtsi2sd %eax, %xmm0 + mulsd %xmm0, %xmm1 + movq -24(%rbp), %rax + movl (%rax), %eax + pxor %xmm0, %xmm0 + cvtsi2sd %eax, %xmm0 + mulsd %xmm1, %xmm0 + cvttsd2si %xmm0, %edx + movq -32(%rbp), %rax + movl %edx, (%rax) + movq -32(%rbp), %rax + movl (%rax), %edx + movq -16(%rbp), %rax + movl (%rax), %ecx + movq -24(%rbp), %rax + movl (%rax), %eax + imull %ecx, %eax + cmpl %eax, %edx + jne .L24 + movq -32(%rbp), %rax + movl (%rax), %eax + leal -1(%rax), %edx + movq -32(%rbp), %rax + movl %edx, (%rax) +.L24: + nop +.L15: +.L23: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE209: + .size menu_iface_board, .-menu_iface_board + .globl menu_iface + .type menu_iface, @function +menu_iface: +.LFB210: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $1, start_mode(%rip) + movzbl flag_exit(%rip), %eax + xorl $1, %eax + testb %al, %al + je .L32 + movl menu_iface_mode(%rip), %eax + cmpl $1, %eax + je .L27 + cmpl $1, %eax + jg .L28 + testl %eax, %eax + jmp .L26 +.L28: + cmpl $2, %eax + je .L30 + cmpl $3, %eax + je .L31 + jmp .L32 +.L27: + call menu_clui@PLT + jmp .L26 +.L30: + call menu_tui@PLT + jmp .L26 +.L31: + call menu_gui@PLT + nop +.L26: +.L32: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE210: + .size menu_iface, .-menu_iface + .section .rodata + .align 8 +.LC0: + .long 1202590843 + .long 1069841121 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/menu/tmp/menu_tui.s b/modules/menu/tmp/menu_tui.s new file mode 100644 index 0000000..381b7fd --- /dev/null +++ b/modules/menu/tmp/menu_tui.s @@ -0,0 +1,830 @@ + .file "menu_tui.c" + .section .rodata +.LC0: + .string "[0]\tExit program" +.LC1: + .string "[1]\tContinue" +.LC2: + .string "[2]\tDisclaimer of warranty" +.LC3: + .string "[3]\tTerms and conditions" +.LC4: + .string "MENU:" + .text + .globl menu_tui + .type menu_tui, @function +menu_tui: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $96, %rsp + call alx_resume_curses@PLT + movl $10, -8(%rbp) + movl $34, -12(%rbp) + movl $4, -16(%rbp) + movl $7, -96(%rbp) + movl $4, -92(%rbp) + leaq .LC0(%rip), %rax + movq %rax, -88(%rbp) + movl $2, -80(%rbp) + movl $4, -76(%rbp) + leaq .LC1(%rip), %rax + movq %rax, -72(%rbp) + movl $4, -64(%rbp) + movl $4, -60(%rbp) + leaq .LC2(%rip), %rax + movq %rax, -56(%rbp) + movl $5, -48(%rbp) + movl $4, -44(%rbp) + leaq .LC3(%rip), %rax + movq %rax, -40(%rbp) + movb $1, -1(%rbp) + jmp .L2 +.L8: + leaq -96(%rbp), %rcx + movl -16(%rbp), %edx + movl -12(%rbp), %esi + movl -8(%rbp), %eax + leaq .LC4(%rip), %r8 + movl %eax, %edi + call alx_menu@PLT + movl %eax, -20(%rbp) + movl -20(%rbp), %eax + cmpl $1, %eax + je .L3 + cmpl $1, %eax + jg .L4 + testl %eax, %eax + je .L5 + jmp .L2 +.L4: + cmpl $2, %eax + je .L6 + cmpl $3, %eax + je .L7 + jmp .L2 +.L5: + movb $0, -1(%rbp) + jmp .L2 +.L3: + call menu_tui_continue + jmp .L2 +.L6: + call alx_pause_curses@PLT + movl $1, %edi + call print_share_file@PLT + call getchar@PLT + call alx_resume_curses@PLT + jmp .L2 +.L7: + call alx_pause_curses@PLT + movl $3, %edi + call print_share_file@PLT + call getchar@PLT + call alx_resume_curses@PLT + nop +.L2: + cmpb $0, -1(%rbp) + jne .L8 + call alx_pause_curses@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size menu_tui, .-menu_tui + .section .rodata +.LC5: + .string "[0]\tBack" +.LC6: + .string "[1]\tStart" +.LC7: + .string "[2]\tSelect map" +.LC8: + .string "[3]\tChange difficulty" +.LC9: + .string "[4]\tChange file name" +.LC10: + .string "[5]\tHi scores" +.LC11: + .string "File name:" +.LC12: + .string "%s (File: \"%s\")" +.LC13: + .string "CONTINUE:" +.LC14: + .string "%s" + .text + .type menu_tui_continue, @function +menu_tui_continue: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1048736, %rsp + movl $18, -8(%rbp) + movl $50, -12(%rbp) + movl $1, -16(%rbp) + movl $80, %eax + subl -12(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -20(%rbp) + movl $6, -24(%rbp) + movl $11, -1048720(%rbp) + movl $4, -1048716(%rbp) + leaq .LC5(%rip), %rax + movq %rax, -1048712(%rbp) + movl $2, -1048704(%rbp) + movl $4, -1048700(%rbp) + leaq .LC6(%rip), %rax + movq %rax, -1048696(%rbp) + movl $4, -1048688(%rbp) + movl $4, -1048684(%rbp) + leaq .LC7(%rip), %rax + movq %rax, -1048680(%rbp) + movl $5, -1048672(%rbp) + movl $4, -1048668(%rbp) + leaq .LC8(%rip), %rax + movq %rax, -1048664(%rbp) + movl $6, -1048656(%rbp) + movl $4, -1048652(%rbp) + leaq .LC9(%rip), %rax + movq %rax, -1048648(%rbp) + movl $7, -1048640(%rbp) + movl $4, -1048636(%rbp) + leaq .LC10(%rip), %rax + movq %rax, -1048632(%rbp) + movl -12(%rbp), %eax + subl $8, %eax + movl %eax, -28(%rbp) + movl -16(%rbp), %edx + movl -8(%rbp), %eax + addl %edx, %eax + subl $5, %eax + movl %eax, -32(%rbp) + leaq .LC11(%rip), %rax + movq %rax, -1048728(%rbp) + movb $1, -1(%rbp) + jmp .L10 +.L18: + movl -20(%rbp), %ecx + movl -16(%rbp), %edx + movl -12(%rbp), %esi + movl -8(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -40(%rbp) + movq -1048648(%rbp), %rcx + movl -1048652(%rbp), %edx + movl -1048656(%rbp), %esi + movq -40(%rbp), %rax + leaq saved_name(%rip), %r9 + movq %rcx, %r8 + leaq .LC12(%rip), %rcx + movq %rax, %rdi + movl $0, %eax + call mvwprintw@PLT + movq -40(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + leaq -1048720(%rbp), %rdx + movl -24(%rbp), %esi + movq -40(%rbp), %rax + leaq .LC13(%rip), %rcx + movq %rax, %rdi + call alx_menu_2@PLT + movl %eax, -44(%rbp) + cmpl $5, -44(%rbp) + ja .L10 + movl -44(%rbp), %eax + leaq 0(,%rax,4), %rdx + leaq .L12(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L12(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L12: + .long .L11-.L12 + .long .L13-.L12 + .long .L14-.L12 + .long .L15-.L12 + .long .L16-.L12 + .long .L17-.L12 + .text +.L11: + movq -40(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + movb $0, -1(%rbp) + jmp .L10 +.L13: + movq -40(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + call alx_pause_curses@PLT + call start_switch@PLT + call alx_resume_curses@PLT + jmp .L10 +.L14: + movq -40(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + call menu_tui_select + jmp .L10 +.L15: + movq -40(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + call menu_tui_level + jmp .L10 +.L16: + call save_clr@PLT + movq -1048728(%rbp), %rcx + movl -32(%rbp), %edx + movl -28(%rbp), %eax + subq $8, %rsp + pushq $0 + movq %rcx, %r9 + movl %edx, %r8d + movl %eax, %ecx + movl $1, %edx + leaq saved_name(%rip), %rsi + leaq saved_path(%rip), %rdi + movl $0, %eax + call alx_w_getfname@PLT + addq $16, %rsp + movq -40(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + jmp .L10 +.L17: + movq -40(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + call alx_pause_curses@PLT + leaq -1048624(%rbp), %rax + movl $1048576, %esi + movq %rax, %rdi + call snprint_scores@PLT + leaq -1048624(%rbp), %rax + movq %rax, %rsi + leaq .LC14(%rip), %rdi + movl $0, %eax + call printf@PLT + call getchar@PLT + call alx_resume_curses@PLT + nop +.L10: + cmpb $0, -1(%rbp) + jne .L18 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size menu_tui_continue, .-menu_tui_continue + .section .rodata +.LC15: + .string "[1]\tNew map" +.LC16: + .string "[2]\tLoad map" +.LC17: + .string "SELECT MAP:" + .text + .type menu_tui_select, @function +menu_tui_select: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $96, %rsp + movl $9, -4(%rbp) + movl $70, -8(%rbp) + movl $1, -12(%rbp) + movl $80, %eax + subl -8(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -16(%rbp) + movl $3, -20(%rbp) + movl $6, -96(%rbp) + movl $4, -92(%rbp) + leaq .LC5(%rip), %rax + movq %rax, -88(%rbp) + movl $2, -80(%rbp) + movl $4, -76(%rbp) + leaq .LC15(%rip), %rax + movq %rax, -72(%rbp) + movl $4, -64(%rbp) + movl $4, -60(%rbp) + leaq .LC16(%rip), %rax + movq %rax, -56(%rbp) + movl -16(%rbp), %ecx + movl -12(%rbp), %edx + movl -8(%rbp), %esi + movl -4(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -32(%rbp) + movq -72(%rbp), %rcx + movl -60(%rbp), %edx + movl -64(%rbp), %esi + movq -32(%rbp), %rax + leaq saved_name(%rip), %r9 + movq %rcx, %r8 + leaq .LC12(%rip), %rcx + movq %rax, %rdi + movl $0, %eax + call mvwprintw@PLT + movq -32(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + leaq -96(%rbp), %rdx + movl -20(%rbp), %esi + movq -32(%rbp), %rax + leaq .LC17(%rip), %rcx + movq %rax, %rdi + call alx_menu_2@PLT + movl %eax, -36(%rbp) + movq -32(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + movl -36(%rbp), %eax + cmpl $1, %eax + je .L21 + cmpl $2, %eax + je .L22 + jmp .L23 +.L21: + movl $1, start_mode(%rip) + jmp .L20 +.L22: + movl $2, start_mode(%rip) + nop +.L20: +.L23: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size menu_tui_select, .-menu_tui_select + .section .rodata +.LC18: + .string "[1]\tBeginner" +.LC19: + .string "[2]\tIntermediate" +.LC20: + .string "[3]\tExpert" +.LC21: + .string "[4]\tCustom" +.LC22: + .string "SELECT LEVEL:" + .text + .type menu_tui_level, @function +menu_tui_level: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $96, %rsp + movl $10, -4(%rbp) + movl $70, -8(%rbp) + movl $5, -12(%rbp) + movl $7, -96(%rbp) + movl $4, -92(%rbp) + leaq .LC5(%rip), %rax + movq %rax, -88(%rbp) + movl $2, -80(%rbp) + movl $4, -76(%rbp) + leaq .LC18(%rip), %rax + movq %rax, -72(%rbp) + movl $3, -64(%rbp) + movl $4, -60(%rbp) + leaq .LC19(%rip), %rax + movq %rax, -56(%rbp) + movl $4, -48(%rbp) + movl $4, -44(%rbp) + leaq .LC20(%rip), %rax + movq %rax, -40(%rbp) + movl $5, -32(%rbp) + movl $4, -28(%rbp) + leaq .LC21(%rip), %rax + movq %rax, -24(%rbp) + leaq -96(%rbp), %rcx + movl -12(%rbp), %edx + movl -8(%rbp), %esi + movl -4(%rbp), %eax + leaq .LC22(%rip), %r8 + movl %eax, %edi + call alx_menu@PLT + movl %eax, -16(%rbp) + movl -16(%rbp), %eax + cmpl $2, %eax + je .L26 + cmpl $2, %eax + jg .L27 + cmpl $1, %eax + je .L28 + jmp .L31 +.L27: + cmpl $3, %eax + je .L29 + cmpl $4, %eax + je .L30 + jmp .L31 +.L28: + movl $0, menu_iface_variables(%rip) + jmp .L25 +.L26: + movl $1, menu_iface_variables(%rip) + jmp .L25 +.L29: + movl $2, menu_iface_variables(%rip) + jmp .L25 +.L30: + movl $4, menu_iface_variables(%rip) + call menu_tui_custom + nop +.L25: +.L31: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size menu_tui_level, .-menu_tui_level + .section .rodata +.LC23: + .string "[1]\tChange rows:" +.LC24: + .string "[2]\tChange columns:" + .align 8 +.LC25: + .string "[3]\tChange proportion of mines:" +.LC26: + .string "Rows:" +.LC27: + .string "Columns:" +.LC28: + .string "Proportion:" +.LC29: + .string "%s rows\t\t(%i)" +.LC30: + .string "%s cols\t\t(%i)" +.LC31: + .string "%s p\t(%lf)" +.LC32: + .string "Custom:" + .text + .type menu_tui_custom, @function +menu_tui_custom: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $160, %rsp + movl $16, -8(%rbp) + movl $76, -12(%rbp) + movl $1, -16(%rbp) + movl $80, %eax + subl -12(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -20(%rbp) + movl $4, -24(%rbp) + movl $8, -112(%rbp) + movl $4, -108(%rbp) + leaq .LC5(%rip), %rax + movq %rax, -104(%rbp) + movl $2, -96(%rbp) + movl $4, -92(%rbp) + leaq .LC23(%rip), %rax + movq %rax, -88(%rbp) + movl $4, -80(%rbp) + movl $4, -76(%rbp) + leaq .LC24(%rip), %rax + movq %rax, -72(%rbp) + movl $6, -64(%rbp) + movl $4, -60(%rbp) + leaq .LC25(%rip), %rax + movq %rax, -56(%rbp) + movl -12(%rbp), %eax + subl $8, %eax + movl %eax, -28(%rbp) + movl -16(%rbp), %edx + movl -8(%rbp), %eax + addl %edx, %eax + subl $5, %eax + movl %eax, -32(%rbp) + leaq .LC26(%rip), %rax + movq %rax, -144(%rbp) + leaq .LC27(%rip), %rax + movq %rax, -136(%rbp) + leaq .LC28(%rip), %rax + movq %rax, -128(%rbp) + movl -20(%rbp), %ecx + movl -16(%rbp), %edx + movl -12(%rbp), %esi + movl -8(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -40(%rbp) + movb $1, -1(%rbp) + jmp .L33 +.L39: + movl 4+menu_iface_variables(%rip), %edi + movq -88(%rbp), %rcx + movl -92(%rbp), %edx + movl -96(%rbp), %esi + movq -40(%rbp), %rax + movl %edi, %r9d + movq %rcx, %r8 + leaq .LC29(%rip), %rcx + movq %rax, %rdi + movl $0, %eax + call mvwprintw@PLT + movl 8+menu_iface_variables(%rip), %edi + movq -72(%rbp), %rcx + movl -76(%rbp), %edx + movl -80(%rbp), %esi + movq -40(%rbp), %rax + movl %edi, %r9d + movq %rcx, %r8 + leaq .LC30(%rip), %rcx + movq %rax, %rdi + movl $0, %eax + call mvwprintw@PLT + movq 16+menu_iface_variables(%rip), %rcx + movq -56(%rbp), %rdi + movl -60(%rbp), %edx + movl -64(%rbp), %esi + movq -40(%rbp), %rax + movq %rcx, -152(%rbp) + movsd -152(%rbp), %xmm0 + movq %rdi, %r8 + leaq .LC31(%rip), %rcx + movq %rax, %rdi + movl $1, %eax + call mvwprintw@PLT + movq -40(%rbp), %rax + movq %rax, %rdi + call wrefresh@PLT + leaq -112(%rbp), %rdx + movl -24(%rbp), %esi + movq -40(%rbp), %rax + leaq .LC32(%rip), %rcx + movq %rax, %rdi + call alx_menu_2@PLT + movl %eax, -44(%rbp) + movl -44(%rbp), %eax + cmpl $1, %eax + je .L34 + cmpl $1, %eax + jg .L35 + testl %eax, %eax + je .L36 + jmp .L33 +.L35: + cmpl $2, %eax + je .L37 + cmpl $3, %eax + je .L38 + jmp .L33 +.L36: + movb $0, -1(%rbp) + jmp .L33 +.L34: + movl 4+menu_iface_variables(%rip), %eax + movslq %eax, %rcx + movl -44(%rbp), %eax + subl $1, %eax + cltq + movq -144(%rbp,%rax,8), %rdx + movsd .LC33(%rip), %xmm0 + movq .LC34(%rip), %rdi + movl -32(%rbp), %esi + movl -28(%rbp), %eax + movl $0, %r8d + movapd %xmm0, %xmm1 + movq %rdi, -152(%rbp) + movsd -152(%rbp), %xmm0 + movl %eax, %edi + movl $2, %eax + call alx_w_getint@PLT + movl %eax, 4+menu_iface_variables(%rip) + jmp .L33 +.L37: + movl 8+menu_iface_variables(%rip), %eax + movslq %eax, %rcx + movl -44(%rbp), %eax + subl $1, %eax + cltq + movq -144(%rbp,%rax,8), %rdx + movsd .LC35(%rip), %xmm0 + movq .LC34(%rip), %rdi + movl -32(%rbp), %esi + movl -28(%rbp), %eax + movl $0, %r8d + movapd %xmm0, %xmm1 + movq %rdi, -152(%rbp) + movsd -152(%rbp), %xmm0 + movl %eax, %edi + movl $2, %eax + call alx_w_getint@PLT + movl %eax, 8+menu_iface_variables(%rip) + jmp .L33 +.L38: + movsd 16+menu_iface_variables(%rip), %xmm0 + movl -44(%rbp), %eax + subl $1, %eax + cltq + movq -144(%rbp,%rax,8), %rdx + movl -32(%rbp), %esi + movl -28(%rbp), %eax + movl $0, %ecx + movsd .LC36(%rip), %xmm2 + movapd %xmm0, %xmm1 + pxor %xmm0, %xmm0 + movl %eax, %edi + movl $3, %eax + call alx_w_getdbl@PLT + movq %xmm0, %rax + movq %rax, 16+menu_iface_variables(%rip) + nop +.L33: + cmpb $0, -1(%rbp) + jne .L39 + movq -40(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size menu_tui_custom, .-menu_tui_custom + .section .rodata +.LC38: + .string "[1]\tChange seed (srand)" +.LC39: + .string "Seed:" +.LC40: + .string "DEVELOPER OPTIONS:" + .text + .type menu_tui_devel, @function +menu_tui_devel: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $112, %rsp + movl $12, -8(%rbp) + movl $50, -12(%rbp) + movl $1, -16(%rbp) + movl $80, %eax + subl -12(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, -20(%rbp) + movl $2, -24(%rbp) + movl $5, -80(%rbp) + movl $4, -76(%rbp) + leaq .LC5(%rip), %rax + movq %rax, -72(%rbp) + movl $2, -64(%rbp) + movl $4, -60(%rbp) + leaq .LC38(%rip), %rax + movq %rax, -56(%rbp) + movl -12(%rbp), %eax + subl $8, %eax + movl %eax, -28(%rbp) + movl -16(%rbp), %edx + movl -8(%rbp), %eax + addl %edx, %eax + subl $5, %eax + movl %eax, -32(%rbp) + leaq .LC39(%rip), %rax + movq %rax, -88(%rbp) + movl -20(%rbp), %ecx + movl -16(%rbp), %edx + movl -12(%rbp), %esi + movl -8(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, -40(%rbp) + movb $1, -1(%rbp) + jmp .L41 +.L44: + leaq -80(%rbp), %rdx + movl -24(%rbp), %esi + movq -40(%rbp), %rax + leaq .LC40(%rip), %rcx + movq %rax, %rdi + call alx_menu_2@PLT + movl %eax, -44(%rbp) + movl -44(%rbp), %eax + testl %eax, %eax + je .L42 + cmpl $1, %eax + je .L43 + jmp .L41 +.L42: + movb $0, -1(%rbp) + jmp .L41 +.L43: + movq -88(%rbp), %rdx + movsd .LC41(%rip), %xmm0 + movq .LC42(%rip), %rdi + movl -32(%rbp), %esi + movl -28(%rbp), %eax + movl $0, %r8d + movapd %xmm0, %xmm1 + movl $1, %ecx + movq %rdi, -104(%rbp) + movsd -104(%rbp), %xmm0 + movl %eax, %edi + movl $2, %eax + call alx_w_getint@PLT + movl %eax, -48(%rbp) + movl -48(%rbp), %eax + movl %eax, %edi + call srand@PLT + nop +.L41: + cmpb $0, -1(%rbp) + jne .L44 + movq -40(%rbp), %rax + movq %rax, %rdi + call alx_win_del@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size menu_tui_devel, .-menu_tui_devel + .section .rodata + .align 8 +.LC33: + .long 0 + .long 1077280768 + .align 8 +.LC34: + .long 0 + .long 1073741824 + .align 8 +.LC35: + .long 0 + .long 1077968896 + .align 8 +.LC36: + .long 0 + .long 1072693248 + .align 8 +.LC41: + .long 0 + .long 2146435072 + .align 8 +.LC42: + .long 0 + .long -1048576 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/menu/tmp/parser.s b/modules/menu/tmp/parser.s new file mode 100644 index 0000000..f6542ed --- /dev/null +++ b/modules/menu/tmp/parser.s @@ -0,0 +1,574 @@ + .file "parser.c" + .section .rodata +.LC13: + .string "xhLuva:b:f:i:p:r:s:" +.LC0: + .string "exit" +.LC1: + .string "help" +.LC2: + .string "license" +.LC3: + .string "usage" +.LC4: + .string "version" +.LC5: + .string "rows" +.LC6: + .string "columns" +.LC7: + .string "file" +.LC8: + .string "iface" +.LC9: + .string "proportion" +.LC10: + .string "start" + .data + .align 32 +.LC12: + .quad .LC0 + .long 0 + .zero 4 + .quad 0 + .long 120 + .zero 4 + .quad .LC1 + .long 0 + .zero 4 + .quad 0 + .long 104 + .zero 4 + .quad .LC2 + .long 0 + .zero 4 + .quad 0 + .long 76 + .zero 4 + .quad .LC3 + .long 0 + .zero 4 + .quad 0 + .long 117 + .zero 4 + .quad .LC4 + .long 0 + .zero 4 + .quad 0 + .long 118 + .zero 4 + .quad .LC5 + .long 1 + .zero 4 + .quad 0 + .long 97 + .zero 4 + .quad .LC6 + .long 1 + .zero 4 + .quad 0 + .long 98 + .zero 4 + .quad .LC7 + .long 1 + .zero 4 + .quad 0 + .long 102 + .zero 4 + .quad .LC8 + .long 1 + .zero 4 + .quad 0 + .long 105 + .zero 4 + .quad .LC9 + .long 1 + .zero 4 + .quad 0 + .long 112 + .zero 4 + .quad .LC10 + .long 1 + .zero 4 + .quad 0 + .long 115 + .zero 4 + .quad 0 + .long 0 + .zero 4 + .quad 0 + .long 0 + .zero 4 + .text + .globl parser + .type parser, @function +parser: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $416, %rsp + movl %edi, -404(%rbp) + movq %rsi, -416(%rbp) + movl $0, -4(%rbp) + movl $0, -8(%rbp) + leaq -400(%rbp), %rax + leaq .LC12(%rip), %rdx + movl $48, %ecx + movq %rax, %rdi + movq %rdx, %rsi + rep movsq + jmp .L2 +.L16: + movl -4(%rbp), %eax + subl $76, %eax + cmpl $44, %eax + ja .L3 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L5(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L5(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L5: + .long .L4-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L6-.L5 + .long .L7-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L8-.L5 + .long .L3-.L5 + .long .L9-.L5 + .long .L10-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L11-.L5 + .long .L3-.L5 + .long .L3-.L5 + .long .L12-.L5 + .long .L3-.L5 + .long .L13-.L5 + .long .L14-.L5 + .long .L3-.L5 + .long .L15-.L5 + .text +.L15: + movb $1, flag_exit(%rip) + jmp .L2 +.L9: + movl $2, %edi + call print_share_file@PLT + movl $0, %edi + call exit@PLT +.L4: + movl $3, %edi + call print_share_file@PLT + movl $0, %edi + call exit@PLT +.L13: + movl $4, %edi + call print_share_file@PLT + movl $0, %edi + call exit@PLT +.L14: + call print_version@PLT + movl $0, %edi + call exit@PLT +.L6: + movq optarg(%rip), %rax + movq %rax, %rdi + call parse_rows + jmp .L2 +.L7: + movq optarg(%rip), %rax + movq %rax, %rdi + call parse_columns + jmp .L2 +.L8: + movq optarg(%rip), %rax + movq %rax, %rdi + call parse_file + jmp .L2 +.L10: + movq optarg(%rip), %rax + movq %rax, %rdi + call parse_iface + jmp .L2 +.L11: + movq optarg(%rip), %rax + movq %rax, %rdi + call parse_proportion + jmp .L2 +.L12: + movq optarg(%rip), %rax + movq %rax, %rdi + call parse_start + jmp .L2 +.L3: + movl $4, %edi + call print_share_file@PLT + movl $1, %edi + call exit@PLT +.L2: + leaq -8(%rbp), %rcx + leaq -400(%rbp), %rdx + movq -416(%rbp), %rsi + movl -404(%rbp), %eax + movq %rcx, %r8 + movq %rdx, %rcx + leaq .LC13(%rip), %rdx + movl %eax, %edi + call getopt_long@PLT + movl %eax, -4(%rbp) + cmpl $-1, -4(%rbp) + jne .L16 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size parser, .-parser + .section .rodata +.LC14: + .string "--rows argument not valid" + .align 8 +.LC15: + .string "It must be an integer [%i U %i]\n" + .text + .type parse_rows, @function +parse_rows: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movq %rax, %rdi + call atoi@PLT + movl %eax, 4+menu_iface_variables(%rip) + movl 4+menu_iface_variables(%rip), %eax + cmpl $1, %eax + jle .L18 + movl 4+menu_iface_variables(%rip), %eax + cmpl $999, %eax + jle .L20 +.L18: + leaq .LC14(%rip), %rdi + call puts@PLT + movl $999, %edx + movl $2, %esi + leaq .LC15(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $1, %edi + call exit@PLT +.L20: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size parse_rows, .-parse_rows + .section .rodata +.LC16: + .string "--columns argument not valid" + .text + .type parse_columns, @function +parse_columns: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movq %rax, %rdi + call atoi@PLT + movl %eax, 8+menu_iface_variables(%rip) + movl 8+menu_iface_variables(%rip), %eax + cmpl $1, %eax + jle .L22 + movl 8+menu_iface_variables(%rip), %eax + cmpl $999, %eax + jle .L24 +.L22: + leaq .LC16(%rip), %rdi + call puts@PLT + movl $999, %edx + movl $2, %esi + leaq .LC15(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $1, %edi + call exit@PLT +.L24: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size parse_columns, .-parse_columns + .section .rodata +.LC17: + .string "r" +.LC18: + .string "--file argument not valid" + .align 8 +.LC19: + .string "It must be a valid file name (relative to saved dir)" +.LC20: + .string "" + .text + .type parse_file, @function +parse_file: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq -24(%rbp), %rax + leaq .LC17(%rip), %rsi + movq %rax, %rdi + call fopen@PLT + movq %rax, -8(%rbp) + cmpq $0, -8(%rbp) + jne .L26 + leaq .LC18(%rip), %rdi + call puts@PLT + leaq .LC19(%rip), %rdi + call puts@PLT + movl $1, %edi + call exit@PLT +.L26: + movq -8(%rbp), %rax + movq %rax, %rdi + call fclose@PLT + movzbl .LC20(%rip), %eax + movb %al, saved_path(%rip) + movq -24(%rbp), %rax + movq %rax, %rdx + movl $4096, %esi + leaq saved_name(%rip), %rdi + movl $0, %eax + call snprintf@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size parse_file, .-parse_file + .section .rodata +.LC21: + .string "--iface argument not valid" + .text + .type parse_iface, @function +parse_iface: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movq %rax, %rdi + call atoi@PLT + movl %eax, menu_iface_mode(%rip) + movl menu_iface_mode(%rip), %eax + movl %eax, player_iface_mode(%rip) + movl menu_iface_mode(%rip), %eax + testl %eax, %eax + jle .L28 + movl menu_iface_mode(%rip), %eax + cmpl $3, %eax + jle .L30 +.L28: + leaq .LC21(%rip), %rdi + call puts@PLT + movl $3, %edx + movl $1, %esi + leaq .LC15(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $1, %edi + call exit@PLT +.L30: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size parse_iface, .-parse_iface + .section .rodata + .align 8 +.LC24: + .string "--proportion argument not valid" +.LC25: + .string "It must be a real [0 U 1]" + .text + .type parse_proportion, @function +parse_proportion: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movq %rax, %rdi + call atof@PLT + movq %xmm0, %rax + movq %rax, 16+menu_iface_variables(%rip) + movsd 16+menu_iface_variables(%rip), %xmm1 + pxor %xmm0, %xmm0 + ucomisd %xmm1, %xmm0 + ja .L32 + movsd 16+menu_iface_variables(%rip), %xmm0 + movsd .LC23(%rip), %xmm1 + ucomisd %xmm1, %xmm0 + ja .L32 + jmp .L35 +.L32: + leaq .LC24(%rip), %rdi + call puts@PLT + leaq .LC25(%rip), %rdi + call puts@PLT + movl $1, %edi + call exit@PLT +.L35: + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size parse_proportion, .-parse_proportion + .type parse_rand_seed, @function +parse_rand_seed: +.LFB6: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq -24(%rbp), %rax + movq %rax, %rdi + call atof@PLT + cvttsd2si %xmm0, %eax + movl %eax, -4(%rbp) + movl -4(%rbp), %eax + movl %eax, %edi + call srand@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE6: + .size parse_rand_seed, .-parse_rand_seed + .section .rodata +.LC26: + .string "--start argument not valid" + .text + .type parse_start, @function +parse_start: +.LFB7: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movq %rax, %rdi + call atoi@PLT + movl %eax, start_mode(%rip) + movl start_mode(%rip), %eax + testl %eax, %eax + js .L38 + movl start_mode(%rip), %eax + cmpl $2, %eax + jle .L40 +.L38: + leaq .LC26(%rip), %rdi + call puts@PLT + movl $2, %edx + movl $0, %esi + leaq .LC15(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $1, %edi + call exit@PLT +.L40: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE7: + .size parse_start, .-parse_start + .section .rodata + .align 8 +.LC23: + .long 0 + .long 1072693248 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/player/Makefile b/modules/player/Makefile index eb84b96..bbf6245 100644 --- a/modules/player/Makefile +++ b/modules/player/Makefile @@ -4,16 +4,16 @@ # directories -OBJ_DIR = $(PLAY_DIR)/obj/ +TMP_DIR = $(PLAY_DIR)/tmp/ # target: dependencies # action all: - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. ################################################################################ ######## End of file ########################################################### diff --git a/modules/player/obj/Makefile b/modules/player/obj/Makefile deleted file mode 100644 index a6f5fc0..0000000 --- a/modules/player/obj/Makefile +++ /dev/null @@ -1,91 +0,0 @@ -# -*- MakeFile -*- - -# MACRO = substitute with this - -# directories - -LIBALX_INC_DIR = $(LIBALX_DIR)/inc/ - -GAME_INC_DIR = $(GAME_DIR)/inc/ -MENU_INC_DIR = $(MENU_DIR)/inc/ - -INC_DIR = $(PLAY_DIR)/inc/ -SRC_DIR = $(PLAY_DIR)/src/ - -# dependencies - -_ALL = player_iface.o player_clui.o player_tui.o player_gui.o -ALL = $(_ALL) player_mod.o - -PLAYI_INC_GAME = game_iface.h -PLAYI_INC = player_iface.h player_clui.h player_tui.h player_gui.h -PLAYI_DEPS = $(SRC_DIR)/player_iface.c \ - $(patsubst %,$(INC_DIR)/%,$(PLAYI_INC)) \ - $(patsubst %,$(GAME_INC_DIR)/%,$(PLAYI_INC_GAME)) -PLAYI_INC_DIRS = -I $(INC_DIR) \ - -I $(GAME_INC_DIR) - -PLAYCLUI_INC_GAME = game_iface.h -PLAYCLUI_INC = player_clui.h player_iface.h -PLAYCLUI_DEPS = $(SRC_DIR)/player_clui.c \ - $(patsubst %,$(INC_DIR)/%,$(PLAYCLUI_INC)) \ - $(patsubst %,$(GAME_INC_DIR)/%,$(PLAYCLUI_INC_GAME)) -PLAYCLUI_INC_DIRS = -I $(INC_DIR) \ - -I $(GAME_INC_DIR) - -PLAYTUI_INC_LIBALX = alx_ncur.h -PLAYTUI_INC_GAME = game_iface.h -PLAYTUI_INC = player_tui.h player_iface.h -PLAYTUI_DEPS = $(SRC_DIR)/player_tui.c \ - $(patsubst %,$(INC_DIR)/%,$(PLAYTUI_INC)) \ - $(patsubst %,$(LIBALX_INC_DIR)/%,$(PLAYTUI_INC_LIBALX)) \ - $(patsubst %,$(GAME_INC_DIR)/%,$(PLAYTUI_INC_GAME)) -PLAYTUI_INC_DIRS = -I $(INC_DIR) \ - -I $(LIBALX_INC_DIR) \ - -I $(GAME_INC_DIR) - -PLAYGUI_INC_LIBALX = alx_input.h -PLAYGUI_INC_GAME = game_iface.h -PLAYGUI_INC_MENU = menu_gui.h -PLAYGUI_INC = player_gui.h player_iface.h -PLAYGUI_DEPS = $(SRC_DIR)/player_gui.c \ - $(patsubst %,$(INC_DIR)/%,$(PLAYGUI_INC)) \ - $(patsubst %,$(LIBALX_INC_DIR)/%,$(PLAYGUI_INC_LIBALX)) \ - $(patsubst %,$(GAME_INC_DIR)/%,$(PLAYGUI_INC_GAME)) \ - $(patsubst %,$(MENU_INC_DIR)/%,$(PLAYGUI_INC_MENU)) -PLAYGUI_INC_DIRS = -I $(INC_DIR) \ - -I $(LIBALX_INC_DIR) \ - -I $(GAME_INC_DIR) \ - -I $(MENU_INC_DIR) - -# target: dependencies -# action - -all: $(ALL) - - -player_mod.o: $(_ALL) - $(Q)$(LD) -r $^ -o $@ - @echo "\tLD $@" - @echo "" - - -player_iface.o: $(PLAYI_DEPS) - $(Q)$(CC) $(CFLAGS) $(PLAYI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -player_clui.o: $(PLAYCLUI_DEPS) - $(Q)$(CC) $(CFLAGS) $(PLAYCLUI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -player_tui.o: $(PLAYTUI_DEPS) - $(Q)$(CC) $(CFLAGS) $(PLAYTUI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - -player_gui.o: $(PLAYGUI_DEPS) - $(Q)$(CC) $(CFLAGS) $(PLAYGUI_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" - - -clean: - $(Q)rm -f *.o diff --git a/modules/player/tmp/Makefile b/modules/player/tmp/Makefile new file mode 100644 index 0000000..70d252a --- /dev/null +++ b/modules/player/tmp/Makefile @@ -0,0 +1,103 @@ +# -*- MakeFile -*- + +# MACRO = substitute with this + +# directories + +LIBALX_INC_DIR = $(LIBALX_DIR)/inc/ + +GAME_INC_DIR = $(GAME_DIR)/inc/ +MENU_INC_DIR = $(MENU_DIR)/inc/ + +INC_DIR = $(PLAY_DIR)/inc/ +SRC_DIR = $(PLAY_DIR)/src/ + +# dependencies + +_ALL = player_iface.o player_clui.o player_tui.o player_gui.o +ALL = $(_ALL) player_mod.o + +PLAYI_INC_GAME = game_iface.h +PLAYI_INC = player_iface.h player_clui.h player_tui.h player_gui.h +PLAYI_DEPS = $(SRC_DIR)/player_iface.c \ + $(patsubst %,$(INC_DIR)/%,$(PLAYI_INC)) \ + $(patsubst %,$(GAME_INC_DIR)/%,$(PLAYI_INC_GAME)) +PLAYI_INC_DIRS = -I $(INC_DIR) \ + -I $(GAME_INC_DIR) + +PLAYCLUI_INC_GAME = game_iface.h +PLAYCLUI_INC = player_clui.h player_iface.h +PLAYCLUI_DEPS = $(SRC_DIR)/player_clui.c \ + $(patsubst %,$(INC_DIR)/%,$(PLAYCLUI_INC)) \ + $(patsubst %,$(GAME_INC_DIR)/%,$(PLAYCLUI_INC_GAME)) +PLAYCLUI_INC_DIRS = -I $(INC_DIR) \ + -I $(GAME_INC_DIR) + +PLAYTUI_INC_LIBALX = alx_ncur.h +PLAYTUI_INC_GAME = game_iface.h +PLAYTUI_INC = player_tui.h player_iface.h +PLAYTUI_DEPS = $(SRC_DIR)/player_tui.c \ + $(patsubst %,$(INC_DIR)/%,$(PLAYTUI_INC)) \ + $(patsubst %,$(LIBALX_INC_DIR)/%,$(PLAYTUI_INC_LIBALX)) \ + $(patsubst %,$(GAME_INC_DIR)/%,$(PLAYTUI_INC_GAME)) +PLAYTUI_INC_DIRS = -I $(INC_DIR) \ + -I $(LIBALX_INC_DIR) \ + -I $(GAME_INC_DIR) + +PLAYGUI_INC_LIBALX = alx_input.h +PLAYGUI_INC_GAME = game_iface.h +PLAYGUI_INC_MENU = menu_gui.h +PLAYGUI_INC = player_gui.h player_iface.h +PLAYGUI_DEPS = $(SRC_DIR)/player_gui.c \ + $(patsubst %,$(INC_DIR)/%,$(PLAYGUI_INC)) \ + $(patsubst %,$(LIBALX_INC_DIR)/%,$(PLAYGUI_INC_LIBALX)) \ + $(patsubst %,$(GAME_INC_DIR)/%,$(PLAYGUI_INC_GAME)) \ + $(patsubst %,$(MENU_INC_DIR)/%,$(PLAYGUI_INC_MENU)) +PLAYGUI_INC_DIRS = -I $(INC_DIR) \ + -I $(LIBALX_INC_DIR) \ + -I $(GAME_INC_DIR) \ + -I $(MENU_INC_DIR) + +# target: dependencies +# action + +all: $(ALL) + + +player_mod.o: $(_ALL) + $(Q)$(LD) -r $^ -o $@ + @echo " LD $@" + @echo "" + + +player_iface.s: $(PLAYI_DEPS) + $(Q)$(CC) $(CFLAGS) $(PLAYI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +player_iface.o: player_iface.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +player_clui.s: $(PLAYCLUI_DEPS) + $(Q)$(CC) $(CFLAGS) $(PLAYCLUI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +player_clui.o: player_clui.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +player_tui.s: $(PLAYTUI_DEPS) + $(Q)$(CC) $(CFLAGS) $(PLAYTUI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +player_tui.o: player_tui.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + +player_gui.s: $(PLAYGUI_DEPS) + $(Q)$(CC) $(CFLAGS) $(PLAYGUI_INC_DIRS) -S $< -o $@ + @echo " CC $@" +player_gui.o: player_gui.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" + + +clean: + $(Q)rm -f *.o *.s diff --git a/modules/player/tmp/player_clui.s b/modules/player/tmp/player_clui.s new file mode 100644 index 0000000..359b970 --- /dev/null +++ b/modules/player/tmp/player_clui.s @@ -0,0 +1,1120 @@ + .file "player_clui.c" + .local oldaction + .comm oldaction,4,4 + .text + .globl player_clui_start + .type player_clui_start, @function +player_clui_start: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq %rcx, -32(%rbp) + call show_help_start + movq -24(%rbp), %rdx + movq -16(%rbp), %rcx + movq -8(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call show_board_start + call usr_input + movl %eax, %edx + movq -32(%rbp), %rax + movl %edx, (%rax) + movq -32(%rbp), %rax + movl (%rax), %eax + movl %eax, oldaction(%rip) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size player_clui_start, .-player_clui_start + .globl player_clui + .type player_clui, @function +player_clui: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq %rcx, -32(%rbp) + movq %r8, -40(%rbp) + movl oldaction(%rip), %eax + testl %eax, %eax + je .L3 + movq -8(%rbp), %rax + movq %rax, %rdi + call show_help + movq -32(%rbp), %rcx + movq -24(%rbp), %rdx + movq -16(%rbp), %rsi + movq -8(%rbp), %rax + movq %rax, %rdi + call show_board +.L3: + call usr_input + movl %eax, %edx + movq -40(%rbp), %rax + movl %edx, (%rax) + movq -40(%rbp), %rax + movl (%rax), %eax + movl %eax, oldaction(%rip) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size player_clui, .-player_clui + .section .rodata +.LC0: + .string "File name:" + .text + .globl player_clui_save_name + .type player_clui_save_name, @function +player_clui_save_name: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movl %edx, -20(%rbp) + leaq .LC0(%rip), %rdi + call puts@PLT + movq stdin(%rip), %rdx + movl -20(%rbp), %ecx + movq -16(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call fgets@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size player_clui_save_name, .-player_clui_save_name + .section .rodata +.LC1: + .string "Your name:" + .text + .globl player_clui_score_name + .type player_clui_score_name, @function +player_clui_score_name: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movl %esi, -12(%rbp) + leaq .LC1(%rip), %rdi + call puts@PLT + movq stdin(%rip), %rdx + movl -12(%rbp), %ecx + movq -8(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call fgets@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size player_clui_score_name, .-player_clui_score_name + .section .rodata + .align 8 +.LC2: + .string "________________________________________________________________________________" +.LC3: + .string "%s\t-\t%s\n" + .align 8 +.LC4: + .string "--------------------------------------------------------------------------------" + .text + .type show_board_start, @function +show_board_start: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + leaq .LC2(%rip), %rdi + call puts@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call board_loop_start + movq -16(%rbp), %rdx + movq -24(%rbp), %rax + movq %rax, %rsi + leaq .LC3(%rip), %rdi + movl $0, %eax + call printf@PLT + leaq .LC4(%rip), %rdi + call puts@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size show_board_start, .-show_board_start + .type board_loop_start, @function +board_loop_start: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movl $10, %edi + call putchar@PLT + movl $0, -4(%rbp) + jmp .L8 +.L13: + movl $0, -8(%rbp) + jmp .L9 +.L12: + movb $43, -9(%rbp) + movq -24(%rbp), %rax + movl 8(%rax), %eax + cmpl -4(%rbp), %eax + jne .L10 + movq -24(%rbp), %rax + movl 12(%rax), %eax + cmpl -8(%rbp), %eax + jne .L10 + movl $60, %edi + call putchar@PLT + movsbl -9(%rbp), %eax + movl %eax, %edi + call putchar@PLT + movl $62, %edi + call putchar@PLT + jmp .L11 +.L10: + movl $32, %edi + call putchar@PLT + movsbl -9(%rbp), %eax + movl %eax, %edi + call putchar@PLT + movl $32, %edi + call putchar@PLT +.L11: + addl $1, -8(%rbp) +.L9: + movq -24(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L12 + movl $10, %edi + call putchar@PLT + addl $1, -4(%rbp) +.L8: + movq -24(%rbp), %rax + movl (%rax), %eax + cmpl -4(%rbp), %eax + jg .L13 + movl $10, %edi + call putchar@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size board_loop_start, .-board_loop_start + .type show_board, @function +show_board: +.LFB6: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq %rcx, -32(%rbp) + leaq .LC2(%rip), %rdi + call puts@PLT + movq -16(%rbp), %rdx + movq -8(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call board_loop + movq -24(%rbp), %rdx + movq -32(%rbp), %rax + movq %rax, %rsi + leaq .LC3(%rip), %rdi + movl $0, %eax + call printf@PLT + leaq .LC4(%rip), %rdi + call puts@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE6: + .size show_board, .-show_board + .type board_loop, @function +board_loop: +.LFB7: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movl $10, %edi + call putchar@PLT + movl $0, -4(%rbp) + jmp .L16 +.L21: + movl $0, -8(%rbp) + jmp .L17 +.L20: + movq -24(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl 12(%rax,%rdx,4), %eax + movl %eax, %edi + call set_char + movb %al, -9(%rbp) + movq -32(%rbp), %rax + movl 8(%rax), %eax + cmpl -4(%rbp), %eax + jne .L18 + movq -32(%rbp), %rax + movl 12(%rax), %eax + cmpl -8(%rbp), %eax + jne .L18 + movl $60, %edi + call putchar@PLT + movsbl -9(%rbp), %eax + movl %eax, %edi + call putchar@PLT + movl $62, %edi + call putchar@PLT + jmp .L19 +.L18: + movl $32, %edi + call putchar@PLT + movsbl -9(%rbp), %eax + movl %eax, %edi + call putchar@PLT + movl $32, %edi + call putchar@PLT +.L19: + addl $1, -8(%rbp) +.L17: + movq -24(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L20 + movl $10, %edi + call putchar@PLT + addl $1, -4(%rbp) +.L16: + movq -24(%rbp), %rax + movl (%rax), %eax + cmpl -4(%rbp), %eax + jg .L21 + movl $10, %edi + call putchar@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE7: + .size board_loop, .-board_loop + .type set_char, @function +set_char: +.LFB8: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + cmpl $17, -20(%rbp) + ja .L23 + movl -20(%rbp), %eax + leaq 0(,%rax,4), %rdx + leaq .L25(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L25(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L25: + .long .L24-.L25 + .long .L26-.L25 + .long .L27-.L25 + .long .L28-.L25 + .long .L29-.L25 + .long .L30-.L25 + .long .L31-.L25 + .long .L32-.L25 + .long .L33-.L25 + .long .L34-.L25 + .long .L35-.L25 + .long .L36-.L25 + .long .L37-.L25 + .long .L38-.L25 + .long .L39-.L25 + .long .L40-.L25 + .long .L41-.L25 + .long .L42-.L25 + .text +.L24: + movb $35, -1(%rbp) + jmp .L23 +.L26: + movb $43, -1(%rbp) + jmp .L23 +.L27: + movb $42, -1(%rbp) + jmp .L23 +.L28: + movb $45, -1(%rbp) + jmp .L23 +.L29: + movb $118, -1(%rbp) + jmp .L23 +.L30: + movb $32, -1(%rbp) + jmp .L23 +.L31: + movb $49, -1(%rbp) + jmp .L23 +.L32: + movb $50, -1(%rbp) + jmp .L23 +.L33: + movb $51, -1(%rbp) + jmp .L23 +.L34: + movb $52, -1(%rbp) + jmp .L23 +.L35: + movb $53, -1(%rbp) + jmp .L23 +.L36: + movb $54, -1(%rbp) + jmp .L23 +.L37: + movb $55, -1(%rbp) + jmp .L23 +.L38: + movb $56, -1(%rbp) + jmp .L23 +.L39: + movb $33, -1(%rbp) + jmp .L23 +.L40: + movb $70, -1(%rbp) + jmp .L23 +.L41: + movb $63, -1(%rbp) + jmp .L23 +.L42: + movb $102, -1(%rbp) + nop +.L23: + movzbl -1(%rbp), %eax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE8: + .size set_char, .-set_char + .section .rodata +.LC5: + .string "%c" +.LC6: + .string "%*c%c" +.LC7: + .string "%*2c%c" +.LC8: + .string "%*3c%c" +.LC9: + .string "%*4c%c" + .text + .type usr_input, @function +usr_input: +.LFB9: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1056, %rsp + movb $0, -1040(%rbp) + movb $0, -1041(%rbp) + movq stdin(%rip), %rdx + leaq -1040(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call fgets@PLT + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC5(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + movsbl %al, %eax + subl $8, %eax + cmpl $119, %eax + ja .L45 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L47(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L47(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L47: + .long .L46-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L48-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L49-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L50-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L51-.L47 + .long .L52-.L47 + .long .L53-.L47 + .long .L54-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L55-.L47 + .long .L45-.L47 + .long .L56-.L47 + .long .L45-.L47 + .long .L57-.L47 + .long .L58-.L47 + .long .L59-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L60-.L47 + .long .L61-.L47 + .long .L45-.L47 + .long .L62-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L63-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L45-.L47 + .long .L46-.L47 + .text +.L48: + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC6(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + movsbl %al, %eax + cmpl $91, %eax + je .L65 + jmp .L72 +.L65: + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC7(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + movsbl %al, %eax + cmpl $66, %eax + je .L67 + cmpl $66, %eax + jg .L68 + cmpl $65, %eax + je .L69 + jmp .L75 +.L68: + cmpl $67, %eax + je .L70 + cmpl $68, %eax + je .L71 + jmp .L75 +.L69: + movl $13, -4(%rbp) + jmp .L66 +.L67: + movl $14, -4(%rbp) + jmp .L66 +.L70: + movl $15, -4(%rbp) + jmp .L66 +.L71: + movl $16, -4(%rbp) + nop +.L66: +.L75: + nop + jmp .L72 +.L56: + movl $16, -4(%rbp) + jmp .L72 +.L57: + movl $14, -4(%rbp) + jmp .L72 +.L58: + movl $13, -4(%rbp) + jmp .L72 +.L59: + movl $15, -4(%rbp) + jmp .L72 +.L50: + movl $1, -4(%rbp) + jmp .L72 +.L49: + movl $2, -4(%rbp) + jmp .L72 +.L55: + movl $3, -4(%rbp) + jmp .L72 +.L46: + movl $4, -4(%rbp) + jmp .L72 +.L60: + movl $5, -4(%rbp) + jmp .L72 +.L62: + movl $6, -4(%rbp) + jmp .L72 +.L63: + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC6(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + cmpb $121, %al + jne .L76 + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC7(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + cmpb $122, %al + jne .L76 + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC8(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + cmpb $122, %al + jne .L76 + leaq -1041(%rbp), %rdx + leaq -1040(%rbp), %rax + leaq .LC9(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_sscanf@PLT + movzbl -1041(%rbp), %eax + cmpb $121, %al + jne .L76 + movl $7, -4(%rbp) + jmp .L76 +.L51: + movl $8, -4(%rbp) + jmp .L72 +.L52: + movl $9, -4(%rbp) + jmp .L72 +.L53: + movl $10, -4(%rbp) + jmp .L72 +.L54: + movl $11, -4(%rbp) + jmp .L72 +.L61: + movl $12, -4(%rbp) + jmp .L72 +.L45: + movl $0, -4(%rbp) + jmp .L72 +.L76: + nop +.L72: + movl -4(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE9: + .size usr_input, .-usr_input + .type show_help, @function +show_help: +.LFB10: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movl 7984028(%rax), %eax + cmpl $5, %eax + ja .L86 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L80(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L80(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L80: + .long .L79-.L80 + .long .L81-.L80 + .long .L82-.L80 + .long .L83-.L80 + .long .L84-.L80 + .long .L85-.L80 + .text +.L79: + call show_help_play + jmp .L78 +.L83: + call show_help_pause + jmp .L78 +.L85: + call show_help_xyzzy + jmp .L78 +.L84: + call show_help_cheat + jmp .L78 +.L81: + call show_help_safe + jmp .L78 +.L82: + call show_help_gameover + nop +.L78: +.L86: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE10: + .size show_help, .-show_help + .section .rodata + .align 8 +.LC10: + .string "Move |Step |Quit |Confirm" + .align 8 +.LC11: + .string " %c%c%c%c %c%c%c%c| %c | %c | Enter\n" + .text + .type show_help_start, @function +show_help_start: +.LFB11: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC10(%rip), %rdi + call puts@PLT + subq $8, %rsp + pushq $113 + pushq $43 + pushq $62 + pushq $94 + pushq $118 + movl $60, %r9d + movl $108, %r8d + movl $107, %ecx + movl $106, %edx + movl $104, %esi + leaq .LC11(%rip), %rdi + movl $0, %eax + call printf@PLT + addq $48, %rsp + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE11: + .size show_help_start, .-show_help_start + .section .rodata + .align 8 +.LC12: + .string "Move |Step |Flag |? |Remove |Pause |Save |Quit |Confirm" + .align 8 +.LC13: + .string " %c%c%c%c %c%c%c%c| %c | Space| %c| BS | %c | %c | %c | Enter\n" + .text + .type show_help_play, @function +show_help_play: +.LFB12: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC12(%rip), %rdi + call puts@PLT + pushq $113 + pushq $115 + pushq $112 + pushq $102 + pushq $43 + pushq $62 + pushq $94 + pushq $118 + movl $60, %r9d + movl $108, %r8d + movl $107, %ecx + movl $106, %edx + movl $104, %esi + leaq .LC13(%rip), %rdi + movl $0, %eax + call printf@PLT + addq $64, %rsp + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE12: + .size show_help_play, .-show_help_play + .section .rodata +.LC14: + .string "Continue |Save |Quit |Confirm" + .align 8 +.LC15: + .string " %c | %c | %c | Enter" + .text + .type show_help_pause, @function +show_help_pause: +.LFB13: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC14(%rip), %rdi + call puts@PLT + movl $113, %ecx + movl $115, %edx + movl $112, %esi + leaq .LC15(%rip), %rdi + movl $0, %eax + call printf@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE13: + .size show_help_pause, .-show_help_pause + .section .rodata + .align 8 +.LC16: + .string "XYZZY |Move |Step |Flag |? |Remove |Save |Quit |Confirm" + .align 8 +.LC17: + .string " 0 1 2| %c%c%c%c %c%c%c%c| %c | Space| %c| BS | %c | %c | Enter\n" + .text + .type show_help_xyzzy, @function +show_help_xyzzy: +.LFB14: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC16(%rip), %rdi + call puts@PLT + subq $8, %rsp + pushq $113 + pushq $115 + pushq $102 + pushq $43 + pushq $62 + pushq $94 + pushq $118 + movl $60, %r9d + movl $108, %r8d + movl $107, %ecx + movl $106, %edx + movl $104, %esi + leaq .LC17(%rip), %rdi + movl $0, %eax + call printf@PLT + addq $64, %rsp + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE14: + .size show_help_xyzzy, .-show_help_xyzzy + .section .rodata + .align 8 +.LC18: + .string "Move |Step |Flag |? |Remove |Save |Quit |Confirm" + .align 8 +.LC19: + .string " %c%c%c%c %c%c%c%c| %c | Space| %c| BS | %c | %c | Enter\n" + .text + .type show_help_cheat, @function +show_help_cheat: +.LFB15: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC18(%rip), %rdi + call puts@PLT + subq $8, %rsp + pushq $113 + pushq $115 + pushq $102 + pushq $43 + pushq $62 + pushq $94 + pushq $118 + movl $60, %r9d + movl $108, %r8d + movl $107, %ecx + movl $106, %edx + movl $104, %esi + leaq .LC19(%rip), %rdi + movl $0, %eax + call printf@PLT + addq $64, %rsp + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE15: + .size show_help_cheat, .-show_help_cheat + .section .rodata +.LC20: + .string "Save |Quit |Confirm" +.LC21: + .string " %c | %c | Enter\n" + .text + .type show_help_safe, @function +show_help_safe: +.LFB16: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC20(%rip), %rdi + call puts@PLT + movl $113, %edx + movl $115, %esi + leaq .LC21(%rip), %rdi + movl $0, %eax + call printf@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE16: + .size show_help_safe, .-show_help_safe + .section .rodata +.LC22: + .string "Quit |Confirm" +.LC23: + .string " %c | Enter\n" + .text + .type show_help_gameover, @function +show_help_gameover: +.LFB17: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC22(%rip), %rdi + call puts@PLT + movl $113, %esi + leaq .LC23(%rip), %rdi + movl $0, %eax + call printf@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE17: + .size show_help_gameover, .-show_help_gameover + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/player/tmp/player_gui.s b/modules/player/tmp/player_gui.s new file mode 100644 index 0000000..b252821 --- /dev/null +++ b/modules/player/tmp/player_gui.s @@ -0,0 +1,2416 @@ + .file "player_gui.c" + .local box + .comm box,8,8 + .local box_help + .comm box_help,8,8 + .local box_help_in + .comm box_help_in,8,8 + .local button + .comm button,520,32 + .local tbutton + .comm tbutton,184,32 + .local entry_name + .comm entry_name,112,32 + .local entry_fname + .comm entry_fname,112,32 + .local box_board + .comm box_board,8,8 + .local box_board_in + .comm box_board_in,8,8 + .local pbar_board_tit + .comm pbar_board_tit,96,32 + .local box_board_tab + .comm box_board_tab,8,8 + .local table_board + .comm table_board,8,8 + .local field + .comm field,34848,32 + .local ebox_cheat + .comm ebox_cheat,24,16 + .local label_stit + .comm label_stit,88,32 + .local last_help + .comm last_help,4,4 + .local timeout + .comm timeout,16,16 + .local state + .comm state,4,4 + .section .rodata +.LC0: + .string "NEW" +.LC1: + .string "button-press-event" + .text + .globl player_gui_init + .type player_gui_init, @function +player_gui_init: +.LFB206: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %r15 + pushq %r14 + pushq %r13 + pushq %r12 + pushq %rbx + subq $40, %rsp + .cfi_offset 15, -24 + .cfi_offset 14, -32 + .cfi_offset 13, -40 + .cfi_offset 12, -48 + .cfi_offset 3, -56 + movq %rdi, -72(%rbp) + movq %rsi, -80(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_hbox_new@PLT + movq %rax, box(%rip) + movq box(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq window_gui(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movl $0, %esi + movl $1, %edi + call gtk_vbox_new@PLT + movq %rax, box_help(%rip) + call gtk_vseparator_new@PLT + movq %rax, -64(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box_board(%rip) + movq box_help(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + movq -64(%rbp), %rax + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rax, %rsi + call gtk_box_pack_start@PLT + movq box_board(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -80(%rbp), %rax + movq %rax, %rdi + call help_init + movq -80(%rbp), %rdx + movq -72(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call board_init + movl $0, -52(%rbp) + jmp .L2 +.L5: + movl $0, -56(%rbp) + jmp .L3 +.L4: + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 12+field(%rip), %rax + addq %rax, %rdx + movl -52(%rbp), %eax + movl %eax, (%rdx) + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 16+field(%rip), %rax + addq %rax, %rdx + movl -56(%rbp), %eax + movl %eax, (%rdx) + movq -72(%rbp), %rax + leaq 8(%rax), %rcx + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rsi + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rsi, %rdx + addq %rax, %rdx + leaq 24+field(%rip), %rax + addq %rdx, %rax + movq %rcx, (%rax) + movq -72(%rbp), %rax + leaq 12(%rax), %rcx + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rsi + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rsi, %rdx + addq %rax, %rdx + leaq 32+field(%rip), %rax + addq %rdx, %rax + movq %rcx, (%rax) + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 40+field(%rip), %rax + addq %rax, %rdx + movq -80(%rbp), %rax + movq %rax, (%rdx) + leaq .LC0(%rip), %rdi + call gtk_button_new_with_label@PLT + movq %rax, %rsi + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq field(%rip), %rax + addq %rdx, %rax + movq %rsi, (%rax) + movl -56(%rbp), %eax + movslq %eax, %rdx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + movl -52(%rbp), %edx + movslq %edx, %rdx + imulq $1584, %rdx, %rdx + addq %rax, %rdx + leaq field(%rip), %rax + leaq (%rdx,%rax), %rcx + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rsi + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rsi, %rdx + addq %rax, %rdx + leaq field(%rip), %rax + addq %rdx, %rax + movq (%rax), %rax + movl $0, %r9d + movl $0, %r8d + leaq callback_field(%rip), %rdx + leaq .LC1(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 12+field(%rip), %rax + addq %rdx, %rax + movl (%rax), %eax + addl $1, %eax + movl %eax, %r15d + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 12+field(%rip), %rax + addq %rdx, %rax + movl (%rax), %eax + movl %eax, %r14d + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 16+field(%rip), %rax + addq %rdx, %rax + movl (%rax), %eax + addl $1, %eax + movl %eax, %r13d + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 16+field(%rip), %rax + addq %rdx, %rax + movl (%rax), %eax + movl %eax, %r12d + movl -56(%rbp), %eax + movslq %eax, %rdx + movl -52(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq field(%rip), %rax + addq %rdx, %rax + movq (%rax), %rbx + call gtk_table_get_type@PLT + movq %rax, %rdx + movq table_board(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl %r15d, %r9d + movl %r14d, %r8d + movl %r13d, %ecx + movl %r12d, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_table_attach_defaults@PLT + addl $1, -56(%rbp) +.L3: + movq -72(%rbp), %rax + movl 4(%rax), %eax + cmpl -56(%rbp), %eax + jg .L4 + addl $1, -52(%rbp) +.L2: + movq -72(%rbp), %rax + movl (%rax), %eax + cmpl -52(%rbp), %eax + jg .L5 + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + nop + addq $40, %rsp + popq %rbx + popq %r12 + popq %r13 + popq %r14 + popq %r15 + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE206: + .size player_gui_init, .-player_gui_init + .globl player_gui_start + .type player_gui_start, @function +player_gui_start: +.LFB207: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + call show_help_start + movq -24(%rbp), %rdx + movq -16(%rbp), %rcx + movq -8(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call show_board_start + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + call gtk_main@PLT + movl $0, %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE207: + .size player_gui_start, .-player_gui_start + .globl player_gui + .type player_gui, @function +player_gui: +.LFB208: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq %rcx, -32(%rbp) + movq -8(%rbp), %rax + movl 7984028(%rax), %eax + movl %eax, state(%rip) + movq -8(%rbp), %rax + movq %rax, %rdi + call show_help + movq -32(%rbp), %rcx + movq -24(%rbp), %rdx + movq -16(%rbp), %rsi + movq -8(%rbp), %rax + movq %rax, %rdi + call show_board + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq window_gui(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + call gtk_main@PLT + movl $0, %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE208: + .size player_gui, .-player_gui + .globl player_gui_save_name + .type player_gui_save_name, @function +player_gui_save_name: +.LFB209: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movl %edx, -20(%rbp) + movq -8(%rbp), %rax + movq %rax, 96+entry_fname(%rip) + movq -16(%rbp), %rax + movq %rax, 104+entry_fname(%rip) + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq box_board(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + call gtk_main@PLT + movq box_board(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movl $7, last_help(%rip) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE209: + .size player_gui_save_name, .-player_gui_save_name + .globl player_gui_score_name + .type player_gui_score_name, @function +player_gui_score_name: +.LFB210: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movl %esi, -12(%rbp) + movq -8(%rbp), %rax + movq %rax, 96+entry_name(%rip) + movl -12(%rbp), %eax + movl %eax, 104+entry_name(%rip) + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq box_board(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + call gtk_main@PLT + movq box_board(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movl $7, last_help(%rip) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE210: + .size player_gui_score_name, .-player_gui_score_name + .globl player_gui_cleanup + .type player_gui_cleanup, @function +player_gui_cleanup: +.LFB211: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq box(%rip), %rax + movq %rax, %rdi + call gtk_widget_destroy@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE211: + .size player_gui_cleanup, .-player_gui_cleanup + .type board_init, @function +board_init: +.LFB212: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $40, %rsp + .cfi_offset 3, -24 + movq %rdi, -40(%rbp) + movq %rsi, -48(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box_board_in(%rip) + movq box_board_in(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_board(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + call gtk_progress_bar_new@PLT + movq %rax, pbar_board_tit(%rip) + movq pbar_board_tit(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_board_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + call gtk_progress_bar_get_type@PLT + movq %rax, %rdx + movq pbar_board_tit(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + leaq .LC0(%rip), %rsi + movq %rax, %rdi + call gtk_progress_bar_set_text@PLT + call gtk_progress_bar_get_type@PLT + movq %rax, %rdx + movq pbar_board_tit(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %esi + movq %rax, %rdi + call gtk_progress_bar_set_orientation@PLT + call gtk_hseparator_new@PLT + movq %rax, -32(%rbp) + movq -32(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_board_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movl $0, %esi + movl $1, %edi + call gtk_vbox_new@PLT + movq %rax, box_board_tab(%rip) + movq box_board_tab(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_board_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq -40(%rbp), %rax + movl 4(%rax), %eax + movl %eax, %ecx + movq -40(%rbp), %rax + movl (%rax), %eax + movl $1, %edx + movl %ecx, %esi + movl %eax, %edi + call gtk_table_new@PLT + movq %rax, table_board(%rip) + movq table_board(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_board_tab(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + call gtk_hseparator_new@PLT + movq %rax, -24(%rbp) + movq -24(%rbp), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_board_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + call gtk_event_box_new@PLT + movq %rax, ebox_cheat(%rip) + movq ebox_cheat(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_board_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + leaq .LC0(%rip), %rdi + call gtk_label_new@PLT + movq %rax, label_stit(%rip) + movq label_stit(%rip), %rbx + call gtk_container_get_type@PLT + movq %rax, %rdx + movq ebox_cheat(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_container_add@PLT + movl $7, 8+ebox_cheat(%rip) + movq -48(%rbp), %rax + movq %rax, 16+ebox_cheat(%rip) + movq ebox_cheat(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq ebox_cheat(%rip), %rcx + leaq callback_ebox(%rip), %rdx + leaq .LC1(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movl $0, 4+timeout(%rip) + movq -48(%rbp), %rax + movq %rax, 8+timeout(%rip) + movl $0, timeout(%rip) + movq box_board(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + nop + addq $40, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE212: + .size board_init, .-board_init + .type show_board_start, @function +show_board_start: +.LFB213: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $40, %rsp + .cfi_offset 3, -24 + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq %rdx, -40(%rbp) + movq -32(%rbp), %rax + movq %rax, %rdx + movl $80, %esi + leaq 16+pbar_board_tit(%rip), %rdi + movl $0, %eax + call snprintf@PLT + call gtk_progress_bar_get_type@PLT + movq %rax, %rdx + movq pbar_board_tit(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + leaq 16+pbar_board_tit(%rip), %rsi + movq %rax, %rdi + call gtk_progress_bar_set_text@PLT + pxor %xmm0, %xmm0 + movsd %xmm0, 8+pbar_board_tit(%rip) + movq 8+pbar_board_tit(%rip), %rbx + call gtk_progress_bar_get_type@PLT + movq %rax, %rdx + movq pbar_board_tit(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, -48(%rbp) + movsd -48(%rbp), %xmm0 + movq %rax, %rdi + call gtk_progress_bar_set_fraction@PLT + movq -24(%rbp), %rax + movq %rax, %rdi + call board_loop_start + movq -40(%rbp), %rax + movq %rax, %rdx + movl $80, %esi + leaq 8+label_stit(%rip), %rdi + movl $0, %eax + call snprintf@PLT + call gtk_label_get_type@PLT + movq %rax, %rdx + movq label_stit(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + leaq 8+label_stit(%rip), %rsi + movq %rax, %rdi + call gtk_label_set_text@PLT + movq box_board(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + nop + addq $40, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE213: + .size show_board_start, .-show_board_start + .type board_loop_start, @function +board_loop_start: +.LFB214: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movb $43, -9(%rbp) + movl $0, -4(%rbp) + jmp .L16 +.L19: + movl $0, -8(%rbp) + jmp .L17 +.L18: + movl -8(%rbp), %eax + movslq %eax, %rdx + movl -4(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 8+field(%rip), %rax + addq %rax, %rdx + movzbl -9(%rbp), %eax + movb %al, (%rdx) + movl -8(%rbp), %eax + movslq %eax, %rdx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $1584, %rdx, %rdx + addq %rax, %rdx + leaq field(%rip), %rax + addq %rdx, %rax + movq %rax, %rdi + call show_char + addl $1, -8(%rbp) +.L17: + movq -24(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L18 + addl $1, -4(%rbp) +.L16: + movq -24(%rbp), %rax + movl (%rax), %eax + cmpl -4(%rbp), %eax + jg .L19 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE214: + .size board_loop_start, .-board_loop_start + .type show_board, @function +show_board: +.LFB215: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $56, %rsp + .cfi_offset 3, -24 + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq %rdx, -40(%rbp) + movq %rcx, -48(%rbp) + movq -40(%rbp), %rax + movq %rax, %rdx + movl $80, %esi + leaq 16+pbar_board_tit(%rip), %rdi + movl $0, %eax + call snprintf@PLT + call gtk_progress_bar_get_type@PLT + movq %rax, %rdx + movq pbar_board_tit(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + leaq 16+pbar_board_tit(%rip), %rsi + movq %rax, %rdi + call gtk_progress_bar_set_text@PLT + movq -24(%rbp), %rax + movl 7984020(%rax), %eax + movq -24(%rbp), %rdx + movl 8(%rdx), %ecx + cltd + idivl %ecx + movl %edx, %eax + testl %eax, %eax + je .L21 + movq -24(%rbp), %rax + movl 7984020(%rax), %eax + pxor %xmm0, %xmm0 + cvtsi2sd %eax, %xmm0 + movq -24(%rbp), %rax + movl 8(%rax), %eax + pxor %xmm1, %xmm1 + cvtsi2sd %eax, %xmm1 + divsd %xmm1, %xmm0 + movsd %xmm0, 8+pbar_board_tit(%rip) + movq 8+pbar_board_tit(%rip), %rax + movsd .LC3(%rip), %xmm1 + movq %rax, -56(%rbp) + movsd -56(%rbp), %xmm0 + call fmod@PLT + movq %xmm0, %rax + movq %rax, 8+pbar_board_tit(%rip) + jmp .L22 +.L21: + movq -24(%rbp), %rax + movl 7984020(%rax), %eax + testl %eax, %eax + je .L23 + movsd .LC3(%rip), %xmm0 + movsd %xmm0, 8+pbar_board_tit(%rip) + jmp .L22 +.L23: + pxor %xmm0, %xmm0 + movsd %xmm0, 8+pbar_board_tit(%rip) +.L22: + movq 8+pbar_board_tit(%rip), %rbx + call gtk_progress_bar_get_type@PLT + movq %rax, %rdx + movq pbar_board_tit(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, -56(%rbp) + movsd -56(%rbp), %xmm0 + movq %rax, %rdi + call gtk_progress_bar_set_fraction@PLT + movq -32(%rbp), %rdx + movq -24(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call board_loop + movq -48(%rbp), %rax + movq %rax, %rdx + movl $80, %esi + leaq 8+label_stit(%rip), %rdi + movl $0, %eax + call snprintf@PLT + call gtk_label_get_type@PLT + movq %rax, %rdx + movq label_stit(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + leaq 8+label_stit(%rip), %rsi + movq %rax, %rdi + call gtk_label_set_text@PLT + movq -24(%rbp), %rax + movl 7984028(%rax), %eax + testl %eax, %eax + jne .L24 + leaq timeout(%rip), %rdx + leaq callback_timeout(%rip), %rsi + movl $1, %edi + call g_timeout_add_seconds@PLT + movl %eax, timeout(%rip) +.L24: + movq box_board(%rip), %rax + movq %rax, %rdi + call gtk_widget_show_all@PLT + nop + addq $56, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE215: + .size show_board, .-show_board + .type board_loop, @function +board_loop: +.LFB216: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movl $0, -4(%rbp) + jmp .L26 +.L29: + movl $0, -8(%rbp) + jmp .L27 +.L28: + movq -24(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl 12(%rax,%rdx,4), %eax + movl %eax, %edi + call set_char + movl %eax, %esi + movl -8(%rbp), %eax + movslq %eax, %rdx + movl -4(%rbp), %eax + movslq %eax, %rcx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + imulq $1584, %rcx, %rdx + addq %rax, %rdx + leaq 8+field(%rip), %rax + addq %rdx, %rax + movb %sil, (%rax) + movl -8(%rbp), %eax + movslq %eax, %rdx + movq %rdx, %rax + addq %rax, %rax + addq %rdx, %rax + salq $4, %rax + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $1584, %rdx, %rdx + addq %rax, %rdx + leaq field(%rip), %rax + addq %rdx, %rax + movq %rax, %rdi + call show_char + addl $1, -8(%rbp) +.L27: + movq -24(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L28 + addl $1, -4(%rbp) +.L26: + movq -24(%rbp), %rax + movl (%rax), %eax + cmpl -4(%rbp), %eax + jg .L29 + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE216: + .size board_loop, .-board_loop + .type set_char, @function +set_char: +.LFB217: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + cmpl $17, -20(%rbp) + ja .L31 + movl -20(%rbp), %eax + leaq 0(,%rax,4), %rdx + leaq .L33(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L33(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L33: + .long .L32-.L33 + .long .L34-.L33 + .long .L35-.L33 + .long .L36-.L33 + .long .L37-.L33 + .long .L38-.L33 + .long .L39-.L33 + .long .L40-.L33 + .long .L41-.L33 + .long .L42-.L33 + .long .L43-.L33 + .long .L44-.L33 + .long .L45-.L33 + .long .L46-.L33 + .long .L47-.L33 + .long .L48-.L33 + .long .L49-.L33 + .long .L50-.L33 + .text +.L32: + movb $35, -1(%rbp) + jmp .L31 +.L34: + movb $43, -1(%rbp) + jmp .L31 +.L35: + movb $42, -1(%rbp) + jmp .L31 +.L36: + movb $45, -1(%rbp) + jmp .L31 +.L37: + movb $118, -1(%rbp) + jmp .L31 +.L38: + movb $32, -1(%rbp) + jmp .L31 +.L39: + movb $49, -1(%rbp) + jmp .L31 +.L40: + movb $50, -1(%rbp) + jmp .L31 +.L41: + movb $51, -1(%rbp) + jmp .L31 +.L42: + movb $52, -1(%rbp) + jmp .L31 +.L43: + movb $53, -1(%rbp) + jmp .L31 +.L44: + movb $54, -1(%rbp) + jmp .L31 +.L45: + movb $55, -1(%rbp) + jmp .L31 +.L46: + movb $56, -1(%rbp) + jmp .L31 +.L47: + movb $33, -1(%rbp) + jmp .L31 +.L48: + movb $70, -1(%rbp) + jmp .L31 +.L49: + movb $63, -1(%rbp) + jmp .L31 +.L50: + movb $102, -1(%rbp) + nop +.L31: + movzbl -1(%rbp), %eax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE217: + .size set_char, .-set_char + .section .rodata +.LC4: + .string "%c" + .text + .type show_char, @function +show_char: +.LFB218: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq -24(%rbp), %rax + movzbl 8(%rax), %eax + movsbl %al, %edx + leaq -2(%rbp), %rax + leaq .LC4(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call sprintf@PLT + call gtk_button_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdx + leaq -2(%rbp), %rax + movq %rax, %rsi + movq %rdx, %rdi + call gtk_button_set_label@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE218: + .size show_char, .-show_char + .section .rodata +.LC5: + .string "clicked" +.LC6: + .string "toggled" +.LC7: + .string "activate" + .text + .type help_init, @function +help_init: +.LFB219: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $24, %rsp + .cfi_offset 3, -24 + movq %rdi, -24(%rbp) + movl $0, %esi + movl $0, %edi + call gtk_vbox_new@PLT + movq %rax, box_help_in(%rip) + movq box_help_in(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $5, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movabsq $7307164201690095451, %rax + movq %rax, 8+button(%rip) + movabsq $28823075096327265, %rax + movq %rax, 16+button(%rip) + movabsq $3557597914868312131, %rax + movq %rax, 112+button(%rip) + movb $0, 120+button(%rip) + movabsq $3629655508906240067, %rax + movq %rax, 216+button(%rip) + movb $0, 224+button(%rip) + movl $1969311839, 8+tbutton(%rip) + movw $25971, 12+tbutton(%rip) + movb $0, 14+tbutton(%rip) + movabsq $7957652872870518619, %rax + movq %rax, 88+tbutton(%rip) + movl $1970170228, 96+tbutton(%rip) + movw $101, 100+tbutton(%rip) + movl $1986089823, 320+button(%rip) + movw $101, 324+button(%rip) + movabsq $7881701908294691142, %rax + movq %rax, 16+entry_fname(%rip) + movw $14949, 24+entry_fname(%rip) + movb $0, 26+entry_fname(%rip) + movabsq $7881701908513386329, %rax + movq %rax, 16+entry_name(%rip) + movw $14949, 24+entry_name(%rip) + movb $0, 26+entry_name(%rip) + movl $1769296223, 424+button(%rip) + movw $116, 428+button(%rip) + movl $8, 88+button(%rip) + movl $9, 192+button(%rip) + movl $10, 296+button(%rip) + movl $5, 168+tbutton(%rip) + movl $6, 400+button(%rip) + movl $12, 504+button(%rip) + movl $5, 172+tbutton(%rip) + movq -24(%rbp), %rax + movq %rax, 96+button(%rip) + movq -24(%rbp), %rax + movq %rax, 200+button(%rip) + movq -24(%rbp), %rax + movq %rax, 304+button(%rip) + movq -24(%rbp), %rax + movq %rax, 176+tbutton(%rip) + movq -24(%rbp), %rax + movq %rax, 408+button(%rip) + movq -24(%rbp), %rax + movq %rax, 512+button(%rip) + leaq 8+button(%rip), %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, button(%rip) + leaq 112+button(%rip), %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, 104+button(%rip) + leaq 216+button(%rip), %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, 208+button(%rip) + leaq 8+tbutton(%rip), %rdi + call gtk_toggle_button_new_with_mnemonic@PLT + movq %rax, tbutton(%rip) + leaq 320+button(%rip), %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, 312+button(%rip) + leaq 16+entry_fname(%rip), %rdi + call gtk_label_new@PLT + movq %rax, 8+entry_fname(%rip) + call gtk_entry_new@PLT + movq %rax, entry_fname(%rip) + leaq 16+entry_name(%rip), %rdi + call gtk_label_new@PLT + movq %rax, 8+entry_name(%rip) + call gtk_entry_new@PLT + movq %rax, entry_name(%rip) + leaq 424+button(%rip), %rdi + call gtk_button_new_with_mnemonic@PLT + movq %rax, 416+button(%rip) + call gtk_toggle_button_get_type@PLT + movq %rax, %rdx + movq tbutton(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %esi + movq %rax, %rdi + call gtk_toggle_button_set_active@PLT + movq button(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq button(%rip), %rcx + leaq callback_button(%rip), %rdx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq 104+button(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq 104+button(%rip), %rcx + leaq callback_button(%rip), %rdx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq 208+button(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq 208+button(%rip), %rcx + leaq callback_button(%rip), %rdx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq tbutton(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq tbutton(%rip), %rcx + leaq callback_tbutton(%rip), %rdx + leaq .LC6(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq 312+button(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq 312+button(%rip), %rcx + leaq callback_button(%rip), %rdx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq entry_fname(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq entry_fname(%rip), %rcx + leaq callback_entry_fname(%rip), %rdx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq entry_name(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq entry_name(%rip), %rcx + leaq callback_entry_str(%rip), %rdx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq 416+button(%rip), %rax + movl $0, %r9d + movl $0, %r8d + leaq 416+button(%rip), %rcx + leaq callback_button(%rip), %rdx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call g_signal_connect_data@PLT + movq button(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq 104+button(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq 208+button(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq tbutton(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq 312+button(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq 8+entry_fname(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq entry_fname(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq 8+entry_name(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq entry_name(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $1, %ecx + movl $1, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + movq 416+button(%rip), %rbx + call gtk_box_get_type@PLT + movq %rax, %rdx + movq box_help_in(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movq %rbx, %rsi + movq %rax, %rdi + call gtk_box_pack_start@PLT + nop + addq $24, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE219: + .size help_init, .-help_init + .type show_help, @function +show_help: +.LFB220: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movl 7984028(%rax), %edx + movl last_help(%rip), %eax + cmpl %eax, %edx + je .L64 + movq -8(%rbp), %rax + movl 7984028(%rax), %eax + cmpl $5, %eax + ja .L56 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L58(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L58(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L58: + .long .L57-.L58 + .long .L59-.L58 + .long .L60-.L58 + .long .L61-.L58 + .long .L62-.L58 + .long .L63-.L58 + .text +.L57: + call show_help_play + jmp .L56 +.L61: + call show_help_pause + jmp .L56 +.L63: + call show_help_xyzzy + jmp .L56 +.L62: + call show_help_cheat + jmp .L56 +.L59: + call show_help_safe + jmp .L56 +.L60: + call show_help_gameover + nop +.L56: + movq -8(%rbp), %rax + movl 7984028(%rax), %eax + movl %eax, last_help(%rip) + movq box_help_in(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq box_help(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT +.L64: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE220: + .size show_help, .-show_help + .type show_help_start, @function +show_help_start: +.LFB221: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movl $7, last_help(%rip) + movq box_help_in(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq box_help(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE221: + .size show_help_start, .-show_help_start + .type show_help_play, @function +show_help_play: +.LFB222: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE222: + .size show_help_play, .-show_help_play + .type show_help_pause, @function +show_help_pause: +.LFB223: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE223: + .size show_help_pause, .-show_help_pause + .type show_help_xyzzy, @function +show_help_xyzzy: +.LFB224: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE224: + .size show_help_xyzzy, .-show_help_xyzzy + .type show_help_cheat, @function +show_help_cheat: +.LFB225: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE225: + .size show_help_cheat, .-show_help_cheat + .type show_help_safe, @function +show_help_safe: +.LFB226: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE226: + .size show_help_safe, .-show_help_safe + .type show_help_gameover, @function +show_help_gameover: +.LFB227: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 104+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 208+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq tbutton(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 312+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_fname(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 8+entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq entry_name(%rip), %rax + movq %rax, %rdi + call gtk_widget_hide@PLT + movq 416+button(%rip), %rax + movq %rax, %rdi + call gtk_widget_show@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE227: + .size show_help_gameover, .-show_help_gameover + .type callback_field, @function +callback_field: +.LFB228: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq %rdx, -40(%rbp) + movl state(%rip), %eax + testl %eax, %eax + jne .L73 + movl timeout(%rip), %eax + testl %eax, %eax + je .L73 + movl timeout(%rip), %eax + movl %eax, %edi + call g_source_remove@PLT +.L73: + movq -40(%rbp), %rax + movq %rax, -8(%rbp) + movq -8(%rbp), %rax + movq 24(%rax), %rax + movq -8(%rbp), %rdx + movl 12(%rdx), %edx + movl %edx, (%rax) + movq -8(%rbp), %rax + movq 32(%rax), %rax + movq -8(%rbp), %rdx + movl 16(%rdx), %edx + movl %edx, (%rax) + movq -32(%rbp), %rax + movl 52(%rax), %eax + cmpl $1, %eax + je .L75 + cmpl $3, %eax + je .L76 + jmp .L74 +.L75: + movq -32(%rbp), %rax + movl (%rax), %eax + cmpl $4, %eax + jne .L80 + movq -8(%rbp), %rax + movq 40(%rax), %rax + movl $1, (%rax) + jmp .L80 +.L76: + movq -32(%rbp), %rax + movl (%rax), %eax + cmpl $4, %eax + jne .L81 + movq -8(%rbp), %rax + movq 40(%rax), %rax + movl $2, (%rax) + jmp .L81 +.L80: + nop + jmp .L74 +.L81: + nop +.L74: + call gtk_main_quit@PLT + movl $0, %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE228: + .size callback_field, .-callback_field + .type callback_ebox, @function +callback_ebox: +.LFB229: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq %rdx, -40(%rbp) + movl state(%rip), %eax + testl %eax, %eax + jne .L83 + movl timeout(%rip), %eax + testl %eax, %eax + je .L83 + movl timeout(%rip), %eax + movl %eax, %edi + call g_source_remove@PLT +.L83: + movq -40(%rbp), %rax + movq %rax, -8(%rbp) + movq -32(%rbp), %rax + movl 52(%rax), %eax + cmpl $1, %eax + je .L85 + cmpl $3, %eax + jmp .L84 +.L85: + movq -32(%rbp), %rax + movl (%rax), %eax + cmpl $4, %eax + jne .L89 + movq -8(%rbp), %rax + movq 16(%rax), %rax + movq -8(%rbp), %rdx + movl 8(%rdx), %edx + movl %edx, (%rax) +.L89: + nop +.L84: + call gtk_main_quit@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE229: + .size callback_ebox, .-callback_ebox + .type callback_button, @function +callback_button: +.LFB230: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movl state(%rip), %eax + testl %eax, %eax + jne .L91 + movl timeout(%rip), %eax + testl %eax, %eax + je .L91 + movl timeout(%rip), %eax + movl %eax, %edi + call g_source_remove@PLT +.L91: + movq -32(%rbp), %rax + movq %rax, -8(%rbp) + movq -8(%rbp), %rax + movq 96(%rax), %rax + movq -8(%rbp), %rdx + movl 88(%rdx), %edx + movl %edx, (%rax) + call gtk_main_quit@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE230: + .size callback_button, .-callback_button + .type callback_tbutton, @function +callback_tbutton: +.LFB231: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $40, %rsp + .cfi_offset 3, -24 + movq %rdi, -40(%rbp) + movq %rsi, -48(%rbp) + movl state(%rip), %eax + testl %eax, %eax + jne .L93 + movl timeout(%rip), %eax + testl %eax, %eax + je .L93 + movl timeout(%rip), %eax + movl %eax, %edi + call g_source_remove@PLT +.L93: + movq -48(%rbp), %rax + movq %rax, -24(%rbp) + call gtk_toggle_button_get_type@PLT + movq %rax, %rdx + movq -40(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + call gtk_toggle_button_get_active@PLT + testl %eax, %eax + je .L94 + movq -24(%rbp), %rax + movq 176(%rax), %rax + movq -24(%rbp), %rdx + movl 168(%rdx), %edx + movl %edx, (%rax) + movq -24(%rbp), %rax + leaq 88(%rax), %rbx + call gtk_button_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_button_set_label@PLT + jmp .L95 +.L94: + movq -24(%rbp), %rax + movq 176(%rax), %rax + movq -24(%rbp), %rdx + movl 172(%rdx), %edx + movl %edx, (%rax) + movq -24(%rbp), %rax + leaq 8(%rax), %rbx + call gtk_button_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rbx, %rsi + movq %rax, %rdi + call gtk_button_set_label@PLT +.L95: + call gtk_main_quit@PLT + nop + addq $40, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE231: + .size callback_tbutton, .-callback_tbutton + .section .rodata +.LC8: + .string "Error %i" + .text + .type callback_entry_fname, @function +callback_entry_fname: +.LFB232: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + pushq %rbx + subq $136, %rsp + .cfi_offset 3, -24 + movq %rdi, -136(%rbp) + movq %rsi, -144(%rbp) + movq -144(%rbp), %rax + movq %rax, -24(%rbp) + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + call gtk_entry_get_text@PLT + movq %rax, -32(%rbp) + movq -24(%rbp), %rax + movq 104(%rax), %rsi + movq -24(%rbp), %rax + movq 96(%rax), %rax + movq -32(%rbp), %rdx + movq %rdx, %rcx + movl $0, %edx + movq %rax, %rdi + call alx_sscan_fname@PLT + movl %eax, -36(%rbp) + cmpl $0, -36(%rbp) + je .L97 + movl -36(%rbp), %edx + leaq -128(%rbp), %rax + movl %edx, %ecx + leaq .LC8(%rip), %rdx + movl $80, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdx + leaq -128(%rbp), %rax + movq %rax, %rsi + movq %rdx, %rdi + call gtk_entry_set_text@PLT + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movzwl 106(%rax), %eax + movzwl %ax, %ebx + call gtk_editable_get_type@PLT + movq %rax, %rdx + movq -24(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movl %ebx, %edx + movl $0, %esi + movq %rax, %rdi + call gtk_editable_select_region@PLT +.L97: + call gtk_main_quit@PLT + nop + addq $136, %rsp + popq %rbx + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE232: + .size callback_entry_fname, .-callback_entry_fname + .section .rodata +.LC9: + .string "%s" + .text + .type callback_entry_str, @function +callback_entry_str: +.LFB233: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $112, %rsp + movq %rdi, -104(%rbp) + movq %rsi, -112(%rbp) + movq -112(%rbp), %rax + movq %rax, -8(%rbp) + call gtk_entry_get_type@PLT + movq %rax, %rdx + movq -8(%rbp), %rax + movq (%rax), %rax + movq %rdx, %rsi + movq %rax, %rdi + call g_type_check_instance_cast@PLT + movq %rax, %rdi + call gtk_entry_get_text@PLT + movq %rax, -16(%rbp) + movq -8(%rbp), %rax + movl 104(%rax), %eax + movslq %eax, %rsi + movq -8(%rbp), %rax + movq 96(%rax), %rax + movq -16(%rbp), %rdx + movq %rdx, %rcx + leaq .LC9(%rip), %rdx + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + call gtk_main_quit@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE233: + .size callback_entry_str, .-callback_entry_str + .type callback_timeout, @function +callback_timeout: +.LFB234: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq -24(%rbp), %rax + movq %rax, -8(%rbp) + movq -8(%rbp), %rax + movq 8(%rax), %rax + movq -8(%rbp), %rdx + movl 4(%rdx), %edx + movl %edx, (%rax) + call gtk_main_quit@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE234: + .size callback_timeout, .-callback_timeout + .section .rodata + .align 8 +.LC3: + .long 0 + .long 1072693248 + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/player/tmp/player_iface.s b/modules/player/tmp/player_iface.s new file mode 100644 index 0000000..01fc247 --- /dev/null +++ b/modules/player/tmp/player_iface.s @@ -0,0 +1,930 @@ + .file "player_iface.c" + .comm player_iface_mode,4,4 + .local player_iface_position + .comm player_iface_position,20,16 + .local player_action + .comm player_action,4,4 + .text + .globl player_iface_init + .type player_iface_init, @function +player_iface_init: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movl %esi, -8(%rbp) + movl -4(%rbp), %eax + movl %eax, player_iface_position(%rip) + movl -8(%rbp), %eax + movl %eax, 4+player_iface_position(%rip) + movl player_iface_mode(%rip), %eax + cmpl $2, %eax + je .L3 + cmpl $3, %eax + je .L4 + cmpl $1, %eax + jmp .L2 +.L3: + movl -8(%rbp), %edx + movl -4(%rbp), %eax + movl %edx, %esi + movl %eax, %edi + call player_tui_init@PLT + jmp .L2 +.L4: + leaq player_action(%rip), %rsi + leaq player_iface_position(%rip), %rdi + call player_gui_init@PLT + nop +.L2: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size player_iface_init, .-player_iface_init + .globl player_iface_start + .type player_iface_start, @function +player_iface_start: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $80, %rsp + movq %rdi, -72(%rbp) + movq %rsi, -80(%rbp) + leaq -32(%rbp), %rax + movl $1918989395, (%rax) + movw $14964, 4(%rax) + movb $0, 6(%rax) + leaq -64(%rbp), %rax + movabsq $2340781297665454128, %rcx + movq %rcx, (%rax) + movw $48, 8(%rax) + movl $0, 8+player_iface_position(%rip) + movl $0, 12+player_iface_position(%rip) + movl $0, 16+player_iface_position(%rip) +.L12: + movl player_iface_mode(%rip), %eax + cmpl $2, %eax + je .L8 + cmpl $3, %eax + je .L9 + cmpl $1, %eax + jne .L7 + leaq -64(%rbp), %rdx + leaq -32(%rbp), %rax + leaq player_action(%rip), %rcx + movq %rax, %rsi + leaq player_iface_position(%rip), %rdi + call player_clui_start@PLT + jmp .L7 +.L8: + leaq -64(%rbp), %rdx + leaq -32(%rbp), %rax + leaq player_action(%rip), %rcx + movq %rax, %rsi + leaq player_iface_position(%rip), %rdi + call player_tui_start@PLT + jmp .L7 +.L9: + leaq -64(%rbp), %rdx + leaq -32(%rbp), %rax + movq %rax, %rsi + leaq player_iface_position(%rip), %rdi + call player_gui_start@PLT + nop +.L7: + call player_iface_act_start + movl player_action(%rip), %eax + cmpl $1, %eax + je .L11 + movl player_action(%rip), %eax + cmpl $12, %eax + jne .L12 +.L11: + movl 8+player_iface_position(%rip), %edx + movq -72(%rbp), %rax + movl %edx, (%rax) + movl 12+player_iface_position(%rip), %edx + movq -80(%rbp), %rax + movl %edx, (%rax) + movl player_action(%rip), %eax + cmpl $1, %eax + je .L14 + cmpl $12, %eax + je .L15 + jmp .L13 +.L14: + movl $0, -4(%rbp) + jmp .L13 +.L15: + movl $-1, -4(%rbp) + nop +.L13: + movl -4(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size player_iface_start, .-player_iface_start + .section .rodata +.LC0: + .string "Mines: %i/%i" +.LC1: + .string "%02i:%02i:%02i | %i" +.LC2: + .string "%02i:%02i | %i" + .text + .globl player_iface + .type player_iface, @function +player_iface: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $96, %rsp + movq %rdi, -72(%rbp) + movq %rsi, -80(%rbp) + movq %rdx, -88(%rbp) + movq -72(%rbp), %rax + movl 7984028(%rax), %eax + cmpl $5, %eax + ja .L18 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L20(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L20(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L20: + .long .L19-.L20 + .long .L21-.L20 + .long .L22-.L20 + .long .L19-.L20 + .long .L19-.L20 + .long .L19-.L20 + .text +.L19: + movq -72(%rbp), %rax + movl 8(%rax), %ecx + movq -72(%rbp), %rax + movl 7984020(%rax), %edx + leaq -32(%rbp), %rax + movl %ecx, %r8d + movl %edx, %ecx + leaq .LC0(%rip), %rdx + movl $20, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L18 +.L22: + leaq -32(%rbp), %rax + movabsq $4996267836634382663, %rdi + movq %rdi, (%rax) + movw $82, 8(%rax) + jmp .L18 +.L21: + leaq -32(%rbp), %rax + movabsq $2408978811056385881, %rdi + movq %rdi, (%rax) + movb $0, 8(%rax) + nop +.L18: + movq -80(%rbp), %rax + movl 4(%rax), %eax + cmpl $-1, %eax + je .L23 + movq -80(%rbp), %rax + movl 4(%rax), %ecx + movl $-1851608123, %edx + movl %ecx, %eax + imull %edx + leal (%rdx,%rcx), %eax + sarl $11, %eax + movl %eax, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + movl %eax, -4(%rbp) + movq -80(%rbp), %rax + movl 4(%rax), %esi + movl $-1851608123, %edx + movl %esi, %eax + imull %edx + leal (%rdx,%rsi), %eax + sarl $11, %eax + movl %eax, %edx + movl %esi, %eax + sarl $31, %eax + movl %edx, %ecx + subl %eax, %ecx + imull $3600, %ecx, %eax + subl %eax, %esi + movl %esi, %ecx + movl $-2004318071, %edx + movl %ecx, %eax + imull %edx + leal (%rdx,%rcx), %eax + sarl $5, %eax + movl %eax, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + movl %eax, -8(%rbp) + movq -80(%rbp), %rax + movl 4(%rax), %ecx + movl $-2004318071, %edx + movl %ecx, %eax + imull %edx + leal (%rdx,%rcx), %eax + sarl $5, %eax + movl %eax, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + movl %eax, -12(%rbp) + movl -12(%rbp), %eax + imull $60, %eax, %eax + subl %eax, %ecx + movl %ecx, %eax + movl %eax, -12(%rbp) + movq -80(%rbp), %rax + movl 4(%rax), %eax + cmpl $3599, %eax + jle .L24 + movq -80(%rbp), %rax + movl 8(%rax), %ecx + movl -12(%rbp), %edi + movl -8(%rbp), %esi + movl -4(%rbp), %edx + leaq -64(%rbp), %rax + subq $8, %rsp + pushq %rcx + movl %edi, %r9d + movl %esi, %r8d + movl %edx, %ecx + leaq .LC1(%rip), %rdx + movl $20, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + addq $16, %rsp + jmp .L26 +.L24: + movq -80(%rbp), %rax + movl 8(%rax), %esi + movl -12(%rbp), %ecx + movl -8(%rbp), %edx + leaq -64(%rbp), %rax + movl %esi, %r9d + movl %ecx, %r8d + movl %edx, %ecx + leaq .LC2(%rip), %rdx + movl $20, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L26 +.L23: + leaq -64(%rbp), %rax + movl $4271950, (%rax) +.L26: + movl player_iface_mode(%rip), %eax + cmpl $2, %eax + je .L28 + cmpl $3, %eax + je .L29 + cmpl $1, %eax + jne .L27 + leaq -64(%rbp), %rcx + leaq -32(%rbp), %rdx + movq -72(%rbp), %rax + leaq player_action(%rip), %r8 + leaq player_iface_position(%rip), %rsi + movq %rax, %rdi + call player_clui@PLT + jmp .L27 +.L28: + leaq -64(%rbp), %rcx + leaq -32(%rbp), %rdx + movq -72(%rbp), %rax + leaq player_action(%rip), %r8 + leaq player_iface_position(%rip), %rsi + movq %rax, %rdi + call player_tui@PLT + jmp .L27 +.L29: + leaq -64(%rbp), %rcx + leaq -32(%rbp), %rdx + movq -72(%rbp), %rax + leaq player_iface_position(%rip), %rsi + movq %rax, %rdi + call player_gui@PLT + nop +.L27: + movq -88(%rbp), %rax + movq %rax, %rdi + call player_iface_act + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size player_iface, .-player_iface + .globl player_iface_save_name + .type player_iface_save_name, @function +player_iface_save_name: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movl %edx, -20(%rbp) + movl player_iface_mode(%rip), %eax + cmpl $2, %eax + je .L33 + cmpl $3, %eax + je .L34 + cmpl $1, %eax + je .L35 + jmp .L36 +.L35: + movl -20(%rbp), %edx + movq -16(%rbp), %rcx + movq -8(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call player_clui_save_name@PLT + jmp .L32 +.L33: + movl -20(%rbp), %edx + movq -16(%rbp), %rcx + movq -8(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call player_tui_save_name@PLT + jmp .L32 +.L34: + movl -20(%rbp), %edx + movq -16(%rbp), %rcx + movq -8(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call player_gui_save_name@PLT + nop +.L32: +.L36: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size player_iface_save_name, .-player_iface_save_name + .globl player_iface_score_name + .type player_iface_score_name, @function +player_iface_score_name: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movl %esi, -12(%rbp) + movl player_iface_mode(%rip), %eax + cmpl $2, %eax + je .L39 + cmpl $3, %eax + je .L40 + cmpl $1, %eax + je .L41 + jmp .L42 +.L41: + movl -12(%rbp), %edx + movq -8(%rbp), %rax + movl %edx, %esi + movq %rax, %rdi + call player_clui_score_name@PLT + jmp .L38 +.L39: + movl -12(%rbp), %edx + movq -8(%rbp), %rax + movl %edx, %esi + movq %rax, %rdi + call player_tui_score_name@PLT + jmp .L38 +.L40: + movl -12(%rbp), %edx + movq -8(%rbp), %rax + movl %edx, %esi + movq %rax, %rdi + call player_gui_score_name@PLT + nop +.L38: +.L42: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size player_iface_score_name, .-player_iface_score_name + .globl player_iface_cleanup + .type player_iface_cleanup, @function +player_iface_cleanup: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl player_iface_mode(%rip), %eax + cmpl $2, %eax + je .L45 + cmpl $3, %eax + je .L46 + cmpl $1, %eax + jmp .L44 +.L45: + call player_tui_cleanup@PLT + jmp .L44 +.L46: + call player_gui_cleanup@PLT + nop +.L44: + movq stdout(%rip), %rax + movq %rax, %rdi + call fflush@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size player_iface_cleanup, .-player_iface_cleanup + .type player_iface_act, @function +player_iface_act: +.LFB6: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movl player_action(%rip), %eax + cmpl $17, %eax + ja .L58 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L51(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L51(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L51: + .long .L58-.L51 + .long .L50-.L51 + .long .L50-.L51 + .long .L50-.L51 + .long .L50-.L51 + .long .L52-.L51 + .long .L52-.L51 + .long .L52-.L51 + .long .L52-.L51 + .long .L52-.L51 + .long .L52-.L51 + .long .L52-.L51 + .long .L52-.L51 + .long .L53-.L51 + .long .L54-.L51 + .long .L55-.L51 + .long .L56-.L51 + .long .L57-.L51 + .text +.L50: + movq -8(%rbp), %rax + movq %rax, %rdi + call player_iface_act_play + jmp .L49 +.L52: + movq -8(%rbp), %rax + movq %rax, %rdi + call player_iface_act_game + jmp .L49 +.L53: + call player_iface_move_up + jmp .L49 +.L54: + call player_iface_move_down + jmp .L49 +.L55: + call player_iface_move_right + jmp .L49 +.L56: + call player_iface_move_left + jmp .L49 +.L57: + call highlight_cursor + nop +.L49: +.L58: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE6: + .size player_iface_act, .-player_iface_act + .type player_iface_act_start, @function +player_iface_act_start: +.LFB7: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl player_action(%rip), %eax + cmpl $17, %eax + ja .L68 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L62(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L62(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L62: + .long .L68-.L62 + .long .L69-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L68-.L62 + .long .L69-.L62 + .long .L63-.L62 + .long .L64-.L62 + .long .L65-.L62 + .long .L66-.L62 + .long .L67-.L62 + .text +.L63: + call player_iface_move_up + jmp .L60 +.L64: + call player_iface_move_down + jmp .L60 +.L65: + call player_iface_move_right + jmp .L60 +.L66: + call player_iface_move_left + jmp .L60 +.L67: + call highlight_cursor + jmp .L60 +.L69: + nop +.L60: +.L68: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE7: + .size player_iface_act_start, .-player_iface_act_start + .type player_iface_act_play, @function +player_iface_act_play: +.LFB8: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -8(%rbp) + movl player_action(%rip), %eax + cmpl $2, %eax + je .L72 + cmpl $2, %eax + jg .L73 + cmpl $1, %eax + je .L74 + jmp .L71 +.L73: + cmpl $3, %eax + je .L75 + cmpl $4, %eax + je .L76 + jmp .L71 +.L74: + movl 8+player_iface_position(%rip), %ecx + movl 12+player_iface_position(%rip), %edx + movq -8(%rbp), %rax + movslq %edx, %rdx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl $1, 4(%rax,%rdx,4) + jmp .L71 +.L72: + movl 8+player_iface_position(%rip), %ecx + movl 12+player_iface_position(%rip), %edx + movq -8(%rbp), %rax + movslq %edx, %rdx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl $2, 4(%rax,%rdx,4) + jmp .L71 +.L75: + movl 8+player_iface_position(%rip), %ecx + movl 12+player_iface_position(%rip), %edx + movq -8(%rbp), %rax + movslq %edx, %rdx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl $3, 4(%rax,%rdx,4) + jmp .L71 +.L76: + movl 8+player_iface_position(%rip), %ecx + movl 12+player_iface_position(%rip), %edx + movq -8(%rbp), %rax + movslq %edx, %rdx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl $4, 4(%rax,%rdx,4) + nop +.L71: + movq -8(%rbp), %rax + movl $1, (%rax) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE8: + .size player_iface_act_play, .-player_iface_act_play + .type player_iface_act_game, @function +player_iface_act_game: +.LFB9: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -8(%rbp) + movl player_action(%rip), %eax + subl $5, %eax + cmpl $7, %eax + ja .L88 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L80(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L80(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L80: + .long .L79-.L80 + .long .L81-.L80 + .long .L82-.L80 + .long .L83-.L80 + .long .L84-.L80 + .long .L85-.L80 + .long .L86-.L80 + .long .L87-.L80 + .text +.L79: + movq -8(%rbp), %rax + movl $2, (%rax) + jmp .L78 +.L81: + movq -8(%rbp), %rax + movl $3, (%rax) + jmp .L78 +.L82: + movq -8(%rbp), %rax + movl $4, (%rax) + jmp .L78 +.L83: + movq -8(%rbp), %rax + movl $5, (%rax) + jmp .L78 +.L84: + movq -8(%rbp), %rax + movl $6, (%rax) + jmp .L78 +.L85: + movq -8(%rbp), %rax + movl $7, (%rax) + jmp .L78 +.L86: + movq -8(%rbp), %rax + movl $8, (%rax) + jmp .L78 +.L87: + movq -8(%rbp), %rax + movl $9, (%rax) + nop +.L78: +.L88: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE9: + .size player_iface_act_game, .-player_iface_act_game + .type player_iface_move_up, @function +player_iface_move_up: +.LFB10: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl 8+player_iface_position(%rip), %eax + testl %eax, %eax + je .L90 + movl 8+player_iface_position(%rip), %eax + subl $1, %eax + movl %eax, 8+player_iface_position(%rip) + jmp .L92 +.L90: + movl player_iface_position(%rip), %eax + subl $1, %eax + movl %eax, 8+player_iface_position(%rip) +.L92: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE10: + .size player_iface_move_up, .-player_iface_move_up + .type player_iface_move_down, @function +player_iface_move_down: +.LFB11: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl 8+player_iface_position(%rip), %eax + movl player_iface_position(%rip), %edx + subl $1, %edx + cmpl %edx, %eax + je .L94 + movl 8+player_iface_position(%rip), %eax + addl $1, %eax + movl %eax, 8+player_iface_position(%rip) + jmp .L96 +.L94: + movl $0, 8+player_iface_position(%rip) +.L96: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE11: + .size player_iface_move_down, .-player_iface_move_down + .type player_iface_move_right, @function +player_iface_move_right: +.LFB12: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl 12+player_iface_position(%rip), %eax + movl 4+player_iface_position(%rip), %edx + subl $1, %edx + cmpl %edx, %eax + je .L98 + movl 12+player_iface_position(%rip), %eax + addl $1, %eax + movl %eax, 12+player_iface_position(%rip) + jmp .L100 +.L98: + movl $0, 12+player_iface_position(%rip) +.L100: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE12: + .size player_iface_move_right, .-player_iface_move_right + .type player_iface_move_left, @function +player_iface_move_left: +.LFB13: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl 12+player_iface_position(%rip), %eax + testl %eax, %eax + je .L102 + movl 12+player_iface_position(%rip), %eax + subl $1, %eax + movl %eax, 12+player_iface_position(%rip) + jmp .L104 +.L102: + movl 4+player_iface_position(%rip), %eax + subl $1, %eax + movl %eax, 12+player_iface_position(%rip) +.L104: + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE13: + .size player_iface_move_left, .-player_iface_move_left + .type highlight_cursor, @function +highlight_cursor: +.LFB14: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl 16+player_iface_position(%rip), %eax + testl %eax, %eax + sete %al + movzbl %al, %eax + movl %eax, 16+player_iface_position(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE14: + .size highlight_cursor, .-highlight_cursor + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/player/tmp/player_tui.s b/modules/player/tmp/player_tui.s new file mode 100644 index 0000000..3e952d5 --- /dev/null +++ b/modules/player/tmp/player_tui.s @@ -0,0 +1,3117 @@ + .file "player_tui.c" + .comm flag_color,1,1 + .local win_board + .comm win_board,8,8 + .local win_help + .comm win_help,8,8 + .local last_help + .comm last_help,4,4 + .text + .globl player_tui_init + .type player_tui_init, @function +player_tui_init: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movl %edi, -36(%rbp) + movl %esi, -40(%rbp) + call alx_resume_curses@PLT + movb $0, flag_color(%rip) + call has_colors@PLT + testb %al, %al + je .L2 + movb $1, flag_color(%rip) + movl $7, %edx + movl $4, %esi + movl $1, %edi + call init_pair@PLT + movl $7, %edx + movl $2, %esi + movl $2, %edi + call init_pair@PLT + movl $7, %edx + movl $1, %esi + movl $3, %edi + call init_pair@PLT + movl $7, %edx + movl $4, %esi + movl $4, %edi + call init_pair@PLT + movl $7, %edx + movl $1, %esi + movl $5, %edi + call init_pair@PLT + movl $7, %edx + movl $6, %esi + movl $6, %edi + call init_pair@PLT + movl $7, %edx + movl $0, %esi + movl $7, %edi + call init_pair@PLT + movl $7, %edx + movl $0, %esi + movl $8, %edi + call init_pair@PLT + movl $7, %edx + movl $0, %esi + movl $9, %edi + call init_pair@PLT + movl $0, %edx + movl $7, %esi + movl $10, %edi + call init_pair@PLT + movl $0, %edx + movl $7, %esi + movl $11, %edi + call init_pair@PLT + movl $0, %edx + movl $1, %esi + movl $12, %edi + call init_pair@PLT + movl $0, %edx + movl $4, %esi + movl $13, %edi + call init_pair@PLT + movl $0, %edx + movl $1, %esi + movl $14, %edi + call init_pair@PLT + movl $0, %edx + movl $1, %esi + movl $15, %edi + call init_pair@PLT + movl $1, %edx + movl $0, %esi + movl $16, %edi + call init_pair@PLT + movl $1, %edx + movl $3, %esi + movl $17, %edi + call init_pair@PLT + movl $-1, %edx + movl $-1, %esi + movl $18, %edi + call init_pair@PLT +.L2: + movl -36(%rbp), %eax + addl $2, %eax + movl %eax, -4(%rbp) + movl -40(%rbp), %eax + addl %eax, %eax + addl $3, %eax + movl %eax, -8(%rbp) + movl $0, -12(%rbp) + movl $11, -16(%rbp) + movl -16(%rbp), %ecx + movl -12(%rbp), %edx + movl -8(%rbp), %esi + movl -4(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, win_board(%rip) + movl $24, -20(%rbp) + movl $10, -24(%rbp) + movl $0, -28(%rbp) + movl $0, -32(%rbp) + movl -32(%rbp), %ecx + movl -28(%rbp), %edx + movl -24(%rbp), %esi + movl -20(%rbp), %eax + movl %eax, %edi + call newwin@PLT + movq %rax, win_help(%rip) + movq win_board(%rip), %rax + movl $1, %esi + movq %rax, %rdi + call keypad@PLT + call noecho@PLT + movq win_board(%rip), %rax + movl $100, %esi + movq %rax, %rdi + call wtimeout@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size player_tui_init, .-player_tui_init + .globl player_tui_start + .type player_tui_start, @function +player_tui_start: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq %rcx, -32(%rbp) + call show_help_start + movq -24(%rbp), %rdx + movq -16(%rbp), %rcx + movq -8(%rbp), %rax + movq %rcx, %rsi + movq %rax, %rdi + call show_board_start + call usr_input + movl %eax, %edx + movq -32(%rbp), %rax + movl %edx, (%rax) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size player_tui_start, .-player_tui_start + .globl player_tui + .type player_tui, @function +player_tui: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq %rcx, -32(%rbp) + movq %r8, -40(%rbp) + movq -8(%rbp), %rax + movq %rax, %rdi + call show_help + movq -32(%rbp), %rcx + movq -24(%rbp), %rdx + movq -16(%rbp), %rsi + movq -8(%rbp), %rax + movq %rax, %rdi + call show_board + call usr_input + movl %eax, %edx + movq -40(%rbp), %rax + movl %edx, (%rax) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size player_tui, .-player_tui + .section .rodata +.LC0: + .string "File name:" + .text + .globl player_tui_save_name + .type player_tui_save_name, @function +player_tui_save_name: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movl %edx, -36(%rbp) + movl $60, -4(%rbp) + movl $10, -8(%rbp) + movl -8(%rbp), %ecx + movl -4(%rbp), %edx + movq -32(%rbp), %rsi + movq -24(%rbp), %rax + subq $8, %rsp + pushq $0 + leaq .LC0(%rip), %r9 + movl %ecx, %r8d + movl %edx, %ecx + movl $0, %edx + movq %rax, %rdi + movl $0, %eax + call alx_w_getfname@PLT + addq $16, %rsp + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size player_tui_save_name, .-player_tui_save_name + .section .rodata +.LC1: + .string "Your name:" + .text + .globl player_tui_score_name + .type player_tui_score_name, @function +player_tui_score_name: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movl %esi, -28(%rbp) + movl $60, -4(%rbp) + movl $10, -8(%rbp) + movl -8(%rbp), %ecx + movl -4(%rbp), %edx + movl -28(%rbp), %esi + movq -24(%rbp), %rax + movl $0, %r9d + leaq .LC1(%rip), %r8 + movq %rax, %rdi + movl $0, %eax + call alx_w_getstr@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size player_tui_score_name, .-player_tui_score_name + .globl player_tui_cleanup + .type player_tui_cleanup, @function +player_tui_cleanup: +.LFB5: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq win_board(%rip), %rax + movq %rax, %rdi + call alx_win_del@PLT + movq win_help(%rip), %rax + movq %rax, %rdi + call alx_win_del@PLT + call alx_pause_curses@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE5: + .size player_tui_cleanup, .-player_tui_cleanup + .type show_board_start, @function +show_board_start: +.LFB6: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq win_board(%rip), %rax + movq %rax, %rdi + call werase@PLT + movq win_board(%rip), %rax + subq $8, %rsp + pushq $0 + pushq $0 + pushq $0 + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wborder@PLT + addq $32, %rsp + movq win_board(%rip), %rax + movq -16(%rbp), %rdx + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_title@PLT + movq win_board(%rip), %rax + movq -24(%rbp), %rdx + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_subtitle@PLT + movq -8(%rbp), %rax + movq %rax, %rdi + call board_loop_start + movq -8(%rbp), %rax + movl 12(%rax), %eax + addl $1, %eax + leal (%rax,%rax), %edx + movq -8(%rbp), %rax + movl 8(%rax), %eax + leal 1(%rax), %ecx + movq win_board(%rip), %rax + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + movq win_board(%rip), %rax + movq %rax, %rdi + call wrefresh@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE6: + .size show_board_start, .-show_board_start + .type board_loop_start, @function +board_loop_start: +.LFB7: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -40(%rbp) + movl $43, -12(%rbp) + movl $0, -4(%rbp) + jmp .L10 +.L13: + movl -4(%rbp), %eax + addl $1, %eax + movl %eax, -16(%rbp) + movl $0, -8(%rbp) + jmp .L11 +.L12: + movl -8(%rbp), %eax + addl $1, %eax + addl %eax, %eax + movl %eax, -20(%rbp) + movl -12(%rbp), %edx + movl -20(%rbp), %ecx + movl -16(%rbp), %eax + movl %ecx, %esi + movl %eax, %edi + call show_char + addl $1, -8(%rbp) +.L11: + movq -40(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L12 + addl $1, -4(%rbp) +.L10: + movq -40(%rbp), %rax + movl (%rax), %eax + cmpl -4(%rbp), %eax + jg .L13 + movq -40(%rbp), %rax + movl 16(%rax), %eax + testl %eax, %eax + je .L15 + movq -40(%rbp), %rdx + movl -12(%rbp), %eax + movq %rdx, %rsi + movl %eax, %edi + call highlight_cursor +.L15: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE7: + .size board_loop_start, .-board_loop_start + .type highlight_cursor_start, @function +highlight_cursor_start: +.LFB8: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq -24(%rbp), %rax + movl 8(%rax), %eax + addl $1, %eax + movl %eax, -4(%rbp) + movq -24(%rbp), %rax + movl 12(%rax), %eax + addl $1, %eax + addl %eax, %eax + movl %eax, -8(%rbp) + movl $43, -12(%rbp) + movl $17, -16(%rbp) + movzbl flag_color(%rip), %eax + testb %al, %al + je .L17 + movl -16(%rbp), %eax + cltq + salq $8, %rax + orq $2097152, %rax + movq %rax, %rcx + movq win_board(%rip), %rax + movl $0, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wattr_on@PLT +.L17: + movl -8(%rbp), %eax + leal -1(%rax), %edx + movq win_board(%rip), %rax + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L19 + movq win_board(%rip), %rax + movl $60, %esi + movq %rax, %rdi + call waddch@PLT +.L19: + movq win_board(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L21 + movl -12(%rbp), %eax + movslq %eax, %rdx + movq win_board(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L21: + movl -8(%rbp), %eax + leal 1(%rax), %edx + movq win_board(%rip), %rax + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L23 + movq win_board(%rip), %rax + movl $62, %esi + movq %rax, %rdi + call waddch@PLT +.L23: + movzbl flag_color(%rip), %eax + testb %al, %al + je .L25 + movl -16(%rbp), %eax + cltq + salq $8, %rax + orq $2097152, %rax + movq %rax, %rcx + movq win_board(%rip), %rax + movl $0, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wattr_off@PLT +.L25: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE8: + .size highlight_cursor_start, .-highlight_cursor_start + .type show_board, @function +show_board: +.LFB9: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq %rdx, -24(%rbp) + movq %rcx, -32(%rbp) + movq win_board(%rip), %rax + movq %rax, %rdi + call werase@PLT + movq win_board(%rip), %rax + subq $8, %rsp + pushq $0 + pushq $0 + pushq $0 + movl $0, %r9d + movl $0, %r8d + movl $0, %ecx + movl $0, %edx + movl $0, %esi + movq %rax, %rdi + call wborder@PLT + addq $32, %rsp + movq win_board(%rip), %rax + movq -24(%rbp), %rdx + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_title@PLT + movq win_board(%rip), %rax + movq -32(%rbp), %rdx + movq %rdx, %rsi + movq %rax, %rdi + call alx_ncur_prn_subtitle@PLT + movq -16(%rbp), %rdx + movq -8(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call board_loop + movq -16(%rbp), %rax + movl 12(%rax), %eax + addl $1, %eax + leal (%rax,%rax), %edx + movq -16(%rbp), %rax + movl 8(%rax), %eax + leal 1(%rax), %ecx + movq win_board(%rip), %rax + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + movq win_board(%rip), %rax + movq %rax, %rdi + call wrefresh@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE9: + .size show_board, .-show_board + .type board_loop, @function +board_loop: +.LFB10: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $48, %rsp + movq %rdi, -40(%rbp) + movq %rsi, -48(%rbp) + movl $0, -4(%rbp) + jmp .L28 +.L38: + movl -4(%rbp), %eax + addl $1, %eax + movl %eax, -12(%rbp) + movl $0, -8(%rbp) + jmp .L29 +.L31: + movl -8(%rbp), %eax + addl $1, %eax + addl %eax, %eax + movl %eax, -16(%rbp) + movq -40(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + addq $998004, %rdx + movl (%rax,%rdx,4), %eax + cmpl $1, %eax + jne .L30 + movq -40(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl 12(%rax,%rdx,4), %eax + movl %eax, %edi + call set_char + movl %eax, -20(%rbp) + movl -20(%rbp), %edx + movl -16(%rbp), %ecx + movl -12(%rbp), %eax + movl %ecx, %esi + movl %eax, %edi + call show_char +.L30: + addl $1, -8(%rbp) +.L29: + movq -40(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L31 + movl $0, -8(%rbp) + jmp .L32 +.L34: + movl -8(%rbp), %eax + addl $1, %eax + addl %eax, %eax + movl %eax, -16(%rbp) + movq -40(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + addq $998004, %rdx + movl (%rax,%rdx,4), %eax + cmpl $1, %eax + je .L33 + movq -40(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl 12(%rax,%rdx,4), %eax + movl %eax, %edi + call set_char + movl %eax, -20(%rbp) + movl -20(%rbp), %edx + movl -16(%rbp), %ecx + movl -12(%rbp), %eax + movl %ecx, %esi + movl %eax, %edi + call show_char +.L33: + addl $1, -8(%rbp) +.L32: + movq -40(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L34 + movl $0, -8(%rbp) + jmp .L35 +.L37: + movl -8(%rbp), %eax + addl $1, %eax + addl %eax, %eax + movl %eax, -16(%rbp) + movq -40(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + addq $998004, %rdx + movl (%rax,%rdx,4), %eax + cmpl $-1, %eax + jne .L36 + movq -40(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl 12(%rax,%rdx,4), %eax + movl %eax, %edi + call set_char + movl %eax, -20(%rbp) + movl -20(%rbp), %edx + movl -16(%rbp), %ecx + movl -12(%rbp), %eax + movl %ecx, %esi + movl %eax, %edi + call show_char +.L36: + addl $1, -8(%rbp) +.L35: + movq -40(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L37 + addl $1, -4(%rbp) +.L28: + movq -40(%rbp), %rax + movl (%rax), %eax + cmpl -4(%rbp), %eax + jg .L38 + movq -48(%rbp), %rax + movl 16(%rax), %eax + testl %eax, %eax + je .L40 + movq -48(%rbp), %rax + movl 8(%rax), %ecx + movq -48(%rbp), %rax + movl 12(%rax), %edx + movq -40(%rbp), %rax + movslq %edx, %rdx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl 12(%rax,%rdx,4), %eax + movl %eax, %edi + call set_char + movl %eax, -20(%rbp) + movq -48(%rbp), %rdx + movl -20(%rbp), %eax + movq %rdx, %rsi + movl %eax, %edi + call highlight_cursor +.L40: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE10: + .size board_loop, .-board_loop + .type highlight_cursor, @function +highlight_cursor: +.LFB11: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -20(%rbp) + movq %rsi, -32(%rbp) + movq -32(%rbp), %rax + movl 8(%rax), %eax + addl $1, %eax + movl %eax, -4(%rbp) + movq -32(%rbp), %rax + movl 12(%rax), %eax + addl $1, %eax + addl %eax, %eax + movl %eax, -8(%rbp) + movl $17, -12(%rbp) + movzbl flag_color(%rip), %eax + testb %al, %al + je .L42 + movl -12(%rbp), %eax + cltq + salq $8, %rax + orq $2097152, %rax + movq %rax, %rcx + movq win_board(%rip), %rax + movl $0, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wattr_on@PLT +.L42: + movl -8(%rbp), %eax + leal -1(%rax), %edx + movq win_board(%rip), %rax + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L44 + movq win_board(%rip), %rax + movl $60, %esi + movq %rax, %rdi + call waddch@PLT +.L44: + movq win_board(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L46 + movl -20(%rbp), %eax + movslq %eax, %rdx + movq win_board(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L46: + movl -8(%rbp), %eax + leal 1(%rax), %edx + movq win_board(%rip), %rax + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L48 + movq win_board(%rip), %rax + movl $62, %esi + movq %rax, %rdi + call waddch@PLT +.L48: + movzbl flag_color(%rip), %eax + testb %al, %al + je .L50 + movl -12(%rbp), %eax + cltq + salq $8, %rax + orq $2097152, %rax + movq %rax, %rcx + movq win_board(%rip), %rax + movl $0, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wattr_off@PLT +.L50: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE11: + .size highlight_cursor, .-highlight_cursor + .type set_char, @function +set_char: +.LFB12: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl %edi, -20(%rbp) + cmpl $17, -20(%rbp) + ja .L52 + movl -20(%rbp), %eax + leaq 0(,%rax,4), %rdx + leaq .L54(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L54(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L54: + .long .L53-.L54 + .long .L55-.L54 + .long .L56-.L54 + .long .L57-.L54 + .long .L58-.L54 + .long .L59-.L54 + .long .L60-.L54 + .long .L61-.L54 + .long .L62-.L54 + .long .L63-.L54 + .long .L64-.L54 + .long .L65-.L54 + .long .L66-.L54 + .long .L67-.L54 + .long .L68-.L54 + .long .L69-.L54 + .long .L70-.L54 + .long .L71-.L54 + .text +.L53: + movl $35, -4(%rbp) + jmp .L52 +.L55: + movl $43, -4(%rbp) + jmp .L52 +.L56: + movl $42, -4(%rbp) + jmp .L52 +.L57: + movl $45, -4(%rbp) + jmp .L52 +.L58: + movl $118, -4(%rbp) + jmp .L52 +.L59: + movl $32, -4(%rbp) + jmp .L52 +.L60: + movl $49, -4(%rbp) + jmp .L52 +.L61: + movl $50, -4(%rbp) + jmp .L52 +.L62: + movl $51, -4(%rbp) + jmp .L52 +.L63: + movl $52, -4(%rbp) + jmp .L52 +.L64: + movl $53, -4(%rbp) + jmp .L52 +.L65: + movl $54, -4(%rbp) + jmp .L52 +.L66: + movl $55, -4(%rbp) + jmp .L52 +.L67: + movl $56, -4(%rbp) + jmp .L52 +.L68: + movl $33, -4(%rbp) + jmp .L52 +.L69: + movl $70, -4(%rbp) + jmp .L52 +.L70: + movl $63, -4(%rbp) + jmp .L52 +.L71: + movl $102, -4(%rbp) + nop +.L52: + movl -4(%rbp), %eax + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE12: + .size set_char, .-set_char + .type show_char, @function +show_char: +.LFB13: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movl %edi, -20(%rbp) + movl %esi, -24(%rbp) + movl %edx, -28(%rbp) + movl -28(%rbp), %eax + subl $32, %eax + cmpl $86, %eax + ja .L74 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L76(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L76(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L76: + .long .L75-.L76 + .long .L77-.L76 + .long .L74-.L76 + .long .L78-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L79-.L76 + .long .L80-.L76 + .long .L74-.L76 + .long .L80-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L81-.L76 + .long .L82-.L76 + .long .L83-.L76 + .long .L84-.L76 + .long .L85-.L76 + .long .L86-.L76 + .long .L87-.L76 + .long .L88-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L89-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L90-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L91-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L74-.L76 + .long .L79-.L76 + .text +.L81: + movl $1, -4(%rbp) + jmp .L92 +.L82: + movl $2, -4(%rbp) + jmp .L92 +.L83: + movl $3, -4(%rbp) + jmp .L92 +.L84: + movl $4, -4(%rbp) + jmp .L92 +.L85: + movl $5, -4(%rbp) + jmp .L92 +.L86: + movl $6, -4(%rbp) + jmp .L92 +.L87: + movl $7, -4(%rbp) + jmp .L92 +.L88: + movl $8, -4(%rbp) + jmp .L92 +.L75: + movl $9, -4(%rbp) + jmp .L92 +.L79: + movl $10, -4(%rbp) + jmp .L92 +.L80: + movl $11, -4(%rbp) + jmp .L92 +.L91: + movl $12, -4(%rbp) + jmp .L92 +.L89: + movl $13, -4(%rbp) + jmp .L92 +.L90: + movl $14, -4(%rbp) + jmp .L92 +.L77: + movl $15, -4(%rbp) + jmp .L92 +.L78: + movl $16, -4(%rbp) + jmp .L92 +.L74: + movl $16, -4(%rbp) + nop +.L92: + movzbl flag_color(%rip), %eax + testb %al, %al + je .L93 + movl -4(%rbp), %eax + cltq + salq $8, %rax + orq $2097152, %rax + movq %rax, %rcx + movq win_board(%rip), %rax + movl $0, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wattr_on@PLT +.L93: + movl -24(%rbp), %eax + leal -1(%rax), %edx + movq win_board(%rip), %rax + movl -20(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L95 + movq win_board(%rip), %rax + movl $32, %esi + movq %rax, %rdi + call waddch@PLT +.L95: + movq win_board(%rip), %rax + movl -24(%rbp), %edx + movl -20(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L97 + movl -28(%rbp), %eax + movslq %eax, %rdx + movq win_board(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L97: + movl -24(%rbp), %eax + leal 1(%rax), %edx + movq win_board(%rip), %rax + movl -20(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L99 + movq win_board(%rip), %rax + movl $32, %esi + movq %rax, %rdi + call waddch@PLT +.L99: + movzbl flag_color(%rip), %eax + testb %al, %al + je .L101 + movl -4(%rbp), %eax + cltq + salq $8, %rax + orq $2097152, %rax + movq %rax, %rcx + movq win_board(%rip), %rax + movl $0, %edx + movq %rcx, %rsi + movq %rax, %rdi + call wattr_off@PLT +.L101: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE13: + .size show_char, .-show_char + .type usr_input, @function +usr_input: +.LFB14: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq win_board(%rip), %rax + movq %rax, %rdi + call wgetch@PLT + movl %eax, -8(%rbp) + movl -8(%rbp), %eax + cmpl $106, %eax + je .L104 + cmpl $106, %eax + jg .L105 + cmpl $48, %eax + je .L106 + cmpl $48, %eax + jg .L107 + cmpl $13, %eax + je .L108 + cmpl $13, %eax + jg .L109 + cmpl $8, %eax + je .L110 + cmpl $10, %eax + je .L108 + jmp .L103 +.L109: + cmpl $32, %eax + je .L111 + cmpl $43, %eax + je .L108 + jmp .L103 +.L107: + cmpl $51, %eax + je .L112 + cmpl $51, %eax + jg .L113 + cmpl $49, %eax + je .L114 + cmpl $50, %eax + je .L115 + jmp .L103 +.L113: + cmpl $102, %eax + je .L116 + cmpl $104, %eax + je .L117 + cmpl $99, %eax + je .L118 + jmp .L103 +.L105: + cmpl $120, %eax + je .L119 + cmpl $120, %eax + jg .L120 + cmpl $112, %eax + je .L121 + cmpl $112, %eax + jg .L122 + cmpl $107, %eax + je .L123 + cmpl $108, %eax + je .L124 + jmp .L103 +.L122: + cmpl $113, %eax + je .L125 + cmpl $115, %eax + je .L126 + jmp .L103 +.L120: + cmpl $259, %eax + je .L123 + cmpl $259, %eax + jg .L127 + cmpl $257, %eax + je .L121 + cmpl $258, %eax + je .L104 + jmp .L103 +.L127: + cmpl $261, %eax + je .L124 + cmpl $261, %eax + jl .L117 + cmpl $263, %eax + je .L110 + jmp .L103 +.L108: + movl $1, -4(%rbp) + jmp .L128 +.L111: + movl $2, -4(%rbp) + jmp .L128 +.L116: + movl $3, -4(%rbp) + jmp .L128 +.L110: + movl $4, -4(%rbp) + jmp .L128 +.L121: + movl $5, -4(%rbp) + jmp .L128 +.L126: + movl $6, -4(%rbp) + jmp .L128 +.L119: + movq win_board(%rip), %rax + movl $1000, %esi + movq %rax, %rdi + call wtimeout@PLT + movq win_board(%rip), %rax + movq %rax, %rdi + call wgetch@PLT + movl %eax, -8(%rbp) + cmpl $121, -8(%rbp) + jne .L129 + movq win_board(%rip), %rax + movq %rax, %rdi + call wgetch@PLT + movl %eax, -8(%rbp) + cmpl $122, -8(%rbp) + jne .L129 + movq win_board(%rip), %rax + movq %rax, %rdi + call wgetch@PLT + movl %eax, -8(%rbp) + cmpl $122, -8(%rbp) + jne .L129 + movq win_board(%rip), %rax + movq %rax, %rdi + call wgetch@PLT + movl %eax, -8(%rbp) + cmpl $121, -8(%rbp) + jne .L129 + movl $7, -4(%rbp) +.L129: + movq win_board(%rip), %rax + movl $100, %esi + movq %rax, %rdi + call wtimeout@PLT + jmp .L128 +.L106: + movl $8, -4(%rbp) + jmp .L128 +.L114: + movl $9, -4(%rbp) + jmp .L128 +.L115: + movl $10, -4(%rbp) + jmp .L128 +.L112: + movl $11, -4(%rbp) + jmp .L128 +.L125: + movl $12, -4(%rbp) + jmp .L128 +.L117: + movl $16, -4(%rbp) + jmp .L128 +.L104: + movl $14, -4(%rbp) + jmp .L128 +.L123: + movl $13, -4(%rbp) + jmp .L128 +.L124: + movl $15, -4(%rbp) + jmp .L128 +.L118: + movl $17, -4(%rbp) + jmp .L128 +.L103: + movl $0, -4(%rbp) + nop +.L128: + movl -4(%rbp), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE14: + .size usr_input, .-usr_input + .type show_help, @function +show_help: +.LFB15: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq -8(%rbp), %rax + movl 7984028(%rax), %edx + movl last_help(%rip), %eax + cmpl %eax, %edx + je .L141 + movq win_help(%rip), %rax + movq %rax, %rdi + call werase@PLT + movq -8(%rbp), %rax + movl 7984028(%rax), %eax + cmpl $5, %eax + ja .L133 + movl %eax, %eax + leaq 0(,%rax,4), %rdx + leaq .L135(%rip), %rax + movl (%rdx,%rax), %eax + movslq %eax, %rdx + leaq .L135(%rip), %rax + addq %rdx, %rax + jmp *%rax + .section .rodata + .align 4 + .align 4 +.L135: + .long .L134-.L135 + .long .L136-.L135 + .long .L137-.L135 + .long .L138-.L135 + .long .L139-.L135 + .long .L140-.L135 + .text +.L134: + call show_help_play + jmp .L133 +.L138: + call show_help_pause + jmp .L133 +.L140: + call show_help_xyzzy + jmp .L133 +.L139: + call show_help_cheat + jmp .L133 +.L136: + call show_help_safe + jmp .L133 +.L137: + call show_help_gameover + nop +.L133: + movq win_help(%rip), %rax + movq %rax, %rdi + call wrefresh@PLT + movq -8(%rbp), %rax + movl 7984028(%rax), %eax + movl %eax, last_help(%rip) +.L141: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE15: + .size show_help, .-show_help + .section .rodata +.LC2: + .string "Move:" +.LC3: + .string "Cursor:" +.LC4: + .string " %c" +.LC5: + .string "Step:" +.LC6: + .string " Enter / %c" +.LC7: + .string "Quit:" + .text + .type show_help_start, @function +show_help_start: +.LFB16: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq win_help(%rip), %rax + movq %rax, %rdi + call werase@PLT + movl $0, -4(%rbp) + movl $0, -8(%rbp) + movl -8(%rbp), %edx + leal 1(%rdx), %eax + movl %eax, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %ecx + movl %ecx, -4(%rbp) + movq win_help(%rip), %rcx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L144 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC2(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L144: + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L146 + movq win_help(%rip), %rax + movl $104, %esi + movq %rax, %rdi + call waddch@PLT +.L146: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L148 + movq win_help(%rip), %rax + movl $106, %esi + movq %rax, %rdi + call waddch@PLT +.L148: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L150 + movq win_help(%rip), %rax + movl $107, %esi + movq %rax, %rdi + call waddch@PLT +.L150: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L152 + movq win_help(%rip), %rax + movl $108, %esi + movq %rax, %rdi + call waddch@PLT +.L152: + addl $1, -4(%rbp) + movl $1, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L154 + movq 352+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L154: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L156 + movq 368+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L156: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L158 + movq 360+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L158: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L160 + movq 344+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L160: + addl $1, -4(%rbp) + movl $0, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L162 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC3(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L162: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $99, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L164 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L164: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $43, %r8d + leaq .LC6(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L166 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L166: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $113, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movq win_help(%rip), %rax + movq %rax, %rdi + call wrefresh@PLT + movl $7, last_help(%rip) + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE16: + .size show_help_start, .-show_help_start + .section .rodata +.LC8: + .string "Flag:" +.LC9: + .string " Space" +.LC10: + .string "Possible:" +.LC11: + .string "rm flag:" +.LC12: + .string " Backspace" +.LC13: + .string "Pause:" +.LC14: + .string " Break / %c" +.LC15: + .string "Save:" + .text + .type show_help_play, @function +show_help_play: +.LFB17: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, -4(%rbp) + movl $0, -8(%rbp) + movl -8(%rbp), %edx + leal 1(%rdx), %eax + movl %eax, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %ecx + movl %ecx, -4(%rbp) + movq win_help(%rip), %rcx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L169 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC2(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L169: + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L171 + movq win_help(%rip), %rax + movl $104, %esi + movq %rax, %rdi + call waddch@PLT +.L171: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L173 + movq win_help(%rip), %rax + movl $106, %esi + movq %rax, %rdi + call waddch@PLT +.L173: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L175 + movq win_help(%rip), %rax + movl $107, %esi + movq %rax, %rdi + call waddch@PLT +.L175: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L177 + movq win_help(%rip), %rax + movl $108, %esi + movq %rax, %rdi + call waddch@PLT +.L177: + addl $1, -4(%rbp) + movl $1, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L179 + movq 352+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L179: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L181 + movq 368+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L181: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L183 + movq 360+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L183: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L185 + movq 344+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L185: + addl $1, -4(%rbp) + movl $0, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L187 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC3(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L187: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $99, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L189 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L189: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $43, %r8d + leaq .LC6(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L191 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC8(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L191: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + leaq .LC9(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L193 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC10(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L193: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $102, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L195 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC11(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L195: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + leaq .LC12(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L197 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC13(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L197: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $112, %r8d + leaq .LC14(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L199 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC15(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L199: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $115, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L201 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L201: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $113, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE17: + .size show_help_play, .-show_help_play + .section .rodata +.LC16: + .string "Continue:" + .text + .type show_help_pause, @function +show_help_pause: +.LFB18: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, -4(%rbp) + movl $0, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L204 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC3(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L204: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $99, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L206 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC16(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L206: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $112, %r8d + leaq .LC14(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L208 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC15(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L208: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $115, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L210 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L210: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $113, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE18: + .size show_help_pause, .-show_help_pause + .section .rodata +.LC17: + .string "XYZZY:" +.LC18: + .string "%c" +.LC19: + .string "XYZZY off:" + .text + .type show_help_xyzzy, @function +show_help_xyzzy: +.LFB19: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, -4(%rbp) + movl $0, -8(%rbp) + movl -8(%rbp), %edx + leal 1(%rdx), %eax + movl %eax, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %ecx + movl %ecx, -4(%rbp) + movq win_help(%rip), %rcx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L213 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC17(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L213: + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %esi + movl $49, %r8d + leaq .LC18(%rip), %rcx + movq %rax, %rdi + movl $0, %eax + call mvwprintw@PLT + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %esi + movl $50, %r8d + leaq .LC18(%rip), %rcx + movq %rax, %rdi + movl $0, %eax + call mvwprintw@PLT + addl $1, -4(%rbp) + movl $0, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L215 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC19(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L215: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $48, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -8(%rbp), %edx + leal 1(%rdx), %eax + movl %eax, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %ecx + movl %ecx, -4(%rbp) + movq win_help(%rip), %rcx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L217 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC2(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L217: + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L219 + movq win_help(%rip), %rax + movl $104, %esi + movq %rax, %rdi + call waddch@PLT +.L219: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L221 + movq win_help(%rip), %rax + movl $106, %esi + movq %rax, %rdi + call waddch@PLT +.L221: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L223 + movq win_help(%rip), %rax + movl $107, %esi + movq %rax, %rdi + call waddch@PLT +.L223: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L225 + movq win_help(%rip), %rax + movl $108, %esi + movq %rax, %rdi + call waddch@PLT +.L225: + addl $1, -4(%rbp) + movl $1, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L227 + movq 352+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L227: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L229 + movq 368+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L229: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L231 + movq 360+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L231: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L233 + movq 344+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L233: + addl $1, -4(%rbp) + movl $0, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L235 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC3(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L235: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $99, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L237 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L237: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $43, %r8d + leaq .LC6(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L239 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC8(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L239: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + leaq .LC9(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L241 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC10(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L241: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $102, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L243 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC11(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L243: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + leaq .LC12(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L245 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC15(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L245: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $115, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L247 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L247: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $113, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE19: + .size show_help_xyzzy, .-show_help_xyzzy + .type show_help_cheat, @function +show_help_cheat: +.LFB20: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, -4(%rbp) + movl $0, -8(%rbp) + movl -8(%rbp), %edx + leal 1(%rdx), %eax + movl %eax, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %ecx + movl %ecx, -4(%rbp) + movq win_help(%rip), %rcx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L250 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC2(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L250: + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L252 + movq win_help(%rip), %rax + movl $104, %esi + movq %rax, %rdi + call waddch@PLT +.L252: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L254 + movq win_help(%rip), %rax + movl $106, %esi + movq %rax, %rdi + call waddch@PLT +.L254: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L256 + movq win_help(%rip), %rax + movl $107, %esi + movq %rax, %rdi + call waddch@PLT +.L256: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L258 + movq win_help(%rip), %rax + movl $108, %esi + movq %rax, %rdi + call waddch@PLT +.L258: + addl $1, -4(%rbp) + movl $1, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L260 + movq 352+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L260: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L262 + movq 368+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L262: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L264 + movq 360+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L264: + addl $2, -8(%rbp) + movq win_help(%rip), %rax + movl -8(%rbp), %edx + movl -4(%rbp), %ecx + movl %ecx, %esi + movq %rax, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L266 + movq 344+acs_map(%rip), %rdx + movq win_help(%rip), %rax + movq %rdx, %rsi + movq %rax, %rdi + call waddch@PLT +.L266: + addl $1, -4(%rbp) + movl $0, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L268 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC3(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L268: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $99, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L270 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC5(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L270: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $43, %r8d + leaq .LC6(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L272 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC8(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L272: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + leaq .LC9(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L274 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC10(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L274: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $102, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L276 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC11(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L276: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + leaq .LC12(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L278 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC15(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L278: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $115, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L280 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L280: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $113, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE20: + .size show_help_cheat, .-show_help_cheat + .type show_help_safe, @function +show_help_safe: +.LFB21: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, -4(%rbp) + movl $0, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L283 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC15(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L283: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $115, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L285 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L285: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $113, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE21: + .size show_help_safe, .-show_help_safe + .type show_help_gameover, @function +show_help_gameover: +.LFB22: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl $0, -4(%rbp) + movl $0, -8(%rbp) + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rcx + movl -8(%rbp), %edx + movl %eax, %esi + movq %rcx, %rdi + call wmove@PLT + cmpl $-1, %eax + je .L288 + movq win_help(%rip), %rax + movl $-1, %edx + leaq .LC7(%rip), %rsi + movq %rax, %rdi + call waddnstr@PLT +.L288: + movl -4(%rbp), %eax + leal 1(%rax), %edx + movl %edx, -4(%rbp) + movq win_help(%rip), %rdi + movl -8(%rbp), %edx + movl $113, %r8d + leaq .LC4(%rip), %rcx + movl %eax, %esi + movl $0, %eax + call mvwprintw@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE22: + .size show_help_gameover, .-show_help_gameover + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/save/Makefile b/modules/save/Makefile index 9faa46b..614a58c 100644 --- a/modules/save/Makefile +++ b/modules/save/Makefile @@ -4,16 +4,16 @@ # directories -OBJ_DIR = $(SAVE_DIR)/obj/ +TMP_DIR = $(SAVE_DIR)/tmp/ # target: dependencies # action all: - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. ################################################################################ ######## End of file ########################################################### diff --git a/modules/save/obj/Makefile b/modules/save/tmp/Makefile index 016a57b..07807b1 100644 --- a/modules/save/obj/Makefile +++ b/modules/save/tmp/Makefile @@ -4,16 +4,16 @@ # directories -GAME_INC_DIR = $(GAME_DIR)/inc/ -PLAY_INC_DIR = $(PLAY_DIR)/inc/ +GAME_INC_DIR = $(GAME_DIR)/inc/ +PLAY_INC_DIR = $(PLAY_DIR)/inc/ -INC_DIR = $(SAVE_DIR)/inc/ -SRC_DIR = $(SAVE_DIR)/src/ +INC_DIR = $(SAVE_DIR)/inc/ +SRC_DIR = $(SAVE_DIR)/src/ # dependencies -_ALL = save.o score.o -ALL = $(_ALL) save_mod.o +_ALL = save.o score.o +ALL = $(_ALL) save_mod.o SAVE_INC_PLAY = player_iface.h SAVE_INC_GAME = game.h @@ -45,18 +45,24 @@ all: $(ALL) save_mod.o: $(_ALL) $(Q)$(LD) -r $^ -o $@ - @echo "\tLD $@" + @echo " LD $@" @echo "" -save.o: $(SAVE_DEPS) - $(Q)$(CC) $(CFLAGS) $(SAVE_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +save.s: $(SAVE_DEPS) + $(Q)$(CC) $(CFLAGS) $(SAVE_INC_DIRS) -S $< -o $@ + @echo " CC $@" +save.o: save.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" -score.o: $(SCORE_DEPS) - $(Q)$(CC) $(CFLAGS) $(SCORE_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +score.s: $(SCORE_DEPS) + $(Q)$(CC) $(CFLAGS) $(SCORE_INC_DIRS) -S $< -o $@ + @echo " CC $@" +score.o: score.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" clean: - $(Q)rm -f *.o + $(Q)rm -f *.o *.s diff --git a/modules/save/tmp/save.s b/modules/save/tmp/save.s new file mode 100644 index 0000000..5ac0e7f --- /dev/null +++ b/modules/save/tmp/save.s @@ -0,0 +1,685 @@ + .file "save.c" + .comm home_path,4096,32 + .comm user_game_path,4096,32 + .comm saved_path,4096,32 + .comm saved_name,4096,32 + .section .rodata +.LC0: + .string "HOME" +.LC1: + .string "%s/" +.LC2: + .string ".mine-sweeper/" +.LC3: + .string "%s/%s/" +.LC4: + .string ".mine-sweeper/saved/" +.LC5: + .string "" +.LC6: + .string "err = EACCES" +.LC7: + .string "WTF?!" + .text + .globl save_init + .type save_init, @function +save_init: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + leaq .LC0(%rip), %rdi + call getenv@PLT + movq %rax, %rcx + leaq .LC1(%rip), %rdx + movl $4096, %esi + leaq home_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + leaq .LC2(%rip), %r8 + leaq home_path(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $4096, %esi + leaq user_game_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + leaq .LC4(%rip), %r8 + leaq home_path(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $4096, %esi + leaq saved_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + movzbl .LC5(%rip), %eax + movb %al, saved_name(%rip) + movl $448, %esi + leaq user_game_path(%rip), %rdi + call mkdir@PLT + movl %eax, -4(%rbp) + cmpl $0, -4(%rbp) + jne .L2 + movl $448, %esi + leaq saved_path(%rip), %rdi + call mkdir@PLT + jmp .L9 +.L2: + call __errno_location@PLT + movl (%rax), %eax + cmpl $13, %eax + je .L5 + cmpl $17, %eax + je .L8 + jmp .L7 +.L5: + leaq .LC6(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $1, %edi + call exit@PLT +.L7: + leaq .LC7(%rip), %rdi + movl $0, %eax + call printf@PLT + movl $1, %edi + call exit@PLT +.L8: + nop +.L9: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size save_init, .-save_init + .globl save_clr + .type save_clr, @function +save_clr: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC4(%rip), %r8 + leaq home_path(%rip), %rcx + leaq .LC3(%rip), %rdx + movl $4096, %esi + leaq saved_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size save_clr, .-save_clr + .section .rodata +.LC8: + .string "%s/%s" +.LC9: + .string "r" +.LC10: + .string "mine-sweeper saved game" +.LC11: + .string " rows %i" +.LC12: + .string " cols %i" +.LC13: + .string " mines %i" +.LC14: + .string " gnd" +.LC15: + .string " %i" +.LC16: + .string ",%i" +.LC17: + .string " usr" +.LC18: + .string " flags %i" +.LC19: + .string " cleared %i" + .text + .globl load_game_file + .type load_game_file, @function +load_game_file: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $4112, %rsp + leaq -4112(%rbp), %rax + leaq saved_name(%rip), %r8 + leaq saved_path(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + leaq -4112(%rbp), %rax + leaq .LC9(%rip), %rsi + movq %rax, %rdi + call fopen@PLT + movq %rax, -16(%rbp) + cmpq $0, -16(%rbp) + je .L21 + movq -16(%rbp), %rax + leaq .LC10(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -16(%rbp), %rax + leaq game_board(%rip), %rdx + leaq .LC11(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -16(%rbp), %rax + leaq 4+game_board(%rip), %rdx + leaq .LC12(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -16(%rbp), %rax + leaq 8+game_board(%rip), %rdx + leaq .LC13(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -16(%rbp), %rax + leaq .LC14(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movl $0, -4(%rbp) + jmp .L13 +.L16: + movl -4(%rbp), %eax + cltq + imulq $3996, %rax, %rdx + leaq game_board(%rip), %rax + addq %rdx, %rax + leaq 12(%rax), %rdx + movq -16(%rbp), %rax + leaq .LC15(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movl $1, -8(%rbp) + jmp .L14 +.L15: + movl -8(%rbp), %eax + movslq %eax, %rdx + movl -4(%rbp), %eax + cltq + imulq $999, %rax, %rax + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + addq %rdx, %rax + leaq 12(%rax), %rdx + movq -16(%rbp), %rax + leaq .LC16(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + addl $1, -8(%rbp) +.L14: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L15 + addl $1, -4(%rbp) +.L13: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L16 + movq -16(%rbp), %rax + leaq .LC17(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movl $0, -4(%rbp) + jmp .L17 +.L20: + movl -4(%rbp), %eax + cltq + imulq $3996, %rax, %rax + leaq 3992016(%rax), %rdx + leaq game_board(%rip), %rax + addq %rax, %rdx + movq -16(%rbp), %rax + leaq .LC15(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movl $1, -8(%rbp) + jmp .L18 +.L19: + movl -8(%rbp), %eax + movslq %eax, %rdx + movl -4(%rbp), %eax + cltq + imulq $999, %rax, %rax + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + addq %rax, %rdx + movq -16(%rbp), %rax + leaq .LC16(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + addl $1, -8(%rbp) +.L18: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L19 + addl $1, -4(%rbp) +.L17: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L20 + movq -16(%rbp), %rax + leaq 7984020+game_board(%rip), %rdx + leaq .LC18(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -16(%rbp), %rax + leaq 7984024+game_board(%rip), %rdx + leaq .LC19(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -16(%rbp), %rax + movq %rax, %rdi + call fclose@PLT +.L21: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size load_game_file, .-load_game_file + .section .rodata +.LC20: + .string "%s" +.LC21: + .string "%s/%s%s%s" +.LC22: + .string ".mine" +.LC23: + .string "%s%s%s" +.LC24: + .string "w" +.LC25: + .string "mine-sweeper saved game\n" +.LC26: + .string "rows %i\n" +.LC27: + .string "cols %i\n" +.LC28: + .string "mines %i\n" +.LC29: + .string "gnd\n" +.LC30: + .string "%i" +.LC31: + .string "usr\n" +.LC32: + .string "flags %i\n" +.LC33: + .string "cleared %i\n" + .text + .globl save_game_file + .type save_game_file, @function +save_game_file: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $12352, %rsp + movq %rdi, -12344(%rbp) + cmpq $0, -12344(%rbp) + je .L23 + leaq -12320(%rbp), %rax + leaq saved_name(%rip), %rcx + leaq .LC20(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT +.L23: + call save_clr + movl $1702257011, saved_name(%rip) + movw $100, 4+saved_name(%rip) + movzbl .LC5(%rip), %eax + movb %al, -12326(%rbp) + movq -12344(%rbp), %rax + movl $4096, %edx + leaq saved_name(%rip), %rsi + movq %rax, %rdi + call player_iface_save_name@PLT + movb $1, -9(%rbp) + movl $0, -4(%rbp) + jmp .L24 +.L29: + cmpq $0, -12344(%rbp) + jne .L25 + leaq -12326(%rbp), %rcx + leaq -4128(%rbp), %rax + subq $8, %rsp + leaq .LC22(%rip), %rdx + pushq %rdx + movq %rcx, %r9 + leaq saved_name(%rip), %r8 + leaq saved_path(%rip), %rcx + leaq .LC21(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + addq $16, %rsp + jmp .L26 +.L25: + leaq -12326(%rbp), %rsi + movq -12344(%rbp), %rdx + leaq -4128(%rbp), %rax + subq $8, %rsp + leaq .LC22(%rip), %rcx + pushq %rcx + movq %rsi, %r9 + leaq saved_name(%rip), %r8 + movq %rdx, %rcx + leaq .LC21(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + addq $16, %rsp +.L26: + leaq -4128(%rbp), %rax + leaq .LC9(%rip), %rsi + movq %rax, %rdi + call fopen@PLT + movq %rax, -24(%rbp) + cmpq $0, -24(%rbp) + je .L27 + movq -24(%rbp), %rax + movq %rax, %rdi + call fclose@PLT + movb $95, -12326(%rbp) + movl -4(%rbp), %ecx + movl $1374389535, %edx + movl %ecx, %eax + imull %edx + sarl $5, %edx + movl %ecx, %eax + sarl $31, %eax + movl %edx, %ecx + subl %eax, %ecx + movl $1717986919, %edx + movl %ecx, %eax + imull %edx + sarl $2, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + sall $2, %eax + addl %edx, %eax + addl %eax, %eax + subl %eax, %ecx + movl %ecx, %edx + movl %edx, %eax + addl $48, %eax + movb %al, -12325(%rbp) + movl -4(%rbp), %ecx + movl $1717986919, %edx + movl %ecx, %eax + imull %edx + sarl $2, %edx + movl %ecx, %eax + sarl $31, %eax + movl %edx, %ecx + subl %eax, %ecx + movl $1717986919, %edx + movl %ecx, %eax + imull %edx + sarl $2, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + sall $2, %eax + addl %edx, %eax + addl %eax, %eax + subl %eax, %ecx + movl %ecx, %edx + movl %edx, %eax + addl $48, %eax + movb %al, -12324(%rbp) + movl -4(%rbp), %ecx + movl $1717986919, %edx + movl %ecx, %eax + imull %edx + sarl $2, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + sall $2, %eax + addl %edx, %eax + addl %eax, %eax + subl %eax, %ecx + movl %ecx, %edx + movl %edx, %eax + addl $48, %eax + movb %al, -12323(%rbp) + movb $0, -12322(%rbp) + jmp .L28 +.L27: + movb $0, -9(%rbp) + leaq -12326(%rbp), %rdx + leaq -8224(%rbp), %rax + leaq .LC22(%rip), %r9 + movq %rdx, %r8 + leaq saved_name(%rip), %rcx + leaq .LC23(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + leaq -8224(%rbp), %rax + movq %rax, %rcx + leaq .LC20(%rip), %rdx + movl $4096, %esi + leaq saved_name(%rip), %rdi + movl $0, %eax + call snprintf@PLT +.L28: + addl $1, -4(%rbp) +.L24: + cmpb $0, -9(%rbp) + jne .L29 + leaq -4128(%rbp), %rax + leaq .LC24(%rip), %rsi + movq %rax, %rdi + call fopen@PLT + movq %rax, -24(%rbp) + cmpq $0, -24(%rbp) + je .L30 + movq -24(%rbp), %rax + movq %rax, %rcx + movl $24, %edx + movl $1, %esi + leaq .LC25(%rip), %rdi + call fwrite@PLT + movl game_board(%rip), %edx + movq -24(%rbp), %rax + leaq .LC26(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movl 4+game_board(%rip), %edx + movq -24(%rbp), %rax + leaq .LC27(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movl 8+game_board(%rip), %edx + movq -24(%rbp), %rax + leaq .LC28(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -24(%rbp), %rax + movq %rax, %rcx + movl $4, %edx + movl $1, %esi + leaq .LC29(%rip), %rdi + call fwrite@PLT + movl $0, -4(%rbp) + jmp .L31 +.L34: + movl -4(%rbp), %eax + cltq + imulq $3996, %rax, %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %edx + movq -24(%rbp), %rax + leaq .LC30(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movl $1, -8(%rbp) + jmp .L32 +.L33: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + leaq 0(,%rax,4), %rdx + leaq 12+game_board(%rip), %rax + movl (%rdx,%rax), %edx + movq -24(%rbp), %rax + leaq .LC16(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + addl $1, -8(%rbp) +.L32: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L33 + movq -24(%rbp), %rax + movq %rax, %rsi + movl $10, %edi + call fputc@PLT + addl $1, -4(%rbp) +.L31: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L34 + movq -24(%rbp), %rax + movq %rax, %rcx + movl $4, %edx + movl $1, %esi + leaq .LC31(%rip), %rdi + call fwrite@PLT + movl $0, -4(%rbp) + jmp .L35 +.L38: + movl -4(%rbp), %eax + cltq + imulq $3996, %rax, %rdx + leaq 3992016+game_board(%rip), %rax + movl (%rdx,%rax), %edx + movq -24(%rbp), %rax + leaq .LC30(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movl $1, -8(%rbp) + jmp .L36 +.L37: + movl -8(%rbp), %eax + cltq + movl -4(%rbp), %edx + movslq %edx, %rdx + imulq $999, %rdx, %rdx + addq %rdx, %rax + addq $998004, %rax + leaq 0(,%rax,4), %rdx + leaq game_board(%rip), %rax + movl (%rdx,%rax), %edx + movq -24(%rbp), %rax + leaq .LC16(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + addl $1, -8(%rbp) +.L36: + movl 4+game_board(%rip), %eax + cmpl -8(%rbp), %eax + jg .L37 + movq -24(%rbp), %rax + movq %rax, %rsi + movl $10, %edi + call fputc@PLT + addl $1, -4(%rbp) +.L35: + movl game_board(%rip), %eax + cmpl -4(%rbp), %eax + jg .L38 + movl 7984020+game_board(%rip), %edx + movq -24(%rbp), %rax + leaq .LC32(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movl 7984024+game_board(%rip), %edx + movq -24(%rbp), %rax + leaq .LC33(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -24(%rbp), %rax + movq %rax, %rdi + call fclose@PLT +.L30: + cmpq $0, -12344(%rbp) + je .L40 + leaq -12320(%rbp), %rax + movq %rax, %rcx + leaq .LC20(%rip), %rdx + movl $4096, %esi + leaq saved_name(%rip), %rdi + movl $0, %eax + call snprintf@PLT +.L40: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size save_game_file, .-save_game_file + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/save/tmp/score.s b/modules/save/tmp/score.s new file mode 100644 index 0000000..5775f4c --- /dev/null +++ b/modules/save/tmp/score.s @@ -0,0 +1,740 @@ + .file "score.c" + .comm var_path,4096,32 + .comm var_hiscores_path,4096,32 + .comm var_boards_beginner_path,4096,32 + .comm var_boards_intermediate_path,4096,32 + .comm var_boards_expert_path,4096,32 + .comm var_boards_custom_path,4096,32 + .comm var_hiscores_beginner_name,4096,32 + .comm var_hiscores_intermediate_name,4096,32 + .comm var_hiscores_expert_name,4096,32 + .section .rodata +.LC0: + .string "mine-sweeper/" +.LC1: + .string "/var/local/" +.LC2: + .string "%s/%s/" +.LC3: + .string "hiscores/" +.LC4: + .string "hiscores/boards_beginner/" +.LC5: + .string "hiscores/boards_intermediate/" +.LC6: + .string "hiscores/boards_expert/" +.LC7: + .string "hiscores/boards_custom/" + .text + .globl score_init + .type score_init, @function +score_init: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + leaq .LC0(%rip), %r8 + leaq .LC1(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $4096, %esi + leaq var_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + leaq .LC3(%rip), %r8 + leaq var_path(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $4096, %esi + leaq var_hiscores_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + leaq .LC4(%rip), %r8 + leaq var_path(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $4096, %esi + leaq var_boards_beginner_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + leaq .LC5(%rip), %r8 + leaq var_path(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $4096, %esi + leaq var_boards_intermediate_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + leaq .LC6(%rip), %r8 + leaq var_path(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $4096, %esi + leaq var_boards_expert_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + leaq .LC7(%rip), %r8 + leaq var_path(%rip), %rcx + leaq .LC2(%rip), %rdx + movl $4096, %esi + leaq var_boards_custom_path(%rip), %rdi + movl $0, %eax + call snprintf@PLT + movabsq $8315178109744933224, %rax + movq %rax, var_hiscores_beginner_name(%rip) + movabsq $7308900644254212703, %rax + movq %rax, 8+var_hiscores_beginner_name(%rip) + movl $1768762994, 16+var_hiscores_beginner_name(%rip) + movw $25966, 20+var_hiscores_beginner_name(%rip) + movb $0, 22+var_hiscores_beginner_name(%rip) + movabsq $8315178109744933224, %rax + movq %rax, var_hiscores_intermediate_name(%rip) + movabsq $7308623550362839391, %rax + movq %rax, 8+var_hiscores_intermediate_name(%rip) + movabsq $7596779159723010404, %rax + movq %rax, 16+var_hiscores_intermediate_name(%rip) + movw $25966, 24+var_hiscores_intermediate_name(%rip) + movb $0, 26+var_hiscores_intermediate_name(%rip) + movabsq $8315178109744933224, %rax + movq %rax, var_hiscores_expert_name(%rip) + movabsq $3347426203047322975, %rax + movq %rax, 8+var_hiscores_expert_name(%rip) + movl $1701734765, 16+var_hiscores_expert_name(%rip) + movb $0, 20+var_hiscores_expert_name(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size score_init, .-score_init + .section .rodata +.LC8: + .string "%s/%s" +.LC9: + .string "a" +.LC10: + .string "name\t%s\n" +.LC11: + .string "date\t%i\n" +.LC12: + .string "{\n" +.LC13: + .string "\tisdst\t%i\n" +.LC14: + .string "\tyday\t%i\n" +.LC15: + .string "\twday\t%i\n" +.LC16: + .string "\tyear\t%i\n" +.LC17: + .string "\tmon\t%i\n" +.LC18: + .string "\tmday\t%i\n" +.LC19: + .string "\thour\t%i\n" +.LC20: + .string "\tmin\t%i\n" +.LC21: + .string "\tsec\t%i\n" +.LC22: + .string "}\n" +.LC23: + .string "time\t%i\n" +.LC24: + .string "clicks\t%i\n" +.LC25: + .string "file\t%s\n" + .text + .globl save_score + .type save_score, @function +save_score: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $5168, %rsp + movq %rdi, -5160(%rbp) + movq -5160(%rbp), %rax + movl (%rax), %eax + cmpl $1, %eax + je .L4 + cmpl $2, %eax + je .L5 + testl %eax, %eax + jne .L3 + leaq -4112(%rbp), %rax + leaq var_hiscores_beginner_name(%rip), %r8 + leaq var_hiscores_path(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L3 +.L4: + leaq -4112(%rbp), %rax + leaq var_hiscores_intermediate_name(%rip), %r8 + leaq var_hiscores_path(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L3 +.L5: + leaq -4112(%rbp), %rax + leaq var_hiscores_expert_name(%rip), %r8 + leaq var_hiscores_path(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + nop +.L3: + movl $0, %edi + call time@PLT + movq %rax, -4120(%rbp) + leaq -4120(%rbp), %rax + movq %rax, %rdi + call localtime@PLT + movq %rax, -8(%rbp) + leaq -5152(%rbp), %rax + movl $1024, %esi + movq %rax, %rdi + call player_iface_score_name@PLT + leaq -4112(%rbp), %rax + leaq .LC9(%rip), %rsi + movq %rax, %rdi + call fopen@PLT + movq %rax, -16(%rbp) + cmpq $0, -16(%rbp) + je .L7 + movq -16(%rbp), %rax + movq %rax, %rsi + movl $10, %edi + call fputc@PLT + leaq -5152(%rbp), %rdx + movq -16(%rbp), %rax + leaq .LC10(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -4120(%rbp), %rax + movl %eax, %edx + movq -16(%rbp), %rax + leaq .LC11(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -16(%rbp), %rax + movq %rax, %rcx + movl $2, %edx + movl $1, %esi + leaq .LC12(%rip), %rdi + call fwrite@PLT + movq -8(%rbp), %rax + movl 32(%rax), %edx + movq -16(%rbp), %rax + leaq .LC13(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -8(%rbp), %rax + movl 28(%rax), %edx + movq -16(%rbp), %rax + leaq .LC14(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -8(%rbp), %rax + movl 24(%rax), %edx + movq -16(%rbp), %rax + leaq .LC15(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -8(%rbp), %rax + movl 20(%rax), %edx + movq -16(%rbp), %rax + leaq .LC16(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -8(%rbp), %rax + movl 16(%rax), %edx + movq -16(%rbp), %rax + leaq .LC17(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -8(%rbp), %rax + movl 12(%rax), %edx + movq -16(%rbp), %rax + leaq .LC18(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -8(%rbp), %rax + movl 8(%rax), %edx + movq -16(%rbp), %rax + leaq .LC19(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -8(%rbp), %rax + movl 4(%rax), %edx + movq -16(%rbp), %rax + leaq .LC20(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -8(%rbp), %rax + movl (%rax), %edx + movq -16(%rbp), %rax + leaq .LC21(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -16(%rbp), %rax + movq %rax, %rcx + movl $2, %edx + movl $1, %esi + leaq .LC22(%rip), %rdi + call fwrite@PLT + movq -5160(%rbp), %rax + movl 4(%rax), %edx + movq -16(%rbp), %rax + leaq .LC23(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -5160(%rbp), %rax + movl 8(%rax), %edx + movq -16(%rbp), %rax + leaq .LC24(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -16(%rbp), %rax + leaq saved_name(%rip), %rdx + leaq .LC25(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call fprintf@PLT + movq -16(%rbp), %rax + movq %rax, %rdi + call fclose@PLT + jmp .L8 +.L7: + movl $1, %edi + call exit@PLT +.L8: + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size save_score, .-save_score + .section .rodata +.LC26: + .string "%s%s" +.LC27: + .string "%s" + .text + .globl snprint_scores + .type snprint_scores, @function +snprint_scores: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $2101264, %rsp + movq %rdi, -2101256(%rbp) + movl %esi, -2101260(%rbp) + leaq -4096(%rbp), %rax + leaq var_hiscores_beginner_name(%rip), %r8 + leaq var_hiscores_path(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + leaq -4096(%rbp), %rdx + movl -2101260(%rbp), %ecx + movq -2101256(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call snprint_scores_file + leaq -4096(%rbp), %rax + leaq var_hiscores_intermediate_name(%rip), %r8 + leaq var_hiscores_path(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + leaq -4096(%rbp), %rdx + movl -2101260(%rbp), %ecx + leaq -1052672(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call snprint_scores_file + movl -2101260(%rbp), %eax + movslq %eax, %rsi + leaq -1052672(%rbp), %rcx + movq -2101256(%rbp), %rdx + leaq -2101248(%rbp), %rax + movq %rcx, %r8 + movq %rdx, %rcx + leaq .LC26(%rip), %rdx + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + movl -2101260(%rbp), %eax + movslq %eax, %rsi + leaq -2101248(%rbp), %rdx + movq -2101256(%rbp), %rax + movq %rdx, %rcx + leaq .LC27(%rip), %rdx + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + leaq -4096(%rbp), %rax + leaq var_hiscores_expert_name(%rip), %r8 + leaq var_hiscores_path(%rip), %rcx + leaq .LC8(%rip), %rdx + movl $4096, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + leaq -4096(%rbp), %rdx + movl -2101260(%rbp), %ecx + leaq -1052672(%rbp), %rax + movl %ecx, %esi + movq %rax, %rdi + call snprint_scores_file + movl -2101260(%rbp), %eax + movslq %eax, %rsi + leaq -1052672(%rbp), %rcx + movq -2101256(%rbp), %rdx + leaq -2101248(%rbp), %rax + movq %rcx, %r8 + movq %rdx, %rcx + leaq .LC26(%rip), %rdx + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + movl -2101260(%rbp), %eax + movslq %eax, %rsi + leaq -2101248(%rbp), %rdx + movq -2101256(%rbp), %rax + movq %rdx, %rcx + leaq .LC27(%rip), %rdx + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size snprint_scores, .-snprint_scores + .section .rodata +.LC28: + .string "r" +.LC29: + .string "%[^\n]s" +.LC30: + .string " " + .align 8 +.LC31: + .string "_______________________________________________________\n%s\n\nname\tdate\t\tclicks\ttime\t\tfile\n\n" +.LC32: + .string "name\t%s " +.LC33: + .string "date\t%*i " +.LC34: + .string "{ " +.LC35: + .string "\tisdst\t%*i " +.LC36: + .string "\tyday\t%*i " +.LC37: + .string "\twday\t%*i " +.LC38: + .string "\tyear\t%i " +.LC39: + .string "\tmon\t%i " +.LC40: + .string "\tmday\t%i " +.LC41: + .string "\thour\t%*i " +.LC42: + .string "\tmin\t%*i " +.LC43: + .string "\tsec\t%*i " +.LC44: + .string "} " +.LC45: + .string "time\t%i " +.LC46: + .string "clicks\t%i " +.LC47: + .string "file\t%s " + .align 8 +.LC48: + .string "%s%s\n\t%4i/%2i/%2i\t%i\t%i:%02i:%02i\t\t%s\n\n" + .text + .type snprint_scores_file, @function +snprint_scores_file: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $1054816, %rsp + movq %rdi, -1054792(%rbp) + movl %esi, -1054796(%rbp) + movq %rdx, -1054808(%rbp) + movq -1054808(%rbp), %rax + leaq .LC28(%rip), %rsi + movq %rax, %rdi + call fopen@PLT + movq %rax, -8(%rbp) + cmpq $0, -8(%rbp) + je .L14 + leaq -1049632(%rbp), %rdx + movq -8(%rbp), %rax + leaq .LC29(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC30(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movl -1054796(%rbp), %eax + movslq %eax, %rsi + leaq -1049632(%rbp), %rdx + movq -1054792(%rbp), %rax + movq %rdx, %rcx + leaq .LC31(%rip), %rdx + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + jmp .L12 +.L13: + movq -8(%rbp), %rdx + movl -12(%rbp), %eax + movq %rdx, %rsi + movl %eax, %edi + call ungetc@PLT + leaq -1050656(%rbp), %rdx + movq -8(%rbp), %rax + leaq .LC32(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC33(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC34(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC35(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC36(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC37(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + leaq -1050660(%rbp), %rdx + movq -8(%rbp), %rax + leaq .LC38(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + leaq -1050664(%rbp), %rdx + movq -8(%rbp), %rax + leaq .LC39(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + leaq -1050668(%rbp), %rdx + movq -8(%rbp), %rax + leaq .LC40(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC41(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC42(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC43(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movq -8(%rbp), %rax + leaq .LC44(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + leaq -1050672(%rbp), %rdx + movq -8(%rbp), %rax + leaq .LC45(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + leaq -1050676(%rbp), %rdx + movq -8(%rbp), %rax + leaq .LC46(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + leaq -1054784(%rbp), %rdx + movq -8(%rbp), %rax + leaq .LC47(%rip), %rsi + movq %rax, %rdi + movl $0, %eax + call __isoc99_fscanf@PLT + movl -1050660(%rbp), %eax + addl $1900, %eax + movl %eax, -1050660(%rbp) + movl -1050672(%rbp), %ecx + movl $-1851608123, %edx + movl %ecx, %eax + imull %edx + leal (%rdx,%rcx), %eax + sarl $11, %eax + movl %eax, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + movl %eax, -16(%rbp) + movl -1050672(%rbp), %esi + movl $-1851608123, %edx + movl %esi, %eax + imull %edx + leal (%rdx,%rsi), %eax + sarl $11, %eax + movl %eax, %edx + movl %esi, %eax + sarl $31, %eax + movl %edx, %ecx + subl %eax, %ecx + imull $3600, %ecx, %eax + movl %esi, %ecx + subl %eax, %ecx + movl $-2004318071, %edx + movl %ecx, %eax + imull %edx + leal (%rdx,%rcx), %eax + sarl $5, %eax + movl %eax, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + movl %eax, -20(%rbp) + movl -1050672(%rbp), %ecx + movl $-2004318071, %edx + movl %ecx, %eax + imull %edx + leal (%rdx,%rcx), %eax + sarl $5, %eax + movl %eax, %edx + movl %ecx, %eax + sarl $31, %eax + subl %eax, %edx + movl %edx, %eax + movl %eax, -24(%rbp) + movl -24(%rbp), %eax + imull $60, %eax, %eax + subl %eax, %ecx + movl %ecx, %eax + movl %eax, -24(%rbp) + movl -1050676(%rbp), %esi + movl -1050668(%rbp), %ecx + movl -1050664(%rbp), %eax + leal 1(%rax), %r10d + movl -1050660(%rbp), %r9d + leaq -1050656(%rbp), %r8 + movq -1054792(%rbp), %rdx + leaq -1048608(%rbp), %rax + subq $8, %rsp + leaq -1054784(%rbp), %rdi + pushq %rdi + movl -24(%rbp), %edi + pushq %rdi + movl -20(%rbp), %edi + pushq %rdi + movl -16(%rbp), %edi + pushq %rdi + pushq %rsi + pushq %rcx + pushq %r10 + movq %rdx, %rcx + leaq .LC48(%rip), %rdx + movl $1048576, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT + addq $64, %rsp + leaq -1048608(%rbp), %rdx + movq -1054792(%rbp), %rax + movq %rdx, %rcx + leaq .LC27(%rip), %rdx + movl $1048576, %esi + movq %rax, %rdi + movl $0, %eax + call snprintf@PLT +.L12: + movq -8(%rbp), %rax + movq %rax, %rdi + call _IO_getc@PLT + movl %eax, -12(%rbp) + cmpl $-1, -12(%rbp) + jne .L13 + movq -8(%rbp), %rax + movq %rax, %rdi + call fclose@PLT +.L14: + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size snprint_scores_file, .-snprint_scores_file + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/modules/tmp/Makefile b/modules/tmp/Makefile new file mode 100644 index 0000000..cc37aab --- /dev/null +++ b/modules/tmp/Makefile @@ -0,0 +1,47 @@ +# -*- MakeFile -*- + +# MACRO = substitute with this + +# directories + +ABOUT_TMP_DIR = $(ABOUT_DIR)/tmp/ +CTRL_TMP_DIR = $(CTRL_DIR)/tmp/ +GAME_TMP_DIR = $(GAME_DIR)/tmp/ +MENU_TMP_DIR = $(MENU_DIR)/tmp/ +PLAY_TMP_DIR = $(PLAY_DIR)/tmp/ +SAVE_TMP_DIR = $(SAVE_DIR)/tmp/ +XYZZY_TMP_DIR = $(XYZZY_DIR)/tmp/ + +# dependencies + +ALL = modules.o + +MODS_OBJ_ABOUT = about_mod.o +MODS_OBJ_CTRL = ctrl_mod.o +MODS_OBJ_GAME = game_mod.o +MODS_OBJ_MENU = menu_mod.o +MODS_OBJ_PLAY = player_mod.o +MODS_OBJ_SAVE = save_mod.o +MODS_OBJ_XYZZY = xyzzy_mod.o +MODS_OBJS = $(patsubst %,$(ABOUT_TMP_DIR)/%,$(MODS_OBJ_ABOUT)) \ + $(patsubst %,$(CTRL_TMP_DIR)/%,$(MODS_OBJ_CTRL)) \ + $(patsubst %,$(GAME_TMP_DIR)/%,$(MODS_OBJ_GAME)) \ + $(patsubst %,$(MENU_TMP_DIR)/%,$(MODS_OBJ_MENU)) \ + $(patsubst %,$(PLAY_TMP_DIR)/%,$(MODS_OBJ_PLAY)) \ + $(patsubst %,$(SAVE_TMP_DIR)/%,$(MODS_OBJ_SAVE)) \ + $(patsubst %,$(XYZZY_TMP_DIR)/%,$(MODS_OBJ_XYZZY)) + +# target: dependencies +# action + +all: $(ALL) + + +modules.o: $(MODS_OBJS) + $(Q)$(LD) -r $^ -o $@ + @echo " LD $@" + @echo "" + + +clean: + $(Q)rm -f *.o diff --git a/modules/xyzzy/Makefile b/modules/xyzzy/Makefile index ce6871e..8cc4244 100644 --- a/modules/xyzzy/Makefile +++ b/modules/xyzzy/Makefile @@ -4,16 +4,16 @@ # directories -OBJ_DIR = $(XYZZY_DIR)/obj/ +TMP_DIR = $(XYZZY_DIR)/tmp/ # target: dependencies # action all: - $(Q)cd $(OBJ_DIR) && $(MAKE) && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) && cd .. clean: - $(Q)cd $(OBJ_DIR) && $(MAKE) clean && cd .. + $(Q)cd $(TMP_DIR) && $(MAKE) clean && cd .. ################################################################################ ######## End of file ########################################################### diff --git a/modules/xyzzy/obj/Makefile b/modules/xyzzy/tmp/Makefile index 2d96e2b..5ad3b0c 100644 --- a/modules/xyzzy/obj/Makefile +++ b/modules/xyzzy/tmp/Makefile @@ -12,7 +12,7 @@ SRC_DIR = $(XYZZY_DIR)/src/ # dependencies _ALL = xyzzy.o -ALL = $(_ALL) xyzzy_mod.o +ALL = $(_ALL) xyzzy_mod.o XYZZY_INC_GAME = game_iface.h XYZZY_INC = xyzzy.h @@ -30,14 +30,17 @@ all: $(ALL) xyzzy_mod.o: $(_ALL) $(Q)$(LD) -r $^ -o $@ - @echo "\tLD $@" + @echo " LD $@" @echo "" -xyzzy.o: $(XYZZY_DEPS) - $(Q)$(CC) $(CFLAGS) $(XYZZY_INC_DIRS) -c $< -o $@ - @echo "\tCC $@" +xyzzy.s: $(XYZZY_DEPS) + $(Q)$(CC) $(CFLAGS) $(XYZZY_INC_DIRS) -S $< -o $@ + @echo " CC $@" +xyzzy.o: xyzzy.s + $(Q)$(AS) $< -o $@ + @echo " AS $@" clean: - $(Q)rm -f *.o + $(Q)rm -f *.o *.s diff --git a/modules/xyzzy/tmp/xyzzy.s b/modules/xyzzy/tmp/xyzzy.s new file mode 100644 index 0000000..9e87bbd --- /dev/null +++ b/modules/xyzzy/tmp/xyzzy.s @@ -0,0 +1,234 @@ + .file "xyzzy.c" + .local x + .comm x,4,4 + .local step_notflag + .comm step_notflag,1,1 + .text + .globl xyzzy_init + .type xyzzy_init, @function +xyzzy_init: +.LFB0: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movl $0, x(%rip) + movb $1, step_notflag(%rip) + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE0: + .size xyzzy_init, .-xyzzy_init + .globl xyzzy_lin + .type xyzzy_lin, @function +xyzzy_lin: +.LFB1: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movl x(%rip), %eax + testl %eax, %eax + jne .L3 + movl $1, x(%rip) +.L3: + movzbl step_notflag(%rip), %eax + testb %al, %al + je .L4 + movq -16(%rbp), %rdx + movq -8(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call xyzzy_step_all + jmp .L5 +.L4: + movq -16(%rbp), %rdx + movq -8(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call xyzzy_flag_all + movl x(%rip), %eax + subl $1, %eax + movl %eax, x(%rip) +.L5: + movzbl step_notflag(%rip), %eax + movzbl %al, %eax + testl %eax, %eax + setne %al + xorl $1, %eax + movzbl %al, %eax + andl $1, %eax + movb %al, step_notflag(%rip) + movl x(%rip), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE1: + .size xyzzy_lin, .-xyzzy_lin + .globl xyzzy_p + .type xyzzy_p, @function +xyzzy_p: +.LFB2: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $32, %rsp + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movq -24(%rbp), %rax + movl (%rax), %edx + movq -24(%rbp), %rax + movl 4(%rax), %eax + imull %edx, %eax + movl %eax, -4(%rbp) + movl x(%rip), %eax + testl %eax, %eax + jne .L8 + movl -4(%rbp), %eax + movl %eax, %edx + shrl $31, %edx + addl %edx, %eax + sarl %eax + movl %eax, x(%rip) +.L8: + movq -32(%rbp), %rdx + movq -24(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call xyzzy_lin + movl x(%rip), %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE2: + .size xyzzy_p, .-xyzzy_p + .globl xyzzy_step_all + .type xyzzy_step_all, @function +xyzzy_step_all: +.LFB3: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movl $0, -4(%rbp) + jmp .L11 +.L15: + movl $0, -8(%rbp) + jmp .L12 +.L14: + movq -24(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + addq $998004, %rdx + movl (%rax,%rdx,4), %eax + cmpl $1, %eax + jne .L13 + movq -32(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl $1, 4(%rax,%rdx,4) +.L13: + addl $1, -8(%rbp) +.L12: + movq -24(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L14 + addl $1, -4(%rbp) +.L11: + movq -24(%rbp), %rax + movl (%rax), %eax + cmpl -4(%rbp), %eax + jg .L15 + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE3: + .size xyzzy_step_all, .-xyzzy_step_all + .globl xyzzy_flag_all + .type xyzzy_flag_all, @function +xyzzy_flag_all: +.LFB4: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + movq %rdi, -24(%rbp) + movq %rsi, -32(%rbp) + movl $0, -4(%rbp) + jmp .L17 +.L21: + movl $0, -8(%rbp) + jmp .L18 +.L20: + movq -24(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + addq $998004, %rdx + movl (%rax,%rdx,4), %eax + cmpl $1, %eax + jne .L19 + movq -32(%rbp), %rax + movl -8(%rbp), %edx + movslq %edx, %rdx + movl -4(%rbp), %ecx + movslq %ecx, %rcx + imulq $999, %rcx, %rcx + addq %rcx, %rdx + movl $2, 4(%rax,%rdx,4) +.L19: + addl $1, -8(%rbp) +.L18: + movq -24(%rbp), %rax + movl 4(%rax), %eax + cmpl -8(%rbp), %eax + jg .L20 + addl $1, -4(%rbp) +.L17: + movq -24(%rbp), %rax + movl (%rax), %eax + cmpl -4(%rbp), %eax + jg .L21 + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE4: + .size xyzzy_flag_all, .-xyzzy_flag_all + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits diff --git a/share/README.txt b/share/README.txt index ebdf9c3..c399fe2 100644 --- a/share/README.txt +++ b/share/README.txt @@ -46,7 +46,7 @@ site: COMPILE: - linux: $ make - - windows (MSYS): + - windows (MSYS2): $ make OS=win INSTALL: diff --git a/obj/Makefile b/tmp/Makefile index 70823a4..c34a266 100644 --- a/obj/Makefile +++ b/tmp/Makefile @@ -59,14 +59,17 @@ MAIN_INC_DIRS = -I $(LIBALX_INC_DIR) \ all: $(ALL) -main.o: $(MAIN_DEPS) - $(Q)$(CC) $(CFLAGS) $(MAIN_INC_DIRS) -c $< -o $@ +main.s: $(MAIN_DEPS) + $(Q)$(CC) $(CFLAGS) $(MAIN_INC_DIRS) -S $< -o $@ @echo "\tCC $@" +main.o: main.s + $(Q)$(AS) $< -o $@ + @echo "\tAS $@" @echo "" clean: - $(Q)rm -f *.o + $(Q)rm -f *.o *.s ################################################################################ ######## End of file ########################################################### diff --git a/tmp/main.s b/tmp/main.s new file mode 100644 index 0000000..512c7cb --- /dev/null +++ b/tmp/main.s @@ -0,0 +1,99 @@ + .file "main.c" + .text + .globl main + .type main, @function +main: +.LFB206: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movl %edi, -4(%rbp) + movq %rsi, -16(%rbp) + leaq -16(%rbp), %rdx + leaq -4(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call init_all + movl $0, %edi + call print_share_file@PLT + call getchar@PLT + call start_switch@PLT + call menu_iface@PLT + call cleanup + movl $0, %eax + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE206: + .size main, .-main + .globl init_all + .type init_all, @function +init_all: +.LFB207: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + subq $16, %rsp + movq %rdi, -8(%rbp) + movq %rsi, -16(%rbp) + movq -16(%rbp), %rdx + movq -8(%rbp), %rax + movq %rdx, %rsi + movq %rax, %rdi + call gtk_init_check@PLT + call alx_start_curses@PLT + call alx_pause_curses@PLT + call menu_iface_init@PLT + call game_init@PLT + call about_init@PLT + call save_init@PLT + call score_init@PLT + movl $0, start_mode(%rip) + movb $0, flag_exit(%rip) + movl $2, menu_iface_mode(%rip) + movl $2, player_iface_mode(%rip) + movq -16(%rbp), %rax + movq (%rax), %rdx + movq -8(%rbp), %rax + movl (%rax), %eax + movq %rdx, %rsi + movl %eax, %edi + call parser@PLT + call menu_iface_init_iface@PLT + nop + leave + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE207: + .size init_all, .-init_all + .globl cleanup + .type cleanup, @function +cleanup: +.LFB208: + .cfi_startproc + pushq %rbp + .cfi_def_cfa_offset 16 + .cfi_offset 6, -16 + movq %rsp, %rbp + .cfi_def_cfa_register 6 + call menu_iface_cleanup@PLT + call alx_resume_curses@PLT + call alx_end_curses@PLT + nop + popq %rbp + .cfi_def_cfa 7, 8 + ret + .cfi_endproc +.LFE208: + .size cleanup, .-cleanup + .ident "GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516" + .section .note.GNU-stack,"",@progbits |