4192 lines
73 KiB
ArmAsm
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:
|