ntsys/ntsys.s
2026-03-10 16:50:29 +04:00

4192 lines
73 KiB
ArmAsm

.file "ntsys.c"
.text
.p2align 4
.type push, @function
push:
.LFB28:
.cfi_startproc
endbr64
movl __ntsys_buffer_ptr(%rip), %edx
movq __ntsys_buffer(%rip), %rsi
movzbl (%rsi,%rdx), %edi
movq %rdx, %rax
movl __ntsys_stack_pointer(%rip), %edx
movzbl %dil, %ecx
subl %ecx, %edx
movl %edx, __ntsys_stack_pointer(%rip)
testq %rdi, %rdi
je .L2
addl $1, %eax
movl %eax, __ntsys_buffer_ptr(%rip)
movzbl (%rsi,%rax), %ecx
movq __ntsys_stack(%rip), %rax
movb %cl, (%rax,%rdx)
movl $1, %edx
cmpq $1, %rdi
je .L4
.p2align 4,,10
.p2align 3
.L3:
movl __ntsys_buffer_ptr(%rip), %eax
movq __ntsys_buffer(%rip), %rcx
addl $1, %eax
movl %eax, __ntsys_buffer_ptr(%rip)
movzbl (%rcx,%rax), %esi
movq __ntsys_stack(%rip), %rcx
movl __ntsys_stack_pointer(%rip), %eax
addq %rdx, %rcx
addq $1, %rdx
movb %sil, (%rcx,%rax)
cmpq %rdx, %rdi
jne .L3
.L4:
movl __ntsys_buffer_ptr(%rip), %eax
.L2:
addl $1, %eax
movl %eax, __ntsys_buffer_ptr(%rip)
ret
.cfi_endproc
.LFE28:
.size push, .-push
.p2align 4
.type pop, @function
pop:
.LFB29:
.cfi_startproc
endbr64
movl __ntsys_buffer_ptr(%rip), %eax
leal 1(%rax), %edx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %eax
addl %eax, __ntsys_stack_pointer(%rip)
ret
.cfi_endproc
.LFE29:
.size pop, .-pop
.p2align 4
.type push_str, @function
push_str:
.LFB30:
.cfi_startproc
endbr64
movl __ntsys_buffer_ptr(%rip), %eax
movq __ntsys_buffer(%rip), %rdi
movl __ntsys_stack_pointer(%rip), %r9d
cmpb $0, (%rdi,%rax)
movq %rax, %r8
je .L14
xorl %edx, %edx
.p2align 4,,10
.p2align 3
.L15:
movq %rdx, %rcx
addq $1, %rdx
leal (%r8,%rdx), %esi
movl %esi, __ntsys_buffer_ptr(%rip)
cmpb $0, (%rdi,%rsi)
movq %rsi, %rax
jne .L15
addq $2, %rcx
movl %r9d, %edx
subl %ecx, %edx
subl %ecx, %eax
movl %edx, __ntsys_stack_pointer(%rip)
testq %rcx, %rcx
je .L18
addl $1, %eax
movl %eax, __ntsys_buffer_ptr(%rip)
movzbl (%rdi,%rax), %esi
movq __ntsys_stack(%rip), %rax
movb %sil, (%rax,%rdx)
cmpq $1, %rcx
je .L17
movl $1, %edx
.p2align 4,,10
.p2align 3
.L19:
movl __ntsys_buffer_ptr(%rip), %eax
movq __ntsys_buffer(%rip), %rsi
addl $1, %eax
movl %eax, __ntsys_buffer_ptr(%rip)
movzbl (%rsi,%rax), %edi
movq __ntsys_stack(%rip), %rsi
movl __ntsys_stack_pointer(%rip), %eax
addq %rdx, %rsi
addq $1, %rdx
movb %dil, (%rsi,%rax)
cmpq %rdx, %rcx
jne .L19
.L17:
movl __ntsys_buffer_ptr(%rip), %eax
.L18:
addl $1, %eax
movl %eax, __ntsys_buffer_ptr(%rip)
ret
.p2align 4,,10
.p2align 3
.L14:
leal -1(%r9), %edx
movl %edx, __ntsys_stack_pointer(%rip)
movzbl (%rdi,%rax), %ecx
movq __ntsys_stack(%rip), %rax
movb %cl, (%rax,%rdx)
jmp .L17
.cfi_endproc
.LFE30:
.size push_str, .-push_str
.p2align 4
.globl stack_copy
.type stack_copy, @function
stack_copy:
.LFB64:
.cfi_startproc
endbr64
movl __ntsys_buffer_ptr(%rip), %eax
leal 1(%rax), %edx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %esi
movl __ntsys_stack_pointer(%rip), %eax
movzbl %sil, %edx
subl %edx, %eax
movl %eax, __ntsys_stack_pointer(%rip)
testq %rsi, %rsi
je .L27
movq __ntsys_stack(%rip), %rdx
leaq (%rdx,%rsi), %rcx
movzbl (%rcx,%rax), %ecx
movb %cl, (%rdx,%rax)
movl $1, %edx
cmpq $1, %rsi
je .L27
.p2align 4,,10
.p2align 3
.L29:
movl __ntsys_stack_pointer(%rip), %eax
movq __ntsys_stack(%rip), %rcx
addq %rdx, %rax
addq $1, %rdx
leaq (%rcx,%rax), %rdi
movzbl (%rdi,%rsi), %edi
movb %dil, (%rcx,%rax)
cmpq %rdx, %rsi
jne .L29
.L27:
ret
.cfi_endproc
.LFE64:
.size stack_copy, .-stack_copy
.p2align 4
.type get_sp, @function
get_sp:
.LFB58:
.cfi_startproc
endbr64
movl __ntsys_stack_pointer(%rip), %eax
movq __ntsys_stack(%rip), %rcx
leal -2(%rax), %edx
movl %edx, __ntsys_stack_pointer(%rip)
movb %dl, (%rcx,%rdx)
movl __ntsys_stack_pointer(%rip), %eax
movzbl 1+__ntsys_stack_pointer(%rip), %ecx
movq __ntsys_stack(%rip), %rdx
movb %cl, 1(%rdx,%rax)
ret
.cfi_endproc
.LFE58:
.size get_sp, .-get_sp
.p2align 4
.type set_sp, @function
set_sp:
.LFB59:
.cfi_startproc
endbr64
movl __ntsys_stack_pointer(%rip), %eax
movq __ntsys_stack(%rip), %rdx
movzbl (%rdx,%rax), %ecx
movb %cl, arg1_fGH6VSEzu7qNiGVE(%rip)
movzbl 1(%rdx,%rax), %eax
movb %al, 1+arg1_fGH6VSEzu7qNiGVE(%rip)
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, __ntsys_stack_pointer(%rip)
ret
.cfi_endproc
.LFE59:
.size set_sp, .-set_sp
.p2align 4
.type nt_goto, @function
nt_goto:
.LFB44:
.cfi_startproc
endbr64
movl __ntsys_stack_pointer(%rip), %edx
movq __ntsys_stack(%rip), %rcx
movzbl (%rcx,%rdx), %esi
movq %rdx, %rax
addl $2, %eax
movb %sil, arg1_fGH6VSEzu7qNiGVE(%rip)
movzbl 1(%rcx,%rdx), %edx
movl %eax, __ntsys_stack_pointer(%rip)
movb %dl, 1+arg1_fGH6VSEzu7qNiGVE(%rip)
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, __ntsys_buffer_ptr(%rip)
ret
.cfi_endproc
.LFE44:
.size nt_goto, .-nt_goto
.p2align 4
.type mrd, @function
mrd:
.LFB57:
.cfi_startproc
endbr64
movl __ntsys_buffer_ptr(%rip), %eax
movl __ntsys_stack_pointer(%rip), %ecx
movq __ntsys_stack(%rip), %rsi
leal 1(%rax), %edx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rsi,%rcx), %edi
movzbl (%rdx,%rax), %r8d
movq %rcx, %rax
movb %dil, arg1_fGH6VSEzu7qNiGVE(%rip)
addl $2, %eax
movzbl 1(%rsi,%rcx), %ecx
subl %r8d, %eax
movb %cl, 1+arg1_fGH6VSEzu7qNiGVE(%rip)
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %ecx
movl %eax, __ntsys_stack_pointer(%rip)
testq %r8, %r8
je .L40
movzbl (%rsi,%rcx), %edx
addq $1, %rcx
movb %dl, (%rsi,%rax)
movl $1, %edx
cmpq $1, %r8
je .L40
.p2align 4,,10
.p2align 3
.L43:
movq __ntsys_stack(%rip), %rax
movl __ntsys_stack_pointer(%rip), %esi
movzbl (%rax,%rcx), %edi
addq %rdx, %rax
addq $1, %rdx
addq $1, %rcx
movb %dil, (%rax,%rsi)
cmpq %rdx, %r8
jne .L43
.L40:
ret
.cfi_endproc
.LFE57:
.size mrd, .-mrd
.p2align 4
.type nt_not, @function
nt_not:
.LFB32:
.cfi_startproc
endbr64
movl __ntsys_buffer_ptr(%rip), %eax
leal 1(%rax), %edx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %r8d
testq %r8, %r8
je .L50
movl __ntsys_stack_pointer(%rip), %edi
xorl %eax, %eax
addq __ntsys_stack(%rip), %rdi
leaq arg1_fGH6VSEzu7qNiGVE(%rip), %rsi
.p2align 4,,10
.p2align 3
.L52:
movzbl (%rdi,%rax), %edx
movq %rax, %rcx
movb %dl, (%rsi,%rax)
leaq 1(%rax), %rax
cmpq %rax, %r8
jne .L52
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
notl %eax
movb %al, (%rdi)
movl $1, %eax
cmpq $1, %r8
je .L50
.p2align 4,,10
.p2align 3
.L53:
movzbl (%rsi,%rax), %edx
movq __ntsys_stack(%rip), %r8
movl __ntsys_stack_pointer(%rip), %edi
addq %rax, %r8
notl %edx
movb %dl, (%r8,%rdi)
movq %rax, %rdx
addq $1, %rax
cmpq %rdx, %rcx
jne .L53
.L50:
ret
.cfi_endproc
.LFE32:
.size nt_not, .-nt_not
.p2align 4
.type mwrt, @function
mwrt:
.LFB56:
.cfi_startproc
endbr64
movl __ntsys_buffer_ptr(%rip), %eax
movq __ntsys_stack(%rip), %r10
leal 1(%rax), %edx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %esi
movl __ntsys_stack_pointer(%rip), %eax
movzbl (%r10,%rax), %edx
movq %rax, %r8
movq %rsi, %r9
addl $2, %r8d
movb %dl, arg1_fGH6VSEzu7qNiGVE(%rip)
movzbl 1(%r10,%rax), %eax
movl %r8d, __ntsys_stack_pointer(%rip)
movb %al, 1+arg1_fGH6VSEzu7qNiGVE(%rip)
testq %rsi, %rsi
je .L62
movl %r8d, %edx
xorl %eax, %eax
leaq (%r10,%rdx), %rdi
leaq arg2_fGH6VSEzu7qNiGVE(%rip), %rdx
.p2align 4,,10
.p2align 3
.L64:
movzbl (%rdi,%rax), %ecx
movb %cl, (%rdx,%rax)
addq $1, %rax
cmpq %rax, %rsi
jne .L64
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %ecx
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
addl %r8d, %r9d
movl %r9d, __ntsys_stack_pointer(%rip)
leaq (%rsi,%rcx), %rdi
movb %al, (%r10,%rcx)
subq %rcx, %rdx
leaq 1(%rcx), %rax
cmpq $1, %rsi
je .L62
.p2align 4,,10
.p2align 3
.L66:
movzbl (%rdx,%rax), %esi
movq __ntsys_stack(%rip), %rcx
movb %sil, (%rcx,%rax)
addq $1, %rax
cmpq %rax, %rdi
jne .L66
.L62:
ret
.cfi_endproc
.LFE56:
.size mwrt, .-mwrt
.p2align 4
.globl stack_swap
.type stack_swap, @function
stack_swap:
.LFB63:
.cfi_startproc
endbr64
movl __ntsys_buffer_ptr(%rip), %eax
movq __ntsys_stack(%rip), %rcx
pushq %rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
leal 1(%rax), %edx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %r10d
movl __ntsys_stack_pointer(%rip), %edx
movzbl (%rcx,%rdx), %esi
leal 1(%rdx), %ebx
movl %ebx, __ntsys_stack_pointer(%rip)
leaq (%rcx,%rbx), %r11
movb %sil, arg1_fGH6VSEzu7qNiGVE(%rip)
testq %r10, %r10
je .L74
movq %r10, %r9
xorl %edx, %edx
leaq arg2_fGH6VSEzu7qNiGVE(%rip), %r8
.p2align 4,,10
.p2align 3
.L76:
movzbl (%r11,%rdx), %eax
movq %rdx, %rdi
movb %al, (%r8,%rdx)
leaq 1(%rdx), %rdx
cmpq %rdx, %r10
jne .L76
movzbl %sil, %eax
imulq %r10, %rax
testq %rax, %rax
je .L77
addq %r10, %rcx
movzbl (%rcx,%rbx), %eax
movb %al, (%r11)
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %ecx
movl $1, %eax
leaq arg1_fGH6VSEzu7qNiGVE(%rip), %r11
movq %rcx, %rsi
imulq %r10, %rcx
cmpq $1, %rcx
jbe .L92
.p2align 4,,10
.p2align 3
.L78:
movl __ntsys_stack_pointer(%rip), %ecx
movq __ntsys_stack(%rip), %rsi
addq %rax, %rcx
addq $1, %rax
leaq (%rsi,%rcx), %r10
movzbl (%r10,%rdx), %r10d
movb %r10b, (%rsi,%rcx)
movzbl (%r11), %ecx
movq %rcx, %rsi
imulq %rdx, %rcx
cmpq %rcx, %rax
jb .L78
.L92:
movq __ntsys_stack(%rip), %rcx
.L77:
leal -1(%rsi), %eax
xorl %edx, %edx
imull %r9d, %eax
movzbl %al, %eax
jmp .L80
.p2align 4,,10
.p2align 3
.L93:
movq __ntsys_stack(%rip), %rcx
.L80:
movzbl (%r8,%rdx), %r9d
addq %rdx, %rcx
movl %eax, %esi
addl __ntsys_stack_pointer(%rip), %esi
movb %r9b, (%rcx,%rsi)
movq %rdx, %rcx
addq $1, %rdx
cmpq %rdi, %rcx
jne .L93
.L74:
popq %rbx
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE63:
.size stack_swap, .-stack_swap
.p2align 4
.type bez_bnez, @function
bez_bnez:
.LFB45:
.cfi_startproc
movl __ntsys_buffer_ptr(%rip), %eax
movq __ntsys_stack(%rip), %r11
pushq %rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
movl %edi, %r10d
leal 1(%rax), %edx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %r9d
movl __ntsys_stack_pointer(%rip), %edx
movq %r9, %rdi
movl %r9d, %ebx
leaq (%r11,%rdx), %rsi
movq %rdx, %r8
andl $15, %edi
andl $15, %ebx
je .L123
xorl %eax, %eax
leaq arg1_fGH6VSEzu7qNiGVE(%rip), %rcx
.p2align 4,,10
.p2align 3
.L108:
movzbl (%rsi,%rax), %edx
movb %dl, (%rcx,%rax)
addq $1, %rax
cmpq %rax, %rdi
jne .L108
movzbl %bl, %ebx
addl %ebx, %r8d
movl %r8d, __ntsys_stack_pointer(%rip)
cmpb $-15, %r9b
je .L99
ja .L100
cmpb $4, %r9b
je .L105
ja .L97
cmpb $1, %r9b
je .L99
.L98:
cmpb $2, %r9b
jne .L122
.L107:
cmpw $0, arg1_fGH6VSEzu7qNiGVE(%rip)
sete %cl
jmp .L103
.p2align 4,,10
.p2align 3
.L100:
cmpb $-12, %r9b
je .L105
cmpb $-8, %r9b
je .L106
cmpb $-14, %r9b
je .L107
.L122:
xorl %ecx, %ecx
jmp .L103
.p2align 4,,10
.p2align 3
.L123:
cmpb $4, %r9b
je .L105
jbe .L98
.L97:
cmpb $8, %r9b
jne .L122
.L106:
cmpq $0, arg1_fGH6VSEzu7qNiGVE(%rip)
sete %cl
.L103:
movl %r8d, %eax
addl $2, %r8d
movzbl (%r11,%rax), %edx
movb %dl, arg2_fGH6VSEzu7qNiGVE(%rip)
movzbl 1(%r11,%rax), %eax
movl %r8d, __ntsys_stack_pointer(%rip)
movb %al, 1+arg2_fGH6VSEzu7qNiGVE(%rip)
cmpb %r10b, %cl
je .L94
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, __ntsys_buffer_ptr(%rip)
.L94:
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L99:
.cfi_restore_state
cmpb $0, arg1_fGH6VSEzu7qNiGVE(%rip)
sete %cl
jmp .L103
.p2align 4,,10
.p2align 3
.L105:
movl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
testl %eax, %eax
sete %cl
jmp .L103
.cfi_endproc
.LFE45:
.size bez_bnez, .-bez_bnez
.p2align 4
.type bnez, @function
bnez:
.LFB54:
.cfi_startproc
endbr64
movl $1, %edi
jmp bez_bnez
.cfi_endproc
.LFE54:
.size bnez, .-bnez
.p2align 4
.type bez, @function
bez:
.LFB55:
.cfi_startproc
endbr64
xorl %edi, %edi
jmp bez_bnez
.cfi_endproc
.LFE55:
.size bez, .-bez
.p2align 4
.type logic_operation, @function
logic_operation:
.LFB38:
.cfi_startproc
movl __ntsys_buffer_ptr(%rip), %eax
movl __ntsys_stack_pointer(%rip), %r10d
pushq %r12
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
movl %edi, %r11d
pushq %rbp
.cfi_def_cfa_offset 24
.cfi_offset 6, -24
leal 1(%rax), %edx
pushq %rbx
.cfi_def_cfa_offset 32
.cfi_offset 3, -32
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %esi
testq %rsi, %rsi
je .L127
movq __ntsys_stack(%rip), %rbx
movl %r10d, %edx
movq %rsi, %rbp
xorl %eax, %eax
leaq arg1_fGH6VSEzu7qNiGVE(%rip), %rcx
leaq (%rbx,%rdx), %rdi
.p2align 4,,10
.p2align 3
.L128:
movzbl (%rdi,%rax), %edx
movb %dl, (%rcx,%rax)
movq %rax, %rdx
leaq 1(%rax), %rax
cmpq %rax, %rsi
jne .L128
movzbl %bpl, %eax
leaq arg2_fGH6VSEzu7qNiGVE(%rip), %r8
leal (%r10,%rax), %r12d
xorl %eax, %eax
movl %r12d, __ntsys_stack_pointer(%rip)
movq %r12, %r10
leaq (%rbx,%r12), %r9
.p2align 4,,10
.p2align 3
.L136:
movzbl (%r9,%rax), %edi
movb %dil, (%r8,%rax)
movq %rax, %rdi
addq $1, %rax
cmpq %rdx, %rdi
jne .L136
cmpb $4, %r11b
je .L137
cmpb $5, %r11b
je .L138
cmpb $2, %r11b
je .L139
cmpb $3, %r11b
jne .L226
cmpb $4, %bpl
je .L154
ja .L155
cmpb $1, %bpl
je .L156
cmpb $2, %bpl
jne .L223
.L157:
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
orw arg2_fGH6VSEzu7qNiGVE(%rip), %ax
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
.L154:
movl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
orl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
orq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
.L130:
movl %r10d, __ntsys_stack_pointer(%rip)
movq __ntsys_stack(%rip), %rbx
movl %r10d, %r12d
testq %rsi, %rsi
je .L126
.L159:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
leaq arg1_fGH6VSEzu7qNiGVE(%rip), %rcx
movb %al, (%rbx,%r12)
cmpq $1, %rsi
je .L126
.L171:
movl $1, %eax
.p2align 4,,10
.p2align 3
.L172:
movq __ntsys_stack(%rip), %rdi
movzbl (%rcx,%rax), %r8d
movl __ntsys_stack_pointer(%rip), %edx
addq %rax, %rdi
addq $1, %rax
movb %r8b, (%rdi,%rdx)
cmpq %rax, %rsi
jne .L172
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 24
popq %rbp
.cfi_def_cfa_offset 16
popq %r12
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L138:
.cfi_restore_state
cmpb $4, %bpl
je .L165
ja .L166
cmpb $1, %bpl
je .L167
cmpb $2, %bpl
jne .L224
.L168:
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
xorw arg2_fGH6VSEzu7qNiGVE(%rip), %ax
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
.L165:
movl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
xorl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
.L170:
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
xorq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
movl %r10d, __ntsys_stack_pointer(%rip)
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L159
.L226:
cmpb $4, %bpl
je .L141
ja .L142
cmpb $1, %bpl
je .L143
cmpb $2, %bpl
jne .L223
.L144:
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %ecx
sarl %cl, %eax
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
.L141:
movl arg2_fGH6VSEzu7qNiGVE(%rip), %ecx
shrl %cl, arg1_fGH6VSEzu7qNiGVE(%rip)
.L146:
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rcx
movl %r10d, __ntsys_stack_pointer(%rip)
shrq %cl, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L159
.p2align 4,,10
.p2align 3
.L137:
cmpb $4, %bpl
je .L160
ja .L161
cmpb $1, %bpl
jne .L227
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
andb arg2_fGH6VSEzu7qNiGVE(%rip), %al
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
.L163:
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
andw arg2_fGH6VSEzu7qNiGVE(%rip), %ax
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
.L160:
movl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
andl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
.L164:
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
andq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
movl %r10d, __ntsys_stack_pointer(%rip)
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L159
.p2align 4,,10
.p2align 3
.L139:
cmpb $4, %bpl
je .L147
ja .L148
cmpb $1, %bpl
jne .L228
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %ecx
sall %cl, %eax
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
.L150:
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %ecx
sall %cl, %eax
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
.L147:
movl arg2_fGH6VSEzu7qNiGVE(%rip), %ecx
sall %cl, arg1_fGH6VSEzu7qNiGVE(%rip)
.L152:
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rcx
movl %r10d, __ntsys_stack_pointer(%rip)
salq %cl, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L159
.p2align 4,,10
.p2align 3
.L127:
cmpb $3, %dil
je .L130
.L126:
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 24
popq %rbp
.cfi_def_cfa_offset 16
popq %r12
.cfi_def_cfa_offset 8
ret
.L161:
.cfi_restore_state
cmpb $8, %bpl
je .L164
.L223:
movl %r10d, __ntsys_stack_pointer(%rip)
jmp .L159
.L148:
cmpb $8, %bpl
je .L152
jmp .L223
.L155:
cmpb $8, %bpl
jne .L223
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
orq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
movl %r10d, __ntsys_stack_pointer(%rip)
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L159
.L142:
cmpb $8, %bpl
je .L146
jmp .L223
.L156:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
orb arg2_fGH6VSEzu7qNiGVE(%rip), %al
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L157
.L167:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
xorb arg2_fGH6VSEzu7qNiGVE(%rip), %al
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L168
.L228:
cmpb $2, %bpl
je .L150
jmp .L223
.p2align 4,,10
.p2align 3
.L227:
cmpb $2, %bpl
je .L163
jmp .L223
.p2align 4,,10
.p2align 3
.L143:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %ecx
sarl %cl, %eax
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L144
.L166:
cmpb $8, %bpl
je .L170
.L224:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movl %r10d, __ntsys_stack_pointer(%rip)
movb %al, (%rbx,%r12)
jmp .L171
.cfi_endproc
.LFE38:
.size logic_operation, .-logic_operation
.p2align 4
.type nt_shr, @function
nt_shr:
.LFB39:
.cfi_startproc
endbr64
movl $1, %edi
jmp logic_operation
.cfi_endproc
.LFE39:
.size nt_shr, .-nt_shr
.p2align 4
.type nt_shl, @function
nt_shl:
.LFB40:
.cfi_startproc
endbr64
movl $2, %edi
jmp logic_operation
.cfi_endproc
.LFE40:
.size nt_shl, .-nt_shl
.p2align 4
.type nt_or, @function
nt_or:
.LFB41:
.cfi_startproc
endbr64
movl $3, %edi
jmp logic_operation
.cfi_endproc
.LFE41:
.size nt_or, .-nt_or
.p2align 4
.type nt_and, @function
nt_and:
.LFB42:
.cfi_startproc
endbr64
movl $4, %edi
jmp logic_operation
.cfi_endproc
.LFE42:
.size nt_and, .-nt_and
.p2align 4
.type nt_xor, @function
nt_xor:
.LFB43:
.cfi_startproc
endbr64
movl $5, %edi
jmp logic_operation
.cfi_endproc
.LFE43:
.size nt_xor, .-nt_xor
.p2align 4
.type n_up_down_eq, @function
n_up_down_eq:
.LFB47:
.cfi_startproc
movl __ntsys_buffer_ptr(%rip), %eax
movq __ntsys_stack(%rip), %r11
pushq %rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
movl %edi, %r9d
leal 1(%rax), %edx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %r10d
movl __ntsys_stack_pointer(%rip), %edx
movq %r10, %r8
movl %r10d, %ebx
leaq (%r11,%rdx), %rdi
movq %rdx, %rcx
andl $15, %r8d
andl $15, %ebx
je .L335
xorl %eax, %eax
leaq arg1_fGH6VSEzu7qNiGVE(%rip), %rsi
.p2align 4,,10
.p2align 3
.L235:
movzbl (%rdi,%rax), %edx
movb %dl, (%rsi,%rax)
movq %rax, %rdx
leaq 1(%rax), %rax
cmpq %rax, %r8
jne .L235
movzbl %bl, %r8d
xorl %eax, %eax
leaq arg2_fGH6VSEzu7qNiGVE(%rip), %rsi
addl %r8d, %ecx
movl %ecx, %ecx
movl %ecx, __ntsys_stack_pointer(%rip)
movq %rcx, %rbx
leaq (%r11,%rcx), %rdi
.p2align 4,,10
.p2align 3
.L239:
movzbl (%rdi,%rax), %ecx
movb %cl, (%rsi,%rax)
movq %rax, %rcx
addq $1, %rax
cmpq %rdx, %rcx
jne .L239
movl %r9d, %eax
leal (%r8,%rbx), %ecx
andl $15, %eax
movl %ecx, __ntsys_stack_pointer(%rip)
cmpb $1, %al
je .L240
cmpb $2, %al
je .L241
testb %al, %al
jne .L334
movl %ecx, %edx
cmpb $-15, %r10b
je .L243
ja .L244
movl %ecx, %edx
cmpb $4, %r10b
je .L245
movl %ecx, %edx
ja .L246
cmpb $1, %r10b
jne .L336
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
sete %al
jmp .L252
.p2align 4,,10
.p2align 3
.L241:
movl %ecx, %edx
cmpb $-15, %r10b
je .L262
ja .L263
movl %ecx, %edx
cmpb $4, %r10b
je .L264
movl %ecx, %edx
ja .L265
cmpb $1, %r10b
jne .L337
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
setb %al
jmp .L252
.p2align 4,,10
.p2align 3
.L334:
movl %ecx, %edx
.L242:
notl %r9d
andl $240, %r9d
je .L338
movzbl (%r11,%rdx), %eax
addl $2, %ecx
movb %al, arg2_fGH6VSEzu7qNiGVE(%rip)
movzbl 1(%r11,%rdx), %eax
movl %ecx, __ntsys_stack_pointer(%rip)
movb %al, 1+arg2_fGH6VSEzu7qNiGVE(%rip)
.L234:
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L240:
.cfi_restore_state
movl %ecx, %edx
cmpb $-15, %r10b
je .L253
ja .L254
movl %ecx, %edx
cmpb $4, %r10b
je .L255
movl %ecx, %edx
ja .L256
cmpb $1, %r10b
jne .L339
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
cmpb %al, arg2_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
setb %al
jmp .L252
.L256:
cmpb $8, %r10b
jne .L242
.L253:
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
cmpq %rax, arg2_fGH6VSEzu7qNiGVE(%rip)
setb %al
.p2align 4,,10
.p2align 3
.L252:
notl %r9d
andl $240, %r9d
je .L273
.L271:
movzbl (%r11,%rdx), %esi
addl $2, %ecx
movb %sil, arg2_fGH6VSEzu7qNiGVE(%rip)
movzbl 1(%r11,%rdx), %edx
movl %ecx, __ntsys_stack_pointer(%rip)
movb %dl, 1+arg2_fGH6VSEzu7qNiGVE(%rip)
testb %al, %al
je .L234
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 8
movl %eax, __ntsys_buffer_ptr(%rip)
ret
.L246:
.cfi_restore_state
cmpb $8, %r10b
jne .L242
.L243:
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
cmpq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
sete %al
jmp .L252
.L265:
cmpb $8, %r10b
jne .L242
.L262:
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
cmpq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
setb %al
jmp .L252
.p2align 4,,10
.p2align 3
.L338:
xorl %eax, %eax
.L273:
xorl $1, %eax
jmp .L271
.p2align 4,,10
.p2align 3
.L335:
movl %r9d, %eax
andl $15, %eax
cmpb $1, %al
je .L236
cmpb $2, %al
je .L340
testb %al, %al
jne .L242
cmpb $4, %r10b
je .L245
ja .L246
.L275:
cmpb $2, %r10b
jne .L242
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
sete %al
jmp .L252
.p2align 4,,10
.p2align 3
.L254:
cmpb $-12, %r10b
je .L259
cmpb $-8, %r10b
je .L260
cmpb $-14, %r10b
jne .L334
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
setg %al
jmp .L252
.p2align 4,,10
.p2align 3
.L244:
cmpb $-12, %r10b
je .L249
cmpb $-8, %r10b
je .L250
cmpb $-14, %r10b
jne .L334
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
sete %al
jmp .L252
.p2align 4,,10
.p2align 3
.L263:
cmpb $-12, %r10b
je .L268
cmpb $-8, %r10b
je .L269
cmpb $-14, %r10b
jne .L334
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
setl %al
jmp .L252
.L250:
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
cmpq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
sete %al
jmp .L252
.L269:
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
cmpq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
setl %al
jmp .L252
.L260:
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
cmpq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
setg %al
jmp .L252
.L259:
movl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
setg %al
jmp .L252
.L255:
movl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
cmpl %eax, arg2_fGH6VSEzu7qNiGVE(%rip)
setb %al
jmp .L252
.L264:
movl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
setb %al
jmp .L252
.L249:
movl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
sete %al
jmp .L252
.L268:
movl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %ecx, %edx
setl %al
jmp .L252
.L245:
movl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
sete %al
jmp .L252
.L340:
cmpb $4, %r10b
je .L264
ja .L265
.L276:
cmpb $2, %r10b
jne .L242
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
cmpw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
setb %al
jmp .L252
.L236:
cmpb $4, %r10b
je .L255
ja .L256
.L277:
cmpb $2, %r10b
jne .L242
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
cmpw %ax, arg2_fGH6VSEzu7qNiGVE(%rip)
setb %al
jmp .L252
.L339:
movl %ecx, %edx
jmp .L277
.L336:
movl %ecx, %edx
jmp .L275
.L337:
movl %ecx, %edx
jmp .L276
.cfi_endproc
.LFE47:
.size n_up_down_eq, .-n_up_down_eq
.p2align 4
.type eq, @function
eq:
.LFB48:
.cfi_startproc
endbr64
xorl %edi, %edi
jmp n_up_down_eq
.cfi_endproc
.LFE48:
.size eq, .-eq
.p2align 4
.type neq, @function
neq:
.LFB49:
.cfi_startproc
endbr64
movl $240, %edi
jmp n_up_down_eq
.cfi_endproc
.LFE49:
.size neq, .-neq
.p2align 4
.type up, @function
up:
.LFB50:
.cfi_startproc
endbr64
movl $1, %edi
jmp n_up_down_eq
.cfi_endproc
.LFE50:
.size up, .-up
.p2align 4
.type down, @function
down:
.LFB51:
.cfi_startproc
endbr64
movl $2, %edi
jmp n_up_down_eq
.cfi_endproc
.LFE51:
.size down, .-down
.p2align 4
.type upne, @function
upne:
.LFB52:
.cfi_startproc
endbr64
movl $241, %edi
jmp n_up_down_eq
.cfi_endproc
.LFE52:
.size upne, .-upne
.p2align 4
.type downe, @function
downe:
.LFB53:
.cfi_startproc
endbr64
movl $242, %edi
jmp n_up_down_eq
.cfi_endproc
.LFE53:
.size downe, .-downe
.p2align 4
.type nt_fs_syscall, @function
nt_fs_syscall:
.LFB62:
.cfi_startproc
endbr64
movl __ntsys_stack_pointer(%rip), %eax
movq __ntsys_stack(%rip), %rsi
movq %rax, %rcx
movzbl (%rsi,%rax), %eax
leal 1(%rcx), %edx
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %edx, __ntsys_stack_pointer(%rip)
cmpb $5, %al
ja .L361
leaq .L350(%rip), %rdi
pushq %rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
movslq (%rdi,%rax,4), %rax
addq %rdi, %rax
notrack jmp *%rax
.section .rodata
.align 4
.align 4
.L350:
.long .L355-.L350
.long .L354-.L350
.long .L353-.L350
.long .L352-.L350
.long .L351-.L350
.long .L349-.L350
.text
.p2align 4,,10
.p2align 3
.L351:
call rand@PLT
movl __ntsys_stack_pointer(%rip), %ebx
movslq %eax, %rdx
movl %eax, %esi
imulq $-2139062143, %rdx, %rdx
sarl $31, %esi
leal -1(%rbx), %ecx
movl %ecx, __ntsys_stack_pointer(%rip)
shrq $32, %rdx
addl %eax, %edx
sarl $7, %edx
subl %esi, %edx
movl %edx, %esi
sall $8, %esi
subl %edx, %esi
movq __ntsys_stack(%rip), %rdx
subl %esi, %eax
movb %al, (%rdx,%rcx)
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L349:
.cfi_restore_state
movzbl (%rsi,%rdx), %eax
addl $3, %ecx
popq %rbx
.cfi_remember_state
.cfi_restore 3
.cfi_def_cfa_offset 8
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
movzbl 1(%rsi,%rdx), %eax
movl %ecx, __ntsys_stack_pointer(%rip)
movb %al, 1+arg1_fGH6VSEzu7qNiGVE(%rip)
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %edi
jmp srand@PLT
.p2align 4,,10
.p2align 3
.L355:
.cfi_restore_state
leaq (%rsi,%rdx), %rdi
movq stdout(%rip), %rsi
call fputs@PLT
.L356:
movl __ntsys_stack_pointer(%rip), %edi
movq %rdi, %rbx
addq __ntsys_stack(%rip), %rdi
call strlen@PLT
leal 1(%rbx,%rax), %eax
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 8
movl %eax, __ntsys_stack_pointer(%rip)
ret
.p2align 4,,10
.p2align 3
.L353:
.cfi_restore_state
movzbl (%rsi,%rdx), %eax
addl $3, %ecx
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 8
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
movzbl 1(%rsi,%rdx), %eax
movl %ecx, __ntsys_stack_pointer(%rip)
movb %al, 1+arg1_fGH6VSEzu7qNiGVE(%rip)
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, fGH6VSEzu7qNiGVE_stat(%rip)
movl __ntsys_buffer_size(%rip), %eax
subl $1, %eax
movl %eax, __ntsys_buffer_ptr(%rip)
ret
.p2align 4,,10
.p2align 3
.L352:
.cfi_restore_state
leaq (%rsi,%rdx), %rdi
call system@PLT
movl %eax, fGH6VSEzu7qNiGVE_stat(%rip)
testl %eax, %eax
je .L356
movl __ntsys_buffer_size(%rip), %eax
subl $1, %eax
movl %eax, __ntsys_buffer_ptr(%rip)
jmp .L356
.p2align 4,,10
.p2align 3
.L354:
movq stdin(%rip), %rdi
call getc@PLT
movq __ntsys_stack(%rip), %rdx
movl %eax, %ecx
movl __ntsys_stack_pointer(%rip), %eax
subl $1, %eax
movl %eax, __ntsys_stack_pointer(%rip)
movb %cl, (%rdx,%rax)
popq %rbx
.cfi_def_cfa_offset 8
ret
.L361:
.cfi_restore 3
ret
.cfi_endproc
.LFE62:
.size nt_fs_syscall, .-nt_fs_syscall
.p2align 4
.type operation, @function
operation:
.LFB33:
.cfi_startproc
movl __ntsys_buffer_ptr(%rip), %eax
movl __ntsys_stack_pointer(%rip), %r10d
pushq %r12
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
pushq %rbp
.cfi_def_cfa_offset 24
.cfi_offset 6, -24
leal 1(%rax), %edx
pushq %rbx
.cfi_def_cfa_offset 32
.cfi_offset 3, -32
movl %edi, %ebx
movl %edx, __ntsys_buffer_ptr(%rip)
movq __ntsys_buffer(%rip), %rdx
movzbl (%rdx,%rax), %r9d
movq %r9, %rsi
movl %r9d, %ebp
andl $15, %esi
andl $15, %ebp
je .L365
movq __ntsys_stack(%rip), %r11
movl %r10d, %edx
xorl %eax, %eax
leaq arg1_fGH6VSEzu7qNiGVE(%rip), %rcx
leaq (%r11,%rdx), %rdi
.p2align 4,,10
.p2align 3
.L366:
movzbl (%rdi,%rax), %edx
movb %dl, (%rcx,%rax)
movq %rax, %rdx
leaq 1(%rax), %rax
cmpq %rax, %rsi
jne .L366
movzbl %bpl, %eax
leaq arg2_fGH6VSEzu7qNiGVE(%rip), %rdi
leal (%r10,%rax), %r12d
xorl %eax, %eax
movl %r12d, __ntsys_stack_pointer(%rip)
movq %r12, %r10
leaq (%r11,%r12), %r8
.p2align 4,,10
.p2align 3
.L367:
movzbl (%r8,%rax), %ecx
movb %cl, (%rdi,%rax)
movq %rax, %rcx
addq $1, %rax
cmpq %rdx, %rcx
jne .L367
cmpb $3, %bl
je .L378
cmpb $4, %bl
je .L379
cmpb $2, %bl
je .L380
cmpb $-15, %r9b
je .L381
ja .L382
cmpb $4, %r9b
je .L389
ja .L384
cmpb $1, %r9b
jne .L427
.L381:
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
addb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.p2align 4,,10
.p2align 3
.L379:
cmpb $-15, %r9b
je .L413
ja .L414
cmpb $4, %r9b
je .L374
ja .L375
cmpb $1, %r9b
je .L415
cmpb $2, %r9b
jne .L372
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
xorl %edx, %edx
divw (%rdi)
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.p2align 4,,10
.p2align 3
.L380:
cmpb $-15, %r9b
je .L394
ja .L395
cmpb $4, %r9b
je .L401
ja .L397
cmpb $1, %r9b
je .L394
cmpb $2, %r9b
jne .L372
.L403:
movzwl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
subw arg2_fGH6VSEzu7qNiGVE(%rip), %ax
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.p2align 4,,10
.p2align 3
.L378:
cmpb $-15, %r9b
je .L404
ja .L405
cmpb $4, %r9b
je .L409
ja .L371
cmpb $1, %r9b
je .L406
cmpb $2, %r9b
jne .L372
.L411:
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
imulw arg1_fGH6VSEzu7qNiGVE(%rip), %ax
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
.p2align 4,,10
.p2align 3
.L393:
movl %r10d, __ntsys_stack_pointer(%rip)
.L425:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
andl $14, %r9d
movb %al, (%r11,%r12)
je .L364
.L422:
movl $1, %eax
leaq arg1_fGH6VSEzu7qNiGVE(%rip), %rcx
.p2align 4,,10
.p2align 3
.L423:
movq __ntsys_stack(%rip), %rdi
movzbl (%rcx,%rax), %r8d
movl __ntsys_stack_pointer(%rip), %edx
addq %rax, %rdi
addq $1, %rax
movb %r8b, (%rdi,%rdx)
cmpq %rax, %rsi
jne .L423
.L364:
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 24
popq %rbp
.cfi_def_cfa_offset 16
popq %r12
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L365:
.cfi_restore_state
cmpb $3, %dil
je .L461
cmpb $4, %dil
je .L462
cmpb $2, %dil
je .L376
movq __ntsys_stack(%rip), %r11
movl %r10d, %r12d
cmpb $4, %r9b
je .L389
ja .L384
.L427:
cmpb $2, %r9b
jne .L372
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
movq __ntsys_stack(%rip), %r11
movl %r10d, %r12d
addw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L382:
cmpb $-12, %r9b
je .L389
cmpb $-8, %r9b
je .L390
cmpb $-14, %r9b
jne .L393
movzwl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
addw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L395:
cmpb $-12, %r9b
je .L401
cmpb $-8, %r9b
je .L402
cmpb $-14, %r9b
je .L403
jmp .L393
.L414:
cmpb $-12, %r9b
je .L418
cmpb $-8, %r9b
je .L419
cmpb $-14, %r9b
jne .L393
movswl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movswl arg2_fGH6VSEzu7qNiGVE(%rip), %ecx
cltd
idivl %ecx
movw %ax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L405:
cmpb $-12, %r9b
je .L409
cmpb $-8, %r9b
je .L410
cmpb $-14, %r9b
je .L411
jmp .L393
.L376:
movq __ntsys_stack(%rip), %r11
movl %r10d, %r12d
cmpb $4, %r9b
je .L401
ja .L397
.L372:
movl %r10d, __ntsys_stack_pointer(%rip)
testb %bpl, %bpl
je .L364
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %edx
movq __ntsys_stack(%rip), %rax
movb %dl, (%rax,%r10)
jmp .L422
.L390:
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
addq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L410:
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
imulq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L402:
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
subq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L419:
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
cqto
idivq (%rdi)
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L384:
cmpb $8, %r9b
jne .L388
movq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
movq __ntsys_stack(%rip), %r11
movl %r10d, %r12d
addq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L462:
movq __ntsys_stack(%rip), %r11
movl %r10d, %r12d
leaq arg2_fGH6VSEzu7qNiGVE(%rip), %rdi
cmpb $4, %r9b
je .L374
jbe .L372
.L375:
cmpb $8, %r9b
jne .L388
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
xorl %edx, %edx
movq __ntsys_stack(%rip), %r11
movl %r10d, %r12d
divq arg2_fGH6VSEzu7qNiGVE(%rip)
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L461:
movq __ntsys_stack(%rip), %r11
movl %r10d, %r12d
cmpb $4, %r9b
je .L409
jbe .L372
.L371:
cmpb $8, %r9b
jne .L388
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
imulq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
movl %r10d, %r12d
movq __ntsys_stack(%rip), %r11
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L397:
cmpb $8, %r9b
jne .L388
movq arg1_fGH6VSEzu7qNiGVE(%rip), %rax
subq arg2_fGH6VSEzu7qNiGVE(%rip), %rax
movl %r10d, %r12d
movq %rax, arg1_fGH6VSEzu7qNiGVE(%rip)
movq __ntsys_stack(%rip), %r11
jmp .L393
.p2align 4,,10
.p2align 3
.L388:
movl %r10d, __ntsys_stack_pointer(%rip)
testb %bpl, %bpl
je .L364
movq __ntsys_stack(%rip), %r11
movl %r10d, %r12d
jmp .L425
.L401:
movl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
subl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L394:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
subb arg2_fGH6VSEzu7qNiGVE(%rip), %al
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L409:
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
imull arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L389:
movl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
addl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L415:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
divb (%rdi)
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L418:
movl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
cltd
idivl (%rdi)
movl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L404:
movzbl arg2_fGH6VSEzu7qNiGVE(%rip), %eax
mulb arg1_fGH6VSEzu7qNiGVE(%rip)
.L412:
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
movl %r10d, __ntsys_stack_pointer(%rip)
movb %al, (%r11,%r12)
jmp .L364
.L406:
movzbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
mulb arg2_fGH6VSEzu7qNiGVE(%rip)
movb %al, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L374:
movl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
xorl %edx, %edx
divl (%rdi)
movl %eax, arg1_fGH6VSEzu7qNiGVE(%rip)
jmp .L393
.L413:
movsbl arg1_fGH6VSEzu7qNiGVE(%rip), %eax
movsbl arg2_fGH6VSEzu7qNiGVE(%rip), %ecx
cltd
idivl %ecx
jmp .L412
.cfi_endproc
.LFE33:
.size operation, .-operation
.p2align 4
.type add, @function
add:
.LFB34:
.cfi_startproc
endbr64
movl $1, %edi
jmp operation
.cfi_endproc
.LFE34:
.size add, .-add
.p2align 4
.type sub, @function
sub:
.LFB35:
.cfi_startproc
endbr64
movl $2, %edi
jmp operation
.cfi_endproc
.LFE35:
.size sub, .-sub
.p2align 4
.type mul, @function
mul:
.LFB36:
.cfi_startproc
endbr64
movl $3, %edi
jmp operation
.cfi_endproc
.LFE36:
.size mul, .-mul
.p2align 4
.type div_r, @function
div_r:
.LFB37:
.cfi_startproc
endbr64
movl $4, %edi
jmp operation
.cfi_endproc
.LFE37:
.size div_r, .-div_r
.section .rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "\033[1mntsys: \033[91m%s\033[0m\n"
.text
.p2align 4
.globl ntsys_error
.type ntsys_error, @function
ntsys_error:
.LFB27:
.cfi_startproc
endbr64
movq %rdi, %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
jmp __printf_chk@PLT
.cfi_endproc
.LFE27:
.size ntsys_error, .-ntsys_error
.section .rodata.str1.1
.LC1:
.string "Out of memory!"
.text
.p2align 4
.globl ntsys_get_str
.type ntsys_get_str, @function
ntsys_get_str:
.LFB66:
.cfi_startproc
endbr64
pushq %r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
pushq %r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
pushq %r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
pushq %rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
movq %rsi, %rbp
pushq %rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
testq %rdi, %rdi
je .L469
call free@PLT
.L469:
movq %rbp, %rdi
xorl %r14d, %r14d
xorl %ebx, %ebx
movl $1, %r12d
call ftell@PLT
movq %rax, %r13
jmp .L470
.p2align 4,,10
.p2align 3
.L472:
cmpl $10, %eax
je .L504
cmpl $13, %eax
je .L504
cmpl $33, %eax
cmovnb %r12d, %r14d
addq $1, %rbx
.L470:
movq %rbp, %rdi
call getc@PLT
cmpl $-1, %eax
jne .L472
testb %r14b, %r14b
jne .L541
.L473:
xorl %r13d, %r13d
jmp .L468
.p2align 4,,10
.p2align 3
.L541:
testq %rbx, %rbx
je .L473
.L479:
movq %r13, %rsi
xorl %edx, %edx
movq %rbp, %rdi
call fseek@PLT
leaq 1(%rbx), %rdi
call malloc@PLT
movq %rax, %r13
testq %rax, %rax
je .L481
movq %rax, %r12
movq %rax, %r14
movq $-18434, %rbx
jmp .L482
.p2align 4,,10
.p2align 3
.L484:
movb %al, (%r14)
addq $1, %r14
.L482:
movq %rbp, %rdi
call getc@PLT
leal 1(%rax), %edx
cmpl $14, %edx
ja .L484
btq %rdx, %rbx
jc .L484
movb $0, (%r14)
movq %r13, %rdi
call strlen@PLT
testq %rax, %rax
je .L485
movzbl 0(%r13), %edx
leaq -1(%r13), %rcx
movq %rcx, %rbx
cmpb $34, %dl
je .L542
cmpb $59, %dl
je .L503
cmpb $35, %dl
jne .L543
.L503:
xorl %ebp, %ebp
.L498:
movb $0, 1(%rcx)
movq %r13, %rdi
call strlen@PLT
xorl %esi, %esi
.L491:
addq $1, %rbp
addq $1, %rbx
cmpq %rax, %rbp
jnb .L494
.L544:
movzbl 1(%rbx), %edx
movq %rbx, %rcx
cmpb $34, %dl
je .L495
cmpb $59, %dl
je .L505
cmpb $35, %dl
jne .L488
.L505:
testb %sil, %sil
je .L498
addq $1, %rbp
addq $1, %rbx
cmpq %rax, %rbp
jb .L544
.L494:
cmpb $0, 0(%r13)
je .L485
testq %rax, %rax
je .L485
addq %r13, %rax
.p2align 4,,10
.p2align 3
.L497:
cmpb $32, (%r12)
ja .L468
addq $1, %r12
cmpq %rax, %r12
jne .L497
.L485:
movq %r13, %rdi
call free@PLT
.L539:
movl $5, %edi
call malloc@PLT
movl $1936941424, (%rax)
movq %rax, %r13
movb $0, 4(%rax)
.L468:
popq %rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
movq %r13, %rax
popq %rbp
.cfi_def_cfa_offset 32
popq %r12
.cfi_def_cfa_offset 24
popq %r13
.cfi_def_cfa_offset 16
popq %r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L542:
.cfi_restore_state
movq %r13, %rcx
xorl %esi, %esi
xorl %ebp, %ebp
.p2align 4,,10
.p2align 3
.L495:
cmpb $92, (%rcx)
je .L491
xorl $1, %esi
jmp .L491
.p2align 4,,10
.p2align 3
.L488:
cmpb $44, %dl
jne .L491
testb %sil, %sil
jne .L491
.L492:
movb $32, 1(%rcx)
movq %r13, %rdi
call strlen@PLT
xorl %esi, %esi
jmp .L491
.p2align 4,,10
.p2align 3
.L504:
testb %r14b, %r14b
je .L539
testq %rbx, %rbx
jne .L479
jmp .L539
.L543:
xorl %ebp, %ebp
cmpb $44, %dl
je .L492
xorl %esi, %esi
jmp .L491
.L481:
leaq .LC1(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
jmp .L473
.cfi_endproc
.LFE66:
.size ntsys_get_str, .-ntsys_get_str
.section .rodata.str1.1
.LC2:
.string "No close of string!"
.LC3:
.string "Unknown ident!"
.text
.p2align 4
.globl ntsys_get_arg
.type ntsys_get_arg, @function
ntsys_get_arg:
.LFB68:
.cfi_startproc
endbr64
pushq %r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
pushq %r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
pushq %r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
pushq %r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
movq %rdi, %r12
pushq %rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
pushq %rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
subq $8, %rsp
.cfi_def_cfa_offset 64
movq 8(%rdi), %rbx
movzbl (%rbx), %edx
leal -1(%rdx), %eax
cmpb $31, %al
ja .L549
.p2align 4,,10
.p2align 3
.L546:
movzbl 1(%rbx), %edx
addq $1, %rbx
leal -1(%rdx), %eax
cmpb $31, %al
jbe .L546
.L549:
movzbl (%rbx), %eax
cmpb $34, %al
je .L604
cmpb $32, %al
ja .L605
movq %rbx, %r13
xorl %ebp, %ebp
.L553:
movq %rbx, %rdi
call strlen@PLT
movq %rbx, %rdi
movq %rax, %rdx
leaq 1(%rbp), %rax
cmpq %rax, %rdx
sbbq $-1, %rbp
addq %rbx, %rbp
movq %rbp, 8(%r12)
movb $0, 0(%r13)
call strlen@PLT
leaq -1(%rbx,%rax), %rdx
movzbl (%rdx), %eax
cmpb $10, %al
je .L583
cmpb $13, %al
je .L583
movzbl (%rbx), %eax
testb %al, %al
je .L558
.L608:
cmpb $34, %al
je .L606
.L562:
movq %rbx, (%r12)
addq $8, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 56
movq %rbx, %rax
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
.cfi_def_cfa_offset 40
popq %r12
.cfi_def_cfa_offset 32
popq %r13
.cfi_def_cfa_offset 24
popq %r14
.cfi_def_cfa_offset 16
popq %r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L605:
.cfi_restore_state
movq %rbx, %rax
xorl %ebp, %ebp
xorl %ecx, %ecx
.p2align 4,,10
.p2align 3
.L551:
movzbl 1(%rax), %edx
addq $1, %rax
addq $1, %rbp
movq %rax, %r13
cmpb $34, %dl
je .L607
cmpb $32, %dl
ja .L551
testb %cl, %cl
je .L553
testb %dl, %dl
jne .L551
jmp .L553
.p2align 4,,10
.p2align 3
.L607:
movzbl -1(%rax), %edx
.L547:
movl %ecx, %esi
xorl $1, %esi
cmpb $92, %dl
cmovne %esi, %ecx
jmp .L551
.p2align 4,,10
.p2align 3
.L583:
movb $0, (%rdx)
movzbl (%rbx), %eax
testb %al, %al
jne .L608
.L558:
xorl %ebx, %ebx
jmp .L562
.p2align 4,,10
.p2align 3
.L604:
movq %rbx, %rax
xorl %ecx, %ecx
xorl %ebp, %ebp
jmp .L547
.p2align 4,,10
.p2align 3
.L606:
leaq 1(%rbx), %r14
movq %r14, %rdi
call strlen@PLT
leaq (%rbx,%rax), %rdx
cmpb $34, (%rdx)
jne .L560
movl $2, %ecx
cmpq %rcx, %rax
cmovb %rcx, %rax
cmpb $92, -2(%r14,%rax)
je .L560
movb $0, (%rdx)
movq %r14, %rdi
movq %r14, %rbp
leaq .L572(%rip), %r15
call strlen@PLT
jmp .L563
.p2align 4,,10
.p2align 3
.L565:
addq $1, %rbp
.L563:
movq %rbp, %rdx
subq %rbx, %rdx
subq $1, %rdx
cmpq %rax, %rdx
jnb .L609
cmpb $92, 0(%rbp)
jne .L565
movl $1, %r13d
jmp .L564
.p2align 4,,10
.p2align 3
.L566:
movzbl 0(%rbp,%r13), %eax
movb %al, -1(%rbp,%r13)
addq $1, %r13
.L564:
movq %rbp, %rdi
call strlen@PLT
cmpq %rax, %r13
jb .L566
movb $0, -1(%rbp,%rax)
movzbl 0(%rbp), %eax
cmpb $118, %al
jg .L567
cmpb $96, %al
jle .L610
subl $97, %eax
cmpb $21, %al
ja .L567
movzbl %al, %eax
movslq (%r15,%rax,4), %rax
addq %r15, %rax
notrack jmp *%rax
.section .rodata
.align 4
.align 4
.L572:
.long .L578-.L572
.long .L577-.L572
.long .L567-.L572
.long .L567-.L572
.long .L567-.L572
.long .L576-.L572
.long .L567-.L572
.long .L567-.L572
.long .L567-.L572
.long .L567-.L572
.long .L567-.L572
.long .L567-.L572
.long .L567-.L572
.long .L575-.L572
.long .L567-.L572
.long .L567-.L572
.long .L567-.L572
.long .L574-.L572
.long .L567-.L572
.long .L573-.L572
.long .L567-.L572
.long .L571-.L572
.text
.p2align 4,,10
.p2align 3
.L567:
leaq .LC3(%rip), %rdx
movl $2, %edi
xorl %eax, %eax
xorl %ebx, %ebx
leaq .LC0(%rip), %rsi
call __printf_chk@PLT
jmp .L562
.L571:
movb $11, 0(%rbp)
movq %r14, %rdi
call strlen@PLT
jmp .L565
.L573:
movb $9, 0(%rbp)
movq %r14, %rdi
call strlen@PLT
jmp .L565
.L574:
movb $13, 0(%rbp)
movq %r14, %rdi
call strlen@PLT
jmp .L565
.L575:
movb $10, 0(%rbp)
movq %r14, %rdi
call strlen@PLT
jmp .L565
.L576:
movb $12, 0(%rbp)
movq %r14, %rdi
call strlen@PLT
jmp .L565
.L577:
movb $8, 0(%rbp)
movq %r14, %rdi
call strlen@PLT
jmp .L565
.L578:
movb $7, 0(%rbp)
movq %r14, %rdi
call strlen@PLT
jmp .L565
.p2align 4,,10
.p2align 3
.L609:
movq %r14, %rbx
jmp .L562
.p2align 4,,10
.p2align 3
.L610:
cmpb $34, %al
je .L603
cmpb $48, %al
jne .L567
movb $0, 0(%rbp)
.L603:
movq %r14, %rdi
call strlen@PLT
jmp .L565
.L560:
leaq .LC2(%rip), %rdx
movl $2, %edi
xorl %eax, %eax
xorl %ebx, %ebx
leaq .LC0(%rip), %rsi
call __printf_chk@PLT
jmp .L562
.cfi_endproc
.LFE68:
.size ntsys_get_arg, .-ntsys_get_arg
.p2align 4
.globl __load_label
.type __load_label, @function
__load_label:
.LFB74:
.cfi_startproc
endbr64
pushq %r13
.cfi_def_cfa_offset 16
.cfi_offset 13, -16
pushq %r12
.cfi_def_cfa_offset 24
.cfi_offset 12, -24
pushq %rbp
.cfi_def_cfa_offset 32
.cfi_offset 6, -32
pushq %rbx
.cfi_def_cfa_offset 40
.cfi_offset 3, -40
movq %rdi, %rbx
subq $8, %rsp
.cfi_def_cfa_offset 48
movq 16(%rdi), %rbp
movq %rbp, %rdi
call strlen@PLT
movq %rbp, %rdi
movb $0, -1(%rbp,%rax)
call strlen@PLT
leaq 1(%rax), %r12
movq 56(%rbx), %rax
movq %r12, %rdi
movq (%rax), %rdx
movq 40(%rbx), %rax
leaq (%rax,%rdx,8), %r13
call malloc@PLT
movq %rax, 0(%r13)
testq %rax, %rax
je .L615
movq %r12, %rdx
movq %rbp, %rsi
movq %rax, %rdi
call __strcpy_chk@PLT
movq 8(%rbx), %rdi
call ftell@PLT
movq 56(%rbx), %rdx
movq 48(%rbx), %rcx
movq %rax, %rsi
movq (%rdx), %rax
movw %si, (%rcx,%rax,2)
addq $1, %rax
movq %rax, (%rdx)
xorl %eax, %eax
.L611:
addq $8, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 40
popq %rbx
.cfi_def_cfa_offset 32
popq %rbp
.cfi_def_cfa_offset 24
popq %r12
.cfi_def_cfa_offset 16
popq %r13
.cfi_def_cfa_offset 8
ret
.L615:
.cfi_restore_state
leaq .LC1(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
movl $1, %eax
jmp .L611
.cfi_endproc
.LFE74:
.size __load_label, .-__load_label
.section .rodata.str1.1
.LC4:
.string "Cannot find argument!"
.LC5:
.string "byte"
.LC6:
.string "word"
.LC7:
.string "dword"
.LC8:
.string "qword"
.LC9:
.string "sbyte"
.LC10:
.string "sword"
.LC11:
.string "sdword"
.LC12:
.string "sqword"
.LC13:
.string "Incorrect datatype!"
.LC14:
.string "Unknown number system!"
.section .rodata.str1.8,"aMS",@progbits,1
.align 8
.LC15:
.string "Incorrect datatype! For jump to label please use db type!"
.align 8
.LC16:
.string "\033[1mntsys: \033[91mUndefined operator \"%s\"!\033[0m\n"
.text
.p2align 4
.globl __ntsys_arg_function_loader
.type __ntsys_arg_function_loader, @function
__ntsys_arg_function_loader:
.LFB77:
.cfi_startproc
endbr64
pushq %r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
pushq %r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
pushq %r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
movq %rdi, %r13
pushq %r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
pushq %rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
pushq %rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
subq $136, %rsp
.cfi_def_cfa_offset 192
movq %fs:40, %rax
movq %rax, 120(%rsp)
xorl %eax, %eax
cmpb $0, 64(%rdi)
jne .L731
.L617:
leaq 45(%rsp), %rax
movq 0(%r13), %rbp
movq %rax, 24(%rsp)
.L663:
movq %rbp, %rdi
call ntsys_get_arg
testq %rax, %rax
je .L668
.L664:
movq 0(%r13), %rbp
movq 0(%rbp), %r12
movq %r12, 16(%r13)
testq %r12, %r12
je .L668
movq %r12, %rdi
call strlen@PLT
cmpb $58, -1(%r12,%rax)
je .L732
movq 24(%r13), %rax
movq %rax, 8(%rsp)
movq 32(%r13), %rax
movq %rax, 16(%rsp)
testq %rax, %rax
je .L623
xorl %ebx, %ebx
leaq 48(%rsp), %rbp
.p2align 4,,10
.p2align 3
.L622:
movq 8(%rsp), %rax
xorl %r14d, %r14d
movq (%rax,%rbx,8), %r15
movq %r15, %rdi
call strlen@PLT
jmp .L662
.p2align 4,,10
.p2align 3
.L625:
cmpb $61, (%r15,%r14)
je .L624
addq $1, %r14
.L662:
cmpq %rax, %r14
jne .L625
.L624:
movq %r15, %rsi
movq %rbp, %rdi
movl $64, %ecx
movq %r14, %rdx
call __strncpy_chk@PLT
movq %rbp, %rsi
movq %r12, %rdi
movb $0, 48(%rsp,%r14)
call strcmp@PLT
testl %eax, %eax
je .L733
addq $1, %rbx
cmpq %rbx, 16(%rsp)
jne .L622
.L623:
movq %r12, %rdx
leaq .LC16(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
.L620:
movl $1, %eax
.L616:
movq 120(%rsp), %rdx
subq %fs:40, %rdx
jne .L734
addq $136, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 56
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
.cfi_def_cfa_offset 40
popq %r12
.cfi_def_cfa_offset 32
popq %r13
.cfi_def_cfa_offset 24
popq %r14
.cfi_def_cfa_offset 16
popq %r15
.cfi_def_cfa_offset 8
ret
.L733:
.cfi_restore_state
leaq 1(%r15,%r14), %rbx
xorl %r14d, %r14d
jmp .L627
.p2align 4,,10
.p2align 3
.L738:
movzbl 46(%rsp), %eax
cmpb $84, %al
je .L735
cmpb $68, %al
je .L736
cmpb $83, %al
je .L737
.L637:
addq $2, %rbx
.L627:
movq %rbx, %rdi
call strlen@PLT
cmpq $1, %rax
jbe .L730
movq 24(%rsp), %rdi
movl $2, %edx
movq %rbx, %rsi
call strncpy@PLT
cmpb $58, 45(%rsp)
movb $0, 47(%rsp)
je .L738
movq 24(%rsp), %rdi
xorl %esi, %esi
movl $16, %edx
call strtol@PLT
movq 8(%r13), %rsi
movsbl %al, %edi
call fputc@PLT
jmp .L637
.L732:
cmpb $0, 64(%r13)
jne .L663
movq %r13, %rdi
call __load_label
cmpl $1, %eax
je .L620
.L730:
movq 0(%r13), %rbp
movq %rbp, %rdi
call ntsys_get_arg
testq %rax, %rax
jne .L664
.L668:
cmpb $0, 64(%r13)
je .L665
xorl %eax, %eax
jmp .L616
.p2align 4,,10
.p2align 3
.L735:
movq 0(%r13), %rdi
call ntsys_get_arg
testq %rax, %rax
je .L658
movq 0(%r13), %rax
movq (%rax), %r12
movq %r12, 16(%r13)
testq %r12, %r12
je .L658
leaq .LC5(%rip), %rsi
movq %r12, %rdi
call strcmp@PLT
testl %eax, %eax
je .L672
leaq .LC6(%rip), %rsi
movq %r12, %rdi
call strcmp@PLT
testl %eax, %eax
je .L674
movzbl (%r12), %ebp
cmpl $100, %ebp
je .L739
.L684:
leaq .LC7(%rip), %rsi
movq %r12, %rdi
call strcmp@PLT
testl %eax, %eax
je .L675
leaq .LC8(%rip), %rsi
movq %r12, %rdi
call strcmp@PLT
testl %eax, %eax
je .L676
leaq .LC9(%rip), %rsi
movq %r12, %rdi
call strcmp@PLT
testl %eax, %eax
je .L677
leaq .LC10(%rip), %rsi
movq %r12, %rdi
call strcmp@PLT
testl %eax, %eax
je .L678
leaq .LC11(%rip), %rsi
movq %r12, %rdi
call strcmp@PLT
testl %eax, %eax
je .L679
leaq .LC12(%rip), %rsi
movq %r12, %rdi
call strcmp@PLT
testl %eax, %eax
je .L680
cmpl $100, %ebp
je .L740
.L685:
leaq .LC13(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
jmp .L637
.p2align 4,,10
.p2align 3
.L736:
movq 0(%r13), %rdi
call ntsys_get_arg
testq %rax, %rax
je .L658
movq 0(%r13), %rbp
movq 0(%rbp), %r15
movq %r15, 16(%r13)
testq %r15, %r15
je .L658
movzbl (%r15), %eax
subl $48, %eax
cmpb $9, %al
ja .L642
movzbl 1(%r15), %eax
cmpb $120, %al
je .L681
cmpb $98, %al
je .L682
leal -48(%rax), %edx
cmpb $9, %dl
jbe .L683
cmpb $32, %al
ja .L741
.L683:
movl $10, %edx
.L644:
xorl %esi, %esi
movq %r15, %rdi
call strtol@PLT
movq 8(%r13), %rcx
movq %rax, 32(%rsp)
cmpb $-15, %r14b
je .L645
ja .L646
cmpb $4, %r14b
je .L647
ja .L648
cmpb $1, %r14b
je .L645
cmpb $2, %r14b
jne .L637
.L649:
leaq 32(%rsp), %rdi
movl $2, %edx
movl $1, %esi
call fwrite@PLT
jmp .L637
.p2align 4,,10
.p2align 3
.L658:
leaq .LC4(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
jmp .L637
.L737:
movq 0(%r13), %rdi
call ntsys_get_arg
testq %rax, %rax
je .L658
movq 0(%r13), %rax
movq (%rax), %r12
movq %r12, 16(%r13)
testq %r12, %r12
je .L658
xorl %ebp, %ebp
jmp .L659
.p2align 4,,10
.p2align 3
.L660:
movsbl (%r12,%rbp), %edi
addq $1, %rbp
call fputc@PLT
.L659:
movq %r12, %rdi
call strlen@PLT
movq 8(%r13), %rsi
cmpq %rax, %rbp
jb .L660
xorl %edi, %edi
call fputc@PLT
jmp .L637
.L739:
cmpb $119, 1(%r12)
jne .L684
cmpb $0, 2(%r12)
jne .L684
.L674:
movl $2, %edi
movl $2, %r14d
.L633:
movq 8(%r13), %rsi
call fputc@PLT
jmp .L637
.L642:
cmpb $-78, %r14b
jne .L742
cmpb $0, 64(%r13)
je .L653
movq 56(%r13), %rax
movq (%rax), %rbp
testq %rbp, %rbp
je .L638
movq 40(%r13), %r14
xorl %r12d, %r12d
jmp .L656
.L655:
addq $1, %r12
cmpq %rbp, %r12
je .L638
.L656:
movq (%r14,%r12,8), %rsi
movq %r15, %rdi
call strcmp@PLT
testl %eax, %eax
jne .L655
movq 48(%r13), %rax
movq 8(%r13), %rcx
leaq 32(%rsp), %rdi
movl $2, %edx
movl $1, %esi
movzwl (%rax,%r12,2), %eax
movw %ax, 32(%rsp)
call fwrite@PLT
.L638:
movl $-78, %r14d
jmp .L637
.L672:
movl $1, %edi
movl $1, %r14d
jmp .L633
.L742:
leaq .LC15(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
jmp .L637
.L665:
movq 8(%r13), %rdi
call ftell@PLT
movq 72(%r13), %rdx
addl $1, %eax
movl %eax, (%rdx)
xorl %eax, %eax
jmp .L616
.L731:
cmpb $1, fGH6VSEzu7qNiGVE_hd_ew(%rip)
je .L617
movq 8(%rdi), %rsi
movl $77, %edi
movb $1, fGH6VSEzu7qNiGVE_hd_ew(%rip)
call fputc@PLT
movq 8(%r13), %rsi
movl $90, %edi
call fputc@PLT
movq 72(%r13), %rdi
movq 8(%r13), %rcx
leaq fGH6VSEzu7qNiGVE_mem_size(%rip), %rax
movq %rax, 80(%r13)
movl $4, %edx
movl $1, %esi
addl $8, (%rdi)
call fwrite@PLT
movq 8(%r13), %rcx
movq 80(%r13), %rdi
movl $2, %edx
movl $1, %esi
call fwrite@PLT
jmp .L617
.L646:
cmpb $-12, %r14b
je .L647
cmpb $-8, %r14b
je .L651
cmpb $-14, %r14b
je .L649
jmp .L637
.L681:
movl $16, %edx
.L643:
addq $2, %r15
jmp .L644
.L682:
movl $2, %edx
jmp .L643
.L675:
movl $4, %edi
movl $4, %r14d
jmp .L633
.L648:
cmpb $8, %r14b
jne .L637
.L651:
leaq 32(%rsp), %rdi
movl $8, %edx
movl $1, %esi
call fwrite@PLT
jmp .L637
.L741:
leaq .LC14(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
jmp .L637
.L647:
leaq 32(%rsp), %rdi
movl $4, %edx
movl $1, %esi
call fwrite@PLT
jmp .L637
.L645:
leaq 32(%rsp), %rdi
movl $1, %edx
movl $1, %esi
call fwrite@PLT
jmp .L637
.L676:
movl $8, %edi
movl $8, %r14d
jmp .L633
.L653:
movq 8(%r13), %rsi
movl $69, %edi
call putc@PLT
movq 8(%r13), %rsi
movl $70, %edi
call putc@PLT
jmp .L638
.L677:
movl $241, %edi
movl $-15, %r14d
jmp .L633
.L734:
call __stack_chk_fail@PLT
.L740:
cmpb $98, 1(%r12)
jne .L685
cmpb $0, 2(%r12)
jne .L685
movq 8(%r13), %rsi
movl $2, %edi
call fputc@PLT
jmp .L638
.L680:
movl $248, %edi
movl $-8, %r14d
jmp .L633
.L679:
movl $244, %edi
movl $-12, %r14d
jmp .L633
.L678:
movl $242, %edi
movl $-14, %r14d
jmp .L633
.cfi_endproc
.LFE77:
.size __ntsys_arg_function_loader, .-__ntsys_arg_function_loader
.p2align 4
.globl ntsys_asm_from_string
.type ntsys_asm_from_string, @function
ntsys_asm_from_string:
.LFB78:
.cfi_startproc
endbr64
subq $120, %rsp
.cfi_def_cfa_offset 128
movq %rsi, %xmm0
movq %fs:40, %rax
movq %rax, 104(%rsp)
xorl %eax, %eax
movq %rsp, %rax
movdqa %xmm0, %xmm1
leaq 16(%rsp), %rdi
movq %rax, 16(%rsp)
leaq ntsys_asm_table(%rip), %rax
punpcklqdq %xmm1, %xmm1
movq %rax, 40(%rsp)
movq 128(%rsp), %rax
movq %rdx, 24(%rsp)
movq %rax, 72(%rsp)
movq 136(%rsp), %rax
movq %rsi, 32(%rsp)
movq $30, 48(%rsp)
movq %r8, 56(%rsp)
movq %r9, 64(%rsp)
movb %cl, 80(%rsp)
movq %rax, 88(%rsp)
movq $0, 96(%rsp)
movaps %xmm1, (%rsp)
call __ntsys_arg_function_loader
movq 104(%rsp), %rdx
subq %fs:40, %rdx
jne .L746
addq $120, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.L746:
.cfi_restore_state
call __stack_chk_fail@PLT
.cfi_endproc
.LFE78:
.size ntsys_asm_from_string, .-ntsys_asm_from_string
.section .rodata.str1.1
.LC17:
.string "r"
.LC18:
.string "Cannot open assembler file!"
.section .rodata.str1.8
.align 8
.LC19:
.string "Cannot create or rewrite output file!"
.section .rodata.str1.1
.LC20:
.string "wb"
.text
.p2align 4
.globl ntsys_compile_asm
.type ntsys_compile_asm, @function
ntsys_compile_asm:
.LFB79:
.cfi_startproc
endbr64
pushq %r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
pushq %r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
pushq %r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
pushq %r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
pushq %rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
pushq %rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
subq $184, %rsp
.cfi_def_cfa_offset 240
movq %rsi, 40(%rsp)
leaq .LC17(%rip), %rsi
movq %fs:40, %rax
movq %rax, 168(%rsp)
xorl %eax, %eax
call fopen@PLT
testq %rax, %rax
je .L798
movq %rax, %rbx
xorl %r15d, %r15d
leaq 80(%rsp), %r12
xorl %r14d, %r14d
.p2align 4,,10
.p2align 3
.L748:
movq %r14, %rdi
movq %rbx, %rsi
call ntsys_get_str
movq %rax, %xmm0
movq %rax, %r14
punpcklqdq %xmm0, %xmm0
testq %rax, %rax
je .L799
movq %r12, %rdi
movaps %xmm0, 80(%rsp)
call ntsys_get_arg
movq %rax, %rdi
movq %rax, %rbp
call strlen@PLT
cmpb $58, -1(%rbp,%rax)
jne .L748
addq $1, %r15
jmp .L748
.p2align 4,,10
.p2align 3
.L799:
leaq 0(,%r15,8), %rax
movl $1, %esi
movq %rax, %rdi
movq %rax, 32(%rsp)
call calloc@PLT
leaq (%r15,%r15), %rdi
movq %rax, %r12
call malloc@PLT
movq %r12, %xmm2
movq %rbx, %rdi
movq %rax, 24(%rsp)
movhps 24(%rsp), %xmm2
movaps %xmm2, (%rsp)
call rewind@PLT
movl $0, 52(%rsp)
movq $0, 56(%rsp)
call tmpfile@PLT
movq %rax, %rbp
testq %rax, %rax
je .L795
leaq ntsys_asm_table(%rip), %r13
jmp .L752
.p2align 4,,10
.p2align 3
.L757:
leaq 64(%rsp), %rax
movdqa (%rsp), %xmm1
leaq 80(%rsp), %rdi
movq %rbp, 88(%rsp)
movq %rax, 80(%rsp)
leaq 56(%rsp), %rax
movq %rax, 136(%rsp)
leaq 52(%rsp), %rax
movq %r14, 96(%rsp)
movq %r13, 104(%rsp)
movq $30, 112(%rsp)
movb $0, 144(%rsp)
movq %rax, 152(%rsp)
movq $0, 160(%rsp)
movaps %xmm0, 64(%rsp)
movups %xmm1, 120(%rsp)
call __ntsys_arg_function_loader
testl %eax, %eax
jne .L800
.L752:
movq %r14, %rdi
movq %rbx, %rsi
call ntsys_get_str
movq %rax, %xmm0
movq %rax, %r14
punpcklqdq %xmm0, %xmm0
testq %rax, %rax
jne .L757
movq %rbp, %rdi
call fclose@PLT
movq %rbx, %rdi
call rewind@PLT
movq 40(%rsp), %rdi
leaq .LC20(%rip), %rsi
call fopen@PLT
movq %rax, %rbp
testq %rax, %rax
je .L795
leaq ntsys_asm_table(%rip), %r13
jmp .L758
.p2align 4,,10
.p2align 3
.L762:
leaq 64(%rsp), %rax
leaq 80(%rsp), %rdi
movq %rbp, 88(%rsp)
movq %rax, 80(%rsp)
movq 24(%rsp), %rax
movq %r14, 96(%rsp)
movq %rax, 128(%rsp)
leaq 56(%rsp), %rax
movq %rax, 136(%rsp)
leaq 52(%rsp), %rax
movq %r13, 104(%rsp)
movq $30, 112(%rsp)
movq %r12, 120(%rsp)
movb $1, 144(%rsp)
movq %rax, 152(%rsp)
movq $0, 160(%rsp)
movaps %xmm0, 64(%rsp)
call __ntsys_arg_function_loader
testl %eax, %eax
jne .L801
.L758:
movq %r14, %rdi
movq %rbx, %rsi
call ntsys_get_str
movq %rax, %xmm0
movq %rax, %r14
punpcklqdq %xmm0, %xmm0
testq %rax, %rax
jne .L762
movq %rbp, %rdi
call fflush@PLT
movq %rbx, %rdi
call fclose@PLT
movq %rbp, %rdi
call fclose@PLT
testq %r15, %r15
je .L763
movq 32(%rsp), %rbp
movq %r12, %rbx
addq %r12, %rbp
.p2align 4,,10
.p2align 3
.L765:
movq (%rbx), %rdi
testq %rdi, %rdi
je .L764
call free@PLT
.L764:
addq $8, %rbx
cmpq %rbp, %rbx
jne .L765
.L763:
movq %r12, %rdi
call free@PLT
movq 24(%rsp), %rdi
call free@PLT
xorl %eax, %eax
.L747:
movq 168(%rsp), %rdx
subq %fs:40, %rdx
jne .L802
addq $184, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 56
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
.cfi_def_cfa_offset 40
popq %r12
.cfi_def_cfa_offset 32
popq %r13
.cfi_def_cfa_offset 24
popq %r14
.cfi_def_cfa_offset 16
popq %r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L800:
.cfi_restore_state
movq %r14, %rdi
call free@PLT
movq %rbx, %rdi
call fclose@PLT
movq %rbp, %rdi
call fclose@PLT
testq %r15, %r15
je .L759
movq 32(%rsp), %rbp
movq %r12, %rbx
addq %r12, %rbp
.p2align 4,,10
.p2align 3
.L756:
movq (%rbx), %rdi
testq %rdi, %rdi
je .L755
call free@PLT
.L755:
addq $8, %rbx
cmpq %rbp, %rbx
jne .L756
.L759:
movq %r12, %rdi
call free@PLT
movq 24(%rsp), %rdi
call free@PLT
.L749:
movl $1, %eax
jmp .L747
.p2align 4,,10
.p2align 3
.L801:
movq %r14, %rdi
call free@PLT
movq %rbx, %rdi
call fclose@PLT
movq %rbp, %rdi
call fclose@PLT
testq %r15, %r15
je .L759
movq 32(%rsp), %rbp
movq %r12, %rbx
addq %r12, %rbp
.p2align 4,,10
.p2align 3
.L761:
movq (%rbx), %rdi
testq %rdi, %rdi
je .L760
call free@PLT
.L760:
addq $8, %rbx
cmpq %rbp, %rbx
jne .L761
jmp .L759
.L795:
leaq .LC19(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
movq %rbx, %rdi
call fclose@PLT
jmp .L749
.L798:
leaq .LC18(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
jmp .L749
.L802:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE79:
.size ntsys_compile_asm, .-ntsys_compile_asm
.section .rodata.str1.1
.LC21:
.string "rb"
.LC22:
.string "Cannot open file!"
.section .rodata.str1.8
.align 8
.LC23:
.string "Header read error or digital signature is invalid!"
.section .rodata.str1.1
.LC24:
.string "File size %lu 0x%lX\n"
.LC25:
.string "Memory size %u 0x%X\n"
.section .rodata.str1.8
.align 8
.LC26:
.string "Command %d 0x%X\nPosition %d 0x%X\nStack point %d 0x%X\n\n"
.section .rodata.str1.1
.LC27:
.string "dump.bin"
.LC28:
.string "Cannot open dump file!"
.LC29:
.string "Press any key to continue..."
.text
.p2align 4
.globl ntsys_api_call
.type ntsys_api_call, @function
ntsys_api_call:
.LFB82:
.cfi_startproc
endbr64
pushq %r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
pushq %r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
pushq %r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
pushq %r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
pushq %rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
pushq %rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
movl %esi, %ebx
leaq .LC21(%rip), %rsi
subq $56, %rsp
.cfi_def_cfa_offset 112
movq %fs:40, %rax
movq %rax, 40(%rsp)
xorl %eax, %eax
call fopen@PLT
testq %rax, %rax
je .L830
movl $8, %edx
leaq 32(%rsp), %rdi
movq %rax, %rcx
movq %rax, %r12
movl $1, %esi
call fread@PLT
movzwl 32(%rsp), %edx
movb $0, 24(%rsp)
movw %dx, 22(%rsp)
movl 34(%rsp), %edx
movl %edx, 25(%rsp)
movzwl 38(%rsp), %edx
movw %dx, 29(%rsp)
movzbl 22(%rsp), %edx
subl $77, %edx
je .L831
cmpw $8, %ax
jne .L821
.L835:
testw %dx, %dx
jne .L821
movzwl 29(%rsp), %r14d
movl 25(%rsp), %r15d
movq %r14, %rdi
movq %r14, %rbp
call malloc@PLT
movq %rax, (%rsp)
testq %rax, %rax
je .L832
leaq -8(%r15), %r13
testb %bl, %bl
jne .L833
movq (%rsp), %rax
movq %r13, %rdi
movl %r14d, __ntsys_stack_pointer(%rip)
movq %rax, __ntsys_stack(%rip)
call malloc@PLT
movq %r13, %rdx
movl $1, %esi
movq %r12, %rcx
movq %rax, %rdi
movq %rax, __ntsys_buffer(%rip)
movq %rax, %rbx
leaq fn_fGH6VSEzu7qNiGVE(%rip), %r13
call fread@PLT
xorl %edx, %edx
xorl %esi, %esi
movl $0, __ntsys_buffer_ptr(%rip)
movq %rax, __ntsys_buffer_size(%rip)
testq %rax, %rax
je .L815
.p2align 4,,10
.p2align 3
.L814:
movzbl (%rbx,%rsi), %eax
addl $1, %edx
movl %edx, __ntsys_buffer_ptr(%rip)
call *0(%r13,%rax,8)
movl __ntsys_buffer_ptr(%rip), %esi
cmpq __ntsys_buffer_size(%rip), %rsi
movq %rsi, %rdx
jb .L814
.L815:
movq %rbx, %rdi
call free@PLT
movl fGH6VSEzu7qNiGVE_stat(%rip), %ebx
.L817:
movq %r12, %rdi
call fclose@PLT
movq (%rsp), %rdi
call free@PLT
.L803:
movq 40(%rsp), %rax
subq %fs:40, %rax
jne .L834
addq $56, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 56
movl %ebx, %eax
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
.cfi_def_cfa_offset 40
popq %r12
.cfi_def_cfa_offset 32
popq %r13
.cfi_def_cfa_offset 24
popq %r14
.cfi_def_cfa_offset 16
popq %r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L831:
.cfi_restore_state
movzbl 23(%rsp), %edx
subl $90, %edx
cmpw $8, %ax
je .L835
.L821:
leaq .LC23(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
.L805:
movl $1, %ebx
jmp .L803
.p2align 4,,10
.p2align 3
.L833:
movq %r15, %rcx
movq %r15, %rdx
leaq .LC24(%rip), %rsi
xorl %eax, %eax
movl $2, %edi
leaq .LC26(%rip), %r15
call __printf_chk@PLT
movl %r14d, %ecx
movl %r14d, %edx
movl $2, %edi
leaq .LC25(%rip), %rsi
xorl %eax, %eax
call __printf_chk@PLT
movq (%rsp), %rax
movq %r13, %rdi
movl %r14d, __ntsys_stack_pointer(%rip)
leaq .LC20(%rip), %r14
movq %rax, __ntsys_stack(%rip)
call malloc@PLT
movq %r13, %rdx
movq %r12, %rcx
movl $1, %esi
movq %rax, %rdi
movq %rax, __ntsys_buffer(%rip)
movq %rax, %rbx
leaq fn_fGH6VSEzu7qNiGVE(%rip), %r13
call fread@PLT
movq stdout(%rip), %rsi
movl $10, %edi
movl $0, __ntsys_buffer_ptr(%rip)
movq %rax, __ntsys_buffer_size(%rip)
call putc@PLT
movl __ntsys_buffer_ptr(%rip), %eax
cmpq __ntsys_buffer_size(%rip), %rax
movq %rax, %r9
jnb .L815
movq %r12, 8(%rsp)
.p2align 4,,10
.p2align 3
.L812:
movl __ntsys_stack_pointer(%rip), %edx
subq $8, %rsp
.cfi_def_cfa_offset 120
movzbl (%rbx,%rax), %r12d
xorl %eax, %eax
movq stdout(%rip), %rdi
movl $2, %esi
pushq %rdx
.cfi_def_cfa_offset 128
movl %r12d, %ecx
movl %r12d, %r8d
pushq %rdx
.cfi_def_cfa_offset 136
movq %r15, %rdx
pushq %r9
.cfi_def_cfa_offset 144
call __fprintf_chk@PLT
movslq %r12d, %r8
addq $32, %rsp
.cfi_def_cfa_offset 112
addl $1, __ntsys_buffer_ptr(%rip)
call *0(%r13,%r8,8)
movq %r14, %rsi
leaq .LC27(%rip), %rdi
call fopen@PLT
movq %rax, %r12
testq %rax, %rax
je .L836
movq __ntsys_stack(%rip), %rdi
movq %rax, %rcx
movq %rbp, %rdx
movl $1, %esi
call fwrite@PLT
movq %r12, %rdi
call fclose@PLT
leaq .LC29(%rip), %rdi
call puts@PLT
movq stdin(%rip), %rdi
call getc@PLT
movl __ntsys_buffer_ptr(%rip), %eax
cmpq __ntsys_buffer_size(%rip), %rax
movq %rax, %r9
jb .L812
movq 8(%rsp), %r12
jmp .L815
.L836:
leaq .LC28(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
movq 8(%rsp), %r12
movl $1, %ebx
call __printf_chk@PLT
jmp .L817
.L830:
leaq .LC22(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
jmp .L805
.L832:
leaq .LC1(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
call __printf_chk@PLT
jmp .L805
.L834:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE82:
.size ntsys_api_call, .-ntsys_api_call
.section .rodata.str1.1
.LC30:
.string "out.exe"
.section .rodata
.align 8
.LC31:
.ascii "BINARY Emulator - LICENSE GPL V3\n VM for micron files\nU"
.ascii "sing:\n ntsys [OPTIONS...] [FILENAME]\nExamples:\n nts"
.ascii "ys --asm FILE.asm\n ntsys [--asm] FILE.asm --out FILE.exe"
.ascii "\n ntsys FILE.exe"
.string "\nOptions:\n --help / -h - show this help\n --version / -v - show version\n --asm / -a - compile assembler program\n --out / -o - set output file name\n --debug / -d - display debugging info\n --mem / -m - asm output memory size"
.string ""
.section .rodata.str1.1
.LC32:
.string "1.0"
.LC33:
.string "Unknown option!"
.LC34:
.string "Please specify the file name!"
.text
.p2align 4
.globl _lib_ntsys_main
.type _lib_ntsys_main, @function
_lib_ntsys_main:
.LFB83:
.cfi_startproc
endbr64
pushq %r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
pushq %r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
pushq %r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
pushq %r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
pushq %rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
pushq %rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
subq $24, %rsp
.cfi_def_cfa_offset 80
cmpl $1, %edi
jbe .L838
leal -2(%rdi), %eax
movb $0, 15(%rsp)
leaq 8(%rsi), %rbx
xorl %edx, %edx
leaq 16(%rsi,%rax,8), %r13
xorl %ebp, %ebp
movl $82, %r8d
xorl %r12d, %r12d
leaq .LC30(%rip), %r15
leaq .L842(%rip), %r14
jmp .L851
.p2align 4,,10
.p2align 3
.L839:
testb %bpl, %bpl
jne .L855
testb %dl, %dl
jne .L860
movq %rdi, %r12
.L847:
addq $8, %rbx
cmpq %r13, %rbx
je .L861
.L851:
movq (%rbx), %rdi
cmpb $45, (%rdi)
jne .L839
xorl %eax, %eax
cmpb $45, 1(%rdi)
sete %al
movzbl 1(%rdi,%rax), %eax
subl $97, %eax
cmpb $21, %al
ja .L840
movzbl %al, %eax
movslq (%r14,%rax,4), %rax
addq %r14, %rax
notrack jmp *%rax
.section .rodata
.align 4
.align 4
.L842:
.long .L854-.L842
.long .L840-.L842
.long .L840-.L842
.long .L846-.L842
.long .L840-.L842
.long .L840-.L842
.long .L840-.L842
.long .L845-.L842
.long .L840-.L842
.long .L840-.L842
.long .L840-.L842
.long .L840-.L842
.long .L844-.L842
.long .L840-.L842
.long .L843-.L842
.long .L840-.L842
.long .L840-.L842
.long .L840-.L842
.long .L840-.L842
.long .L840-.L842
.long .L840-.L842
.long .L841-.L842
.text
.p2align 4,,10
.p2align 3
.L855:
addq $8, %rbx
movq %rdi, %r15
xorl %ebp, %ebp
cmpq %r13, %rbx
jne .L851
.L861:
testq %r12, %r12
je .L838
testb %bpl, %bpl
jne .L838
cmpb $82, %r8b
je .L862
addq $24, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 56
movq %r15, %rsi
movq %r12, %rdi
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
.cfi_def_cfa_offset 40
popq %r12
.cfi_def_cfa_offset 32
popq %r13
.cfi_def_cfa_offset 24
popq %r14
.cfi_def_cfa_offset 16
popq %r15
.cfi_def_cfa_offset 8
jmp ntsys_compile_asm
.p2align 4,,10
.p2align 3
.L860:
.cfi_restore_state
movl $10, %edx
xorl %esi, %esi
movb %r8b, 14(%rsp)
call strtol@PLT
movzbl 14(%rsp), %r8d
xorl %edx, %edx
movw %ax, fGH6VSEzu7qNiGVE_mem_size(%rip)
jmp .L847
.p2align 4,,10
.p2align 3
.L840:
leaq .LC33(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
.L850:
movl $1, %eax
jmp .L837
.p2align 4,,10
.p2align 3
.L841:
leaq .LC32(%rip), %rdi
call puts@PLT
.L848:
xorl %eax, %eax
.L837:
addq $24, %rsp
.cfi_remember_state
.cfi_def_cfa_offset 56
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
.cfi_def_cfa_offset 40
popq %r12
.cfi_def_cfa_offset 32
popq %r13
.cfi_def_cfa_offset 24
popq %r14
.cfi_def_cfa_offset 16
popq %r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L844:
.cfi_restore_state
movl $1, %edx
movl $65, %r8d
jmp .L847
.p2align 4,,10
.p2align 3
.L845:
leaq .LC31(%rip), %rdi
call puts@PLT
jmp .L848
.p2align 4,,10
.p2align 3
.L843:
movl $1, %ebp
movl $65, %r8d
jmp .L847
.p2align 4,,10
.p2align 3
.L854:
movl $65, %r8d
jmp .L847
.p2align 4,,10
.p2align 3
.L846:
movb $1, 15(%rsp)
jmp .L847
.L838:
leaq .LC34(%rip), %rdx
leaq .LC0(%rip), %rsi
movl $2, %edi
xorl %eax, %eax
call __printf_chk@PLT
jmp .L850
.L862:
movzbl 15(%rsp), %esi
addq $24, %rsp
.cfi_def_cfa_offset 56
movq %r12, %rdi
popq %rbx
.cfi_def_cfa_offset 48
popq %rbp
.cfi_def_cfa_offset 40
popq %r12
.cfi_def_cfa_offset 32
popq %r13
.cfi_def_cfa_offset 24
popq %r14
.cfi_def_cfa_offset 16
popq %r15
.cfi_def_cfa_offset 8
jmp ntsys_api_call
.cfi_endproc
.LFE83:
.size _lib_ntsys_main, .-_lib_ntsys_main
.section .text.startup,"ax",@progbits
.p2align 4
.globl main
.type main, @function
main:
.LFB84:
.cfi_startproc
endbr64
jmp _lib_ntsys_main
.cfi_endproc
.LFE84:
.size main, .-main
.globl ntsys_asm_table
.section .rodata.str1.1
.LC35:
.string "push=00:T:D"
.LC36:
.string "pop=01:T"
.LC37:
.string "push.string=02:S"
.LC38:
.string "add=03:T"
.LC39:
.string "sub=04:T"
.LC40:
.string "mul=05:T"
.LC41:
.string "div=06:T"
.LC42:
.string "not=07:T"
.LC43:
.string "shr=08:T"
.LC44:
.string "shl=09:T"
.LC45:
.string "or=0A:T"
.LC46:
.string "and=0B:T"
.LC47:
.string "xor=0C:T"
.LC48:
.string "jmp=0D"
.LC49:
.string "bnez=0E:T"
.LC50:
.string "bez=0F:T"
.LC51:
.string "up=10:T"
.LC52:
.string "down=11:T"
.LC53:
.string "eq=12:T"
.LC54:
.string "neq=13:T"
.LC55:
.string "upne=14:T"
.LC56:
.string "downe=15:T"
.LC57:
.string "mwrt=16:T"
.LC58:
.string "mread=17:T"
.LC59:
.string "getsp=18"
.LC60:
.string "setsp=19"
.LC61:
.string "syscall=1A"
.LC62:
.string "swap=1B:T"
.LC63:
.string "dup=1C:T"
.LC64:
.string "pass="
.section .data.rel.local,"aw"
.align 32
.type ntsys_asm_table, @object
.size ntsys_asm_table, 240
ntsys_asm_table:
.quad .LC35
.quad .LC36
.quad .LC37
.quad .LC38
.quad .LC39
.quad .LC40
.quad .LC41
.quad .LC42
.quad .LC43
.quad .LC44
.quad .LC45
.quad .LC46
.quad .LC47
.quad .LC48
.quad .LC49
.quad .LC50
.quad .LC51
.quad .LC52
.quad .LC53
.quad .LC54
.quad .LC55
.quad .LC56
.quad .LC57
.quad .LC58
.quad .LC59
.quad .LC60
.quad .LC61
.quad .LC62
.quad .LC63
.quad .LC64
.globl ntsys_command_count
.section .rodata
.align 8
.type ntsys_command_count, @object
.size ntsys_command_count, 8
ntsys_command_count:
.quad 30
.globl fGH6VSEzu7qNiGVE_hd_ew
.bss
.type fGH6VSEzu7qNiGVE_hd_ew, @object
.size fGH6VSEzu7qNiGVE_hd_ew, 1
fGH6VSEzu7qNiGVE_hd_ew:
.zero 1
.globl fGH6VSEzu7qNiGVE_mem_size
.data
.align 2
.type fGH6VSEzu7qNiGVE_mem_size, @object
.size fGH6VSEzu7qNiGVE_mem_size, 2
fGH6VSEzu7qNiGVE_mem_size:
.value 4096
.globl fn_fGH6VSEzu7qNiGVE
.section .data.rel.local
.align 32
.type fn_fGH6VSEzu7qNiGVE, @object
.size fn_fGH6VSEzu7qNiGVE, 232
fn_fGH6VSEzu7qNiGVE:
.quad push
.quad pop
.quad push_str
.quad add
.quad sub
.quad mul
.quad div_r
.quad nt_not
.quad nt_shr
.quad nt_shl
.quad nt_or
.quad nt_and
.quad nt_xor
.quad nt_goto
.quad bnez
.quad bez
.quad up
.quad down
.quad eq
.quad neq
.quad upne
.quad downe
.quad mwrt
.quad mrd
.quad get_sp
.quad set_sp
.quad nt_fs_syscall
.quad stack_swap
.quad stack_copy
.globl arg2_fGH6VSEzu7qNiGVE
.bss
.align 8
.type arg2_fGH6VSEzu7qNiGVE, @object
.size arg2_fGH6VSEzu7qNiGVE, 8
arg2_fGH6VSEzu7qNiGVE:
.zero 8
.globl arg1_fGH6VSEzu7qNiGVE
.align 8
.type arg1_fGH6VSEzu7qNiGVE, @object
.size arg1_fGH6VSEzu7qNiGVE, 8
arg1_fGH6VSEzu7qNiGVE:
.zero 8
.globl fGH6VSEzu7qNiGVE_stat
.align 4
.type fGH6VSEzu7qNiGVE_stat, @object
.size fGH6VSEzu7qNiGVE_stat, 4
fGH6VSEzu7qNiGVE_stat:
.zero 4
.globl __ntsys_buffer_ptr
.align 4
.type __ntsys_buffer_ptr, @object
.size __ntsys_buffer_ptr, 4
__ntsys_buffer_ptr:
.zero 4
.globl __ntsys_buffer_size
.align 8
.type __ntsys_buffer_size, @object
.size __ntsys_buffer_size, 8
__ntsys_buffer_size:
.zero 8
.globl __ntsys_buffer
.align 8
.type __ntsys_buffer, @object
.size __ntsys_buffer, 8
__ntsys_buffer:
.zero 8
.globl __ntsys_stack_pointer
.align 4
.type __ntsys_stack_pointer, @object
.size __ntsys_stack_pointer, 4
__ntsys_stack_pointer:
.zero 4
.globl __ntsys_stack
.align 8
.type __ntsys_stack, @object
.size __ntsys_stack, 8
__ntsys_stack:
.zero 8
.ident "GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
.section .note.GNU-stack,"",@progbits
.section .note.gnu.property,"a"
.align 8
.long 1f - 0f
.long 4f - 1f
.long 5
0:
.string "GNU"
1:
.align 8
.long 0xc0000002
.long 3f - 2f
2:
.long 0x3
3:
.align 8
4: