Skip to content

Instantly share code, notes, and snippets.

@jeethu
Created January 16, 2018 23:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jeethu/596bfc1251590bc51cc230046b52fb38 to your computer and use it in GitHub Desktop.
Save jeethu/596bfc1251590bc51cc230046b52fb38 to your computer and use it in GitHub Desktop.
.file "listobject.c"
.intel_syntax noprefix
.text
.p2align 4,,15
.type list_reverse, @function
list_reverse:
.LFB125:
.cfi_startproc
mov rdx, QWORD PTR 16[rdi]
cmp rdx, 1
jle .L2
mov rax, QWORD PTR 24[rdi]
lea rdx, -8[rax+rdx*8]
cmp rax, rdx
jnb .L2
.p2align 4,,10
.p2align 3
.L3:
mov rcx, QWORD PTR [rax]
mov rsi, QWORD PTR [rdx]
add rax, 8
sub rdx, 8
mov QWORD PTR -8[rax], rsi
mov QWORD PTR 8[rdx], rcx
cmp rax, rdx
jb .L3
.L2:
add QWORD PTR _Py_NoneStruct[rip], 1
lea rax, _Py_NoneStruct[rip]
ret
.cfi_endproc
.LFE125:
.size list_reverse, .-list_reverse
.p2align 4,,15
.type list_length, @function
list_length:
.LFB144:
.cfi_startproc
mov rax, QWORD PTR 16[rdi]
ret
.cfi_endproc
.LFE144:
.size list_length, .-list_length
.p2align 4,,15
.type list_traverse, @function
list_traverse:
.LFB193:
.cfi_startproc
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
mov r14, rdi
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
mov r13, rsi
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
mov rax, QWORD PTR 16[rdi]
mov r12, rdx
lea rbx, -1[rax]
lea rbp, 0[0+rbx*8]
jmp .L8
.p2align 4,,10
.p2align 3
.L12:
mov rax, QWORD PTR 24[r14]
mov rdi, QWORD PTR [rax+rbp]
test rdi, rdi
je .L11
mov rsi, r12
call r13
test eax, eax
jne .L7
.L11:
sub rbp, 8
sub rbx, 1
.L8:
test rbx, rbx
jns .L12
xor eax, eax
.L7:
pop rbx
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE193:
.size list_traverse, .-list_traverse
.p2align 4,,15
.type listiter_traverse, @function
listiter_traverse:
.LFB201:
.cfi_startproc
mov rdi, QWORD PTR 24[rdi]
mov rax, rsi
test rdi, rdi
je .L15
mov rsi, rdx
jmp rax
.p2align 4,,10
.p2align 3
.L15:
xor eax, eax
ret
.cfi_endproc
.LFE201:
.size listiter_traverse, .-listiter_traverse
.p2align 4,,15
.type listiter_next, @function
listiter_next:
.LFB202:
.cfi_startproc
mov rax, QWORD PTR 24[rdi]
test rax, rax
je .L20
mov rdx, QWORD PTR 16[rdi]
cmp rdx, QWORD PTR 16[rax]
jl .L25
mov QWORD PTR 24[rdi], 0
sub QWORD PTR [rax], 1
jne .L20
sub rsp, 8
.cfi_def_cfa_offset 16
mov rdx, QWORD PTR 8[rax]
mov rdi, rax
call [QWORD PTR 48[rdx]]
xor eax, eax
add rsp, 8
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L25:
mov rax, QWORD PTR 24[rax]
mov rax, QWORD PTR [rax+rdx*8]
add rdx, 1
mov QWORD PTR 16[rdi], rdx
add QWORD PTR [rax], 1
ret
.p2align 4,,10
.p2align 3
.L20:
xor eax, eax
ret
.cfi_endproc
.LFE202:
.size listiter_next, .-listiter_next
.p2align 4,,15
.type listreviter_traverse, @function
listreviter_traverse:
.LFB208:
.cfi_startproc
mov rdi, QWORD PTR 24[rdi]
mov rax, rsi
test rdi, rdi
je .L27
mov rsi, rdx
jmp rax
.p2align 4,,10
.p2align 3
.L27:
xor eax, eax
ret
.cfi_endproc
.LFE208:
.size listreviter_traverse, .-listreviter_traverse
.p2align 4,,15
.type listreviter_next, @function
listreviter_next:
.LFB209:
.cfi_startproc
mov rax, QWORD PTR 24[rdi]
test rax, rax
je .L32
mov rdx, QWORD PTR 16[rdi]
test rdx, rdx
js .L31
cmp QWORD PTR 16[rax], rdx
jg .L37
.L31:
mov QWORD PTR 16[rdi], -1
mov QWORD PTR 24[rdi], 0
sub QWORD PTR [rax], 1
jne .L32
sub rsp, 8
.cfi_def_cfa_offset 16
mov rdx, QWORD PTR 8[rax]
mov rdi, rax
call [QWORD PTR 48[rdx]]
xor eax, eax
add rsp, 8
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L37:
mov rax, QWORD PTR 24[rax]
mov rax, QWORD PTR [rax+rdx*8]
sub rdx, 1
mov QWORD PTR 16[rdi], rdx
add QWORD PTR [rax], 1
ret
.p2align 4,,10
.p2align 3
.L32:
xor eax, eax
ret
.cfi_endproc
.LFE209:
.size listreviter_next, .-listreviter_next
.p2align 4,,15
.type listiter_dealloc, @function
listiter_dealloc:
.LFB200:
.cfi_startproc
push rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
mov rax, QWORD PTR -8[rdi]
mov rbx, rdi
mov rdx, QWORD PTR -24[rdi]
and eax, 1
or rax, -4
mov QWORD PTR -8[rdi], rax
mov rax, QWORD PTR -16[rdi]
mov QWORD PTR [rax], rdx
mov rdx, QWORD PTR -24[rdi]
mov QWORD PTR 8[rdx], rax
mov QWORD PTR -24[rdi], 0
mov rdi, QWORD PTR 24[rdi]
test rdi, rdi
je .L40
sub QWORD PTR [rdi], 1
jne .L40
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L40:
mov rdi, rbx
pop rbx
.cfi_def_cfa_offset 8
jmp PyObject_GC_Del@PLT
.cfi_endproc
.LFE200:
.size listiter_dealloc, .-listiter_dealloc
.p2align 4,,15
.type _list_clear, @function
_list_clear:
.LFB151:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 8
.cfi_def_cfa_offset 32
mov rbp, QWORD PTR 24[rdi]
test rbp, rbp
je .L44
mov rbx, QWORD PTR 16[rdi]
mov QWORD PTR 24[rdi], 0
mov QWORD PTR 16[rdi], 0
mov QWORD PTR 32[rdi], 0
.L45:
sub rbx, 1
js .L54
.L49:
mov rdi, QWORD PTR 0[rbp+rbx*8]
test rdi, rdi
je .L45
sub QWORD PTR [rdi], 1
jne .L45
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
sub rbx, 1
jns .L49
.L54:
mov rdi, rbp
call PyMem_Free@PLT
.L44:
add rsp, 8
.cfi_def_cfa_offset 24
xor eax, eax
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE151:
.size _list_clear, .-_list_clear
.p2align 4,,15
.type gallop_right, @function
gallop_right:
.LFB174:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
lea r14, [rsi+rcx*8]
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
mov r15, rsi
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov r13, rdx
xor edx, edx
mov r12, rdi
mov rbp, rcx
sub rsp, 24
.cfi_def_cfa_offset 80
mov rsi, QWORD PTR [r14]
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
mov QWORD PTR [rsp], rax
js .L56
je .L57
lea rax, 1[rbp]
cmp rax, 1
mov QWORD PTR [rsp], rax
jle .L71
mov r13d, 63
mov QWORD PTR 8[rsp], 0
mov ebx, 1
.p2align 4,,10
.p2align 3
.L61:
lea rax, 0[0+rbx*8]
mov rcx, r14
xor edx, edx
mov rdi, r12
sub rcx, rax
mov rsi, QWORD PTR [rcx]
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
js .L56
je .L81
sub r13d, 1
lea rax, 1[rbx+rbx]
je .L79
cmp QWORD PTR [rsp], rax
mov QWORD PTR 8[rsp], rbx
jle .L79
mov rbx, rax
jmp .L61
.p2align 4,,10
.p2align 3
.L56:
mov r13, -1
.L55:
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 56
mov rax, r13
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L57:
.cfi_restore_state
sub r13, rbp
cmp r13, 1
mov QWORD PTR 8[rsp], r13
jle .L73
mov ebx, 63
mov r13d, 1
.p2align 4,,10
.p2align 3
.L66:
mov rsi, QWORD PTR [r14+r13*8]
xor edx, edx
mov rdi, r12
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
js .L56
jne .L82
sub ebx, 1
lea rax, 1[r13+r13]
je .L78
cmp QWORD PTR 8[rsp], rax
mov QWORD PTR [rsp], r13
jle .L78
mov r13, rax
jmp .L66
.p2align 4,,10
.p2align 3
.L78:
lea rbx, 0[rbp+r13]
.L63:
add rbp, QWORD PTR 8[rsp]
add rbx, 1
.L62:
cmp rbp, rbx
jle .L80
.p2align 4,,10
.p2align 3
.L67:
mov r13, rbp
xor edx, edx
mov rdi, r12
sub r13, rbx
sar r13
add r13, rbx
mov rsi, QWORD PTR [r15+r13*8]
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
js .L56
jne .L69
lea rbx, 1[r13]
cmp rbx, rbp
jl .L67
.L80:
mov r13, rbp
jmp .L55
.p2align 4,,10
.p2align 3
.L69:
cmp r13, rbx
jle .L55
mov rbp, r13
jmp .L67
.p2align 4,,10
.p2align 3
.L79:
sub rbp, rbx
xor ebx, ebx
jmp .L62
.p2align 4,,10
.p2align 3
.L81:
mov rax, QWORD PTR [rsp]
mov rcx, rbx
sub rbp, QWORD PTR 8[rsp]
cmp rax, rbx
cmovle rcx, rax
sub rax, rcx
mov rbx, rax
jmp .L62
.p2align 4,,10
.p2align 3
.L82:
mov rax, QWORD PTR 8[rsp]
mov rbx, QWORD PTR [rsp]
add rbx, rbp
cmp rax, r13
cmovle r13, rax
mov QWORD PTR 8[rsp], r13
jmp .L63
.L71:
xor ebx, ebx
jmp .L62
.L73:
mov rbx, rbp
jmp .L63
.cfi_endproc
.LFE174:
.size gallop_right, .-gallop_right
.p2align 4,,15
.type gallop_left, @function
gallop_left:
.LFB173:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
mov r14, rsi
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
lea r13, [rsi+rcx*8]
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov rsi, rdi
mov rbp, rdi
mov r12, rdx
xor edx, edx
sub rsp, 40
.cfi_def_cfa_offset 96
mov rdi, QWORD PTR 0[r13]
mov rbx, rcx
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
mov QWORD PTR 16[rsp], rax
js .L84
je .L85
sub r12, rbx
cmp r12, 1
mov QWORD PTR 8[rsp], r12
jle .L99
mov r12d, 63
mov QWORD PTR 16[rsp], 0
mov r15d, 1
.p2align 4,,10
.p2align 3
.L89:
mov rdi, QWORD PTR 0[r13+r15*8]
xor edx, edx
mov rsi, rbp
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
js .L84
je .L109
sub r12d, 1
lea rax, 1[r15+r15]
je .L106
cmp QWORD PTR 8[rsp], rax
mov QWORD PTR 16[rsp], r15
jle .L106
mov r15, rax
jmp .L89
.p2align 4,,10
.p2align 3
.L84:
mov r12, -1
.L83:
add rsp, 40
.cfi_remember_state
.cfi_def_cfa_offset 56
mov rax, r12
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L85:
.cfi_restore_state
lea rax, 1[rbx]
cmp rax, 1
mov QWORD PTR 24[rsp], rax
jle .L101
mov DWORD PTR 8[rsp], 63
mov r12d, 1
.p2align 4,,10
.p2align 3
.L94:
lea rax, 0[0+r12*8]
mov rcx, r13
xor edx, edx
mov rsi, rbp
sub rcx, rax
mov rdi, QWORD PTR [rcx]
call PyObject_RichCompareBool@PLT
movsx r15, eax
test r15, r15
js .L84
jne .L110
sub DWORD PTR 8[rsp], 1
lea rax, 1[r12+r12]
je .L107
cmp QWORD PTR 24[rsp], rax
mov QWORD PTR 16[rsp], r12
jle .L107
mov r12, rax
jmp .L94
.p2align 4,,10
.p2align 3
.L107:
sub rbx, r12
.L90:
cmp rbx, r15
jle .L108
.p2align 4,,10
.p2align 3
.L95:
mov r12, rbx
xor edx, edx
mov rsi, rbp
sub r12, r15
sar r12
add r12, r15
mov rdi, QWORD PTR [r14+r12*8]
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
js .L84
je .L97
lea r15, 1[r12]
cmp r15, rbx
jl .L95
.L108:
mov r12, rbx
jmp .L83
.p2align 4,,10
.p2align 3
.L97:
cmp r12, r15
jle .L83
mov rbx, r12
jmp .L95
.p2align 4,,10
.p2align 3
.L106:
lea rcx, [rbx+r15]
.L86:
add rbx, QWORD PTR 8[rsp]
lea r15, 1[rcx]
jmp .L90
.p2align 4,,10
.p2align 3
.L109:
mov rax, QWORD PTR 8[rsp]
mov rcx, QWORD PTR 16[rsp]
add rcx, rbx
cmp rax, r15
cmovle r15, rax
mov QWORD PTR 8[rsp], r15
jmp .L86
.p2align 4,,10
.p2align 3
.L110:
mov rax, QWORD PTR 24[rsp]
sub rbx, QWORD PTR 16[rsp]
mov r8, r12
cmp rax, r12
cmovle r8, rax
sub rax, r8
mov r15, rax
jmp .L90
.L99:
mov rcx, rbx
jmp .L86
.L101:
xor r15d, r15d
jmp .L90
.cfi_endproc
.LFE173:
.size gallop_left, .-gallop_left
.p2align 4,,15
.type list_contains, @function
list_contains:
.LFB145:
.cfi_startproc
push r12
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
mov r12, rsi
push rbp
.cfi_def_cfa_offset 24
.cfi_offset 6, -24
mov rbp, rdi
push rbx
.cfi_def_cfa_offset 32
.cfi_offset 3, -32
xor ebx, ebx
.p2align 4,,10
.p2align 3
.L112:
cmp QWORD PTR 16[rbp], rbx
jle .L116
mov rax, QWORD PTR 24[rbp]
mov edx, 2
mov rdi, r12
mov rsi, QWORD PTR [rax+rbx*8]
add rbx, 1
call PyObject_RichCompareBool@PLT
test eax, eax
je .L112
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbp
.cfi_def_cfa_offset 16
pop r12
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L116:
.cfi_restore_state
pop rbx
.cfi_def_cfa_offset 24
xor eax, eax
pop rbp
.cfi_def_cfa_offset 16
pop r12
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE145:
.size list_contains, .-list_contains
.p2align 4,,15
.type list_count, @function
list_count:
.LFB191:
.cfi_startproc
push r13
.cfi_def_cfa_offset 16
.cfi_offset 13, -16
push r12
.cfi_def_cfa_offset 24
.cfi_offset 12, -24
push rbp
.cfi_def_cfa_offset 32
.cfi_offset 6, -32
push rbx
.cfi_def_cfa_offset 40
.cfi_offset 3, -40
sub rsp, 8
.cfi_def_cfa_offset 48
cmp QWORD PTR 16[rdi], 0
jle .L123
mov r12, rsi
mov rbp, rdi
xor ebx, ebx
xor r13d, r13d
jmp .L122
.p2align 4,,10
.p2align 3
.L126:
add r13, 1
.L120:
add rbx, 1
cmp QWORD PTR 16[rbp], rbx
jle .L118
.L122:
mov rax, QWORD PTR 24[rbp]
mov edx, 2
mov rsi, r12
mov rdi, QWORD PTR [rax+rbx*8]
call PyObject_RichCompareBool@PLT
cmp eax, 0
jg .L126
je .L120
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 40
xor eax, eax
pop rbx
.cfi_def_cfa_offset 32
pop rbp
.cfi_def_cfa_offset 24
pop r12
.cfi_def_cfa_offset 16
pop r13
.cfi_def_cfa_offset 8
ret
.L123:
.cfi_restore_state
xor r13d, r13d
.L118:
add rsp, 8
.cfi_def_cfa_offset 40
mov rdi, r13
pop rbx
.cfi_def_cfa_offset 32
pop rbp
.cfi_def_cfa_offset 24
pop r12
.cfi_def_cfa_offset 16
pop r13
.cfi_def_cfa_offset 8
jmp PyLong_FromSsize_t@PLT
.cfi_endproc
.LFE191:
.size list_count, .-list_count
.p2align 4,,15
.type list___sizeof__, @function
list___sizeof__:
.LFB128:
.cfi_startproc
mov rax, QWORD PTR 8[rdi]
mov rdx, QWORD PTR 32[rdi]
mov rax, QWORD PTR 32[rax]
lea rdi, [rax+rdx*8]
jmp PyLong_FromSsize_t@PLT
.cfi_endproc
.LFE128:
.size list___sizeof__, .-list___sizeof__
.p2align 4,,15
.type listreviter_len, @function
listreviter_len:
.LFB210:
.cfi_startproc
mov rdx, QWORD PTR 24[rdi]
xor eax, eax
test rdx, rdx
je .L129
mov rax, QWORD PTR 16[rdi]
add rax, 1
cmp QWORD PTR 16[rdx], rax
mov edx, 0
cmovl rax, rdx
.L129:
mov rdi, rax
jmp PyLong_FromSsize_t@PLT
.cfi_endproc
.LFE210:
.size listreviter_len, .-listreviter_len
.section .rodata.str1.1,"aMS",@progbits,1
.LC0:
.string "O|O&O&:index"
.LC1:
.string "%R is not in list"
.text
.p2align 4,,15
.type list_index, @function
list_index:
.LFB126:
.cfi_startproc
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
mov r12, rdi
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
mov rdi, rsi
mov rsi, rdx
lea rdx, .LC0[rip]
sub rsp, 32
.cfi_def_cfa_offset 80
mov r8, QWORD PTR _PyEval_SliceIndexNotNone@GOTPCREL[rip]
mov rax, QWORD PTR fs:40
mov QWORD PTR 24[rsp], rax
xor eax, eax
movabs rax, 9223372036854775807
mov QWORD PTR 8[rsp], 0
mov rcx, rsp
mov QWORD PTR 16[rsp], rax
lea rax, 16[rsp]
push rax
.cfi_def_cfa_offset 88
push r8
.cfi_def_cfa_offset 96
xor eax, eax
lea r9, 24[rsp]
call _PyArg_ParseStack@PLT
test eax, eax
pop rdx
.cfi_def_cfa_offset 88
pop rcx
.cfi_def_cfa_offset 80
je .L144
mov rbx, QWORD PTR 8[rsp]
mov r13, QWORD PTR 16[rsp]
mov r14, QWORD PTR [rsp]
test rbx, rbx
jns .L135
add rbx, QWORD PTR 16[r12]
mov eax, 0
cmovs rbx, rax
.L135:
test r13, r13
js .L145
.L136:
cmp r13, rbx
jle .L137
cmp rbx, QWORD PTR 16[r12]
jge .L137
lea rbp, 0[0+rbx*8]
jmp .L140
.p2align 4,,10
.p2align 3
.L138:
jne .L144
add rbx, 1
cmp rbx, r13
je .L137
add rbp, 8
cmp rbx, QWORD PTR 16[r12]
jge .L137
.L140:
mov rax, QWORD PTR 24[r12]
mov edx, 2
mov rsi, r14
mov rdi, QWORD PTR [rax+rbp]
call PyObject_RichCompareBool@PLT
cmp eax, 0
jle .L138
mov rdi, rbx
call PyLong_FromSsize_t@PLT
jmp .L132
.p2align 4,,10
.p2align 3
.L145:
add r13, QWORD PTR 16[r12]
jns .L136
.L137:
mov rdi, QWORD PTR PyExc_ValueError[rip]
lea rsi, .LC1[rip]
mov rdx, r14
xor eax, eax
call PyErr_Format@PLT
.L144:
xor eax, eax
.L134:
.L132:
mov rcx, QWORD PTR 24[rsp]
xor rcx, QWORD PTR fs:40
jne .L146
add rsp, 32
.cfi_remember_state
.cfi_def_cfa_offset 48
pop rbx
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.L146:
.cfi_restore_state
call __stack_chk_fail@PLT
.cfi_endproc
.LFE126:
.size list_index, .-list_index
.p2align 4,,15
.type list___reversed__, @function
list___reversed__:
.LFB129:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
mov rbp, rdi
lea rdi, PyListRevIter_Type[rip]
sub rsp, 8
.cfi_def_cfa_offset 32
call _PyObject_GC_New@PLT
test rax, rax
mov rbx, rax
je .L147
mov rax, QWORD PTR 16[rbp]
mov rdi, rbx
sub rax, 1
mov QWORD PTR 16[rbx], rax
add QWORD PTR 0[rbp], 1
mov QWORD PTR 24[rbx], rbp
call PyObject_GC_Track@PLT
.L147:
add rsp, 8
.cfi_def_cfa_offset 24
mov rax, rbx
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE129:
.size list___reversed__, .-list___reversed__
.p2align 4,,15
.type listreviter_dealloc, @function
listreviter_dealloc:
.LFB207:
.cfi_startproc
push rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
mov rbx, rdi
call PyObject_GC_UnTrack@PLT
mov rdi, QWORD PTR 24[rbx]
test rdi, rdi
je .L155
sub QWORD PTR [rdi], 1
jne .L155
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L155:
mov rdi, rbx
pop rbx
.cfi_def_cfa_offset 8
jmp PyObject_GC_Del@PLT
.cfi_endproc
.LFE207:
.size listreviter_dealloc, .-listreviter_dealloc
.p2align 4,,15
.type list_dealloc, @function
list_dealloc:
.LFB142:
.cfi_startproc
push r13
.cfi_def_cfa_offset 16
.cfi_offset 13, -16
push r12
.cfi_def_cfa_offset 24
.cfi_offset 12, -24
mov r12, rdi
push rbp
.cfi_def_cfa_offset 32
.cfi_offset 6, -32
push rbx
.cfi_def_cfa_offset 40
.cfi_offset 3, -40
sub rsp, 8
.cfi_def_cfa_offset 48
call PyObject_GC_UnTrack@PLT
mov r13, QWORD PTR _PyRuntime[rip+1392]
mov eax, DWORD PTR 184[r13]
cmp eax, 49
jg .L159
mov rdx, QWORD PTR 24[r12]
add eax, 1
mov DWORD PTR 184[r13], eax
test rdx, rdx
je .L160
mov rax, QWORD PTR 16[r12]
lea rbx, -1[rax]
lea rbp, 0[0+rbx*8]
jmp .L161
.p2align 4,,10
.p2align 3
.L163:
mov rdi, QWORD PTR [rdx+rbp]
test rdi, rdi
je .L162
sub QWORD PTR [rdi], 1
jne .L162
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
mov rdx, QWORD PTR 24[r12]
.L162:
sub rbp, 8
sub rbx, 1
.L161:
test rbx, rbx
jns .L163
mov rdi, rdx
call PyMem_Free@PLT
.L160:
movsx rax, DWORD PTR numfree[rip]
mov rdx, QWORD PTR 8[r12]
cmp eax, 79
jle .L180
.L164:
mov rdi, r12
call [QWORD PTR 320[rdx]]
.L165:
mov eax, DWORD PTR 184[r13]
sub eax, 1
cmp QWORD PTR 192[r13], 0
mov DWORD PTR 184[r13], eax
je .L158
test eax, eax
jle .L181
.L158:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbx
.cfi_def_cfa_offset 32
pop rbp
.cfi_def_cfa_offset 24
pop r12
.cfi_def_cfa_offset 16
pop r13
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L159:
.cfi_restore_state
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 40
mov rdi, r12
pop rbx
.cfi_def_cfa_offset 32
pop rbp
.cfi_def_cfa_offset 24
pop r12
.cfi_def_cfa_offset 16
pop r13
.cfi_def_cfa_offset 8
jmp _PyTrash_thread_deposit_object@PLT
.p2align 4,,10
.p2align 3
.L181:
.cfi_restore_state
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbx
.cfi_def_cfa_offset 32
pop rbp
.cfi_def_cfa_offset 24
pop r12
.cfi_def_cfa_offset 16
pop r13
.cfi_def_cfa_offset 8
jmp _PyTrash_thread_destroy_chain@PLT
.p2align 4,,10
.p2align 3
.L180:
.cfi_restore_state
lea rcx, PyList_Type[rip]
cmp rdx, rcx
jne .L164
lea edx, 1[rax]
mov DWORD PTR numfree[rip], edx
lea rdx, free_list[rip]
mov QWORD PTR [rdx+rax*8], r12
jmp .L165
.cfi_endproc
.LFE142:
.size list_dealloc, .-list_dealloc
.p2align 4,,15
.type listiter_setstate, @function
listiter_setstate:
.LFB205:
.cfi_startproc
push rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
mov rbx, rdi
mov rdi, rsi
call PyLong_AsSsize_t@PLT
cmp rax, -1
je .L195
mov rdx, QWORD PTR 24[rbx]
test rdx, rdx
je .L187
test rax, rax
js .L190
cmp QWORD PTR 16[rdx], rax
cmovle rax, QWORD PTR 16[rdx]
.L189:
mov QWORD PTR 16[rbx], rax
.L187:
lea rax, _Py_NoneStruct[rip]
add QWORD PTR _Py_NoneStruct[rip], 1
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L195:
.cfi_restore_state
call PyErr_Occurred@PLT
test rax, rax
jne .L196
cmp QWORD PTR 24[rbx], 0
je .L187
.L190:
xor eax, eax
jmp .L189
.p2align 4,,10
.p2align 3
.L196:
xor eax, eax
pop rbx
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE205:
.size listiter_setstate, .-listiter_setstate
.p2align 4,,15
.type listreviter_setstate, @function
listreviter_setstate:
.LFB212:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
mov rbp, rdi
mov rdi, rsi
sub rsp, 8
.cfi_def_cfa_offset 32
call PyLong_AsSsize_t@PLT
cmp rax, -1
mov rbx, rax
je .L211
mov rdx, QWORD PTR 24[rbp]
test rdx, rdx
je .L202
mov rax, -1
cmp rbx, rax
jl .L203
mov rax, QWORD PTR 16[rdx]
sub rax, 1
cmp rax, rbx
cmovg rax, rbx
.L203:
mov QWORD PTR 16[rbp], rax
.L202:
add QWORD PTR _Py_NoneStruct[rip], 1
lea rax, _Py_NoneStruct[rip]
.L197:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L211:
.cfi_restore_state
call PyErr_Occurred@PLT
test rax, rax
jne .L212
mov rdx, QWORD PTR 24[rbp]
test rdx, rdx
je .L202
mov rax, QWORD PTR 16[rdx]
sub rax, 1
cmp rax, rbx
cmovg rax, rbx
jmp .L203
.p2align 4,,10
.p2align 3
.L212:
xor eax, eax
jmp .L197
.cfi_endproc
.LFE212:
.size listreviter_setstate, .-listreviter_setstate
.section .rodata.str1.1
.LC2:
.string "Objects/listobject.c"
.LC3:
.string "GC object already tracked"
.text
.p2align 4,,15
.type list_iter, @function
list_iter:
.LFB199:
.cfi_startproc
push rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
sub rsp, 16
.cfi_def_cfa_offset 32
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L224
mov rbx, rdi
lea rdi, PyListIter_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
je .L213
mov rdx, QWORD PTR -8[rax]
mov QWORD PTR 16[rax], 0
add QWORD PTR [rbx], 1
mov QWORD PTR 24[rax], rbx
lea rbx, -24[rax]
mov rcx, rdx
sar rcx
cmp rcx, -2
jne .L225
.L216:
and edx, 1
or rdx, -6
mov QWORD PTR -8[rax], rdx
mov rdx, QWORD PTR _PyRuntime[rip+432]
mov rcx, QWORD PTR 8[rdx]
mov QWORD PTR -24[rax], rdx
mov QWORD PTR -16[rax], rcx
mov QWORD PTR [rcx], rbx
mov QWORD PTR 8[rdx], rbx
.L213:
add rsp, 16
.cfi_remember_state
.cfi_def_cfa_offset 16
pop rbx
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L225:
.cfi_restore_state
lea rdi, .LC3[rip]
mov QWORD PTR 8[rsp], rax
call Py_FatalError@PLT
mov rax, QWORD PTR 8[rsp]
mov rdx, QWORD PTR -8[rax]
jmp .L216
.p2align 4,,10
.p2align 3
.L224:
lea rdi, .LC2[rip]
mov esi, 2784
call _PyErr_BadInternalCall@PLT
xor eax, eax
jmp .L213
.cfi_endproc
.LFE199:
.size list_iter, .-list_iter
.section .rodata.str1.1
.LC4:
.string "list index out of range"
.text
.p2align 4,,15
.type list_item, @function
list_item:
.LFB146:
.cfi_startproc
test rsi, rsi
js .L227
cmp QWORD PTR 16[rdi], rsi
jg .L228
.L227:
sub rsp, 8
.cfi_def_cfa_offset 16
mov rax, QWORD PTR indexerr[rip]
test rax, rax
jne .L229
lea rdi, .LC4[rip]
call PyUnicode_FromString@PLT
test rax, rax
mov QWORD PTR indexerr[rip], rax
je .L226
.L229:
mov rdi, QWORD PTR PyExc_IndexError[rip]
mov rsi, rax
call PyErr_SetObject@PLT
xor eax, eax
.L226:
add rsp, 8
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L228:
mov rax, QWORD PTR 24[rdi]
mov rax, QWORD PTR [rax+rsi*8]
add QWORD PTR [rax], 1
ret
.cfi_endproc
.LFE146:
.size list_item, .-list_item
.p2align 4,,15
.type list_richcompare, @function
list_richcompare:
.LFB194:
.cfi_startproc
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L238
mov rax, QWORD PTR 8[rsi]
test BYTE PTR 171[rax], 2
je .L238
mov rax, QWORD PTR 16[rdi]
mov rcx, QWORD PTR 16[rsi]
cmp rax, rcx
je .L260
lea r8d, -2[rdx]
cmp r8d, 1
ja .L260
cmp edx, 2
je .L272
add QWORD PTR _Py_TrueStruct[rip], 1
lea rax, _Py_TrueStruct[rip]
ret
.p2align 4,,10
.p2align 3
.L238:
add QWORD PTR _Py_NotImplementedStruct[rip], 1
lea rax, _Py_NotImplementedStruct[rip]
ret
.p2align 4,,10
.p2align 3
.L260:
test rax, rax
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
mov r13d, edx
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
mov r12, rsi
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
mov rbp, rdi
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
jle .L246
test rcx, rcx
jle .L246
xor ebx, ebx
jmp .L245
.p2align 4,,10
.p2align 3
.L273:
mov rax, QWORD PTR 16[rbp]
je .L244
add rbx, 1
cmp rbx, rax
jge .L246
cmp rbx, QWORD PTR 16[r12]
jge .L246
.L245:
mov rax, QWORD PTR 24[r12]
mov edx, 2
lea r14, 0[0+rbx*8]
mov rsi, QWORD PTR [rax+rbx*8]
mov rax, QWORD PTR 24[rbp]
mov rdi, QWORD PTR [rax+rbx*8]
call PyObject_RichCompareBool@PLT
test eax, eax
jns .L273
xor eax, eax
.L237:
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L244:
.cfi_restore_state
cmp rbx, rax
jl .L274
.p2align 4,,10
.p2align 3
.L246:
cmp r13d, 5
ja .L248
lea rcx, .L250[rip]
movsx rdx, DWORD PTR [rcx+r13*4]
add rdx, rcx
jmp rdx
.section .rodata
.align 4
.align 4
.L250:
.long .L249-.L250
.long .L251-.L250
.long .L252-.L250
.long .L253-.L250
.long .L254-.L250
.long .L255-.L250
.text
.p2align 4,,10
.p2align 3
.L274:
cmp rbx, QWORD PTR 16[r12]
jge .L246
cmp r13d, 2
je .L271
cmp r13d, 3
je .L270
mov rax, QWORD PTR 24[r12]
mov edx, r13d
pop rbx
.cfi_restore 3
.cfi_def_cfa_offset 40
mov rsi, QWORD PTR [rax+r14]
mov rax, QWORD PTR 24[rbp]
pop rbp
.cfi_restore 6
.cfi_def_cfa_offset 32
pop r12
.cfi_restore 12
.cfi_def_cfa_offset 24
mov rdi, QWORD PTR [rax+r14]
pop r13
.cfi_restore 13
.cfi_def_cfa_offset 16
pop r14
.cfi_restore 14
.cfi_def_cfa_offset 8
jmp PyObject_RichCompare@PLT
.p2align 4,,10
.p2align 3
.L272:
add QWORD PTR _Py_FalseStruct[rip], 1
lea rax, _Py_FalseStruct[rip]
ret
.p2align 4,,10
.p2align 3
.L254:
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
.cfi_offset 6, -40
.cfi_offset 12, -32
.cfi_offset 13, -24
.cfi_offset 14, -16
cmp QWORD PTR 16[r12], rax
jge .L271
.p2align 4,,10
.p2align 3
.L270:
add QWORD PTR _Py_TrueStruct[rip], 1
lea rax, _Py_TrueStruct[rip]
jmp .L237
.p2align 4,,10
.p2align 3
.L251:
cmp QWORD PTR 16[r12], rax
jge .L270
.p2align 4,,10
.p2align 3
.L271:
add QWORD PTR _Py_FalseStruct[rip], 1
lea rax, _Py_FalseStruct[rip]
jmp .L237
.p2align 4,,10
.p2align 3
.L249:
cmp QWORD PTR 16[r12], rax
jg .L270
jmp .L271
.p2align 4,,10
.p2align 3
.L253:
cmp QWORD PTR 16[r12], rax
jne .L270
jmp .L271
.p2align 4,,10
.p2align 3
.L252:
cmp QWORD PTR 16[r12], rax
jne .L271
jmp .L270
.p2align 4,,10
.p2align 3
.L255:
cmp QWORD PTR 16[r12], rax
jle .L270
jmp .L271
.L248:
call abort@PLT
.cfi_endproc
.LFE194:
.size list_richcompare, .-list_richcompare
.section .rodata.str1.1
.LC5:
.string "[]"
.LC6:
.string "[...]"
.LC7:
.string ", "
.text
.p2align 4,,15
.type list_repr, @function
list_repr:
.LFB143:
.cfi_startproc
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
sub rsp, 64
.cfi_def_cfa_offset 112
mov rax, QWORD PTR fs:40
mov QWORD PTR 56[rsp], rax
xor eax, eax
cmp QWORD PTR 16[rdi], 0
je .L298
mov r12, rdi
call Py_ReprEnter@PLT
movsx rbp, eax
cmp rbp, 0
je .L278
jle .L291
lea rdi, .LC6[rip]
call PyUnicode_FromString@PLT
.L275:
mov rcx, QWORD PTR 56[rsp]
xor rcx, QWORD PTR fs:40
jne .L299
add rsp, 64
.cfi_remember_state
.cfi_def_cfa_offset 48
pop rbx
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L298:
.cfi_restore_state
lea rdi, .LC5[rip]
call PyUnicode_FromString@PLT
jmp .L275
.p2align 4,,10
.p2align 3
.L278:
mov r13, rsp
mov rdi, r13
call _PyUnicodeWriter_Init@PLT
mov rax, QWORD PTR 16[r12]
mov esi, 91
mov rdi, r13
mov BYTE PTR 52[rsp], 1
lea rax, [rax+rax*2]
mov QWORD PTR 40[rsp], rax
call _PyUnicodeWriter_WriteChar@PLT
test eax, eax
js .L285
cmp QWORD PTR 16[r12], 0
lea r14, .LC7[rip]
jle .L288
.p2align 4,,10
.p2align 3
.L280:
mov rax, QWORD PTR 24[r12]
mov rdi, QWORD PTR [rax+rbp*8]
call PyObject_Repr@PLT
test rax, rax
mov rbx, rax
je .L285
mov rsi, rax
mov rdi, r13
call _PyUnicodeWriter_WriteStr@PLT
test eax, eax
mov rax, QWORD PTR [rbx]
js .L300
sub rax, 1
test rax, rax
mov QWORD PTR [rbx], rax
jne .L286
mov rax, QWORD PTR 8[rbx]
mov rdi, rbx
call [QWORD PTR 48[rax]]
.L286:
add rbp, 1
cmp rbp, QWORD PTR 16[r12]
jge .L288
test rbp, rbp
jle .L280
mov edx, 2
mov rsi, r14
mov rdi, r13
call _PyUnicodeWriter_WriteASCIIString@PLT
test eax, eax
jns .L280
.L285:
mov rdi, r13
call _PyUnicodeWriter_Dealloc@PLT
mov rdi, r12
call Py_ReprLeave@PLT
xor eax, eax
jmp .L275
.p2align 4,,10
.p2align 3
.L288:
mov esi, 93
mov rdi, r13
mov BYTE PTR 52[rsp], 0
call _PyUnicodeWriter_WriteChar@PLT
test eax, eax
js .L285
mov rdi, r12
call Py_ReprLeave@PLT
mov rdi, r13
call _PyUnicodeWriter_Finish@PLT
jmp .L275
.p2align 4,,10
.p2align 3
.L300:
sub rax, 1
test rax, rax
mov QWORD PTR [rbx], rax
jne .L285
mov rax, QWORD PTR 8[rbx]
mov rdi, rbx
call [QWORD PTR 48[rax]]
jmp .L285
.p2align 4,,10
.p2align 3
.L291:
xor eax, eax
jmp .L275
.L299:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE143:
.size list_repr, .-list_repr
.p2align 4,,15
.type listiter_len, @function
listiter_len:
.LFB203:
.cfi_startproc
mov rax, QWORD PTR 24[rdi]
test rax, rax
je .L302
mov rax, QWORD PTR 16[rax]
sub rax, QWORD PTR 16[rdi]
jns .L306
.L302:
xor edi, edi
jmp PyLong_FromLong@PLT
.p2align 4,,10
.p2align 3
.L306:
mov rdi, rax
jmp PyLong_FromSsize_t@PLT
.cfi_endproc
.LFE203:
.size listiter_len, .-listiter_len
.section .rodata.str1.1
.LC8:
.string "iter"
.LC9:
.string "N(O)n"
.LC10:
.string "N(N)"
.text
.p2align 4,,15
.type listiter_reduce, @function
listiter_reduce:
.LFB204:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 8
.cfi_def_cfa_offset 32
mov rbx, QWORD PTR 24[rdi]
test rbx, rbx
jne .L317
mov eax, DWORD PTR numfree[rip]
test eax, eax
je .L309
sub eax, 1
lea rdx, free_list[rip]
mov DWORD PTR numfree[rip], eax
cdqe
mov rbx, QWORD PTR [rdx+rax*8]
mov QWORD PTR [rbx], 1
.L310:
mov rax, QWORD PTR -8[rbx]
mov QWORD PTR 24[rbx], 0
lea rbp, -24[rbx]
mov QWORD PTR 16[rbx], 0
mov QWORD PTR 32[rbx], 0
mov rdx, rax
sar rdx
cmp rdx, -2
je .L312
lea rdi, .LC3[rip]
call Py_FatalError@PLT
mov rax, QWORD PTR -8[rbx]
.L312:
and eax, 1
lea rdi, .LC8[rip]
or rax, -6
mov QWORD PTR -8[rbx], rax
mov rax, QWORD PTR _PyRuntime[rip+432]
mov rdx, QWORD PTR 8[rax]
mov QWORD PTR -24[rbx], rax
mov QWORD PTR -16[rbx], rdx
mov QWORD PTR [rdx], rbp
mov QWORD PTR 8[rax], rbp
call _PyObject_GetBuiltin@PLT
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
mov rdx, rbx
lea rdi, .LC10[rip]
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
mov rsi, rax
xor eax, eax
jmp Py_BuildValue@PLT
.p2align 4,,10
.p2align 3
.L317:
.cfi_restore_state
mov rbp, QWORD PTR 16[rdi]
lea rdi, .LC8[rip]
call _PyObject_GetBuiltin@PLT
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
mov rcx, rbp
mov rdx, rbx
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
lea rdi, .LC9[rip]
mov rsi, rax
xor eax, eax
jmp Py_BuildValue@PLT
.p2align 4,,10
.p2align 3
.L309:
.cfi_restore_state
lea rdi, PyList_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
mov rbx, rax
jne .L310
add rsp, 8
.cfi_def_cfa_offset 24
xor eax, eax
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE204:
.size listiter_reduce, .-listiter_reduce
.section .rodata.str1.1
.LC11:
.string "reversed"
.text
.p2align 4,,15
.type listreviter_reduce, @function
listreviter_reduce:
.LFB211:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 8
.cfi_def_cfa_offset 32
mov rbx, QWORD PTR 24[rdi]
test rbx, rbx
jne .L328
mov eax, DWORD PTR numfree[rip]
test eax, eax
je .L320
sub eax, 1
lea rdx, free_list[rip]
mov DWORD PTR numfree[rip], eax
cdqe
mov rbx, QWORD PTR [rdx+rax*8]
mov QWORD PTR [rbx], 1
.L321:
mov rax, QWORD PTR -8[rbx]
mov QWORD PTR 24[rbx], 0
lea rbp, -24[rbx]
mov QWORD PTR 16[rbx], 0
mov QWORD PTR 32[rbx], 0
mov rdx, rax
sar rdx
cmp rdx, -2
je .L323
lea rdi, .LC3[rip]
call Py_FatalError@PLT
mov rax, QWORD PTR -8[rbx]
.L323:
and eax, 1
lea rdi, .LC8[rip]
or rax, -6
mov QWORD PTR -8[rbx], rax
mov rax, QWORD PTR _PyRuntime[rip+432]
mov rdx, QWORD PTR 8[rax]
mov QWORD PTR -24[rbx], rax
mov QWORD PTR -16[rbx], rdx
mov QWORD PTR [rdx], rbp
mov QWORD PTR 8[rax], rbp
call _PyObject_GetBuiltin@PLT
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
mov rdx, rbx
lea rdi, .LC10[rip]
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
mov rsi, rax
xor eax, eax
jmp Py_BuildValue@PLT
.p2align 4,,10
.p2align 3
.L328:
.cfi_restore_state
mov rbp, QWORD PTR 16[rdi]
lea rdi, .LC11[rip]
call _PyObject_GetBuiltin@PLT
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
mov rcx, rbp
mov rdx, rbx
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
lea rdi, .LC9[rip]
mov rsi, rax
xor eax, eax
jmp Py_BuildValue@PLT
.p2align 4,,10
.p2align 3
.L320:
.cfi_restore_state
lea rdi, PyList_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
mov rbx, rax
jne .L321
add rsp, 8
.cfi_def_cfa_offset 24
xor eax, eax
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE211:
.size listreviter_reduce, .-listreviter_reduce
.p2align 4,,15
.type list_clear, @function
list_clear:
.LFB121:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 8
.cfi_def_cfa_offset 32
mov rbp, QWORD PTR 24[rdi]
test rbp, rbp
je .L330
mov rbx, QWORD PTR 16[rdi]
mov QWORD PTR 24[rdi], 0
mov QWORD PTR 16[rdi], 0
mov QWORD PTR 32[rdi], 0
.L331:
sub rbx, 1
js .L340
.L335:
mov rdi, QWORD PTR 0[rbp+rbx*8]
test rdi, rdi
je .L331
sub QWORD PTR [rdi], 1
jne .L331
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
sub rbx, 1
jns .L335
.L340:
mov rdi, rbp
call PyMem_Free@PLT
.L330:
add QWORD PTR _Py_NoneStruct[rip], 1
add rsp, 8
.cfi_def_cfa_offset 24
lea rax, _Py_NoneStruct[rip]
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE121:
.size list_clear, .-list_clear
.p2align 4,,15
.type merge_at, @function
merge_at:
.LFB180:
.cfi_startproc
lea rax, [rsi+rsi*2]
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
mov r12, rdi
sal rax, 3
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
lea rdx, 40[rdi+rax]
sub rsp, 104
.cfi_def_cfa_offset 160
mov r14, QWORD PTR [rdx]
mov r15, QWORD PTR 8[rdx]
lea rdx, [rdi+rax]
lea rax, 64[rdi+rax]
mov r13, QWORD PTR 56[rdx]
mov rbp, QWORD PTR [rax]
mov rax, QWORD PTR 8[rax]
mov QWORD PTR 16[rsp], rax
lea rax, 3[rsi+rsi*2]
lea rcx, [rdi+rax*8]
mov rbx, QWORD PTR 56[rcx]
lea rax, 0[r13+rbx]
mov QWORD PTR 56[rdx], rax
mov eax, DWORD PTR 32[rdi]
lea edx, -3[rax]
movsx rdx, edx
cmp rdx, rsi
jne .L342
lea rdx, 6[rdx+rdx*2]
lea rdx, 32[rdi+rdx*8]
movdqu xmm0, XMMWORD PTR 8[rdx]
movups XMMWORD PTR 40[rcx], xmm0
mov rdx, QWORD PTR 24[rdx]
mov QWORD PTR 56[rcx], rdx
.L342:
mov rdi, QWORD PTR 0[rbp]
sub eax, 1
xor ecx, ecx
mov DWORD PTR 32[r12], eax
mov rdx, r13
mov rsi, r14
call gallop_right
test rax, rax
js .L428
lea rdx, 0[0+rax*8]
test r15, r15
lea rcx, [r15+rdx]
cmovne r15, rcx
sub r13, rax
mov QWORD PTR 8[rsp], r13
jne .L531
.L341:
mov rax, QWORD PTR 8[rsp]
add rsp, 104
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L531:
.cfi_restore_state
lea rax, [r14+rdx]
mov r14, r13
lea r13, 0[0+r13*8]
lea rcx, -1[rbx]
mov rdx, rbx
mov rsi, rbp
mov rdi, QWORD PTR -8[rax+r13]
mov QWORD PTR 40[rsp], rax
call gallop_left
test rax, rax
mov r9, rax
jle .L429
cmp r14, r9
mov rax, QWORD PTR 24[r12]
mov rdi, QWORD PTR 8[r12]
jle .L532
cmp r9, rax
lea r13, 0[0+r9*8]
jg .L533
.L388:
mov rsi, QWORD PTR 16[rsp]
lea rax, -8[0+r9*8]
lea rbx, 0[rbp+rax]
test rsi, rsi
je .L389
lea r10, [rsi+rax]
mov rdx, r13
mov rsi, rbp
mov QWORD PTR 32[rsp], r9
mov QWORD PTR 24[rsp], r10
call memcpy@PLT
mov rax, QWORD PTR 16[r12]
mov r10, QWORD PTR 24[rsp]
mov r9, QWORD PTR 32[rsp]
test rax, rax
mov QWORD PTR 64[rsp], rax
jne .L528
mov rax, QWORD PTR 8[r12]
lea rdx, -8[r13]
lea rbp, [rax+rdx]
mov QWORD PTR 72[rsp], rax
.L427:
add rdx, QWORD PTR 64[rsp]
mov QWORD PTR 56[rsp], rdx
.L424:
sub QWORD PTR 8[rsp], 1
lea r8, -8[rbx]
mov rax, QWORD PTR 8[rsp]
lea rcx, 0[0+rax*8]
mov rax, QWORD PTR 40[rsp]
lea rdx, [r15+rcx]
add rax, rcx
test r15, r15
lea r14, -8[rax]
mov rax, QWORD PTR [rax]
cmovne r15, rdx
test r10, r10
mov QWORD PTR [rbx], rax
je .L441
lea rax, -8[r15]
lea r13, -8[r10]
mov QWORD PTR 32[rsp], rax
mov rax, QWORD PTR [r15]
mov QWORD PTR [r10], rax
.L392:
cmp r9, 1
mov r15, QWORD PTR 8[rsp]
je .L407
mov rax, QWORD PTR [r12]
mov rbx, r9
mov QWORD PTR 88[rsp], r12
mov QWORD PTR 48[rsp], rax
mov rax, r14
mov r14, rbp
mov rbp, rax
.L416:
mov r12, rbp
mov QWORD PTR 16[rsp], rbx
xor r15d, r15d
mov rbx, r13
mov QWORD PTR 24[rsp], 0
mov r13, r14
mov rbp, r8
mov r14, QWORD PTR 56[rsp]
jmp .L393
.p2align 4,,10
.p2align 3
.L534:
js .L442
mov rax, QWORD PTR [r12]
lea rsi, -8[rbp]
test rbx, rbx
lea rdx, -8[r12]
mov r8, rsi
mov QWORD PTR 0[rbp], rax
je .L396
mov rcx, QWORD PTR 32[rsp]
sub rbx, 8
mov rax, QWORD PTR [rcx]
mov QWORD PTR 8[rbx], rax
lea rax, -8[rcx]
mov QWORD PTR 32[rsp], rax
.L396:
mov rax, QWORD PTR 24[rsp]
add rax, 1
sub QWORD PTR 8[rsp], 1
je .L443
cmp rax, QWORD PTR 48[rsp]
jge .L444
mov r12, rdx
xor r15d, r15d
.L398:
mov rbp, rsi
mov QWORD PTR 24[rsp], rax
.L393:
mov rsi, QWORD PTR [r12]
mov rdi, QWORD PTR 0[r13]
xor edx, edx
mov QWORD PTR 56[rsp], rbp
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
jne .L534
mov rdx, QWORD PTR 0[r13]
lea rsi, -8[rbp]
test rbx, rbx
lea rdi, -8[r13]
mov r8, rsi
mov QWORD PTR 0[rbp], rdx
je .L399
mov rdx, QWORD PTR [r14]
sub rbx, 8
sub r14, 8
mov QWORD PTR 8[rbx], rdx
.L399:
sub QWORD PTR 16[rsp], 1
add r15, 1
mov rcx, QWORD PTR 16[rsp]
cmp rcx, 1
je .L400
cmp QWORD PTR 48[rsp], r15
jle .L535
mov r13, rdi
jmp .L398
.p2align 4,,10
.p2align 3
.L532:
cmp r14, rax
jle .L346
xor ebx, ebx
cmp QWORD PTR 16[r12], 0
lea rax, 2080[r12]
setne bl
add ebx, 1
cmp rdi, rax
je .L348
mov QWORD PTR 24[rsp], r9
call PyMem_Free@PLT
mov r9, QWORD PTR 24[rsp]
.L348:
cmp ebx, 1
movabs rax, 1152921504606846975
movabs rdx, 576460752303423487
cmovne rax, rdx
cmp QWORD PTR 8[rsp], rax
ja .L387
mov r14, QWORD PTR 8[rsp]
movsx rdi, ebx
mov QWORD PTR 24[rsp], r9
mov rbx, rdi
imul rbx, r14
lea rdi, 0[0+rbx*8]
call PyMem_Malloc@PLT
test rax, rax
mov rdi, rax
mov QWORD PTR 8[r12], rax
je .L387
cmp QWORD PTR 16[r12], 0
mov QWORD PTR 24[r12], r14
mov r9, QWORD PTR 24[rsp]
je .L346
lea rax, [rax+r13]
mov QWORD PTR 16[r12], rax
.L346:
mov rbx, QWORD PTR 40[rsp]
mov rdx, r13
mov QWORD PTR 24[rsp], r9
mov rsi, rbx
call memcpy@PLT
mov rdi, QWORD PTR 16[r12]
mov r9, QWORD PTR 24[rsp]
test rdi, rdi
mov QWORD PTR 48[rsp], rdi
je .L352
mov rdx, r13
mov rsi, r15
call memcpy@PLT
mov rax, QWORD PTR 16[r12]
mov r9, QWORD PTR 24[rsp]
lea r8, 8[rbx]
mov rcx, QWORD PTR 8[r12]
mov QWORD PTR 48[rsp], rax
mov rax, QWORD PTR 0[rbp]
mov QWORD PTR [rbx], rax
.L353:
mov rax, QWORD PTR 16[rsp]
sub r9, 1
mov QWORD PTR 24[rsp], r9
lea rbx, 8[rax]
mov rax, QWORD PTR [rax]
mov QWORD PTR 16[rsp], rbx
lea rbx, 8[r15]
mov QWORD PTR [r15], rax
jne .L423
.L355:
mov rdx, r13
mov rsi, rcx
mov rdi, r8
call memcpy@PLT
test rbx, rbx
je .L536
mov rsi, QWORD PTR 48[rsp]
mov rdx, r13
mov rdi, rbx
call memcpy@PLT
mov rax, QWORD PTR 24[rsp]
mov QWORD PTR 8[rsp], rax
jmp .L341
.p2align 4,,10
.p2align 3
.L352:
mov rbx, QWORD PTR 40[rsp]
mov rax, QWORD PTR 0[rbp]
test r15, r15
mov rcx, QWORD PTR 8[r12]
lea r8, 8[rbx]
mov QWORD PTR [rbx], rax
jne .L353
sub r9, 1
mov QWORD PTR 24[rsp], r9
je .L422
xor ebx, ebx
.L423:
add rbp, 8
cmp QWORD PTR 8[rsp], 1
je .L356
mov rax, QWORD PTR [r12]
mov r14, QWORD PTR 16[rsp]
mov r13, QWORD PTR 48[rsp]
mov QWORD PTR 56[rsp], r12
mov r12, rcx
mov QWORD PTR 32[rsp], rax
.L380:
xor r15d, r15d
xor eax, eax
mov QWORD PTR 40[rsp], r14
mov QWORD PTR 16[rsp], r15
mov r14, r12
mov r15, rbp
mov r12, rbx
mov rbp, rax
mov rbx, r8
jmp .L357
.p2align 4,,10
.p2align 3
.L539:
js .L537
mov rax, QWORD PTR [r15]
lea rdx, 8[rbx]
test r12, r12
lea rsi, 8[r15]
mov r8, rdx
mov QWORD PTR [rbx], rax
je .L360
mov rbx, QWORD PTR 40[rsp]
add r12, 8
mov rax, QWORD PTR [rbx]
mov QWORD PTR -8[r12], rax
lea rax, 8[rbx]
mov QWORD PTR 40[rsp], rax
.L360:
mov rax, QWORD PTR 16[rsp]
add rax, 1
sub QWORD PTR 24[rsp], 1
je .L538
cmp rax, QWORD PTR 32[rsp]
jge .L431
mov r15, rsi
xor ebp, ebp
.L363:
mov rbx, rdx
mov QWORD PTR 16[rsp], rax
.L357:
mov rsi, QWORD PTR [r14]
mov rdi, QWORD PTR [r15]
xor edx, edx
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
jne .L539
mov rsi, QWORD PTR [r14]
lea rdx, 8[rbx]
test r12, r12
lea rdi, 8[r14]
mov r8, rdx
mov QWORD PTR [rbx], rsi
je .L364
mov rsi, QWORD PTR 0[r13]
add r12, 8
add r13, 8
mov QWORD PTR -8[r12], rsi
.L364:
sub QWORD PTR 8[rsp], 1
add rbp, 1
mov rbx, QWORD PTR 8[rsp]
cmp rbx, 1
je .L432
cmp QWORD PTR 32[rsp], rbp
jle .L540
mov r14, rdi
jmp .L363
.p2align 4,,10
.p2align 3
.L429:
mov QWORD PTR 8[rsp], rax
jmp .L341
.p2align 4,,10
.p2align 3
.L389:
mov rdx, r13
mov rsi, rbp
mov QWORD PTR 24[rsp], r9
call memcpy@PLT
mov rax, QWORD PTR 16[r12]
mov r9, QWORD PTR 24[rsp]
test rax, rax
mov QWORD PTR 64[rsp], rax
je .L541
xor r10d, r10d
.L528:
mov rsi, QWORD PTR 16[rsp]
mov rdx, r13
mov rdi, rax
mov QWORD PTR 32[rsp], r10
mov QWORD PTR 24[rsp], r9
call memcpy@PLT
mov rax, QWORD PTR 16[r12]
lea rdx, -8[r13]
mov r10, QWORD PTR 32[rsp]
mov r9, QWORD PTR 24[rsp]
mov QWORD PTR 64[rsp], rax
mov rax, QWORD PTR 8[r12]
mov QWORD PTR 72[rsp], rax
lea rbp, [rax+rdx]
jmp .L427
.p2align 4,,10
.p2align 3
.L536:
mov rax, QWORD PTR 24[rsp]
mov QWORD PTR 8[rsp], rax
jmp .L341
.L526:
mov QWORD PTR 16[rsp], r14
mov QWORD PTR 48[rsp], r13
mov rbp, r12
mov rcx, rdx
.p2align 4,,10
.p2align 3
.L356:
mov r14, QWORD PTR 24[rsp]
mov rsi, rbp
mov rdi, r8
mov QWORD PTR 8[rsp], rcx
lea r13, 0[0+r14*8]
mov rdx, r13
call memmove@PLT
test rbx, rbx
lea rbp, [rax+r13]
mov rcx, QWORD PTR 8[rsp]
je .L381
mov rsi, QWORD PTR 16[rsp]
mov rdx, r13
mov rdi, rbx
call memmove@PLT
mov rcx, QWORD PTR 8[rsp]
mov QWORD PTR 8[rsp], 0
mov rax, QWORD PTR [rcx]
mov QWORD PTR 0[rbp], rax
mov rax, QWORD PTR 48[rsp]
mov rax, QWORD PTR [rax]
mov QWORD PTR [rbx+r14*8], rax
jmp .L341
.p2align 4,,10
.p2align 3
.L533:
cmp QWORD PTR 16[r12], 0
movabs rdx, 1152921504606846975
movabs rax, 576460752303423487
cmove rax, rdx
cmp QWORD PTR 16[r12], 1
mov r13, rax
lea rax, 2080[r12]
sbb ebx, ebx
add ebx, 2
cmp rdi, rax
je .L384
mov QWORD PTR 24[rsp], r9
call PyMem_Free@PLT
mov r9, QWORD PTR 24[rsp]
.L384:
cmp r9, r13
ja .L387
movsx rdi, ebx
mov QWORD PTR 24[rsp], r9
mov rbx, rdi
imul rbx, r9
lea rdi, 0[0+rbx*8]
call PyMem_Malloc@PLT
test rax, rax
mov rdi, rax
mov QWORD PTR 8[r12], rax
je .L387
cmp QWORD PTR 16[r12], 0
mov r9, QWORD PTR 24[rsp]
mov QWORD PTR 24[r12], r9
lea r13, 0[0+r9*8]
je .L388
lea rax, [rax+r13]
mov QWORD PTR 16[r12], rax
jmp .L388
.p2align 4,,10
.p2align 3
.L441:
xor r13d, r13d
mov QWORD PTR 32[rsp], r15
jmp .L392
.L543:
mov rax, r11
mov r11, r15
mov r10, r14
mov r15, rax
mov rax, QWORD PTR 8[rsp]
mov r14, rbp
mov r8, r15
mov r13, r11
mov rbp, r10
lea rcx, 0[0+rax*8]
mov r15, rax
.p2align 4,,10
.p2align 3
.L407:
mov ebx, 1
mov rdx, rcx
mov QWORD PTR 8[rsp], r8
sub rbx, r15
mov QWORD PTR 16[rsp], rcx
neg r15
sal rbx, 3
mov r12, r15
lea rsi, [r14+rbx]
lea rdi, [r8+rbx]
sal r12, 3
call memmove@PLT
mov r8, QWORD PTR 8[rsp]
test r13, r13
lea r14, [r8+r12]
je .L417
mov rsi, QWORD PTR 32[rsp]
mov rcx, QWORD PTR 16[rsp]
lea rdi, 0[r13+rbx]
add rsi, rbx
mov rdx, rcx
call memmove@PLT
mov rax, QWORD PTR 0[rbp]
add r13, r12
mov QWORD PTR [r14], rax
je .L530
mov rax, QWORD PTR 56[rsp]
mov QWORD PTR 8[rsp], 0
mov rax, QWORD PTR [rax]
mov QWORD PTR 0[r13], rax
jmp .L341
.p2align 4,,10
.p2align 3
.L422:
mov rdx, r13
mov rsi, rcx
mov rdi, r8
call memcpy@PLT
mov QWORD PTR 8[rsp], 0
jmp .L341
.p2align 4,,10
.p2align 3
.L417:
mov rax, QWORD PTR 0[rbp]
mov QWORD PTR [r14], rax
.L530:
mov QWORD PTR 8[rsp], 0
jmp .L341
.p2align 4,,10
.p2align 3
.L400:
mov rax, QWORD PTR 8[rsp]
mov QWORD PTR 56[rsp], r14
mov r13, rbx
mov r14, r12
mov rbp, rdi
lea rcx, 0[0+rax*8]
mov r15, rax
jmp .L407
.p2align 4,,10
.p2align 3
.L442:
mov r15, QWORD PTR 56[rsp]
mov r9, QWORD PTR 16[rsp]
mov r13, rbx
mov QWORD PTR 8[rsp], -1
.L395:
test r9, r9
je .L341
mov ebx, 1
lea rbp, 0[0+r9*8]
mov rsi, QWORD PTR 72[rsp]
sub rbx, r9
sal rbx, 3
mov rdx, rbp
lea rdi, [r15+rbx]
call memcpy@PLT
test r13, r13
je .L341
mov rsi, QWORD PTR 64[rsp]
lea rdi, 0[r13+rbx]
mov rdx, rbp
call memcpy@PLT
jmp .L341
.p2align 4,,10
.p2align 3
.L428:
mov QWORD PTR 8[rsp], -1
jmp .L341
.p2align 4,,10
.p2align 3
.L381:
mov rax, QWORD PTR [rcx]
mov QWORD PTR 8[rsp], 0
mov QWORD PTR 0[rbp], rax
jmp .L341
.p2align 4,,10
.p2align 3
.L443:
mov r13, rbx
mov r9, QWORD PTR 16[rsp]
mov r15, rsi
jmp .L395
.p2align 4,,10
.p2align 3
.L535:
mov r13, rbx
mov rbp, r12
mov QWORD PTR 56[rsp], r14
mov rbx, rcx
mov r10, rdi
.L397:
mov rax, QWORD PTR 48[rsp]
mov r12, r8
mov r14, r10
add rax, 1
mov QWORD PTR 16[rsp], rax
.p2align 4,,10
.p2align 3
.L501:
mov rdi, QWORD PTR 16[rsp]
xor eax, eax
mov rsi, QWORD PTR 40[rsp]
cmp rdi, 1
setg al
sub rdi, rax
mov rax, QWORD PTR 88[rsp]
mov QWORD PTR 16[rsp], rdi
mov QWORD PTR [rax], rdi
mov rdi, QWORD PTR 8[rsp]
lea rcx, -1[rdi]
mov rdx, rdi
mov rdi, QWORD PTR [r14]
call gallop_right
test rax, rax
mov r15, rax
js .L446
mov rdi, QWORD PTR 8[rsp]
sub rdi, rax
mov QWORD PTR 80[rsp], rdi
je .L401
mov rax, rdi
lea rcx, 0[0+rdi*8]
neg rax
sal rax, 3
add r12, rax
add rbp, rax
test r13, r13
lea rdi, 8[r12]
lea rsi, 8[rbp]
je .L402
mov rdx, QWORD PTR 32[rsp]
add r13, rax
mov QWORD PTR 8[rsp], rcx
add rax, rdx
test rdx, rdx
cmove rax, rdx
mov rdx, rcx
mov QWORD PTR 32[rsp], rax
call memmove@PLT
test r13, r13
je .L404
mov rax, QWORD PTR 32[rsp]
mov rcx, QWORD PTR 8[rsp]
lea rdi, 8[r13]
lea rsi, 8[rax]
mov rdx, rcx
call memmove@PLT
.L404:
test r15, r15
je .L447
mov QWORD PTR 8[rsp], r15
.L401:
lea rax, -8[r14]
xor r15d, r15d
test r13, r13
lea r11, -8[r12]
mov QWORD PTR 24[rsp], rax
mov rax, QWORD PTR [r14]
mov QWORD PTR [r12], rax
je .L405
mov rsi, QWORD PTR 56[rsp]
lea r15, -8[r13]
mov rax, QWORD PTR [rsi]
mov QWORD PTR 0[r13], rax
lea rax, -8[rsi]
mov QWORD PTR 56[rsp], rax
.L405:
lea r13, -1[rbx]
cmp r13, 1
je .L542
mov rsi, QWORD PTR 72[rsp]
mov rdi, QWORD PTR 0[rbp]
lea rcx, -2[rbx]
mov rdx, r13
mov QWORD PTR 48[rsp], r11
call gallop_left
test rax, rax
mov rbx, rax
mov r11, QWORD PTR 48[rsp]
js .L449
mov rcx, r13
sub rcx, rax
je .L450
mov rax, rcx
mov r14, QWORD PTR 24[rsp]
lea r13, 0[0+rcx*8]
neg rax
sal rax, 3
add r11, rax
add r14, rax
test r15, r15
lea rdi, 8[r11]
lea rsi, 8[r14]
je .L409
mov QWORD PTR 24[rsp], rcx
mov rcx, QWORD PTR 56[rsp]
add r15, rax
mov rdx, r13
mov QWORD PTR 48[rsp], r11
add rax, rcx
test rcx, rcx
cmove rax, rcx
mov r12, rax
mov QWORD PTR 56[rsp], rax
call memcpy@PLT
test r15, r15
mov rcx, QWORD PTR 24[rsp]
mov r11, QWORD PTR 48[rsp]
je .L411
lea rdi, 8[r15]
lea rsi, 8[r12]
mov rdx, r13
call memcpy@PLT
mov r11, QWORD PTR 48[rsp]
mov rcx, QWORD PTR 24[rsp]
.L411:
cmp rbx, 1
je .L543
test rbx, rbx
je .L530
.L408:
mov rax, QWORD PTR 0[rbp]
xor r13d, r13d
test r15, r15
lea rdx, -8[rbp]
lea r12, -8[r11]
mov QWORD PTR [r11], rax
je .L414
mov rsi, QWORD PTR 32[rsp]
lea r13, -8[r15]
mov rax, QWORD PTR [rsi]
mov QWORD PTR [r15], rax
lea rax, -8[rsi]
mov QWORD PTR 32[rsp], rax
.L414:
sub QWORD PTR 8[rsp], 1
je .L453
cmp QWORD PTR 80[rsp], 6
mov rbp, rdx
jg .L501
cmp rcx, 6
jg .L501
mov rax, QWORD PTR 16[rsp]
mov rcx, QWORD PTR 88[rsp]
mov r8, r12
add rax, 1
mov QWORD PTR 48[rsp], rax
mov QWORD PTR [rcx], rax
jmp .L416
.p2align 4,,10
.p2align 3
.L450:
mov r14, QWORD PTR 24[rsp]
mov rbx, r13
jmp .L408
.p2align 4,,10
.p2align 3
.L402:
mov rdx, QWORD PTR 32[rsp]
test rdx, rdx
je .L420
add rdx, rax
mov QWORD PTR 32[rsp], rdx
mov rdx, rcx
call memmove@PLT
jmp .L404
.p2align 4,,10
.p2align 3
.L409:
mov rdx, QWORD PTR 56[rsp]
mov QWORD PTR 48[rsp], r11
mov QWORD PTR 24[rsp], rcx
test rdx, rdx
je .L421
add rdx, rax
mov QWORD PTR 56[rsp], rdx
mov rdx, r13
call memcpy@PLT
mov rcx, QWORD PTR 24[rsp]
mov r11, QWORD PTR 48[rsp]
jmp .L411
.p2align 4,,10
.p2align 3
.L444:
mov QWORD PTR 56[rsp], r14
mov r14, r13
mov rbp, rdx
mov r13, rbx
mov r10, r14
mov rbx, QWORD PTR 16[rsp]
jmp .L397
.L537:
mov QWORD PTR 48[rsp], r13
mov r13, QWORD PTR 8[rsp]
mov rcx, r14
mov r14, rbx
mov QWORD PTR 24[rsp], -1
mov rbx, r12
mov r8, r14
sal r13, 3
jmp .L355
.L432:
mov rax, QWORD PTR 40[rsp]
mov QWORD PTR 48[rsp], r13
mov rbp, r15
mov rbx, r12
mov rcx, rdi
mov QWORD PTR 16[rsp], rax
jmp .L356
.L540:
mov r14, QWORD PTR 40[rsp]
mov rbp, r15
mov rbx, r12
mov r15, rdi
.L362:
mov rax, QWORD PTR 32[rsp]
mov r12, rbp
add rax, 1
mov QWORD PTR 40[rsp], rax
.p2align 4,,10
.p2align 3
.L500:
mov rsi, QWORD PTR 40[rsp]
xor eax, eax
mov rdx, QWORD PTR 8[rsp]
mov rdi, QWORD PTR [r12]
mov QWORD PTR 16[rsp], r8
cmp rsi, 1
setg al
xor ecx, ecx
sub rsi, rax
mov rax, QWORD PTR 56[rsp]
mov QWORD PTR 40[rsp], rsi
mov QWORD PTR [rax], rsi
mov rsi, r15
call gallop_right
test rax, rax
mov QWORD PTR 32[rsp], rax
mov r8, QWORD PTR 16[rsp]
je .L365
js .L544
lea rbp, 0[0+rax*8]
mov rdi, r8
mov rsi, r15
mov rdx, rbp
call memcpy@PLT
mov r8, rax
add r8, rbp
test rbx, rbx
je .L367
mov rdi, rbx
mov rdx, rbp
mov rsi, r13
mov QWORD PTR 16[rsp], r8
add rbx, rbp
add r15, rbp
call memcpy@PLT
mov r8, QWORD PTR 16[rsp]
.L368:
add r13, rbp
.L369:
mov rcx, QWORD PTR 32[rsp]
sub QWORD PTR 8[rsp], rcx
mov rax, QWORD PTR 8[rsp]
cmp rax, 1
je .L435
test rax, rax
je .L341
.L365:
lea rax, 8[r12]
xor r11d, r11d
test rbx, rbx
lea rbp, 8[r8]
mov QWORD PTR 16[rsp], rax
mov rax, QWORD PTR [r12]
mov QWORD PTR [r8], rax
je .L371
mov rax, QWORD PTR [r14]
lea r11, 8[rbx]
add r14, 8
mov QWORD PTR [rbx], rax
.L371:
sub QWORD PTR 24[rsp], 1
je .L529
mov rdx, QWORD PTR 24[rsp]
mov rsi, QWORD PTR 16[rsp]
xor ecx, ecx
mov rdi, QWORD PTR [r15]
mov QWORD PTR 48[rsp], r11
call gallop_left
test rax, rax
mov rcx, rax
mov r11, QWORD PTR 48[rsp]
je .L437
js .L545
mov r12, QWORD PTR 16[rsp]
lea rbx, 0[0+rax*8]
mov rdi, rbp
mov QWORD PTR 64[rsp], r11
mov QWORD PTR 48[rsp], rax
mov rdx, rbx
add rbp, rbx
mov rsi, r12
call memmove@PLT
mov r11, QWORD PTR 64[rsp]
mov rcx, QWORD PTR 48[rsp]
test r11, r11
je .L375
mov rdi, r11
mov rdx, rbx
mov rsi, r14
mov QWORD PTR 16[rsp], rcx
add r12, rbx
call memmove@PLT
mov rcx, QWORD PTR 16[rsp]
mov r11, rax
add r11, rbx
.L376:
add r14, rbx
.L377:
sub QWORD PTR 24[rsp], rcx
je .L529
.L373:
mov rax, QWORD PTR [r15]
xor ebx, ebx
test r11, r11
lea rdx, 8[r15]
lea r8, 8[rbp]
mov QWORD PTR 0[rbp], rax
je .L378
mov rax, QWORD PTR 0[r13]
lea rbx, 8[r11]
add r13, 8
mov QWORD PTR [r11], rax
.L378:
sub QWORD PTR 8[rsp], 1
mov rax, QWORD PTR 8[rsp]
cmp rax, 1
je .L526
cmp QWORD PTR 32[rsp], 6
mov r15, rdx
jg .L500
cmp rcx, 6
jg .L500
mov rax, QWORD PTR 40[rsp]
mov rcx, QWORD PTR 56[rsp]
mov rbp, r12
mov r12, rdx
add rax, 1
mov QWORD PTR 32[rsp], rax
mov QWORD PTR [rcx], rax
jmp .L380
.p2align 4,,10
.p2align 3
.L437:
mov r12, QWORD PTR 16[rsp]
jmp .L373
.p2align 4,,10
.p2align 3
.L367:
add r15, rbp
test r13, r13
jne .L368
mov rbx, r13
jmp .L369
.p2align 4,,10
.p2align 3
.L375:
mov r12, QWORD PTR 16[rsp]
add r12, rbx
test r14, r14
jne .L376
mov r11, r14
jmp .L377
.L538:
mov QWORD PTR 48[rsp], r13
mov r13, QWORD PTR 8[rsp]
mov rbx, r12
mov rcx, r14
sal r13, 3
jmp .L355
.L431:
mov rbx, r12
mov r12, r14
mov rbp, rsi
mov r14, QWORD PTR 40[rsp]
mov r15, r12
jmp .L362
.L420:
mov rdx, rcx
call memmove@PLT
mov r13, QWORD PTR 32[rsp]
jmp .L404
.L421:
mov rdx, r13
call memcpy@PLT
mov r15, QWORD PTR 56[rsp]
mov rcx, QWORD PTR 24[rsp]
mov r11, QWORD PTR 48[rsp]
jmp .L411
.L529:
mov QWORD PTR 48[rsp], r13
mov r13, QWORD PTR 8[rsp]
mov rbx, r11
mov r8, rbp
mov rcx, r15
sal r13, 3
jmp .L355
.L446:
mov r9, rbx
mov r15, r12
mov QWORD PTR 8[rsp], -1
jmp .L395
.L542:
mov rax, r11
mov r11, r15
mov r14, rbp
mov r15, rax
mov rax, QWORD PTR 8[rsp]
mov rbp, QWORD PTR 24[rsp]
mov r8, r15
mov r13, r11
lea rcx, 0[0+rax*8]
mov r15, rax
jmp .L407
.L449:
mov rax, r11
mov r8, r13
mov r11, r15
mov r13, r11
mov r15, rax
mov r9, r8
mov QWORD PTR 8[rsp], -1
jmp .L395
.L453:
mov r9, rbx
mov r15, r12
jmp .L395
.L387:
call PyErr_NoMemory@PLT
mov QWORD PTR 8[rsp], -1
jmp .L341
.L435:
mov QWORD PTR 16[rsp], r14
mov QWORD PTR 48[rsp], r13
mov rbp, r12
mov rcx, r15
jmp .L356
.L544:
mov QWORD PTR 48[rsp], r13
mov r13, QWORD PTR 8[rsp]
mov rcx, r15
mov QWORD PTR 24[rsp], -1
sal r13, 3
jmp .L355
.L545:
mov QWORD PTR 48[rsp], r13
mov r13, QWORD PTR 8[rsp]
mov rbx, r11
mov r8, rbp
mov rcx, r15
mov QWORD PTR 24[rsp], -1
sal r13, 3
jmp .L355
.L447:
mov r9, rbx
mov QWORD PTR 8[rsp], 0
mov r15, r12
jmp .L395
.L541:
mov rax, QWORD PTR 8[r12]
xor r10d, r10d
mov QWORD PTR 56[rsp], 0
mov QWORD PTR 72[rsp], rax
lea rbp, -8[rax+r13]
jmp .L424
.cfi_endproc
.LFE180:
.size merge_at, .-merge_at
.section .rodata.str1.1
.LC12:
.string "list modified during sort"
.text
.p2align 4,,15
.type list_sort_impl, @function
list_sort_impl:
.LFB185:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
sub rsp, 4280
.cfi_def_cfa_offset 4336
mov rax, QWORD PTR 32[rdi]
mov rcx, QWORD PTR fs:40
mov QWORD PTR 4264[rsp], rcx
xor ecx, ecx
mov rcx, QWORD PTR 16[rdi]
mov QWORD PTR 48[rsp], rdi
mov QWORD PTR 96[rsp], rax
lea rax, _Py_NoneStruct[rip]
mov DWORD PTR 108[rsp], edx
mov QWORD PTR 24[rsp], rcx
mov rcx, QWORD PTR 24[rdi]
cmp rsi, rax
mov QWORD PTR 40[rsp], rcx
je .L707
mov rax, QWORD PTR 48[rsp]
test rsi, rsi
mov rbx, rsi
mov QWORD PTR 16[rax], 0
mov QWORD PTR 24[rax], 0
mov QWORD PTR 32[rax], -1
je .L548
mov rax, QWORD PTR 24[rsp]
cmp rax, 127
jg .L553
lea r15, 128[rsp]
test rax, rax
lea r14, 2088[r15+rax*8]
jle .L555
.L554:
xor ebp, ebp
mov r13, QWORD PTR 24[rsp]
mov r12, QWORD PTR 40[rsp]
jmp .L565
.p2align 4,,10
.p2align 3
.L558:
add rbp, 1
cmp rbp, r13
je .L708
.L565:
mov rsi, QWORD PTR [r12+rbp*8]
xor edx, edx
xor eax, eax
mov rdi, rbx
call PyObject_CallFunctionObjArgs@PLT
test rax, rax
mov QWORD PTR [r14+rbp*8], rax
jne .L558
mov r12, rax
.L702:
sub rbp, 1
cmp rbp, -1
je .L559
.L709:
mov rdi, QWORD PTR [r14+rbp*8]
sub QWORD PTR [rdi], 1
jne .L702
mov rax, QWORD PTR 8[rdi]
sub rbp, 1
call [QWORD PTR 48[rax]]
cmp rbp, -1
jne .L709
.L559:
mov rcx, QWORD PTR 24[rsp]
cmp rcx, 127
jg .L562
mov rax, QWORD PTR 48[rsp]
mov rbp, QWORD PTR 24[rax]
mov rbx, QWORD PTR 16[rax]
.L701:
mov QWORD PTR 16[rax], rcx
mov rcx, QWORD PTR 40[rsp]
test rbp, rbp
mov QWORD PTR 24[rax], rcx
mov rcx, QWORD PTR 96[rsp]
mov QWORD PTR 32[rax], rcx
je .L563
.p2align 4,,10
.p2align 3
.L564:
sub rbx, 1
js .L710
.L621:
mov rdi, QWORD PTR 0[rbp+rbx*8]
test rdi, rdi
je .L564
sub QWORD PTR [rdi], 1
jne .L564
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
sub rbx, 1
jns .L621
.L710:
mov rdi, rbp
call PyMem_Free@PLT
.L617:
test r12, r12
je .L546
add QWORD PTR [r12], 1
.L546:
mov rbx, QWORD PTR 4264[rsp]
xor rbx, QWORD PTR fs:40
mov rax, r12
jne .L711
add rsp, 4280
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.L553:
.cfi_restore_state
lea rdi, 0[0+rax*8]
call PyMem_Malloc@PLT
test rax, rax
mov r14, rax
jne .L554
call PyErr_NoMemory@PLT
mov rax, QWORD PTR 48[rsp]
mov rcx, QWORD PTR 24[rsp]
xor r12d, r12d
mov rbx, QWORD PTR 16[rax]
mov QWORD PTR 16[rax], rcx
mov rcx, QWORD PTR 40[rsp]
mov rbp, QWORD PTR 24[rax]
mov QWORD PTR 24[rax], rcx
mov rcx, QWORD PTR 96[rsp]
test rbp, rbp
mov QWORD PTR 32[rax], rcx
jne .L564
.L563:
xor r12d, r12d
jmp .L546
.L707:
mov QWORD PTR 16[rdi], 0
mov QWORD PTR 24[rdi], 0
mov QWORD PTR 32[rdi], -1
.L548:
lea r15, 128[rsp]
mov QWORD PTR 152[rsp], 256
mov QWORD PTR 144[rsp], 0
mov DWORD PTR 160[rsp], 0
mov QWORD PTR 128[rsp], 7
lea r12, _Py_NoneStruct[rip]
lea rax, 2080[r15]
mov QWORD PTR 136[rsp], rax
mov rax, QWORD PTR 24[rsp]
cmp rax, 1
jle .L550
mov ecx, DWORD PTR 108[rsp]
test ecx, ecx
je .L627
mov r14, QWORD PTR 40[rsp]
lea rax, -8[0+rax*8]
mov QWORD PTR 8[rsp], 0
mov QWORD PTR 120[rsp], 0
mov rbx, r14
.L552:
add rax, rbx
cmp rax, rbx
jbe .L551
mov rdx, rbx
.p2align 4,,10
.p2align 3
.L570:
mov rcx, QWORD PTR [rdx]
mov rsi, QWORD PTR [rax]
add rdx, 8
sub rax, 8
mov QWORD PTR -8[rdx], rsi
mov QWORD PTR 8[rax], rcx
cmp rdx, rax
jb .L570
jmp .L551
.L627:
mov r14, QWORD PTR 40[rsp]
mov QWORD PTR 8[rsp], 0
mov QWORD PTR 120[rsp], 0
.L551:
mov rax, QWORD PTR 24[rsp]
cmp rax, 63
jle .L633
xor edx, edx
.p2align 4,,10
.p2align 3
.L572:
mov rcx, rax
sar rax
and ecx, 1
or rdx, rcx
cmp rax, 63
jg .L572
add rax, rdx
mov QWORD PTR 32[rsp], rax
mov rax, QWORD PTR 24[rsp]
.L571:
mov QWORD PTR 16[rsp], rax
.p2align 4,,10
.p2align 3
.L601:
mov rax, QWORD PTR 16[rsp]
lea rbp, 8[r14]
lea rbx, [r14+rax*8]
cmp rbx, rbp
je .L634
mov rdi, QWORD PTR 8[r14]
mov rsi, QWORD PTR [r14]
xor edx, edx
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
js .L643
test rax, rax
lea r13, 16[r14]
je .L574
cmp rbx, r13
jbe .L636
sub rbx, r14
lea r12, -17[rbx]
mov ebx, 2
shr r12, 3
add r12, 3
jmp .L577
.p2align 4,,10
.p2align 3
.L712:
je .L576
add rbx, 1
cmp rbx, r12
je .L576
.L577:
mov rsi, QWORD PTR -24[r13+rbx*8]
mov rdi, QWORD PTR -16[r13+rbx*8]
xor edx, edx
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
jns .L712
.p2align 4,,10
.p2align 3
.L643:
xor r12d, r12d
.L568:
cmp QWORD PTR 120[rsp], 0
je .L704
cmp QWORD PTR 24[rsp], 0
jle .L704
.L606:
mov rbp, QWORD PTR 120[rsp]
mov r13, QWORD PTR 24[rsp]
xor ebx, ebx
.p2align 4,,10
.p2align 3
.L612:
mov rdi, QWORD PTR 0[rbp+rbx*8]
sub QWORD PTR [rdi], 1
jne .L611
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L611:
add rbx, 1
cmp rbx, r13
jl .L612
cmp QWORD PTR 24[rsp], 127
jle .L704
mov rdi, QWORD PTR 120[rsp]
call PyMem_Free@PLT
.L704:
mov rax, QWORD PTR 48[rsp]
mov rax, QWORD PTR 32[rax]
cmp rax, -1
je .L607
test r12, r12
je .L705
mov rdi, QWORD PTR PyExc_ValueError[rip]
lea rsi, .LC12[rip]
call PyErr_SetString@PLT
.L705:
xor r12d, r12d
.L607:
mov eax, DWORD PTR 108[rsp]
test eax, eax
je .L550
mov rax, QWORD PTR 24[rsp]
cmp rax, 1
jle .L550
mov rbx, QWORD PTR 40[rsp]
lea rax, -8[rbx+rax*8]
cmp rax, rbx
jbe .L550
mov rdx, rbx
.p2align 4,,10
.p2align 3
.L615:
mov rcx, QWORD PTR [rdx]
mov rsi, QWORD PTR [rax]
add rdx, 8
sub rax, 8
mov QWORD PTR -8[rdx], rsi
mov QWORD PTR 8[rax], rcx
cmp rdx, rax
jb .L615
.L550:
mov rdi, QWORD PTR 136[rsp]
lea rax, 2080[r15]
cmp rdi, rax
je .L616
call PyMem_Free@PLT
.L616:
mov rax, QWORD PTR 48[rsp]
mov rcx, QWORD PTR 24[rsp]
mov rbx, QWORD PTR 16[rax]
mov QWORD PTR 16[rax], rcx
mov rcx, QWORD PTR 40[rsp]
mov rbp, QWORD PTR 24[rax]
mov QWORD PTR 24[rax], rcx
mov rcx, QWORD PTR 96[rsp]
test rbp, rbp
mov QWORD PTR 32[rax], rcx
jne .L564
jmp .L617
.L708:
mov rax, QWORD PTR 24[rsp]
lea r15, 128[rsp]
.L555:
lea rdx, 1[rax]
mov rax, rdx
shr rax, 63
add rax, rdx
sar rax
cmp rax, 128
jg .L566
mov QWORD PTR 152[rsp], rax
lea rax, 2080[0+rax*8]
.L567:
add rax, r15
mov DWORD PTR 160[rsp], 0
mov QWORD PTR 128[rsp], 7
mov QWORD PTR 144[rsp], rax
lea rax, 2080[r15]
mov QWORD PTR 136[rsp], rax
mov rax, QWORD PTR 24[rsp]
cmp rax, 1
jle .L629
mov edx, DWORD PTR 108[rsp]
test edx, edx
je .L630
test r14, r14
lea rax, -8[0+rax*8]
je .L631
lea rdx, [r14+rax]
cmp rdx, r14
jbe .L632
mov rcx, r14
.p2align 4,,10
.p2align 3
.L569:
mov rsi, QWORD PTR [rcx]
mov rdi, QWORD PTR [rdx]
add rcx, 8
sub rdx, 8
mov QWORD PTR -8[rcx], rdi
mov QWORD PTR 8[rdx], rsi
cmp rcx, rdx
jb .L569
.L632:
mov rbx, QWORD PTR 40[rsp]
mov QWORD PTR 120[rsp], r14
mov QWORD PTR 8[rsp], rbx
jmp .L552
.L566:
mov QWORD PTR 152[rsp], 128
mov eax, 3104
jmp .L567
.p2align 4,,10
.p2align 3
.L634:
mov rcx, rbp
.L573:
mov rbx, QWORD PTR 32[rsp]
cmp rax, rbx
cmovle rbx, rax
cmp r14, rcx
lea rax, [r14+rbx*8]
cmovne rbp, rcx
mov r13, rbp
cmp rax, rbp
mov QWORD PTR 64[rsp], rax
jbe .L584
mov rcx, QWORD PTR 8[rsp]
mov QWORD PTR 112[rsp], rbx
mov QWORD PTR 56[rsp], r15
mov rax, rcx
sub rcx, 8
sub rax, r14
mov QWORD PTR 80[rsp], rcx
mov QWORD PTR 72[rsp], rax
add rax, 8
mov QWORD PTR 88[rsp], rax
.L593:
mov r12, QWORD PTR 0[r13]
mov rbp, r13
mov rbx, r14
.p2align 4,,10
.p2align 3
.L586:
mov rax, rbp
xor edx, edx
mov rdi, r12
sub rax, rbx
sar rax, 4
lea r15, [rbx+rax*8]
mov rsi, QWORD PTR [r15]
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
js .L640
jne .L587
lea rbx, 8[r15]
cmp rbp, rbx
ja .L586
.L589:
cmp rbx, r13
jnb .L590
lea rax, -1[r13]
mov edi, 8
mov rsi, r13
sub rax, rbx
shr rax, 3
lea rdx, 8[0+rax*8]
sub rdi, rdx
sub rsi, rdx
add rdi, r13
call memmove@PLT
.L590:
mov rax, QWORD PTR 8[rsp]
mov QWORD PTR [rbx], r12
test rax, rax
je .L591
lea rdx, 0[r13+rax]
mov rax, r14
neg rax
mov rbp, QWORD PTR [rdx+rax]
mov rax, QWORD PTR 72[rsp]
lea r12, [rbx+rax]
mov rbx, rax
lea rax, [rax+r13]
cmp r12, rax
jnb .L592
mov rax, QWORD PTR 80[rsp]
mov rdi, QWORD PTR 88[rsp]
sub rax, r14
lea rax, 7[r13+rax]
sub rax, r12
shr rax, 3
lea rdx, 8[0+rax*8]
sub rbx, rdx
sub rdi, rdx
mov rsi, rbx
add rdi, r13
add rsi, r13
call memmove@PLT
.L592:
mov QWORD PTR [r12], rbp
.L591:
add r13, 8
cmp QWORD PTR 64[rsp], r13
ja .L593
mov rbx, QWORD PTR 112[rsp]
mov r15, QWORD PTR 56[rsp]
.p2align 4,,10
.p2align 3
.L584:
movsx rax, DWORD PTR 160[rsp]
mov rdi, QWORD PTR 8[rsp]
mov rdx, rax
lea rax, [rax+rax*2]
add edx, 1
sal rax, 3
lea rcx, 40[r15+rax]
mov QWORD PTR [rcx], r14
mov QWORD PTR 8[rcx], rdi
mov QWORD PTR 184[rsp+rax], rbx
mov DWORD PTR 160[rsp], edx
jmp .L594
.p2align 4,,10
.p2align 3
.L713:
cmp ecx, 1
jle .L595
lea rcx, [r9+r8]
cmp QWORD PTR 136[rsp+rax], rcx
jle .L596
.L595:
cmp r8, rdi
jg .L598
.L706:
mov rdi, r15
call merge_at
test rax, rax
js .L643
mov edx, DWORD PTR 160[rsp]
.L594:
cmp edx, 1
jle .L598
lea ecx, -2[rdx]
movsx rsi, ecx
lea rax, [rsi+rsi*2]
sal rax, 3
test ecx, ecx
mov r8, QWORD PTR 184[rsp+rax]
mov rdi, QWORD PTR 208[rsp+rax]
je .L595
mov r9, QWORD PTR 160[rsp+rax]
lea r10, [r8+rdi]
cmp r9, r10
jg .L713
.L596:
xor eax, eax
cmp r9, rdi
setl al
sub rsi, rax
jmp .L706
.p2align 4,,10
.p2align 3
.L587:
cmp rbx, r15
jnb .L589
mov rbp, r15
jmp .L586
.p2align 4,,10
.p2align 3
.L598:
mov rcx, QWORD PTR 8[rsp]
lea rax, 0[0+rbx*8]
add r14, rax
add rax, rcx
test rcx, rcx
cmove rax, rcx
sub QWORD PTR 16[rsp], rbx
mov QWORD PTR 8[rsp], rax
jne .L601
jmp .L602
.p2align 4,,10
.p2align 3
.L714:
lea rax, [rsi+rsi*2]
mov rbx, QWORD PTR 208[rsp+rax*8]
cmp QWORD PTR 160[rsp+rax*8], rbx
jge .L603
sub rsi, 1
.L603:
mov rdi, r15
call merge_at
test rax, rax
js .L604
mov edx, DWORD PTR 160[rsp]
.L602:
cmp edx, 1
jle .L703
sub edx, 2
test edx, edx
movsx rsi, edx
jne .L714
xor esi, esi
jmp .L603
.p2align 4,,10
.p2align 3
.L640:
mov r15, QWORD PTR 56[rsp]
xor r12d, r12d
jmp .L568
.p2align 4,,10
.p2align 3
.L574:
cmp rbx, r13
jbe .L638
sub rbx, r14
lea r12, -17[rbx]
mov ebx, 2
shr r12, 3
add r12, 3
jmp .L580
.p2align 4,,10
.p2align 3
.L715:
jne .L578
add rbx, 1
cmp rbx, r12
je .L578
.L580:
mov rsi, QWORD PTR -24[r13+rbx*8]
mov rdi, QWORD PTR -16[r13+rbx*8]
xor edx, edx
call PyObject_RichCompareBool@PLT
cdqe
test rax, rax
jns .L715
jmp .L643
.L638:
mov ebx, 2
.p2align 4,,10
.p2align 3
.L578:
cmp rbx, QWORD PTR 32[rsp]
jge .L584
lea rax, [r14+rbx*8]
mov rcx, rax
mov rax, QWORD PTR 16[rsp]
jmp .L573
.p2align 4,,10
.p2align 3
.L576:
lea rcx, -8[0+rbx*8]
lea rax, [r14+rcx]
.L575:
cmp r14, rax
jnb .L581
mov rdx, r14
.p2align 4,,10
.p2align 3
.L582:
mov rsi, QWORD PTR [rdx]
mov rdi, QWORD PTR [rax]
add rdx, 8
sub rax, 8
mov QWORD PTR -8[rdx], rdi
mov QWORD PTR 8[rax], rsi
cmp rdx, rax
jb .L582
.L581:
mov rdx, QWORD PTR 8[rsp]
test rdx, rdx
je .L578
lea rax, [rdx+rcx]
cmp rdx, rax
jnb .L578
.p2align 4,,10
.p2align 3
.L583:
mov rcx, QWORD PTR [rdx]
mov rsi, QWORD PTR [rax]
add rdx, 8
sub rax, 8
mov QWORD PTR -8[rdx], rsi
mov QWORD PTR 8[rax], rcx
cmp rdx, rax
jb .L583
jmp .L578
.L629:
mov QWORD PTR 120[rsp], r14
.L703:
lea r12, _Py_NoneStruct[rip]
jmp .L568
.L562:
mov rdi, r14
call PyMem_Free@PLT
mov rax, QWORD PTR 48[rsp]
mov rcx, QWORD PTR 24[rsp]
mov rbp, QWORD PTR 24[rax]
mov rbx, QWORD PTR 16[rax]
jmp .L701
.L630:
mov rax, QWORD PTR 40[rsp]
mov QWORD PTR 120[rsp], r14
mov QWORD PTR 8[rsp], rax
jmp .L551
.L633:
mov QWORD PTR 32[rsp], rax
jmp .L571
.L604:
cmp QWORD PTR 120[rsp], 0
je .L705
xor r12d, r12d
cmp QWORD PTR 24[rsp], 0
jg .L606
jmp .L705
.L636:
mov rax, rbp
mov ecx, 8
mov ebx, 2
jmp .L575
.L631:
mov rbx, QWORD PTR 40[rsp]
mov QWORD PTR 120[rsp], 0
mov QWORD PTR 8[rsp], rbx
jmp .L552
.L711:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE185:
.size list_sort_impl, .-list_sort_impl
.p2align 4,,15
.type list_sort, @function
list_sort:
.LFB124:
.cfi_startproc
push rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
mov rbx, rdi
mov rdi, rsi
mov rsi, rdx
mov rdx, rcx
lea rcx, _parser.13259[rip]
sub rsp, 32
.cfi_def_cfa_offset 48
mov rax, QWORD PTR fs:40
mov QWORD PTR 24[rsp], rax
xor eax, eax
lea rax, _Py_NoneStruct[rip]
lea r9, 12[rsp]
lea r8, 16[rsp]
mov DWORD PTR 12[rsp], 0
mov QWORD PTR 16[rsp], rax
xor eax, eax
call _PyArg_ParseStackAndKeywords@PLT
test eax, eax
je .L719
mov edx, DWORD PTR 12[rsp]
mov rsi, QWORD PTR 16[rsp]
mov rdi, rbx
call list_sort_impl
.L716:
mov rbx, QWORD PTR 24[rsp]
xor rbx, QWORD PTR fs:40
jne .L721
add rsp, 32
.cfi_remember_state
.cfi_def_cfa_offset 16
pop rbx
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L719:
.cfi_restore_state
.L717:
xor eax, eax
jmp .L716
.L721:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE124:
.size list_sort, .-list_sort
.section .rodata.str1.8,"aMS",@progbits,1
.align 8
.LC13:
.string "cannot add more objects to list"
.text
.p2align 4,,15
.type list_append, @function
list_append:
.LFB159:
.cfi_startproc
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
movabs rax, 9223372036854775807
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
mov r13, QWORD PTR 16[rdi]
cmp r13, rax
je .L737
mov rax, QWORD PTR 32[rdi]
lea rbx, 1[r13]
mov rbp, rdi
mov r14, rsi
cmp rbx, rax
jg .L725
sar rax
cmp rbx, rax
jl .L725
mov rax, QWORD PTR 24[rdi]
mov QWORD PTR 16[rdi], rbx
.L726:
add QWORD PTR [r14], 1
mov QWORD PTR [rax+r13*8], r14
lea rax, _Py_NoneStruct[rip]
add QWORD PTR _Py_NoneStruct[rip], 1
.L722:
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L725:
.cfi_restore_state
mov r12, rbx
xor eax, eax
sar r12, 3
add r12, rbx
cmp rbx, 8
setg al
lea rax, 3[rax+rax*2]
add r12, rax
movabs rax, 1152921504606846975
cmp r12, rax
ja .L730
test rbx, rbx
je .L732
lea rsi, 0[0+r12*8]
.L729:
mov rdi, QWORD PTR 24[rbp]
call PyMem_Realloc@PLT
test rax, rax
je .L730
mov QWORD PTR 24[rbp], rax
mov QWORD PTR 16[rbp], rbx
mov QWORD PTR 32[rbp], r12
jmp .L726
.p2align 4,,10
.p2align 3
.L732:
xor esi, esi
xor r12d, r12d
jmp .L729
.p2align 4,,10
.p2align 3
.L730:
call PyErr_NoMemory@PLT
xor eax, eax
jmp .L722
.p2align 4,,10
.p2align 3
.L737:
mov rdi, QWORD PTR PyExc_OverflowError[rip]
lea rsi, .LC13[rip]
call PyErr_SetString@PLT
xor eax, eax
jmp .L722
.cfi_endproc
.LFE159:
.size list_append, .-list_append
.section .rodata.str1.1
.LC14:
.string "nO:insert"
.text
.p2align 4,,15
.type list_insert, @function
list_insert:
.LFB120:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
mov r12, rdi
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov rdi, rsi
mov rsi, rdx
lea rdx, .LC14[rip]
sub rsp, 40
.cfi_def_cfa_offset 96
mov rax, QWORD PTR fs:40
mov QWORD PTR 24[rsp], rax
xor eax, eax
lea rcx, 8[rsp]
lea r8, 16[rsp]
call _PyArg_ParseStack@PLT
test eax, eax
je .L762
mov rbp, QWORD PTR 16[rsp]
mov r15, QWORD PTR 8[rsp]
mov rbx, QWORD PTR 16[r12]
test rbp, rbp
je .L779
movabs rax, 9223372036854775807
cmp rbx, rax
je .L780
mov rax, QWORD PTR 32[r12]
lea r13, 1[rbx]
cmp r13, rax
jle .L781
.L742:
mov r14, r13
xor eax, eax
sar r14, 3
add r14, r13
cmp r13, 8
setg al
lea rax, 3[rax+rax*2]
add r14, rax
movabs rax, 1152921504606846975
cmp r14, rax
ja .L747
test r13, r13
je .L764
lea rsi, 0[0+r14*8]
.L746:
mov rdi, QWORD PTR 24[r12]
call PyMem_Realloc@PLT
test rax, rax
je .L747
test r15, r15
mov QWORD PTR 24[r12], rax
mov QWORD PTR 16[r12], r13
mov QWORD PTR 32[r12], r14
js .L782
.L748:
cmp r15, rbx
mov rcx, r15
cmovg rcx, rbx
.L749:
lea rsi, 0[0+rcx*8]
cmp rbx, 32
lea r12, [rax+rsi]
jg .L750
lea rsi, -1[rbx]
cmp rcx, rsi
jg .L752
mov r9, rbx
movabs rdx, -9223372036854775808
sub r9, rcx
cmp rcx, rdx
je .L771
cmp r9, 24
jbe .L771
lea rdi, 0[0+rbx*8]
mov r11, rsi
sub r11, rcx
lea r8, -16[rdi]
lea rdx, [rax+r8]
shr rdx, 3
and edx, 1
lea r10, 1[rdx]
cmp r11, r10
jb .L754
test rdx, rdx
je .L755
mov r10, QWORD PTR [rax+rsi*8]
mov QWORD PTR 8[rax+rsi*8], r10
lea rsi, -2[rbx]
.L755:
sub r9, rdx
neg rdx
sal rdx, 3
mov r10, r9
lea r11, -8[rdi+rdx]
add r8, rdx
shr r10
add r8, rax
xor edx, edx
xor edi, edi
add r11, rax
.p2align 4,,10
.p2align 3
.L756:
movdqa xmm0, XMMWORD PTR [r8+rdx]
add rdi, 1
movups XMMWORD PTR [r11+rdx], xmm0
sub rdx, 16
cmp rdi, r10
jb .L756
mov rdx, r9
and rdx, -2
sub rsi, rdx
cmp r9, rdx
je .L752
.L754:
mov rdx, QWORD PTR [rax+rsi*8]
mov QWORD PTR 8[rax+rsi*8], rdx
sub rsi, 1
cmp rsi, rcx
jl .L752
mov rdx, QWORD PTR [rax+rsi*8]
mov QWORD PTR 8[rax+rsi*8], rdx
.L752:
add QWORD PTR 0[rbp], 1
mov QWORD PTR [r12], rbp
lea rbp, _Py_NoneStruct[rip]
add QWORD PTR _Py_NoneStruct[rip], 1
.L738:
mov rbx, QWORD PTR 24[rsp]
xor rbx, QWORD PTR fs:40
mov rax, rbp
jne .L783
add rsp, 40
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L781:
.cfi_restore_state
sar rax
cmp r13, rax
jl .L742
test r15, r15
mov QWORD PTR 16[r12], r13
mov rax, QWORD PTR 24[r12]
jns .L748
.L782:
mov rcx, r15
mov edx, 0
add rcx, rbx
cmovs rcx, rdx
jmp .L749
.p2align 4,,10
.p2align 3
.L771:
mov rdx, QWORD PTR [rax+rsi*8]
mov QWORD PTR 8[rax+rsi*8], rdx
sub rsi, 1
cmp rcx, rsi
jle .L771
jmp .L752
.p2align 4,,10
.p2align 3
.L764:
xor esi, esi
xor r14d, r14d
jmp .L746
.p2align 4,,10
.p2align 3
.L750:
sub rbx, rcx
lea rdi, 8[rax+rsi]
mov rsi, r12
lea rdx, 0[0+rbx*8]
call memmove@PLT
jmp .L752
.p2align 4,,10
.p2align 3
.L762:
.L739:
xor ebp, ebp
jmp .L738
.L780:
mov rdi, QWORD PTR PyExc_OverflowError[rip]
lea rsi, .LC13[rip]
xor ebp, ebp
call PyErr_SetString@PLT
jmp .L738
.L747:
call PyErr_NoMemory@PLT
xor ebp, ebp
jmp .L738
.L779:
lea rdi, .LC2[rip]
mov esi, 249
call _PyErr_BadInternalCall@PLT
jmp .L738
.L783:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE120:
.size list_insert, .-list_insert
.p2align 4,,15
.type list_copy, @function
list_copy:
.LFB122:
.cfi_startproc
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
mov r12d, 0
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
mov rbx, QWORD PTR 16[rdi]
test rbx, rbx
cmovle r12, rbx
sub rbx, r12
js .L810
mov eax, DWORD PTR numfree[rip]
mov r13, rdi
test eax, eax
je .L787
sub eax, 1
lea rdx, free_list[rip]
mov DWORD PTR numfree[rip], eax
cdqe
mov rbp, QWORD PTR [rdx+rax*8]
mov QWORD PTR 0[rbp], 1
.L788:
test rbx, rbx
jne .L790
mov QWORD PTR 24[rbp], 0
xor eax, eax
.L791:
mov rdx, QWORD PTR -8[rbp]
mov QWORD PTR 16[rbp], rbx
lea r14, -24[rbp]
mov QWORD PTR 32[rbp], rbx
mov rcx, rdx
sar rcx
cmp rcx, -2
jne .L811
.L794:
and edx, 1
sal r12, 3
or rdx, -6
test rbx, rbx
mov QWORD PTR -8[rbp], rdx
mov rdx, QWORD PTR _PyRuntime[rip+432]
mov rcx, QWORD PTR 8[rdx]
mov QWORD PTR -24[rbp], rdx
mov QWORD PTR -16[rbp], rcx
mov QWORD PTR [rcx], r14
mov QWORD PTR 8[rdx], r14
mov rcx, QWORD PTR 24[r13]
je .L784
.L793:
lea rsi, [rcx+r12]
xor edx, edx
.p2align 4,,10
.p2align 3
.L795:
mov rcx, QWORD PTR [rsi+rdx*8]
add QWORD PTR [rcx], 1
mov QWORD PTR [rax+rdx*8], rcx
add rdx, 1
cmp rbx, rdx
jne .L795
.L784:
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
mov rax, rbp
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L811:
.cfi_restore_state
lea rdi, .LC3[rip]
call Py_FatalError@PLT
mov rdx, QWORD PTR -8[rbp]
mov rax, QWORD PTR 24[rbp]
jmp .L794
.p2align 4,,10
.p2align 3
.L790:
mov esi, 8
mov rdi, rbx
call PyMem_Calloc@PLT
test rax, rax
mov QWORD PTR 24[rbp], rax
jne .L791
sub QWORD PTR 0[rbp], 1
jne .L792
mov rax, QWORD PTR 8[rbp]
mov rdi, rbp
call [QWORD PTR 48[rax]]
.L792:
call PyErr_NoMemory@PLT
test rax, rax
mov rbp, rax
je .L789
mov rax, QWORD PTR 24[rax]
mov rcx, QWORD PTR 24[r13]
sal r12, 3
jmp .L793
.p2align 4,,10
.p2align 3
.L787:
lea rdi, PyList_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
mov rbp, rax
jne .L788
.L789:
xor ebp, ebp
jmp .L784
.L810:
lea rdi, .LC2[rip]
mov esi, 150
xor ebp, ebp
call _PyErr_BadInternalCall@PLT
jmp .L784
.cfi_endproc
.LFE122:
.size list_copy, .-list_copy
.p2align 4,,15
.type list_inplace_repeat, @function
list_inplace_repeat:
.LFB154:
.cfi_startproc
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
mov rbx, QWORD PTR 16[rdi]
test rbx, rbx
je .L835
cmp rsi, 1
je .L835
test rsi, rsi
mov r12, rsi
mov rbp, rdi
jle .L844
movabs rax, 9223372036854775807
cqo
idiv rsi
cmp rax, rbx
jl .L845
mov r13, rbx
mov rax, QWORD PTR 32[rdi]
imul r13, rsi
cmp r13, rax
jle .L846
.L824:
mov r14, r13
xor eax, eax
sar r14, 3
add r14, r13
cmp r13, 8
setg al
lea rax, 3[rax+rax*2]
add r14, rax
movabs rax, 1152921504606846975
cmp r14, rax
ja .L829
test r13, r13
je .L834
lea rsi, 0[0+r14*8]
.L828:
mov rdi, QWORD PTR 24[rbp]
call PyMem_Realloc@PLT
test rax, rax
je .L829
mov QWORD PTR 24[rbp], rax
mov QWORD PTR 16[rbp], r13
mov QWORD PTR 32[rbp], r14
.L825:
test rbx, rbx
jle .L830
lea rdi, [rax+rbx*8]
mov r8, rbx
mov esi, 1
.p2align 4,,10
.p2align 3
.L831:
mov rdx, rax
.p2align 4,,10
.p2align 3
.L832:
mov rcx, QWORD PTR [rdx]
add QWORD PTR [rcx], 1
mov QWORD PTR [rdx+rbx*8], rcx
add rdx, 8
cmp rdi, rdx
jne .L832
add rsi, 1
add rbx, r8
cmp r12, rsi
jg .L831
.L830:
add QWORD PTR 0[rbp], 1
mov rax, rbp
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L835:
.cfi_restore_state
add QWORD PTR [rdi], 1
mov rax, rdi
.L812:
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L845:
.cfi_restore_state
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
jmp PyErr_NoMemory@PLT
.p2align 4,,10
.p2align 3
.L846:
.cfi_restore_state
sar rax
cmp r13, rax
jl .L824
mov QWORD PTR 16[rdi], r13
mov rax, QWORD PTR 24[rdi]
jmp .L825
.p2align 4,,10
.p2align 3
.L844:
mov r12, QWORD PTR 24[rdi]
test r12, r12
je .L830
mov QWORD PTR 16[rdi], 0
mov QWORD PTR 24[rdi], 0
mov QWORD PTR 32[rdi], 0
.L818:
sub rbx, 1
js .L847
.L822:
mov rdi, QWORD PTR [r12+rbx*8]
test rdi, rdi
je .L818
sub QWORD PTR [rdi], 1
jne .L818
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
sub rbx, 1
jns .L822
.L847:
mov rdi, r12
call PyMem_Free@PLT
jmp .L830
.p2align 4,,10
.p2align 3
.L834:
xor esi, esi
xor r14d, r14d
jmp .L828
.L829:
call PyErr_NoMemory@PLT
xor eax, eax
jmp .L812
.cfi_endproc
.LFE154:
.size list_inplace_repeat, .-list_inplace_repeat
.section .rodata.str1.1
.LC15:
.string "|n:pop"
.LC16:
.string "pop from empty list"
.LC17:
.string "pop index out of range"
.text
.p2align 4,,15
.type list_pop, @function
list_pop:
.LFB123:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
mov r14, rdi
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
mov rdi, rsi
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov rsi, rdx
lea rdx, .LC15[rip]
sub rsp, 152
.cfi_def_cfa_offset 208
mov rax, QWORD PTR fs:40
mov QWORD PTR 136[rsp], rax
xor eax, eax
lea rcx, 56[rsp]
mov QWORD PTR 56[rsp], -1
call _PyArg_ParseStack@PLT
test eax, eax
je .L919
mov rax, QWORD PTR 16[r14]
mov rcx, QWORD PTR 56[rsp]
test rax, rax
je .L920
test rcx, rcx
js .L921
.L852:
cmp rax, rcx
jle .L853
mov r15, QWORD PTR 24[r14]
lea r12, -1[rax]
cmp r12, rcx
mov rbp, QWORD PTR [r15+rcx*8]
je .L922
lea r10, 1[rcx]
add QWORD PTR 0[rbp], 1
cmp r10, rcx
jl .L897
cmp rax, r10
cmovle r10, rax
mov rbx, r10
sub rbx, rcx
mov rdx, rbx
neg rdx
cmp rax, rbx
mov QWORD PTR 8[rsp], rdx
jne .L862
test r15, r15
je .L848
mov QWORD PTR 16[r14], 0
mov QWORD PTR 24[r14], 0
mov QWORD PTR 32[r14], 0
jmp .L864
.p2align 4,,10
.p2align 3
.L868:
mov rdi, QWORD PTR [r15+r12*8]
test rdi, rdi
je .L866
sub QWORD PTR [rdi], 1
jne .L866
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L866:
sub r12, 1
.L864:
test r12, r12
jns .L868
mov rdi, r15
call PyMem_Free@PLT
.p2align 4,,10
.p2align 3
.L848:
mov rdx, QWORD PTR 136[rsp]
xor rdx, QWORD PTR fs:40
mov rax, rbp
jne .L923
add rsp, 152
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L922:
.cfi_restore_state
mov rax, QWORD PTR 32[r14]
cmp rcx, rax
jle .L924
.L856:
mov rbx, r12
movabs rax, 1152921504606846975
sar rbx, 3
add rcx, rbx
xor ebx, ebx
cmp r12, 8
setg bl
lea rbx, 3[rbx+rbx*2]
add rbx, rcx
cmp rbx, rax
ja .L860
test r12, r12
je .L896
lea rsi, 0[0+rbx*8]
.L859:
mov rdi, r15
call PyMem_Realloc@PLT
test rax, rax
je .L860
mov QWORD PTR 24[r14], rax
mov QWORD PTR 16[r14], r12
mov QWORD PTR 32[r14], rbx
jmp .L848
.L887:
call PyErr_NoMemory@PLT
cmp r12, r13
je .L871
.L885:
mov rdi, r12
call PyMem_Free@PLT
.L871:
sub QWORD PTR 0[rbp], 1
jne .L919
mov rax, QWORD PTR 8[rbp]
mov rdi, rbp
call [QWORD PTR 48[rax]]
.L919:
.L850:
xor ebp, ebp
jmp .L848
.p2align 4,,10
.p2align 3
.L921:
add rcx, rax
jns .L852
.L853:
mov rdi, QWORD PTR PyExc_IndexError[rip]
lea rsi, .LC17[rip]
xor ebp, ebp
call PyErr_SetString@PLT
jmp .L848
.p2align 4,,10
.p2align 3
.L897:
lea r13, 64[rsp]
mov r12, r13
.L861:
cmp r12, r13
je .L848
mov rdi, r12
call PyMem_Free@PLT
jmp .L848
.p2align 4,,10
.p2align 3
.L924:
sar rax
cmp rcx, rax
jl .L856
mov QWORD PTR 16[r14], rcx
jmp .L848
.p2align 4,,10
.p2align 3
.L896:
xor esi, esi
xor ebx, ebx
jmp .L859
.p2align 4,,10
.p2align 3
.L920:
mov rdi, QWORD PTR PyExc_IndexError[rip]
lea rsi, .LC16[rip]
xor ebp, ebp
call PyErr_SetString@PLT
jmp .L848
.L860:
call PyErr_NoMemory@PLT
xor ebp, ebp
jmp .L848
.L923:
call __stack_chk_fail@PLT
.L862:
lea rdi, 0[0+rbx*8]
test rdi, rdi
mov QWORD PTR 32[rsp], rdi
je .L898
cmp rdi, 64
jbe .L899
mov QWORD PTR 24[rsp], r10
mov QWORD PTR 16[rsp], rcx
lea r13, 64[rsp]
call PyMem_Malloc@PLT
test rax, rax
mov r12, rax
mov rcx, QWORD PTR 16[rsp]
mov r10, QWORD PTR 24[rsp]
je .L925
.L870:
mov rdx, QWORD PTR 32[rsp]
lea rsi, [r15+rcx*8]
mov rdi, r12
mov QWORD PTR 24[rsp], r10
mov QWORD PTR 16[rsp], rcx
call memcpy@PLT
mov rcx, QWORD PTR 16[rsp]
mov r10, QWORD PTR 24[rsp]
.L869:
cmp QWORD PTR 8[rsp], 0
js .L926
je .L874
mov rdx, QWORD PTR 16[r14]
mov rax, QWORD PTR 32[r14]
mov r8, rdx
sub r8, rbx
cmp r8, rax
jg .L881
sar rax
cmp r8, rax
jge .L927
.L881:
mov r15, r8
xor eax, eax
sar r15, 3
add r15, r8
cmp r8, 8
setg al
lea rax, 3[rax+rax*2]
add r15, rax
movabs rax, 1152921504606846975
cmp r15, rax
ja .L887
test r8, r8
je .L903
lea rsi, 0[0+r15*8]
.L886:
mov rdi, QWORD PTR 24[r14]
mov QWORD PTR 32[rsp], r10
mov QWORD PTR 24[rsp], r8
mov QWORD PTR 16[rsp], rdx
mov QWORD PTR 8[rsp], rcx
call PyMem_Realloc@PLT
test rax, rax
je .L887
mov r8, QWORD PTR 24[rsp]
mov rcx, QWORD PTR 8[rsp]
mov rdx, QWORD PTR 16[rsp]
mov r10, QWORD PTR 32[rsp]
mov QWORD PTR 24[r14], rax
mov QWORD PTR 32[r14], r15
mov QWORD PTR 16[r14], r8
.L882:
sub rdx, r10
lea rsi, [rax+r10*8]
lea rdi, [rax+rcx*8]
sal rdx, 3
call memmove@PLT
.L874:
sub rbx, 1
js .L861
.p2align 4,,10
.p2align 3
.L891:
mov rdi, QWORD PTR [r12+rbx*8]
test rdi, rdi
je .L889
sub QWORD PTR [rdi], 1
jne .L889
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L889:
sub rbx, 1
cmp rbx, -1
jne .L891
jmp .L861
.p2align 4,,10
.p2align 3
.L899:
lea r13, 64[rsp]
mov r12, r13
jmp .L870
.L926:
mov rax, QWORD PTR 16[r14]
lea rsi, [r15+r10*8]
lea r15, [r15+rcx*8]
mov rdi, r15
mov QWORD PTR 40[rsp], rsi
sub rax, r10
lea rdx, 0[0+rax*8]
mov QWORD PTR 24[rsp], rdx
call memmove@PLT
mov rcx, QWORD PTR 16[r14]
mov rax, QWORD PTR 32[r14]
sub rcx, rbx
cmp rcx, rax
jg .L873
sar rax
cmp rcx, rax
jge .L928
.L873:
mov rdx, rcx
xor eax, eax
sar rdx, 3
add rdx, rcx
cmp rcx, 8
setg al
lea rax, 3[rax+rax*2]
add rdx, rax
movabs rax, 1152921504606846975
cmp rdx, rax
ja .L880
test rcx, rcx
je .L901
lea rsi, 0[0+rdx*8]
.L879:
mov rdi, QWORD PTR 24[r14]
mov QWORD PTR 16[rsp], rdx
mov QWORD PTR 8[rsp], rcx
call PyMem_Realloc@PLT
test rax, rax
je .L880
mov rcx, QWORD PTR 8[rsp]
mov rdx, QWORD PTR 16[rsp]
mov QWORD PTR 24[r14], rax
mov QWORD PTR 16[r14], rcx
mov QWORD PTR 32[r14], rdx
jmp .L874
.p2align 4,,10
.p2align 3
.L903:
xor esi, esi
xor r15d, r15d
jmp .L886
.p2align 4,,10
.p2align 3
.L927:
mov QWORD PTR 16[r14], r8
mov rax, QWORD PTR 24[r14]
jmp .L882
.p2align 4,,10
.p2align 3
.L901:
xor esi, esi
xor edx, edx
jmp .L879
.L928:
mov QWORD PTR 16[r14], rcx
jmp .L874
.L880:
call PyErr_NoMemory@PLT
mov rdx, QWORD PTR 24[rsp]
mov rdi, QWORD PTR 40[rsp]
mov rsi, r15
call memmove@PLT
mov rdx, QWORD PTR 32[rsp]
mov rsi, r12
mov rdi, r15
call memcpy@PLT
cmp r12, r13
jne .L885
jmp .L871
.L925:
call PyErr_NoMemory@PLT
xor edi, edi
call PyMem_Free@PLT
jmp .L871
.L898:
lea r13, 64[rsp]
mov r12, r13
jmp .L869
.cfi_endproc
.LFE123:
.size list_pop, .-list_pop
.section .rodata.str1.1
.LC18:
.string "argument must be iterable"
.text
.p2align 4,,15
.type list_extend, @function
list_extend:
.LFB160:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
lea rdx, PyTuple_Type[rip]
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
lea rcx, PyList_Type[rip]
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov rbp, rsi
mov rbx, rdi
sub rsp, 24
.cfi_def_cfa_offset 80
mov rax, QWORD PTR 8[rsi]
cmp rax, rdx
sete dl
cmp rax, rcx
sete al
or dl, al
jne .L985
cmp rsi, rdi
jne .L930
.L985:
lea rsi, .LC18[rip]
mov rdi, rbp
call PySequence_Fast@PLT
test rax, rax
mov rbp, rax
je .L1013
mov r12, QWORD PTR 16[rax]
test r12, r12
jne .L934
sub QWORD PTR [rax], 1
jne .L975
mov rax, QWORD PTR 8[rax]
mov rdi, rbp
call [QWORD PTR 48[rax]]
.L975:
add QWORD PTR _Py_NoneStruct[rip], 1
lea rax, _Py_NoneStruct[rip]
.L929:
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L930:
.cfi_restore_state
mov rdi, rsi
call PyObject_GetIter@PLT
test rax, rax
mov r12, rax
je .L1013
mov rax, QWORD PTR 8[rax]
mov esi, 8
mov rdi, rbp
mov r13, QWORD PTR 224[rax]
call PyObject_LengthHint@PLT
test rax, rax
js .L955
mov rbp, QWORD PTR 16[rbx]
movabs rdx, 9223372036854775807
sub rdx, rax
cmp rdx, rbp
jge .L1015
.p2align 4,,10
.p2align 3
.L958:
mov rdi, r12
call r13
test rax, rax
mov r15, rax
je .L1016
.L959:
mov rbp, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
cmp rbp, rax
jge .L962
mov rax, QWORD PTR 24[rbx]
mov rdi, r12
mov QWORD PTR [rax+rbp*8], r15
add rbp, 1
mov QWORD PTR 16[rbx], rbp
call r13
test rax, rax
mov r15, rax
jne .L959
.L1016:
call PyErr_Occurred@PLT
test rax, rax
je .L960
mov rdi, QWORD PTR PyExc_StopIteration[rip]
call PyErr_ExceptionMatches@PLT
test eax, eax
jne .L1017
.L955:
sub QWORD PTR [r12], 1
jne .L1013
mov rax, QWORD PTR 8[r12]
mov rdi, r12
call [QWORD PTR 48[rax]]
.L1013:
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 56
xor eax, eax
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L934:
.cfi_restore_state
mov r15, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
lea r13, [r12+r15]
cmp r13, rax
jle .L1018
.L936:
mov r14, r13
xor eax, eax
sar r14, 3
add r14, r13
cmp r13, 8
setg al
lea rax, 3[rax+rax*2]
add r14, rax
movabs rax, 1152921504606846975
cmp r14, rax
ja .L943
test r13, r13
je .L978
lea rsi, 0[0+r14*8]
.L942:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L943
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 16[rbx], r13
mov QWORD PTR 32[rbx], r14
.L937:
mov r8, QWORD PTR 8[rbp]
lea rcx, 24[rbp]
test BYTE PTR 171[r8], 2
je .L945
mov rcx, QWORD PTR 24[rbp]
.L945:
sal r15, 3
test r12, r12
jle .L946
lea rsi, [rax+r15]
xor edx, edx
.p2align 4,,10
.p2align 3
.L947:
mov rax, QWORD PTR [rcx+rdx*8]
add QWORD PTR [rax], 1
mov QWORD PTR [rsi+rdx*8], rax
add rdx, 1
cmp r12, rdx
jne .L947
.L946:
sub QWORD PTR 0[rbp], 1
jne .L975
mov rdi, rbp
call [QWORD PTR 48[r8]]
jmp .L975
.p2align 4,,10
.p2align 3
.L1018:
sar rax
cmp r13, rax
jl .L936
mov QWORD PTR 16[rbx], r13
mov rax, QWORD PTR 24[rbx]
jmp .L937
.p2align 4,,10
.p2align 3
.L962:
movabs rsi, 9223372036854775807
cmp rbp, rsi
je .L1019
lea rcx, 1[rbp]
cmp rax, rcx
jl .L966
sar rax
cmp rcx, rax
jge .L1020
.L966:
mov r8, rcx
xor eax, eax
sar r8, 3
add r8, rcx
cmp rcx, 8
setg al
lea rax, 3[rax+rax*2]
lea r14, [r8+rax]
movabs rax, 1152921504606846975
cmp r14, rax
ja .L971
test rcx, rcx
je .L982
lea rsi, 0[0+r14*8]
.L970:
mov rdi, QWORD PTR 24[rbx]
mov QWORD PTR 8[rsp], rcx
call PyMem_Realloc@PLT
test rax, rax
je .L971
mov rcx, QWORD PTR 8[rsp]
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 32[rbx], r14
mov QWORD PTR 16[rbx], rcx
.L967:
mov rcx, QWORD PTR [r15]
mov QWORD PTR [rax+rbp*8], r15
test rcx, rcx
mov QWORD PTR [r15], rcx
jne .L958
mov rax, QWORD PTR 8[r15]
mov rdi, r15
call [QWORD PTR 48[rax]]
jmp .L958
.p2align 4,,10
.p2align 3
.L982:
xor esi, esi
xor r14d, r14d
jmp .L970
.p2align 4,,10
.p2align 3
.L1020:
mov QWORD PTR 16[rbx], rcx
mov rax, QWORD PTR 24[rbx]
jmp .L967
.p2align 4,,10
.p2align 3
.L978:
xor esi, esi
xor r14d, r14d
jmp .L942
.p2align 4,,10
.p2align 3
.L1017:
call PyErr_Clear@PLT
.L960:
mov rbp, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
cmp rbp, rax
jl .L1021
.L972:
sub QWORD PTR [r12], 1
jne .L975
mov rax, QWORD PTR 8[r12]
mov rdi, r12
call [QWORD PTR 48[rax]]
jmp .L975
.L943:
call PyErr_NoMemory@PLT
sub QWORD PTR 0[rbp], 1
jne .L1013
mov rax, QWORD PTR 8[rbp]
mov rdi, rbp
call [QWORD PTR 48[rax]]
xor eax, eax
jmp .L929
.p2align 4,,10
.p2align 3
.L1015:
mov rdx, QWORD PTR 32[rbx]
add rax, rbp
cmp rax, rdx
jle .L1022
.L951:
mov r14, rax
xor edx, edx
sar r14, 3
add r14, rax
cmp rax, 8
setg dl
lea rdx, 3[rdx+rdx*2]
add r14, rdx
movabs rdx, 1152921504606846975
cmp r14, rdx
ja .L957
test rax, rax
je .L980
lea rsi, 0[0+r14*8]
.L956:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L957
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 32[rbx], r14
.L952:
mov QWORD PTR 16[rbx], rbp
jmp .L958
.p2align 4,,10
.p2align 3
.L1022:
sar rdx
cmp rax, rdx
jl .L951
jmp .L952
.p2align 4,,10
.p2align 3
.L980:
xor esi, esi
xor r14d, r14d
jmp .L956
.p2align 4,,10
.p2align 3
.L1021:
sar rax
cmp rbp, rax
jge .L972
mov r13, rbp
xor eax, eax
sar r13, 3
add r13, rbp
cmp rbp, 8
setg al
lea rax, 3[rax+rax*2]
add r13, rax
movabs rax, 1152921504606846975
cmp r13, rax
ja .L957
test rbp, rbp
je .L984
lea rsi, 0[0+r13*8]
.L974:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L957
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 16[rbx], rbp
mov QWORD PTR 32[rbx], r13
jmp .L972
.L984:
xor esi, esi
xor r13d, r13d
jmp .L974
.L971:
call PyErr_NoMemory@PLT
.L965:
sub QWORD PTR [r15], 1
jne .L955
mov rax, QWORD PTR 8[r15]
mov rdi, r15
call [QWORD PTR 48[rax]]
jmp .L955
.L1019:
mov rdi, QWORD PTR PyExc_OverflowError[rip]
lea rsi, .LC13[rip]
call PyErr_SetString@PLT
jmp .L965
.L957:
call PyErr_NoMemory@PLT
jmp .L955
.cfi_endproc
.LFE160:
.size list_extend, .-list_extend
.section .rodata.str1.1
.LC19:
.string "list"
.text
.p2align 4,,15
.type list___init__, @function
list___init__:
.LFB127:
.cfi_startproc
push r13
.cfi_def_cfa_offset 16
.cfi_offset 13, -16
push r12
.cfi_def_cfa_offset 24
.cfi_offset 12, -24
push rbp
.cfi_def_cfa_offset 32
.cfi_offset 6, -32
push rbx
.cfi_def_cfa_offset 40
.cfi_offset 3, -40
mov rbp, rdi
mov rbx, rsi
sub rsp, 24
.cfi_def_cfa_offset 64
mov rax, QWORD PTR fs:40
mov QWORD PTR 8[rsp], rax
xor eax, eax
lea rax, PyList_Type[rip]
cmp QWORD PTR 8[rdi], rax
mov QWORD PTR [rsp], 0
jne .L1028
test rdx, rdx
jne .L1024
.L1028:
lea rsi, .LC19[rip]
xor edx, edx
xor eax, eax
mov r8, rsp
mov ecx, 1
mov rdi, rbx
call PyArg_UnpackTuple@PLT
test eax, eax
je .L1026
mov r12, QWORD PTR 24[rbp]
mov r13, QWORD PTR [rsp]
test r12, r12
je .L1030
mov rbx, QWORD PTR 16[rbp]
mov QWORD PTR 24[rbp], 0
mov QWORD PTR 16[rbp], 0
mov QWORD PTR 32[rbp], 0
.L1031:
sub rbx, 1
js .L1054
.L1035:
mov rdi, QWORD PTR [r12+rbx*8]
test rdi, rdi
je .L1031
sub QWORD PTR [rdi], 1
jne .L1031
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
sub rbx, 1
jns .L1035
.L1054:
mov rdi, r12
call PyMem_Free@PLT
.L1030:
test r13, r13
je .L1053
mov rsi, r13
mov rdi, rbp
call list_extend
test rax, rax
je .L1026
sub QWORD PTR [rax], 1
jne .L1053
mov rdx, QWORD PTR 8[rax]
mov rdi, rax
call [QWORD PTR 48[rdx]]
.L1053:
xor eax, eax
.L1029:
.L1023:
mov rcx, QWORD PTR 8[rsp]
xor rcx, QWORD PTR fs:40
jne .L1055
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbx
.cfi_def_cfa_offset 32
pop rbp
.cfi_def_cfa_offset 24
pop r12
.cfi_def_cfa_offset 16
pop r13
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1024:
.cfi_restore_state
lea rdi, .LC19[rip]
mov rsi, rdx
call _PyArg_NoKeywords@PLT
test eax, eax
jne .L1028
.p2align 4,,10
.p2align 3
.L1026:
mov eax, -1
jmp .L1023
.L1055:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE127:
.size list___init__, .-list___init__
.p2align 4,,15
.type list_inplace_concat, @function
list_inplace_concat:
.LFB162:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
lea rdx, PyTuple_Type[rip]
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
lea rcx, PyList_Type[rip]
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov rbp, rsi
mov rbx, rdi
sub rsp, 24
.cfi_def_cfa_offset 80
mov rax, QWORD PTR 8[rsi]
cmp rax, rdx
sete dl
cmp rax, rcx
sete al
or dl, al
jne .L1115
cmp rdi, rsi
jne .L1057
.L1115:
lea rsi, .LC18[rip]
mov rdi, rbp
call PySequence_Fast@PLT
test rax, rax
mov rbp, rax
je .L1144
mov r12, QWORD PTR 16[rax]
test r12, r12
jne .L1061
sub QWORD PTR [rax], 1
jne .L1103
mov rax, QWORD PTR 8[rax]
mov rdi, rbp
call [QWORD PTR 48[rax]]
.L1103:
mov rax, QWORD PTR _Py_NoneStruct[rip]
add rax, 1
sub rax, 1
test rax, rax
mov QWORD PTR _Py_NoneStruct[rip], rax
jne .L1105
mov rax, QWORD PTR _Py_NoneStruct[rip+8]
lea rdi, _Py_NoneStruct[rip]
call [QWORD PTR 48[rax]]
.L1105:
add QWORD PTR [rbx], 1
mov rax, rbx
.L1056:
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1057:
.cfi_restore_state
mov rdi, rsi
call PyObject_GetIter@PLT
test rax, rax
mov r12, rax
je .L1144
mov rax, QWORD PTR 8[rax]
mov esi, 8
mov rdi, rbp
mov r13, QWORD PTR 224[rax]
call PyObject_LengthHint@PLT
test rax, rax
js .L1083
mov rbp, QWORD PTR 16[rbx]
movabs rdx, 9223372036854775807
sub rdx, rax
cmp rbp, rdx
jle .L1146
.p2align 4,,10
.p2align 3
.L1086:
mov rdi, r12
call r13
test rax, rax
mov r15, rax
je .L1147
.L1087:
mov rbp, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
cmp rbp, rax
jge .L1090
mov rax, QWORD PTR 24[rbx]
mov rdi, r12
mov QWORD PTR [rax+rbp*8], r15
add rbp, 1
mov QWORD PTR 16[rbx], rbp
call r13
test rax, rax
mov r15, rax
jne .L1087
.L1147:
call PyErr_Occurred@PLT
test rax, rax
je .L1088
mov rdi, QWORD PTR PyExc_StopIteration[rip]
call PyErr_ExceptionMatches@PLT
test eax, eax
jne .L1148
.L1083:
sub QWORD PTR [r12], 1
jne .L1144
mov rax, QWORD PTR 8[r12]
mov rdi, r12
call [QWORD PTR 48[rax]]
.L1144:
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 56
xor eax, eax
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1061:
.cfi_restore_state
mov r15, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
lea r13, [r12+r15]
cmp r13, rax
jle .L1149
.L1064:
mov r14, r13
xor eax, eax
sar r14, 3
add r14, r13
cmp r13, 8
setg al
lea rax, 3[rax+rax*2]
add r14, rax
movabs rax, 1152921504606846975
cmp r14, rax
ja .L1071
test r13, r13
je .L1108
lea rsi, 0[0+r14*8]
.L1070:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L1071
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 16[rbx], r13
mov QWORD PTR 32[rbx], r14
.L1065:
mov r8, QWORD PTR 8[rbp]
lea rcx, 24[rbp]
test BYTE PTR 171[r8], 2
je .L1073
mov rcx, QWORD PTR 24[rbp]
.L1073:
sal r15, 3
test r12, r12
jle .L1074
lea rsi, [rax+r15]
xor edx, edx
.p2align 4,,10
.p2align 3
.L1075:
mov rax, QWORD PTR [rcx+rdx*8]
add QWORD PTR [rax], 1
mov QWORD PTR [rsi+rdx*8], rax
add rdx, 1
cmp r12, rdx
jne .L1075
.L1074:
sub QWORD PTR 0[rbp], 1
jne .L1103
mov rdi, rbp
call [QWORD PTR 48[r8]]
jmp .L1103
.p2align 4,,10
.p2align 3
.L1149:
sar rax
cmp r13, rax
jl .L1064
mov QWORD PTR 16[rbx], r13
mov rax, QWORD PTR 24[rbx]
jmp .L1065
.p2align 4,,10
.p2align 3
.L1090:
movabs rsi, 9223372036854775807
cmp rbp, rsi
je .L1150
lea rcx, 1[rbp]
cmp rax, rcx
jl .L1094
sar rax
cmp rcx, rax
jge .L1151
.L1094:
mov r8, rcx
xor eax, eax
sar r8, 3
add r8, rcx
cmp rcx, 8
setg al
lea rax, 3[rax+rax*2]
lea r14, [r8+rax]
movabs rax, 1152921504606846975
cmp r14, rax
ja .L1099
test rcx, rcx
je .L1112
lea rsi, 0[0+r14*8]
.L1098:
mov rdi, QWORD PTR 24[rbx]
mov QWORD PTR 8[rsp], rcx
call PyMem_Realloc@PLT
test rax, rax
je .L1099
mov rcx, QWORD PTR 8[rsp]
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 32[rbx], r14
mov QWORD PTR 16[rbx], rcx
.L1095:
mov rcx, QWORD PTR [r15]
mov QWORD PTR [rax+rbp*8], r15
test rcx, rcx
mov QWORD PTR [r15], rcx
jne .L1086
mov rax, QWORD PTR 8[r15]
mov rdi, r15
call [QWORD PTR 48[rax]]
jmp .L1086
.p2align 4,,10
.p2align 3
.L1112:
xor esi, esi
xor r14d, r14d
jmp .L1098
.p2align 4,,10
.p2align 3
.L1151:
mov QWORD PTR 16[rbx], rcx
mov rax, QWORD PTR 24[rbx]
jmp .L1095
.p2align 4,,10
.p2align 3
.L1108:
xor esi, esi
xor r14d, r14d
jmp .L1070
.p2align 4,,10
.p2align 3
.L1148:
call PyErr_Clear@PLT
.L1088:
mov rbp, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
cmp rbp, rax
jl .L1152
.L1100:
sub QWORD PTR [r12], 1
jne .L1103
mov rax, QWORD PTR 8[r12]
mov rdi, r12
call [QWORD PTR 48[rax]]
jmp .L1103
.L1071:
call PyErr_NoMemory@PLT
sub QWORD PTR 0[rbp], 1
jne .L1144
mov rax, QWORD PTR 8[rbp]
mov rdi, rbp
call [QWORD PTR 48[rax]]
xor eax, eax
jmp .L1056
.p2align 4,,10
.p2align 3
.L1146:
mov rdx, QWORD PTR 32[rbx]
add rax, rbp
cmp rax, rdx
jle .L1153
.L1079:
mov r14, rax
xor edx, edx
sar r14, 3
add r14, rax
cmp rax, 8
setg dl
lea rdx, 3[rdx+rdx*2]
add r14, rdx
movabs rdx, 1152921504606846975
cmp r14, rdx
ja .L1085
test rax, rax
je .L1110
lea rsi, 0[0+r14*8]
.L1084:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L1085
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 32[rbx], r14
.L1080:
mov QWORD PTR 16[rbx], rbp
jmp .L1086
.p2align 4,,10
.p2align 3
.L1153:
sar rdx
cmp rax, rdx
jl .L1079
jmp .L1080
.p2align 4,,10
.p2align 3
.L1110:
xor esi, esi
xor r14d, r14d
jmp .L1084
.p2align 4,,10
.p2align 3
.L1152:
sar rax
cmp rbp, rax
jge .L1100
mov r13, rbp
xor eax, eax
sar r13, 3
add r13, rbp
cmp rbp, 8
setg al
lea rax, 3[rax+rax*2]
add r13, rax
movabs rax, 1152921504606846975
cmp r13, rax
ja .L1085
test rbp, rbp
je .L1114
lea rsi, 0[0+r13*8]
.L1102:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L1085
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 16[rbx], rbp
mov QWORD PTR 32[rbx], r13
jmp .L1100
.L1114:
xor esi, esi
xor r13d, r13d
jmp .L1102
.L1099:
call PyErr_NoMemory@PLT
.L1093:
sub QWORD PTR [r15], 1
jne .L1083
mov rax, QWORD PTR 8[r15]
mov rdi, r15
call [QWORD PTR 48[rax]]
jmp .L1083
.L1150:
mov rdi, QWORD PTR PyExc_OverflowError[rip]
lea rsi, .LC13[rip]
call PyErr_SetString@PLT
jmp .L1093
.L1085:
call PyErr_NoMemory@PLT
jmp .L1083
.cfi_endproc
.LFE162:
.size list_inplace_concat, .-list_inplace_concat
.section .rodata.str1.8
.align 8
.LC20:
.string "list assignment index out of range"
.text
.p2align 4,,15
.type list_ass_item, @function
list_ass_item:
.LFB155:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
sub rsp, 120
.cfi_def_cfa_offset 176
mov rax, QWORD PTR fs:40
mov QWORD PTR 104[rsp], rax
xor eax, eax
test rsi, rsi
js .L1155
mov r14, rsi
mov rsi, QWORD PTR 16[rdi]
mov rcx, rdi
cmp rsi, r14
jle .L1155
test rdx, rdx
mov r13, QWORD PTR 24[rdi]
je .L1211
lea rax, 0[r13+r14*8]
add QWORD PTR [rdx], 1
mov rdi, QWORD PTR [rax]
mov QWORD PTR [rax], rdx
sub QWORD PTR [rdi], 1
jne .L1197
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
xor eax, eax
.L1154:
mov rbx, QWORD PTR 104[rsp]
xor rbx, QWORD PTR fs:40
jne .L1212
add rsp, 120
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1211:
.cfi_restore_state
lea rax, 1[r14]
cmp rax, r14
jl .L1189
cmp rsi, rax
cmovle rax, rsi
mov rbx, rax
mov r9, rax
sub rbx, r14
mov r15, rbx
neg r15
cmp rsi, rbx
jne .L1160
xor eax, eax
test r13, r13
je .L1154
mov QWORD PTR 16[rdi], 0
mov QWORD PTR 24[rdi], 0
lea rbx, -8[r13+rsi*8]
mov QWORD PTR 32[rdi], 0
lea rbp, -8[r13]
jmp .L1162
.p2align 4,,10
.p2align 3
.L1166:
mov rdi, QWORD PTR [rbx]
test rdi, rdi
je .L1164
sub QWORD PTR [rdi], 1
jne .L1164
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L1164:
sub rbx, 8
.L1162:
cmp rbp, rbx
jne .L1166
mov rdi, r13
call PyMem_Free@PLT
xor eax, eax
jmp .L1154
.p2align 4,,10
.p2align 3
.L1197:
xor eax, eax
jmp .L1154
.p2align 4,,10
.p2align 3
.L1189:
lea r12, 32[rsp]
mov rbp, r12
.L1159:
xor eax, eax
.L1175:
cmp rbp, r12
je .L1154
.L1169:
mov rdi, rbp
mov DWORD PTR [rsp], eax
call PyMem_Free@PLT
mov eax, DWORD PTR [rsp]
jmp .L1154
.p2align 4,,10
.p2align 3
.L1155:
mov rdi, QWORD PTR PyExc_IndexError[rip]
lea rsi, .LC20[rip]
call PyErr_SetString@PLT
mov eax, -1
jmp .L1154
.L1212:
call __stack_chk_fail@PLT
.L1160:
lea rdi, 0[0+rbx*8]
test rdi, rdi
mov QWORD PTR 16[rsp], rdi
je .L1191
cmp rdi, 64
jbe .L1192
mov QWORD PTR 8[rsp], rcx
mov QWORD PTR [rsp], rax
lea r12, 32[rsp]
call PyMem_Malloc@PLT
test rax, rax
mov rbp, rax
mov r9, QWORD PTR [rsp]
mov rcx, QWORD PTR 8[rsp]
je .L1213
.L1168:
mov rdx, QWORD PTR 16[rsp]
lea rsi, 0[r13+r14*8]
mov rdi, rbp
mov QWORD PTR 8[rsp], rcx
mov QWORD PTR [rsp], r9
call memcpy@PLT
mov r9, QWORD PTR [rsp]
mov rcx, QWORD PTR 8[rsp]
.L1167:
test r15, r15
js .L1214
je .L1172
mov rdx, QWORD PTR 16[rcx]
mov rax, QWORD PTR 32[rcx]
mov r13, rdx
sub r13, rbx
cmp r13, rax
jg .L1178
sar rax
cmp r13, rax
jge .L1215
.L1178:
mov r15, r13
xor eax, eax
sar r15, 3
add r15, r13
cmp r13, 8
setg al
lea rax, 3[rax+rax*2]
add r15, rax
movabs rax, 1152921504606846975
cmp r15, rax
ja .L1183
test r13, r13
je .L1196
lea rsi, 0[0+r15*8]
.L1182:
mov rdi, QWORD PTR 24[rcx]
mov QWORD PTR 16[rsp], r9
mov QWORD PTR 8[rsp], rdx
mov QWORD PTR [rsp], rcx
call PyMem_Realloc@PLT
test rax, rax
je .L1183
mov rcx, QWORD PTR [rsp]
mov r9, QWORD PTR 16[rsp]
mov rdx, QWORD PTR 8[rsp]
mov QWORD PTR 24[rcx], rax
mov QWORD PTR 16[rcx], r13
mov QWORD PTR 32[rcx], r15
.L1179:
sub rdx, r9
lea rsi, [rax+r9*8]
lea rdi, [rax+r14*8]
sal rdx, 3
call memmove@PLT
.L1172:
sub rbx, 1
js .L1159
.p2align 4,,10
.p2align 3
.L1187:
mov rdi, QWORD PTR 0[rbp+rbx*8]
test rdi, rdi
je .L1185
sub QWORD PTR [rdi], 1
jne .L1185
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L1185:
sub rbx, 1
cmp rbx, -1
jne .L1187
jmp .L1159
.p2align 4,,10
.p2align 3
.L1192:
lea r12, 32[rsp]
mov rbp, r12
jmp .L1168
.L1214:
mov rax, QWORD PTR 16[rcx]
lea r15, 0[r13+r9*8]
lea r14, 0[r13+r14*8]
mov QWORD PTR [rsp], rcx
mov rsi, r15
mov rdi, r14
sub rax, r9
lea rdx, 0[0+rax*8]
mov QWORD PTR 24[rsp], rdx
call memmove@PLT
mov rcx, QWORD PTR [rsp]
mov rdx, QWORD PTR 16[rcx]
mov rax, QWORD PTR 32[rcx]
sub rdx, rbx
cmp rdx, rax
jg .L1171
sar rax
cmp rdx, rax
jge .L1216
.L1171:
mov r8, rdx
xor eax, eax
sar r8, 3
add r8, rdx
cmp rdx, 8
setg al
lea rax, 3[rax+rax*2]
lea r13, [r8+rax]
movabs rax, 1152921504606846975
cmp r13, rax
ja .L1177
test rdx, rdx
je .L1194
lea rsi, 0[0+r13*8]
.L1176:
mov rdi, QWORD PTR 24[rcx]
mov QWORD PTR 8[rsp], rdx
mov QWORD PTR [rsp], rcx
call PyMem_Realloc@PLT
test rax, rax
je .L1177
mov rcx, QWORD PTR [rsp]
mov rdx, QWORD PTR 8[rsp]
mov QWORD PTR 24[rcx], rax
mov QWORD PTR 16[rcx], rdx
mov QWORD PTR 32[rcx], r13
jmp .L1172
.L1196:
xor esi, esi
xor r15d, r15d
jmp .L1182
.L1215:
mov QWORD PTR 16[rcx], r13
mov rax, QWORD PTR 24[rcx]
jmp .L1179
.L1194:
xor esi, esi
xor r13d, r13d
jmp .L1176
.L1216:
mov QWORD PTR 16[rcx], rdx
jmp .L1172
.L1177:
call PyErr_NoMemory@PLT
mov rdx, QWORD PTR 24[rsp]
mov rsi, r14
mov rdi, r15
call memmove@PLT
mov rdx, QWORD PTR 16[rsp]
mov rsi, rbp
mov rdi, r14
call memcpy@PLT
mov eax, -1
jmp .L1175
.L1213:
call PyErr_NoMemory@PLT
mov eax, -1
jmp .L1169
.L1183:
call PyErr_NoMemory@PLT
or eax, -1
jmp .L1175
.L1191:
lea r12, 32[rsp]
mov rbp, r12
jmp .L1167
.cfi_endproc
.LFE155:
.size list_ass_item, .-list_ass_item
.p2align 4,,15
.globl PyList_ClearFreeList
.type PyList_ClearFreeList, @function
PyList_ClearFreeList:
.LFB131:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 8
.cfi_def_cfa_offset 32
mov ebp, DWORD PTR numfree[rip]
test ebp, ebp
je .L1217
lea rbx, free_list[rip]
mov eax, ebp
.p2align 4,,10
.p2align 3
.L1219:
sub eax, 1
mov DWORD PTR numfree[rip], eax
cdqe
mov rdi, QWORD PTR [rbx+rax*8]
call PyObject_GC_Del@PLT
mov eax, DWORD PTR numfree[rip]
test eax, eax
jne .L1219
.L1217:
add rsp, 8
.cfi_def_cfa_offset 24
mov eax, ebp
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE131:
.size PyList_ClearFreeList, .-PyList_ClearFreeList
.p2align 4,,15
.globl PyList_Fini
.type PyList_Fini, @function
PyList_Fini:
.LFB132:
.cfi_startproc
mov eax, DWORD PTR numfree[rip]
test eax, eax
je .L1233
push rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
lea rbx, free_list[rip]
.p2align 4,,10
.p2align 3
.L1227:
sub eax, 1
mov DWORD PTR numfree[rip], eax
cdqe
mov rdi, QWORD PTR [rbx+rax*8]
call PyObject_GC_Del@PLT
mov eax, DWORD PTR numfree[rip]
test eax, eax
jne .L1227
pop rbx
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1233:
.cfi_restore 3
rep ret
.cfi_endproc
.LFE132:
.size PyList_Fini, .-PyList_Fini
.section .rodata.str1.1
.LC21:
.string "free PyListObject"
.text
.p2align 4,,15
.globl _PyList_DebugMallocStats
.type _PyList_DebugMallocStats, @function
_PyList_DebugMallocStats:
.LFB133:
.cfi_startproc
mov edx, DWORD PTR numfree[rip]
lea rsi, .LC21[rip]
mov ecx, 40
jmp _PyDebugAllocatorStats@PLT
.cfi_endproc
.LFE133:
.size _PyList_DebugMallocStats, .-_PyList_DebugMallocStats
.p2align 4,,15
.globl PyList_New
.type PyList_New, @function
PyList_New:
.LFB134:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 8
.cfi_def_cfa_offset 32
test rdi, rdi
js .L1253
mov eax, DWORD PTR numfree[rip]
mov rbp, rdi
test eax, eax
je .L1240
sub eax, 1
lea rdx, free_list[rip]
mov DWORD PTR numfree[rip], eax
cdqe
mov rbx, QWORD PTR [rdx+rax*8]
mov QWORD PTR [rbx], 1
.L1241:
test rbp, rbp
jne .L1242
mov QWORD PTR 24[rbx], 0
.L1243:
mov rax, QWORD PTR -8[rbx]
mov QWORD PTR 16[rbx], rbp
mov QWORD PTR 32[rbx], rbp
lea rbp, -24[rbx]
mov rdx, rax
sar rdx
cmp rdx, -2
jne .L1254
.L1245:
and eax, 1
or rax, -6
mov QWORD PTR -8[rbx], rax
mov rax, QWORD PTR _PyRuntime[rip+432]
mov rdx, QWORD PTR 8[rax]
mov QWORD PTR -24[rbx], rax
mov QWORD PTR -16[rbx], rdx
mov QWORD PTR [rdx], rbp
mov QWORD PTR 8[rax], rbp
.L1237:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
mov rax, rbx
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1254:
.cfi_restore_state
lea rdi, .LC3[rip]
call Py_FatalError@PLT
mov rax, QWORD PTR -8[rbx]
jmp .L1245
.p2align 4,,10
.p2align 3
.L1242:
mov esi, 8
mov rdi, rbp
call PyMem_Calloc@PLT
test rax, rax
mov QWORD PTR 24[rbx], rax
jne .L1243
sub QWORD PTR [rbx], 1
jne .L1244
mov rax, QWORD PTR 8[rbx]
mov rdi, rbx
call [QWORD PTR 48[rax]]
.L1244:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
jmp PyErr_NoMemory@PLT
.p2align 4,,10
.p2align 3
.L1240:
.cfi_restore_state
lea rdi, PyList_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
mov rbx, rax
jne .L1241
jmp .L1237
.p2align 4,,10
.p2align 3
.L1253:
lea rdi, .LC2[rip]
mov esi, 150
xor ebx, ebx
call _PyErr_BadInternalCall@PLT
jmp .L1237
.cfi_endproc
.LFE134:
.size PyList_New, .-PyList_New
.p2align 4,,15
.type list_repeat, @function
list_repeat:
.LFB150:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 24
.cfi_def_cfa_offset 48
test rsi, rsi
jg .L1285
.L1256:
mov eax, DWORD PTR numfree[rip]
test eax, eax
je .L1259
sub eax, 1
lea rdx, free_list[rip]
mov DWORD PTR numfree[rip], eax
cdqe
mov rax, QWORD PTR [rdx+rax*8]
mov QWORD PTR [rax], 1
.L1260:
mov rdx, QWORD PTR -8[rax]
mov QWORD PTR 24[rax], 0
lea rbx, -24[rax]
mov QWORD PTR 16[rax], 0
mov QWORD PTR 32[rax], 0
mov rcx, rdx
sar rcx
cmp rcx, -2
je .L1262
lea rdi, .LC3[rip]
mov QWORD PTR 8[rsp], rax
call Py_FatalError@PLT
mov rax, QWORD PTR 8[rsp]
mov rdx, QWORD PTR -8[rax]
.L1262:
and edx, 1
or rdx, -6
mov QWORD PTR -8[rax], rdx
mov rdx, QWORD PTR _PyRuntime[rip+432]
mov rcx, QWORD PTR 8[rdx]
mov QWORD PTR -24[rax], rdx
mov QWORD PTR -16[rax], rcx
mov QWORD PTR [rcx], rbx
mov QWORD PTR 8[rdx], rbx
.L1255:
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1285:
.cfi_restore_state
movabs rax, 9223372036854775807
mov rbp, rdi
mov rdi, QWORD PTR 16[rdi]
cqo
mov rbx, rsi
idiv rsi
cmp rdi, rax
jg .L1286
imul rdi, rsi
test rdi, rdi
je .L1256
call PyList_New
test rax, rax
je .L1263
mov r8, QWORD PTR 16[rbp]
mov rdi, QWORD PTR 24[rax]
mov r9, QWORD PTR 24[rbp]
cmp r8, 1
je .L1264
test r8, r8
jle .L1255
lea r10, 0[0+r8*8]
xor esi, esi
.p2align 4,,10
.p2align 3
.L1266:
xor edx, edx
.p2align 4,,10
.p2align 3
.L1271:
mov rcx, QWORD PTR [r9+rdx*8]
mov QWORD PTR [rdi+rdx*8], rcx
add rdx, 1
add QWORD PTR [rcx], 1
cmp r8, rdx
jne .L1271
add rsi, 1
add rdi, r10
cmp rbx, rsi
jne .L1266
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1259:
.cfi_restore_state
lea rdi, PyList_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
jne .L1260
.L1263:
xor eax, eax
jmp .L1255
.p2align 4,,10
.p2align 3
.L1264:
mov rsi, QWORD PTR [r9]
mov rdx, rdi
lea r11, -1[rbx]
shr rdx, 3
and edx, 1
cmp r11, 4
mov rbp, QWORD PTR [rsi]
jbe .L1272
test rdx, rdx
je .L1273
mov QWORD PTR [rdi], rsi
.L1268:
mov QWORD PTR 8[rsp], rsi
mov r10, rbx
lea rcx, [rdi+rdx*8]
movq xmm0, QWORD PTR 8[rsp]
sub r10, rdx
punpcklqdq xmm0, xmm0
mov r9, r10
shr r9
xor edx, edx
.p2align 4,,10
.p2align 3
.L1269:
add rdx, 1
add rcx, 16
movaps XMMWORD PTR -16[rcx], xmm0
cmp r9, rdx
ja .L1269
mov rdx, r10
and rdx, -2
add r8, rdx
cmp r10, rdx
je .L1270
.L1267:
lea rcx, 1[r8]
lea rdx, 0[0+r8*8]
mov QWORD PTR [rdi+r8*8], rsi
cmp rbx, rcx
jle .L1270
lea rcx, 2[r8]
mov QWORD PTR 8[rdi+rdx], rsi
cmp rbx, rcx
jle .L1270
lea rcx, 3[r8]
mov QWORD PTR 16[rdi+rdx], rsi
cmp rbx, rcx
jle .L1270
add r8, 4
mov QWORD PTR 24[rdi+rdx], rsi
cmp rbx, r8
jle .L1270
mov QWORD PTR 32[rdi+rdx], rsi
.L1270:
lea rdx, 1[rbp+r11]
mov QWORD PTR [rsi], rdx
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1286:
.cfi_restore_state
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
jmp PyErr_NoMemory@PLT
.L1273:
.cfi_restore_state
xor r8d, r8d
jmp .L1268
.L1272:
xor r8d, r8d
jmp .L1267
.cfi_endproc
.LFE150:
.size list_repeat, .-list_repeat
.section .rodata.str1.8
.align 8
.LC22:
.string "can only concatenate list (not \"%.200s\") to list"
.text
.p2align 4,,15
.type list_concat, @function
list_concat:
.LFB149:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 8
.cfi_def_cfa_offset 32
mov rax, QWORD PTR 8[rsi]
test BYTE PTR 171[rax], 2
je .L1300
mov rdx, QWORD PTR 16[rsi]
mov rbp, rdi
mov rdi, QWORD PTR 16[rdi]
movabs rax, 9223372036854775807
mov rbx, rsi
sub rax, rdx
cmp rdi, rax
jg .L1301
add rdi, rdx
call PyList_New
test rax, rax
je .L1287
mov rdi, QWORD PTR 16[rbp]
mov rsi, QWORD PTR 24[rbp]
mov r8, QWORD PTR 24[rax]
test rdi, rdi
jle .L1291
xor edx, edx
.p2align 4,,10
.p2align 3
.L1292:
mov rcx, QWORD PTR [rsi+rdx*8]
add QWORD PTR [rcx], 1
mov QWORD PTR [r8+rdx*8], rcx
add rdx, 1
cmp rdx, rdi
jne .L1292
.L1291:
mov rsi, QWORD PTR 16[rbx]
sal rdi, 3
mov r9, QWORD PTR 24[rbx]
test rsi, rsi
jle .L1287
xor edx, edx
add rdi, r8
.p2align 4,,10
.p2align 3
.L1293:
mov rcx, QWORD PTR [r9+rdx*8]
add QWORD PTR [rcx], 1
mov QWORD PTR [rdi+rdx*8], rcx
add rdx, 1
cmp rdx, rsi
jne .L1293
.L1287:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1301:
.cfi_restore_state
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
jmp PyErr_NoMemory@PLT
.p2align 4,,10
.p2align 3
.L1300:
.cfi_restore_state
mov rdx, QWORD PTR 24[rax]
mov rdi, QWORD PTR PyExc_TypeError[rip]
lea rsi, .LC22[rip]
xor eax, eax
call PyErr_Format@PLT
xor eax, eax
jmp .L1287
.cfi_endproc
.LFE149:
.size list_concat, .-list_concat
.section .rodata.str1.1
.LC23:
.string "can only assign an iterable"
.text
.p2align 4,,15
.type list_ass_slice, @function
list_ass_slice:
.LFB152:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
mov r15, rsi
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
mov r12, rdx
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov rbp, rdi
mov rbx, rcx
sub rsp, 168
.cfi_def_cfa_offset 224
mov rax, QWORD PTR fs:40
mov QWORD PTR 152[rsp], rax
xor eax, eax
test rcx, rcx
je .L1353
cmp rcx, rdi
je .L1387
lea rsi, .LC23[rip]
mov rdi, rcx
call PySequence_Fast@PLT
test rax, rax
mov rbx, rax
je .L1309
mov r13, QWORD PTR 16[rax]
mov rax, QWORD PTR 8[rax]
lea rcx, 24[rbx]
test BYTE PTR 171[rax], 2
jne .L1388
.L1303:
xor r14d, r14d
test r15, r15
mov rax, QWORD PTR 16[rbp]
js .L1311
cmp r15, rax
mov r14, r15
cmovg r14, rax
.L1311:
cmp r14, r12
jg .L1312
cmp r12, rax
mov r8, r13
cmovg r12, rax
mov rsi, r12
sub rsi, r14
sub r8, rsi
mov QWORD PTR 8[rsp], rsi
add rax, r8
jne .L1313
.L1350:
test rbx, rbx
je .L1315
sub QWORD PTR [rbx], 1
jne .L1315
mov rax, QWORD PTR 8[rbx]
mov rdi, rbx
call [QWORD PTR 48[rax]]
.L1315:
mov r12, QWORD PTR 24[rbp]
xor r13d, r13d
test r12, r12
je .L1302
mov rbx, QWORD PTR 16[rbp]
mov QWORD PTR 24[rbp], 0
mov QWORD PTR 16[rbp], 0
mov QWORD PTR 32[rbp], 0
.L1317:
sub rbx, 1
js .L1389
.L1321:
mov rdi, QWORD PTR [r12+rbx*8]
test rdi, rdi
je .L1317
sub QWORD PTR [rdi], 1
jne .L1317
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
sub rbx, 1
jns .L1321
.L1389:
mov rdi, r12
xor r13d, r13d
call PyMem_Free@PLT
.L1302:
mov rcx, QWORD PTR 152[rsp]
xor rcx, QWORD PTR fs:40
mov eax, r13d
jne .L1390
add rsp, 168
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1387:
.cfi_restore_state
mov rbx, QWORD PTR 16[rdi]
mov r13d, 0
test rbx, rbx
cmovle r13, rbx
sub rbx, r13
mov rdi, rbx
call PyList_New
test rax, rax
mov r14, rax
je .L1309
sal r13, 3
test rbx, rbx
mov rcx, QWORD PTR 24[rbp]
mov rdx, QWORD PTR 24[rax]
jle .L1307
lea rsi, [rcx+r13]
xor eax, eax
.p2align 4,,10
.p2align 3
.L1308:
mov rcx, QWORD PTR [rsi+rax*8]
add QWORD PTR [rcx], 1
mov QWORD PTR [rdx+rax*8], rcx
add rax, 1
cmp rbx, rax
jne .L1308
.L1307:
mov rcx, r14
mov rdx, r12
mov rsi, r15
mov rdi, rbp
call list_ass_slice
sub QWORD PTR [r14], 1
mov r13d, eax
jne .L1302
mov rax, QWORD PTR 8[r14]
mov rdi, r14
call [QWORD PTR 48[rax]]
jmp .L1302
.p2align 4,,10
.p2align 3
.L1312:
add rax, r13
je .L1350
lea r15, 80[rsp]
mov r9, QWORD PTR 24[rbp]
mov r8, r13
mov r12, r14
xor r10d, r10d
mov QWORD PTR 8[rsp], 0
mov QWORD PTR 16[rsp], r15
jmp .L1322
.p2align 4,,10
.p2align 3
.L1353:
xor r13d, r13d
xor ecx, ecx
jmp .L1303
.p2align 4,,10
.p2align 3
.L1388:
mov rcx, QWORD PTR 24[rbx]
jmp .L1303
.p2align 4,,10
.p2align 3
.L1313:
lea r10, 0[0+rsi*8]
mov r9, QWORD PTR 24[rbp]
test r10, r10
je .L1356
cmp r10, 64
jbe .L1357
mov rdi, r10
mov QWORD PTR 48[rsp], r8
mov QWORD PTR 40[rsp], rcx
mov QWORD PTR 32[rsp], r9
mov QWORD PTR 24[rsp], r10
call PyMem_Malloc@PLT
mov r15, rax
lea rax, 80[rsp]
mov r10, QWORD PTR 24[rsp]
test r15, r15
mov r9, QWORD PTR 32[rsp]
mov rcx, QWORD PTR 40[rsp]
mov QWORD PTR 16[rsp], rax
mov r8, QWORD PTR 48[rsp]
je .L1391
.L1323:
lea rsi, [r9+r14*8]
mov rdx, r10
mov rdi, r15
mov QWORD PTR 48[rsp], r8
mov QWORD PTR 40[rsp], rcx
mov QWORD PTR 32[rsp], r9
mov QWORD PTR 24[rsp], r10
call memcpy@PLT
mov r10, QWORD PTR 24[rsp]
mov r9, QWORD PTR 32[rsp]
mov rcx, QWORD PTR 40[rsp]
mov r8, QWORD PTR 48[rsp]
.L1322:
test r8, r8
js .L1392
jne .L1393
.L1333:
test r13, r13
jle .L1340
lea rsi, [r9+r14*8]
xor eax, eax
.p2align 4,,10
.p2align 3
.L1341:
mov rdx, QWORD PTR [rcx+rax*8]
test rdx, rdx
je .L1342
add QWORD PTR [rdx], 1
mov QWORD PTR [rsi+rax*8], rdx
add rax, 1
cmp r13, rax
jne .L1341
.L1340:
mov rbp, QWORD PTR 8[rsp]
sub rbp, 1
js .L1344
.p2align 4,,10
.p2align 3
.L1348:
mov rdi, QWORD PTR [r15+rbp*8]
test rdi, rdi
je .L1346
sub QWORD PTR [rdi], 1
jne .L1346
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L1346:
sub rbp, 1
cmp rbp, -1
jne .L1348
.L1344:
xor r13d, r13d
.L1330:
cmp r15, QWORD PTR 16[rsp]
je .L1349
.L1324:
mov rdi, r15
call PyMem_Free@PLT
.L1349:
test rbx, rbx
je .L1302
sub QWORD PTR [rbx], 1
jne .L1302
mov rax, QWORD PTR 8[rbx]
mov rdi, rbx
call [QWORD PTR 48[rax]]
jmp .L1302
.p2align 4,,10
.p2align 3
.L1342:
mov QWORD PTR [rsi+rax*8], 0
add rax, 1
cmp r13, rax
jne .L1341
jmp .L1340
.p2align 4,,10
.p2align 3
.L1309:
mov r13d, -1
jmp .L1302
.p2align 4,,10
.p2align 3
.L1393:
mov rdx, QWORD PTR 16[rbp]
mov rax, QWORD PTR 32[rbp]
lea r10, [rdx+r8]
cmp r10, rax
jg .L1334
sar rax
cmp r10, rax
jge .L1394
.L1334:
mov r11, r10
xor eax, eax
sar r11, 3
add r11, r10
cmp r10, 8
setg al
lea rax, 3[rax+rax*2]
add r11, rax
movabs rax, 1152921504606846975
cmp r11, rax
ja .L1339
test r10, r10
je .L1361
lea rsi, 0[0+r11*8]
.L1338:
mov rdi, QWORD PTR 24[rbp]
mov QWORD PTR 56[rsp], r11
mov QWORD PTR 48[rsp], rdx
mov QWORD PTR 40[rsp], r8
mov QWORD PTR 32[rsp], rcx
mov QWORD PTR 24[rsp], r10
call PyMem_Realloc@PLT
test rax, rax
mov r9, rax
je .L1339
mov r10, QWORD PTR 24[rsp]
mov r11, QWORD PTR 56[rsp]
mov rdx, QWORD PTR 48[rsp]
mov r8, QWORD PTR 40[rsp]
mov rcx, QWORD PTR 32[rsp]
mov QWORD PTR 24[rbp], rax
mov QWORD PTR 16[rbp], r10
mov QWORD PTR 32[rbp], r11
.L1335:
lea rsi, [r9+r12*8]
sub rdx, r12
add r12, r8
lea rdi, [r9+r12*8]
sal rdx, 3
mov QWORD PTR 32[rsp], rcx
mov QWORD PTR 24[rsp], r9
call memmove@PLT
mov rcx, QWORD PTR 32[rsp]
mov r9, QWORD PTR 24[rsp]
jmp .L1333
.p2align 4,,10
.p2align 3
.L1357:
lea r15, 80[rsp]
mov QWORD PTR 16[rsp], r15
jmp .L1323
.p2align 4,,10
.p2align 3
.L1392:
mov rax, QWORD PTR 16[rbp]
lea rsi, [r9+r12*8]
mov QWORD PTR 48[rsp], r10
mov QWORD PTR 40[rsp], rcx
mov QWORD PTR 32[rsp], r8
mov QWORD PTR 24[rsp], r9
mov QWORD PTR 64[rsp], rsi
sub rax, r12
add r12, r8
lea rdx, 0[0+rax*8]
lea rax, [r9+r12*8]
mov rdi, rax
mov QWORD PTR 56[rsp], rdx
mov QWORD PTR 72[rsp], rax
call memmove@PLT
mov r8, QWORD PTR 32[rsp]
add r8, QWORD PTR 16[rbp]
mov rax, QWORD PTR 32[rbp]
mov r9, QWORD PTR 24[rsp]
mov rcx, QWORD PTR 40[rsp]
mov r10, QWORD PTR 48[rsp]
cmp r8, rax
mov r12, r8
jg .L1326
sar rax
cmp r8, rax
jl .L1326
mov QWORD PTR 16[rbp], r8
mov r9, QWORD PTR 24[rbp]
jmp .L1333
.p2align 4,,10
.p2align 3
.L1326:
mov rdx, r12
xor eax, eax
sar rdx, 3
add rdx, r12
cmp r12, 8
setg al
lea rax, 3[rax+rax*2]
add rdx, rax
movabs rax, 1152921504606846975
cmp rdx, rax
ja .L1332
test r12, r12
je .L1359
lea rsi, 0[0+rdx*8]
.L1331:
mov rdi, QWORD PTR 24[rbp]
mov QWORD PTR 40[rsp], r10
mov QWORD PTR 24[rsp], r9
mov QWORD PTR 48[rsp], rdx
mov QWORD PTR 32[rsp], rcx
call PyMem_Realloc@PLT
test rax, rax
mov r9, QWORD PTR 24[rsp]
mov r10, QWORD PTR 40[rsp]
je .L1332
mov rdx, QWORD PTR 48[rsp]
mov QWORD PTR 24[rbp], rax
mov r9, rax
mov QWORD PTR 16[rbp], r12
mov rcx, QWORD PTR 32[rsp]
mov QWORD PTR 32[rbp], rdx
jmp .L1333
.p2align 4,,10
.p2align 3
.L1361:
xor esi, esi
xor r11d, r11d
jmp .L1338
.p2align 4,,10
.p2align 3
.L1394:
mov QWORD PTR 16[rbp], r10
mov r9, QWORD PTR 24[rbp]
jmp .L1335
.p2align 4,,10
.p2align 3
.L1359:
xor esi, esi
xor edx, edx
jmp .L1331
.L1332:
mov QWORD PTR 24[rsp], r10
mov QWORD PTR 8[rsp], r9
mov r13d, -1
call PyErr_NoMemory@PLT
mov rdx, QWORD PTR 56[rsp]
mov rsi, QWORD PTR 72[rsp]
mov rdi, QWORD PTR 64[rsp]
call memmove@PLT
mov r9, QWORD PTR 8[rsp]
mov r10, QWORD PTR 24[rsp]
mov rsi, r15
lea rdi, [r9+r14*8]
mov rdx, r10
call memcpy@PLT
jmp .L1330
.p2align 4,,10
.p2align 3
.L1391:
call PyErr_NoMemory@PLT
mov r13d, -1
jmp .L1324
.L1339:
call PyErr_NoMemory@PLT
mov r13d, -1
jmp .L1330
.L1390:
call __stack_chk_fail@PLT
.L1356:
lea r15, 80[rsp]
mov QWORD PTR 16[rsp], r15
jmp .L1322
.cfi_endproc
.LFE152:
.size list_ass_slice, .-list_ass_slice
.section .rodata.str1.1
.LC24:
.string "list.remove(x): x not in list"
.text
.p2align 4,,15
.type list_remove, @function
list_remove:
.LFB192:
.cfi_startproc
push r12
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
push rbp
.cfi_def_cfa_offset 24
.cfi_offset 6, -24
push rbx
.cfi_def_cfa_offset 32
.cfi_offset 3, -32
cmp QWORD PTR 16[rdi], 0
jle .L1396
mov rbp, rdi
mov r12, rsi
xor ebx, ebx
jmp .L1401
.p2align 4,,10
.p2align 3
.L1397:
jne .L1404
add rbx, 1
cmp QWORD PTR 16[rbp], rbx
jle .L1396
.L1401:
mov rax, QWORD PTR 24[rbp]
mov edx, 2
mov rsi, r12
mov rdi, QWORD PTR [rax+rbx*8]
call PyObject_RichCompareBool@PLT
cmp eax, 0
jle .L1397
lea rdx, 1[rbx]
xor ecx, ecx
mov rsi, rbx
mov rdi, rbp
call list_ass_slice
test eax, eax
jne .L1404
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 24
lea rax, _Py_NoneStruct[rip]
add QWORD PTR _Py_NoneStruct[rip], 1
pop rbp
.cfi_def_cfa_offset 16
pop r12
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1396:
.cfi_restore_state
mov rdi, QWORD PTR PyExc_ValueError[rip]
lea rsi, .LC24[rip]
call PyErr_SetString@PLT
.L1404:
pop rbx
.cfi_def_cfa_offset 24
xor eax, eax
pop rbp
.cfi_def_cfa_offset 16
pop r12
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE192:
.size list_remove, .-list_remove
.section .rodata.str1.8
.align 8
.LC25:
.string "must assign iterable to extended slice"
.align 8
.LC26:
.string "attempt to assign sequence of size %zd to extended slice of size %zd"
.align 8
.LC27:
.string "list indices must be integers or slices, not %.200s"
.text
.p2align 4,,15
.type list_ass_subscript, @function
list_ass_subscript:
.LFB198:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov rbp, rdx
mov rbx, rdi
mov rdi, rsi
sub rsp, 56
.cfi_def_cfa_offset 112
mov rdx, QWORD PTR 8[rsi]
mov rax, QWORD PTR fs:40
mov QWORD PTR 40[rsp], rax
xor eax, eax
mov rax, QWORD PTR 96[rdx]
test rax, rax
je .L1406
cmp QWORD PTR 264[rax], 0
je .L1406
mov rsi, QWORD PTR PyExc_IndexError[rip]
call PyNumber_AsSsize_t@PLT
cmp rax, -1
mov r12, rax
je .L1503
test r12, r12
mov rax, QWORD PTR 16[rbx]
js .L1409
.L1410:
cmp r12, rax
jge .L1411
test rbp, rbp
je .L1504
mov rax, QWORD PTR 24[rbx]
add QWORD PTR 0[rbp], 1
lea rax, [rax+r12*8]
mov rdi, QWORD PTR [rax]
mov QWORD PTR [rax], rbp
sub QWORD PTR [rdi], 1
jne .L1462
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
xor eax, eax
.L1405:
mov rbx, QWORD PTR 40[rsp]
xor rbx, QWORD PTR fs:40
jne .L1505
add rsp, 56
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1406:
.cfi_restore_state
lea rax, PySlice_Type[rip]
cmp rdx, rax
jne .L1413
lea r13, 24[rsp]
lea r12, 16[rsp]
lea rcx, 32[rsp]
mov rdx, r13
mov rsi, r12
call PySlice_Unpack@PLT
test eax, eax
js .L1499
mov rdi, QWORD PTR 16[rbx]
mov rcx, QWORD PTR 32[rsp]
mov rsi, r12
mov rdx, r13
call PySlice_AdjustIndices@PLT
mov r12, rax
mov rax, QWORD PTR 32[rsp]
cmp rax, 1
je .L1506
test rax, rax
js .L1507
je .L1419
mov rdx, QWORD PTR 16[rsp]
cmp rdx, QWORD PTR 24[rsp]
jle .L1419
.L1418:
mov QWORD PTR 24[rsp], rdx
.L1419:
test rbp, rbp
je .L1508
cmp rbx, rbp
je .L1509
lea rsi, .LC25[rip]
mov rdi, rbp
call PySequence_Fast@PLT
test rax, rax
mov r13, rax
je .L1499
.L1447:
mov rdx, QWORD PTR 16[r13]
cmp rdx, r12
je .L1449
mov rdi, QWORD PTR PyExc_ValueError[rip]
lea rsi, .LC26[rip]
xor eax, eax
mov rcx, r12
call PyErr_Format@PLT
sub QWORD PTR 0[r13], 1
jne .L1499
mov rax, QWORD PTR 8[r13]
mov rdi, r13
call [QWORD PTR 48[rax]]
mov eax, -1
jmp .L1405
.L1512:
sub QWORD PTR 0[r13], 1
jne .L1453
mov rax, QWORD PTR 8[r13]
mov rdi, r13
call [QWORD PTR 48[rax]]
.L1453:
call PyErr_NoMemory@PLT
.p2align 4,,10
.p2align 3
.L1499:
mov eax, -1
jmp .L1405
.p2align 4,,10
.p2align 3
.L1507:
mov rdx, QWORD PTR 16[rsp]
cmp rdx, QWORD PTR 24[rsp]
jl .L1418
jmp .L1419
.p2align 4,,10
.p2align 3
.L1503:
call PyErr_Occurred@PLT
mov rdx, rax
mov eax, r12d
test rdx, rdx
jne .L1405
mov rax, QWORD PTR 16[rbx]
.L1409:
add r12, rax
jns .L1410
.L1411:
mov rdi, QWORD PTR PyExc_IndexError[rip]
lea rsi, .LC20[rip]
call PyErr_SetString@PLT
mov eax, -1
jmp .L1405
.p2align 4,,10
.p2align 3
.L1508:
test r12, r12
jle .L1462
test rax, rax
jns .L1422
mov rcx, QWORD PTR 16[rsp]
lea rdx, 1[rcx]
mov QWORD PTR 24[rsp], rdx
lea rdx, -1[r12]
imul rdx, rax
neg rax
mov QWORD PTR 32[rsp], rax
add rdx, rcx
mov QWORD PTR 16[rsp], rdx
.L1422:
lea r14, 0[0+r12*8]
mov rdi, r14
call PyMem_Malloc@PLT
test rax, rax
mov r13, rax
je .L1453
mov rbp, QWORD PTR 16[rsp]
xor r15d, r15d
cmp QWORD PTR 24[rsp], rbp
mov rdx, QWORD PTR 32[rsp]
mov rcx, rdx
jbe .L1425
.p2align 4,,10
.p2align 3
.L1424:
mov rcx, QWORD PTR 24[rbx]
lea rdi, [rdx+rbp]
sub rdx, 1
lea rsi, 0[0+rbp*8]
mov rax, QWORD PTR [rcx+rbp*8]
mov QWORD PTR 0[r13+r15*8], rax
mov rax, QWORD PTR 16[rbx]
cmp rdi, rax
jb .L1427
lea rdx, -1[rax]
sub rdx, rbp
.L1427:
mov rax, rbp
lea rsi, 8[rcx+rsi]
sal rdx, 3
sub rax, r15
add r15, 1
lea rdi, [rcx+rax*8]
call memmove@PLT
mov rcx, QWORD PTR 32[rsp]
add rbp, rcx
cmp QWORD PTR 24[rsp], rbp
mov rdx, rcx
ja .L1424
mov rbp, QWORD PTR 16[rsp]
.L1425:
imul rcx, r12
mov rax, QWORD PTR 16[rbx]
add rbp, rcx
cmp rax, rbp
ja .L1510
.L1428:
sub rax, r12
mov rbp, rax
mov QWORD PTR 16[rbx], rax
mov rax, QWORD PTR 32[rbx]
cmp rbp, rax
jg .L1429
sar rax
mov rdx, rax
xor eax, eax
cmp rbp, rdx
jge .L1430
.L1429:
mov r12, rbp
xor eax, eax
sar r12, 3
add r12, rbp
cmp rbp, 8
setg al
lea rax, 3[rax+rax*2]
add r12, rax
movabs rax, 1152921504606846975
cmp r12, rax
ja .L1434
test rbp, rbp
je .L1466
lea rsi, 0[0+r12*8]
.L1433:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L1434
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 16[rbx], rbp
xor eax, eax
mov QWORD PTR 32[rbx], r12
.L1430:
mov rbx, r13
add r14, r13
.p2align 4,,10
.p2align 3
.L1436:
mov rdi, QWORD PTR [rbx]
sub QWORD PTR [rdi], 1
jne .L1435
mov rdx, QWORD PTR 8[rdi]
mov DWORD PTR 8[rsp], eax
call [QWORD PTR 48[rdx]]
mov eax, DWORD PTR 8[rsp]
.L1435:
add rbx, 8
cmp r14, rbx
jne .L1436
mov rdi, r13
mov DWORD PTR 8[rsp], eax
call PyMem_Free@PLT
mov eax, DWORD PTR 8[rsp]
jmp .L1405
.p2align 4,,10
.p2align 3
.L1462:
xor eax, eax
jmp .L1405
.p2align 4,,10
.p2align 3
.L1449:
test r12, r12
jne .L1450
.L1502:
sub QWORD PTR 0[r13], 1
jne .L1462
mov rax, QWORD PTR 8[r13]
mov rdi, r13
call [QWORD PTR 48[rax]]
xor eax, eax
jmp .L1405
.p2align 4,,10
.p2align 3
.L1506:
mov rdx, QWORD PTR 24[rsp]
mov rsi, QWORD PTR 16[rsp]
mov rcx, rbp
mov rdi, rbx
call list_ass_slice
jmp .L1405
.p2align 4,,10
.p2align 3
.L1504:
lea rdx, 1[r12]
xor ecx, ecx
mov rsi, r12
mov rdi, rbx
call list_ass_slice
jmp .L1405
.p2align 4,,10
.p2align 3
.L1509:
mov r14, QWORD PTR 16[rbx]
mov r15d, 0
test r14, r14
cmovle r15, r14
sub r14, r15
js .L1511
mov eax, DWORD PTR numfree[rip]
test eax, eax
je .L1439
sub eax, 1
lea rdx, free_list[rip]
mov DWORD PTR numfree[rip], eax
cdqe
mov r13, QWORD PTR [rdx+rax*8]
mov QWORD PTR 0[r13], 1
.L1440:
test r14, r14
jne .L1442
mov QWORD PTR 24[r13], 0
xor eax, eax
.L1443:
mov rdx, QWORD PTR -8[r13]
mov QWORD PTR 16[r13], r14
lea rsi, -24[r13]
mov QWORD PTR 32[r13], r14
mov rcx, rdx
sar rcx
cmp rcx, -2
je .L1446
lea rdi, .LC3[rip]
mov QWORD PTR 8[rsp], rsi
call Py_FatalError@PLT
mov rdx, QWORD PTR -8[r13]
mov rax, QWORD PTR 24[r13]
mov rsi, QWORD PTR 8[rsp]
.L1446:
and edx, 1
sal r15, 3
or rdx, -6
test r14, r14
mov QWORD PTR -8[r13], rdx
mov rdx, QWORD PTR _PyRuntime[rip+432]
mov rcx, QWORD PTR 8[rdx]
mov QWORD PTR -24[r13], rdx
mov QWORD PTR -16[r13], rcx
mov QWORD PTR [rcx], rsi
mov QWORD PTR 8[rdx], rsi
mov rcx, QWORD PTR 24[rbp]
je .L1447
.L1445:
lea rsi, [rcx+r15]
xor edx, edx
.p2align 4,,10
.p2align 3
.L1448:
mov rcx, QWORD PTR [rsi+rdx*8]
add QWORD PTR [rcx], 1
mov QWORD PTR [rax+rdx*8], rcx
add rdx, 1
cmp r14, rdx
jne .L1448
jmp .L1447
.p2align 4,,10
.p2align 3
.L1450:
lea r14, 0[0+r12*8]
mov rdi, r14
call PyMem_Malloc@PLT
test rax, rax
mov rbp, rax
je .L1512
mov rax, QWORD PTR 8[r13]
mov rdx, QWORD PTR 24[rbx]
lea rdi, 24[r13]
test BYTE PTR 171[rax], 2
je .L1455
mov rdi, QWORD PTR 24[r13]
.L1455:
test r12, r12
mov rcx, QWORD PTR 16[rsp]
jle .L1456
mov rax, QWORD PTR 32[rsp]
lea rcx, [rdx+rcx*8]
xor edx, edx
sal rax, 3
.p2align 4,,10
.p2align 3
.L1457:
mov rsi, QWORD PTR [rcx]
mov QWORD PTR 0[rbp+rdx*8], rsi
mov rsi, QWORD PTR [rdi+rdx*8]
add rdx, 1
add QWORD PTR [rsi], 1
mov QWORD PTR [rcx], rsi
add rcx, rax
cmp r12, rdx
jne .L1457
mov rbx, rbp
add r14, rbp
.p2align 4,,10
.p2align 3
.L1459:
mov rdi, QWORD PTR [rbx]
sub QWORD PTR [rdi], 1
jne .L1458
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L1458:
add rbx, 8
cmp r14, rbx
jne .L1459
.L1456:
mov rdi, rbp
call PyMem_Free@PLT
jmp .L1502
.L1511:
lea rdi, .LC2[rip]
mov esi, 150
call _PyErr_BadInternalCall@PLT
mov eax, -1
jmp .L1405
.p2align 4,,10
.p2align 3
.L1413:
mov rdx, QWORD PTR 24[rdx]
mov rdi, QWORD PTR PyExc_TypeError[rip]
lea rsi, .LC27[rip]
xor eax, eax
call PyErr_Format@PLT
mov eax, -1
jmp .L1405
.p2align 4,,10
.p2align 3
.L1442:
mov esi, 8
mov rdi, r14
call PyMem_Calloc@PLT
test rax, rax
mov QWORD PTR 24[r13], rax
jne .L1443
sub QWORD PTR 0[r13], 1
jne .L1444
mov rax, QWORD PTR 8[r13]
mov rdi, r13
call [QWORD PTR 48[rax]]
.L1444:
call PyErr_NoMemory@PLT
test rax, rax
mov r13, rax
je .L1499
mov rax, QWORD PTR 24[rax]
mov rcx, QWORD PTR 24[rbp]
sal r15, 3
jmp .L1445
.p2align 4,,10
.p2align 3
.L1439:
lea rdi, PyList_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
mov r13, rax
jne .L1440
jmp .L1499
.p2align 4,,10
.p2align 3
.L1466:
xor esi, esi
xor r12d, r12d
jmp .L1433
.p2align 4,,10
.p2align 3
.L1510:
mov rcx, QWORD PTR 24[rbx]
sub rax, rbp
lea rdx, 0[0+rax*8]
lea rsi, [rcx+rbp*8]
sub rbp, r12
lea rdi, [rcx+rbp*8]
call memmove@PLT
mov rax, QWORD PTR 16[rbx]
jmp .L1428
.L1434:
call PyErr_NoMemory@PLT
or eax, -1
jmp .L1430
.L1505:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE198:
.size list_ass_subscript, .-list_ass_subscript
.p2align 4,,15
.type list_subscript, @function
list_subscript:
.LFB197:
.cfi_startproc
push r12
.cfi_def_cfa_offset 16
.cfi_offset 12, -16
push rbp
.cfi_def_cfa_offset 24
.cfi_offset 6, -24
push rbx
.cfi_def_cfa_offset 32
.cfi_offset 3, -32
mov rbx, rdi
mov rdi, rsi
sub rsp, 48
.cfi_def_cfa_offset 80
mov rax, QWORD PTR fs:40
mov QWORD PTR 40[rsp], rax
xor eax, eax
mov rax, QWORD PTR 8[rsi]
mov rdx, QWORD PTR 96[rax]
test rdx, rdx
je .L1514
cmp QWORD PTR 264[rdx], 0
je .L1514
mov rsi, QWORD PTR PyExc_IndexError[rip]
call PyNumber_AsSsize_t@PLT
cmp rax, -1
mov rbp, rax
je .L1564
test rbp, rbp
mov rax, QWORD PTR 16[rbx]
js .L1517
.L1519:
cmp rbp, rax
jl .L1565
mov rax, QWORD PTR indexerr[rip]
test rax, rax
jne .L1521
.L1520:
lea rdi, .LC4[rip]
call PyUnicode_FromString@PLT
test rax, rax
mov QWORD PTR indexerr[rip], rax
je .L1563
.L1521:
mov rdi, QWORD PTR PyExc_IndexError[rip]
mov rsi, rax
call PyErr_SetObject@PLT
xor eax, eax
jmp .L1513
.p2align 4,,10
.p2align 3
.L1514:
lea rdx, PySlice_Type[rip]
cmp rax, rdx
jne .L1524
lea r12, 24[rsp]
lea rbp, 16[rsp]
lea rcx, 32[rsp]
mov rdx, r12
mov rsi, rbp
call PySlice_Unpack@PLT
test eax, eax
js .L1563
mov rdi, QWORD PTR 16[rbx]
mov rcx, QWORD PTR 32[rsp]
mov rsi, rbp
mov rdx, r12
call PySlice_AdjustIndices@PLT
test rax, rax
mov rbp, rax
jle .L1566
cmp QWORD PTR 32[rsp], 1
je .L1567
mov rdi, rax
call PyList_New
test rax, rax
je .L1563
mov rsi, QWORD PTR 32[rsp]
mov rdx, QWORD PTR 24[rbx]
mov rcx, QWORD PTR 16[rsp]
lea rdi, 0[0+rsi*8]
lea rsi, [rdx+rcx*8]
mov rdx, QWORD PTR 24[rax]
lea r8, [rdx+rbp*8]
.p2align 4,,10
.p2align 3
.L1535:
mov rcx, QWORD PTR [rsi]
add rdx, 8
add rsi, rdi
add QWORD PTR [rcx], 1
mov QWORD PTR -8[rdx], rcx
cmp r8, rdx
jne .L1535
jmp .L1513
.p2align 4,,10
.p2align 3
.L1524:
mov rdx, QWORD PTR 24[rax]
mov rdi, QWORD PTR PyExc_TypeError[rip]
lea rsi, .LC27[rip]
xor eax, eax
call PyErr_Format@PLT
.L1563:
xor eax, eax
.L1513:
mov rbx, QWORD PTR 40[rsp]
xor rbx, QWORD PTR fs:40
jne .L1568
add rsp, 48
.cfi_remember_state
.cfi_def_cfa_offset 32
pop rbx
.cfi_def_cfa_offset 24
pop rbp
.cfi_def_cfa_offset 16
pop r12
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1565:
.cfi_restore_state
mov rax, QWORD PTR 24[rbx]
mov rax, QWORD PTR [rax+rbp*8]
add QWORD PTR [rax], 1
jmp .L1513
.p2align 4,,10
.p2align 3
.L1567:
mov rax, QWORD PTR 16[rsp]
xor r12d, r12d
mov rbp, QWORD PTR 24[rsp]
test rax, rax
js .L1532
cmp QWORD PTR 16[rbx], rax
cmovle rax, QWORD PTR 16[rbx]
mov r12, rax
.L1532:
cmp rbp, r12
jl .L1533
cmp QWORD PTR 16[rbx], rbp
cmovle rbp, QWORD PTR 16[rbx]
sub rbp, r12
mov rdi, rbp
call PyList_New
test rax, rax
je .L1563
sal r12, 3
test rbp, rbp
mov rcx, QWORD PTR 24[rbx]
mov rdi, QWORD PTR 24[rax]
jle .L1513
lea rsi, [rcx+r12]
xor edx, edx
.p2align 4,,10
.p2align 3
.L1534:
mov rcx, QWORD PTR [rsi+rdx*8]
add QWORD PTR [rcx], 1
mov QWORD PTR [rdi+rdx*8], rcx
add rdx, 1
cmp rdx, rbp
jne .L1534
jmp .L1513
.p2align 4,,10
.p2align 3
.L1564:
call PyErr_Occurred@PLT
test rax, rax
jne .L1563
mov rax, QWORD PTR 16[rbx]
.L1517:
add rbp, rax
jns .L1519
mov rax, QWORD PTR indexerr[rip]
test rax, rax
je .L1520
jmp .L1521
.p2align 4,,10
.p2align 3
.L1566:
mov eax, DWORD PTR numfree[rip]
test eax, eax
je .L1527
sub eax, 1
lea rdx, free_list[rip]
mov DWORD PTR numfree[rip], eax
cdqe
mov rax, QWORD PTR [rdx+rax*8]
mov QWORD PTR [rax], 1
.L1528:
mov rdx, QWORD PTR -8[rax]
mov QWORD PTR 24[rax], 0
lea rbx, -24[rax]
mov QWORD PTR 16[rax], 0
mov QWORD PTR 32[rax], 0
mov rcx, rdx
sar rcx
cmp rcx, -2
je .L1529
lea rdi, .LC3[rip]
mov QWORD PTR 8[rsp], rax
call Py_FatalError@PLT
mov rax, QWORD PTR 8[rsp]
mov rdx, QWORD PTR -8[rax]
.L1529:
and edx, 1
or rdx, -6
mov QWORD PTR -8[rax], rdx
mov rdx, QWORD PTR _PyRuntime[rip+432]
mov rcx, QWORD PTR 8[rdx]
mov QWORD PTR -24[rax], rdx
mov QWORD PTR -16[rax], rcx
mov QWORD PTR [rcx], rbx
mov QWORD PTR 8[rdx], rbx
jmp .L1513
.p2align 4,,10
.p2align 3
.L1533:
xor edi, edi
call PyList_New
test rax, rax
je .L1563
jmp .L1513
.p2align 4,,10
.p2align 3
.L1527:
lea rdi, PyList_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
jne .L1528
jmp .L1563
.L1568:
call __stack_chk_fail@PLT
.cfi_endproc
.LFE197:
.size list_subscript, .-list_subscript
.p2align 4,,15
.globl PyList_Size
.type PyList_Size, @function
PyList_Size:
.LFB135:
.cfi_startproc
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1576
mov rax, QWORD PTR 16[rdi]
ret
.L1576:
lea rdi, .LC2[rip]
sub rsp, 8
.cfi_def_cfa_offset 16
mov esi, 187
call _PyErr_BadInternalCall@PLT
mov rax, -1
add rsp, 8
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE135:
.size PyList_Size, .-PyList_Size
.p2align 4,,15
.globl PyList_GetItem
.type PyList_GetItem, @function
PyList_GetItem:
.LFB136:
.cfi_startproc
sub rsp, 8
.cfi_def_cfa_offset 16
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1587
test rsi, rsi
js .L1580
cmp QWORD PTR 16[rdi], rsi
jg .L1581
.L1580:
mov rax, QWORD PTR indexerr[rip]
test rax, rax
jne .L1582
lea rdi, .LC4[rip]
call PyUnicode_FromString@PLT
test rax, rax
mov QWORD PTR indexerr[rip], rax
je .L1577
.L1582:
mov rdi, QWORD PTR PyExc_IndexError[rip]
mov rsi, rax
call PyErr_SetObject@PLT
xor eax, eax
.L1577:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1581:
.cfi_restore_state
mov rax, QWORD PTR 24[rdi]
mov rax, QWORD PTR [rax+rsi*8]
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1587:
.cfi_restore_state
lea rdi, .LC2[rip]
mov esi, 200
call _PyErr_BadInternalCall@PLT
xor eax, eax
jmp .L1577
.cfi_endproc
.LFE136:
.size PyList_GetItem, .-PyList_GetItem
.p2align 4,,15
.globl PyList_SetItem
.type PyList_SetItem, @function
PyList_SetItem:
.LFB137:
.cfi_startproc
sub rsp, 8
.cfi_def_cfa_offset 16
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1603
test rsi, rsi
js .L1594
cmp QWORD PTR 16[rdi], rsi
jle .L1594
mov rax, QWORD PTR 24[rdi]
lea rax, [rax+rsi*8]
mov rdi, QWORD PTR [rax]
mov QWORD PTR [rax], rdx
test rdi, rdi
je .L1602
sub QWORD PTR [rdi], 1
jne .L1602
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L1602:
xor eax, eax
.L1588:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1594:
.cfi_restore_state
test rdx, rdx
je .L1597
sub QWORD PTR [rdx], 1
jne .L1597
mov rax, QWORD PTR 8[rdx]
mov rdi, rdx
call [QWORD PTR 48[rax]]
.L1597:
mov rdi, QWORD PTR PyExc_IndexError[rip]
lea rsi, .LC20[rip]
call PyErr_SetString@PLT
mov eax, -1
jmp .L1588
.p2align 4,,10
.p2align 3
.L1603:
test rdx, rdx
je .L1591
sub QWORD PTR [rdx], 1
jne .L1591
mov rax, QWORD PTR 8[rdx]
mov rdi, rdx
call [QWORD PTR 48[rax]]
.L1591:
lea rdi, .LC2[rip]
mov esi, 223
call _PyErr_BadInternalCall@PLT
mov eax, -1
jmp .L1588
.cfi_endproc
.LFE137:
.size PyList_SetItem, .-PyList_SetItem
.p2align 4,,15
.globl PyList_Insert
.type PyList_Insert, @function
PyList_Insert:
.LFB139:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
sub rsp, 8
.cfi_def_cfa_offset 64
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1644
test rdx, rdx
mov rbp, rdi
mov r12, rdx
mov rbx, QWORD PTR 16[rdi]
je .L1645
movabs rax, 9223372036854775807
cmp rbx, rax
je .L1646
mov rax, QWORD PTR 32[rdi]
lea r13, 1[rbx]
mov r15, rsi
cmp r13, rax
jg .L1609
sar rax
cmp r13, rax
jl .L1609
test r15, r15
mov QWORD PTR 16[rdi], r13
mov rax, QWORD PTR 24[rdi]
js .L1647
.L1615:
cmp r15, rbx
mov rsi, r15
cmovg rsi, rbx
.L1616:
lea rcx, 0[0+rsi*8]
cmp rbx, 32
lea rbp, [rax+rcx]
jg .L1617
lea rcx, -1[rbx]
cmp rsi, rcx
jg .L1619
mov r9, rbx
movabs rdx, -9223372036854775808
sub r9, rsi
cmp rsi, rdx
je .L1636
cmp r9, 24
jbe .L1636
lea rdi, 0[0+rbx*8]
mov r11, rcx
sub r11, rsi
lea r8, -16[rdi]
lea rdx, [rax+r8]
shr rdx, 3
and edx, 1
lea r10, 1[rdx]
cmp r11, r10
jb .L1621
test rdx, rdx
je .L1622
mov r10, QWORD PTR [rax+rcx*8]
mov QWORD PTR 8[rax+rcx*8], r10
lea rcx, -2[rbx]
.L1622:
sub r9, rdx
neg rdx
sal rdx, 3
mov r10, r9
lea r11, -8[rdi+rdx]
add r8, rdx
shr r10
add r8, rax
xor edx, edx
xor edi, edi
add r11, rax
.p2align 4,,10
.p2align 3
.L1623:
movdqa xmm0, XMMWORD PTR [r8+rdx]
add rdi, 1
movups XMMWORD PTR [r11+rdx], xmm0
sub rdx, 16
cmp rdi, r10
jb .L1623
mov rdx, r9
and rdx, -2
sub rcx, rdx
cmp r9, rdx
je .L1619
.L1621:
mov rdx, QWORD PTR [rax+rcx*8]
mov QWORD PTR 8[rax+rcx*8], rdx
sub rcx, 1
cmp rcx, rsi
jl .L1619
mov rdx, QWORD PTR [rax+rcx*8]
mov QWORD PTR 8[rax+rcx*8], rdx
.L1619:
add QWORD PTR [r12], 1
xor eax, eax
mov QWORD PTR 0[rbp], r12
.L1604:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1609:
.cfi_restore_state
mov r14, r13
xor eax, eax
sar r14, 3
add r14, r13
cmp r13, 8
setg al
lea rax, 3[rax+rax*2]
add r14, rax
movabs rax, 1152921504606846975
cmp r14, rax
ja .L1614
test r13, r13
je .L1629
lea rsi, 0[0+r14*8]
.L1613:
mov rdi, QWORD PTR 24[rbp]
call PyMem_Realloc@PLT
test rax, rax
je .L1614
test r15, r15
mov QWORD PTR 24[rbp], rax
mov QWORD PTR 16[rbp], r13
mov QWORD PTR 32[rbp], r14
jns .L1615
.L1647:
mov rsi, r15
mov edx, 0
add rsi, rbx
cmovs rsi, rdx
jmp .L1616
.p2align 4,,10
.p2align 3
.L1636:
mov rdx, QWORD PTR [rax+rcx*8]
mov QWORD PTR 8[rax+rcx*8], rdx
sub rcx, 1
cmp rsi, rcx
jle .L1636
jmp .L1619
.p2align 4,,10
.p2align 3
.L1629:
xor esi, esi
xor r14d, r14d
jmp .L1613
.p2align 4,,10
.p2align 3
.L1617:
sub rbx, rsi
lea rdi, 8[rax+rcx]
mov rsi, rbp
lea rdx, 0[0+rbx*8]
call memmove@PLT
jmp .L1619
.L1644:
lea rdi, .LC2[rip]
mov esi, 283
call _PyErr_BadInternalCall@PLT
mov eax, -1
jmp .L1604
.L1614:
call PyErr_NoMemory@PLT
mov eax, -1
jmp .L1604
.L1646:
mov rdi, QWORD PTR PyExc_OverflowError[rip]
lea rsi, .LC13[rip]
call PyErr_SetString@PLT
mov eax, -1
jmp .L1604
.L1645:
lea rdi, .LC2[rip]
mov esi, 249
call _PyErr_BadInternalCall@PLT
mov eax, -1
jmp .L1604
.cfi_endproc
.LFE139:
.size PyList_Insert, .-PyList_Insert
.p2align 4,,15
.globl PyList_Append
.type PyList_Append, @function
PyList_Append:
.LFB141:
.cfi_startproc
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1649
test rsi, rsi
mov r13, rsi
je .L1649
mov r14, QWORD PTR 16[rdi]
movabs rax, 9223372036854775807
mov rbx, rdi
cmp r14, rax
je .L1670
mov rax, QWORD PTR 32[rdi]
lea rbp, 1[r14]
cmp rbp, rax
jg .L1652
sar rax
cmp rbp, rax
jl .L1652
mov rax, QWORD PTR 24[rdi]
mov QWORD PTR 16[rdi], rbp
.L1653:
add QWORD PTR 0[r13], 1
mov QWORD PTR [rax+r14*8], r13
xor eax, eax
.L1648:
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1652:
.cfi_restore_state
mov r12, rbp
xor eax, eax
sar r12, 3
add r12, rbp
cmp rbp, 8
setg al
lea rax, 3[rax+rax*2]
add r12, rax
movabs rax, 1152921504606846975
cmp r12, rax
ja .L1657
test rbp, rbp
je .L1659
lea rsi, 0[0+r12*8]
.L1656:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L1657
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 16[rbx], rbp
mov QWORD PTR 32[rbx], r12
jmp .L1653
.p2align 4,,10
.p2align 3
.L1659:
xor esi, esi
xor r12d, r12d
jmp .L1656
.p2align 4,,10
.p2align 3
.L1649:
lea rdi, .LC2[rip]
mov esi, 314
call _PyErr_BadInternalCall@PLT
mov eax, -1
jmp .L1648
.p2align 4,,10
.p2align 3
.L1657:
call PyErr_NoMemory@PLT
mov eax, -1
jmp .L1648
.p2align 4,,10
.p2align 3
.L1670:
mov rdi, QWORD PTR PyExc_OverflowError[rip]
lea rsi, .LC13[rip]
call PyErr_SetString@PLT
mov eax, -1
jmp .L1648
.cfi_endproc
.LFE141:
.size PyList_Append, .-PyList_Append
.p2align 4,,15
.globl PyList_GetSlice
.type PyList_GetSlice, @function
PyList_GetSlice:
.LFB148:
.cfi_startproc
push r14
.cfi_def_cfa_offset 16
.cfi_offset 14, -16
push r13
.cfi_def_cfa_offset 24
.cfi_offset 13, -24
push r12
.cfi_def_cfa_offset 32
.cfi_offset 12, -32
push rbp
.cfi_def_cfa_offset 40
.cfi_offset 6, -40
push rbx
.cfi_def_cfa_offset 48
.cfi_offset 3, -48
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1701
xor r12d, r12d
test rsi, rsi
mov r13, rdi
js .L1674
cmp QWORD PTR 16[rdi], rsi
cmovle rsi, QWORD PTR 16[rdi]
mov r12, rsi
.L1674:
cmp rdx, r12
jl .L1686
cmp QWORD PTR 16[r13], rdx
mov rbx, rdx
cmovle rbx, QWORD PTR 16[r13]
sub rbx, r12
js .L1702
mov eax, DWORD PTR numfree[rip]
test eax, eax
je .L1676
.L1703:
sub eax, 1
lea rdx, free_list[rip]
mov DWORD PTR numfree[rip], eax
cdqe
mov rbp, QWORD PTR [rdx+rax*8]
mov QWORD PTR 0[rbp], 1
.L1677:
test rbx, rbx
jne .L1679
mov QWORD PTR 24[rbp], 0
xor eax, eax
.L1680:
mov rdx, QWORD PTR -8[rbp]
mov QWORD PTR 16[rbp], rbx
lea r14, -24[rbp]
mov QWORD PTR 32[rbp], rbx
mov rcx, rdx
sar rcx
cmp rcx, -2
je .L1683
lea rdi, .LC3[rip]
call Py_FatalError@PLT
mov rdx, QWORD PTR -8[rbp]
mov rax, QWORD PTR 24[rbp]
.L1683:
and edx, 1
sal r12, 3
or rdx, -6
test rbx, rbx
mov QWORD PTR -8[rbp], rdx
mov rdx, QWORD PTR _PyRuntime[rip+432]
mov rcx, QWORD PTR 8[rdx]
mov QWORD PTR -24[rbp], rdx
mov QWORD PTR -16[rbp], rcx
mov QWORD PTR [rcx], r14
mov QWORD PTR 8[rdx], r14
mov rdx, QWORD PTR 24[r13]
je .L1671
.L1682:
xor ecx, ecx
add rdx, r12
.p2align 4,,10
.p2align 3
.L1684:
mov rsi, QWORD PTR [rdx+rcx*8]
add QWORD PTR [rsi], 1
mov QWORD PTR [rax+rcx*8], rsi
add rcx, 1
cmp rcx, rbx
jne .L1684
.L1671:
pop rbx
.cfi_remember_state
.cfi_def_cfa_offset 40
mov rax, rbp
pop rbp
.cfi_def_cfa_offset 32
pop r12
.cfi_def_cfa_offset 24
pop r13
.cfi_def_cfa_offset 16
pop r14
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1686:
.cfi_restore_state
mov eax, DWORD PTR numfree[rip]
xor ebx, ebx
test eax, eax
jne .L1703
.L1676:
lea rdi, PyList_Type[rip]
call _PyObject_GC_New@PLT
test rax, rax
mov rbp, rax
jne .L1677
.L1678:
xor ebp, ebp
jmp .L1671
.p2align 4,,10
.p2align 3
.L1679:
mov esi, 8
mov rdi, rbx
call PyMem_Calloc@PLT
test rax, rax
mov QWORD PTR 24[rbp], rax
jne .L1680
sub QWORD PTR 0[rbp], 1
jne .L1681
mov rax, QWORD PTR 8[rbp]
mov rdi, rbp
call [QWORD PTR 48[rax]]
.L1681:
call PyErr_NoMemory@PLT
test rax, rax
mov rbp, rax
je .L1678
mov rax, QWORD PTR 24[rax]
mov rdx, QWORD PTR 24[r13]
sal r12, 3
jmp .L1682
.p2align 4,,10
.p2align 3
.L1701:
lea rdi, .LC2[rip]
mov esi, 468
xor ebp, ebp
call _PyErr_BadInternalCall@PLT
jmp .L1671
.L1702:
lea rdi, .LC2[rip]
mov esi, 150
xor ebp, ebp
call _PyErr_BadInternalCall@PLT
jmp .L1671
.cfi_endproc
.LFE148:
.size PyList_GetSlice, .-PyList_GetSlice
.p2align 4,,15
.globl PyList_SetSlice
.type PyList_SetSlice, @function
PyList_SetSlice:
.LFB153:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
sub rsp, 168
.cfi_def_cfa_offset 224
mov rax, QWORD PTR fs:40
mov QWORD PTR 152[rsp], rax
xor eax, eax
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1793
test rcx, rcx
mov r12, rdi
mov r15, rsi
mov r13, rdx
mov rbp, rcx
je .L1757
cmp rdi, rcx
je .L1794
lea rsi, .LC23[rip]
mov rdi, rcx
call PySequence_Fast@PLT
test rax, rax
mov rbp, rax
je .L1713
mov r14, QWORD PTR 16[rax]
mov rax, QWORD PTR 8[rax]
lea r9, 24[rbp]
test BYTE PTR 171[rax], 2
jne .L1795
.L1707:
xor ebx, ebx
test r15, r15
mov rax, QWORD PTR 16[r12]
js .L1715
cmp r15, rax
mov rbx, r15
cmovg rbx, rax
.L1715:
cmp r13, rbx
jl .L1716
cmp r13, rax
mov r8, r14
cmovg r13, rax
mov rsi, r13
sub rsi, rbx
sub r8, rsi
mov QWORD PTR 8[rsp], rsi
add rax, r8
jne .L1717
.L1754:
test rbp, rbp
je .L1719
sub QWORD PTR 0[rbp], 1
jne .L1719
mov rax, QWORD PTR 8[rbp]
mov rdi, rbp
call [QWORD PTR 48[rax]]
.L1719:
mov rbp, QWORD PTR 24[r12]
xor ebx, ebx
test rbp, rbp
je .L1704
mov rbx, QWORD PTR 16[r12]
mov QWORD PTR 24[r12], 0
mov QWORD PTR 16[r12], 0
mov QWORD PTR 32[r12], 0
.L1721:
sub rbx, 1
js .L1796
.L1725:
mov rdi, QWORD PTR 0[rbp+rbx*8]
test rdi, rdi
je .L1721
sub QWORD PTR [rdi], 1
jne .L1721
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
sub rbx, 1
jns .L1725
.L1796:
mov rdi, rbp
xor ebx, ebx
call PyMem_Free@PLT
.L1704:
mov rdx, QWORD PTR 152[rsp]
xor rdx, QWORD PTR fs:40
mov eax, ebx
jne .L1797
add rsp, 168
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1794:
.cfi_restore_state
mov rbx, QWORD PTR 16[rdi]
mov r14d, 0
test rbx, rbx
cmovle r14, rbx
sub rbx, r14
mov rdi, rbx
call PyList_New
test rax, rax
mov rbp, rax
je .L1713
sal r14, 3
test rbx, rbx
mov rcx, QWORD PTR 24[r12]
mov rdx, QWORD PTR 24[rax]
jle .L1711
lea rsi, [rcx+r14]
xor eax, eax
.p2align 4,,10
.p2align 3
.L1712:
mov rcx, QWORD PTR [rsi+rax*8]
add QWORD PTR [rcx], 1
mov QWORD PTR [rdx+rax*8], rcx
add rax, 1
cmp rbx, rax
jne .L1712
.L1711:
mov rcx, rbp
mov rdx, r13
mov rsi, r15
mov rdi, r12
call list_ass_slice
mov ebx, eax
.L1792:
sub QWORD PTR 0[rbp], 1
jne .L1704
mov rax, QWORD PTR 8[rbp]
mov rdi, rbp
call [QWORD PTR 48[rax]]
jmp .L1704
.p2align 4,,10
.p2align 3
.L1716:
add rax, r14
je .L1754
lea r15, 80[rsp]
mov rcx, QWORD PTR 24[r12]
mov r8, r14
mov r13, rbx
xor r10d, r10d
mov QWORD PTR 8[rsp], 0
mov QWORD PTR 16[rsp], r15
.L1726:
test r8, r8
js .L1798
jne .L1799
.L1737:
test r14, r14
jle .L1744
mov rax, rbx
add r14, rbx
neg rax
lea rdx, [r9+rax*8]
.p2align 4,,10
.p2align 3
.L1745:
mov rax, QWORD PTR [rdx+rbx*8]
test rax, rax
je .L1746
add QWORD PTR [rax], 1
mov QWORD PTR [rcx+rbx*8], rax
add rbx, 1
cmp rbx, r14
jne .L1745
.L1744:
mov rbx, QWORD PTR 8[rsp]
sub rbx, 1
js .L1748
.p2align 4,,10
.p2align 3
.L1752:
mov rdi, QWORD PTR [r15+rbx*8]
test rdi, rdi
je .L1750
sub QWORD PTR [rdi], 1
jne .L1750
mov rax, QWORD PTR 8[rdi]
call [QWORD PTR 48[rax]]
.L1750:
sub rbx, 1
cmp rbx, -1
jne .L1752
.L1748:
xor ebx, ebx
.L1734:
cmp r15, QWORD PTR 16[rsp]
je .L1753
.L1728:
mov rdi, r15
call PyMem_Free@PLT
.L1753:
test rbp, rbp
jne .L1792
jmp .L1704
.p2align 4,,10
.p2align 3
.L1757:
xor r14d, r14d
xor r9d, r9d
jmp .L1707
.p2align 4,,10
.p2align 3
.L1795:
mov r9, QWORD PTR 24[rbp]
jmp .L1707
.p2align 4,,10
.p2align 3
.L1717:
lea r10, 0[0+rsi*8]
mov rcx, QWORD PTR 24[r12]
test r10, r10
je .L1760
cmp r10, 64
jbe .L1761
mov rdi, r10
mov QWORD PTR 48[rsp], rcx
mov QWORD PTR 40[rsp], r8
mov QWORD PTR 32[rsp], r9
mov QWORD PTR 24[rsp], r10
call PyMem_Malloc@PLT
mov r15, rax
lea rax, 80[rsp]
mov r10, QWORD PTR 24[rsp]
test r15, r15
mov r9, QWORD PTR 32[rsp]
mov r8, QWORD PTR 40[rsp]
mov QWORD PTR 16[rsp], rax
mov rcx, QWORD PTR 48[rsp]
je .L1800
.L1727:
lea rsi, [rcx+rbx*8]
mov rdx, r10
mov rdi, r15
mov QWORD PTR 48[rsp], r8
mov QWORD PTR 40[rsp], r9
mov QWORD PTR 32[rsp], rcx
mov QWORD PTR 24[rsp], r10
call memcpy@PLT
mov r10, QWORD PTR 24[rsp]
mov rcx, QWORD PTR 32[rsp]
mov r9, QWORD PTR 40[rsp]
mov r8, QWORD PTR 48[rsp]
jmp .L1726
.p2align 4,,10
.p2align 3
.L1713:
mov ebx, -1
jmp .L1704
.p2align 4,,10
.p2align 3
.L1746:
mov QWORD PTR [rcx+rbx*8], 0
add rbx, 1
cmp rbx, r14
jne .L1745
jmp .L1744
.p2align 4,,10
.p2align 3
.L1799:
mov rdx, QWORD PTR 16[r12]
mov rax, QWORD PTR 32[r12]
lea r10, [rdx+r8]
cmp r10, rax
jg .L1738
sar rax
cmp r10, rax
jge .L1801
.L1738:
mov r11, r10
xor eax, eax
sar r11, 3
add r11, r10
cmp r10, 8
setg al
lea rax, 3[rax+rax*2]
add r11, rax
movabs rax, 1152921504606846975
cmp r11, rax
ja .L1743
test r10, r10
je .L1765
lea rsi, 0[0+r11*8]
.L1742:
mov rdi, QWORD PTR 24[r12]
mov QWORD PTR 56[rsp], r11
mov QWORD PTR 48[rsp], r10
mov QWORD PTR 40[rsp], rdx
mov QWORD PTR 32[rsp], r8
mov QWORD PTR 24[rsp], r9
call PyMem_Realloc@PLT
test rax, rax
mov rcx, rax
je .L1743
mov r10, QWORD PTR 48[rsp]
mov r11, QWORD PTR 56[rsp]
mov rdx, QWORD PTR 40[rsp]
mov r8, QWORD PTR 32[rsp]
mov r9, QWORD PTR 24[rsp]
mov QWORD PTR 24[r12], rax
mov QWORD PTR 16[r12], r10
mov QWORD PTR 32[r12], r11
.L1739:
lea rsi, [rcx+r13*8]
sub rdx, r13
add r13, r8
lea rdi, [rcx+r13*8]
sal rdx, 3
mov QWORD PTR 32[rsp], r9
mov QWORD PTR 24[rsp], rcx
call memmove@PLT
mov r9, QWORD PTR 32[rsp]
mov rcx, QWORD PTR 24[rsp]
jmp .L1737
.p2align 4,,10
.p2align 3
.L1761:
lea r15, 80[rsp]
mov QWORD PTR 16[rsp], r15
jmp .L1727
.p2align 4,,10
.p2align 3
.L1798:
mov rax, QWORD PTR 16[r12]
lea rsi, [rcx+r13*8]
mov QWORD PTR 48[rsp], r10
mov QWORD PTR 40[rsp], r9
mov QWORD PTR 32[rsp], r8
mov QWORD PTR 24[rsp], rcx
mov QWORD PTR 64[rsp], rsi
sub rax, r13
add r13, r8
lea rdx, 0[0+rax*8]
lea rax, [rcx+r13*8]
mov rdi, rax
mov QWORD PTR 56[rsp], rdx
mov QWORD PTR 72[rsp], rax
call memmove@PLT
mov r8, QWORD PTR 32[rsp]
add r8, QWORD PTR 16[r12]
mov rax, QWORD PTR 32[r12]
mov rcx, QWORD PTR 24[rsp]
mov r9, QWORD PTR 40[rsp]
mov r10, QWORD PTR 48[rsp]
cmp r8, rax
mov r13, r8
jg .L1730
sar rax
cmp r8, rax
jl .L1730
mov QWORD PTR 16[r12], r8
mov rcx, QWORD PTR 24[r12]
jmp .L1737
.p2align 4,,10
.p2align 3
.L1730:
mov rdx, r13
xor eax, eax
sar rdx, 3
add rdx, r13
cmp r13, 8
setg al
lea rax, 3[rax+rax*2]
add rdx, rax
movabs rax, 1152921504606846975
cmp rdx, rax
ja .L1736
test r13, r13
je .L1763
lea rsi, 0[0+rdx*8]
.L1735:
mov rdi, QWORD PTR 24[r12]
mov QWORD PTR 40[rsp], rcx
mov QWORD PTR 32[rsp], r10
mov QWORD PTR 48[rsp], rdx
mov QWORD PTR 24[rsp], r9
call PyMem_Realloc@PLT
test rax, rax
mov r10, QWORD PTR 32[rsp]
mov rcx, QWORD PTR 40[rsp]
je .L1736
mov rdx, QWORD PTR 48[rsp]
mov QWORD PTR 24[r12], rax
mov rcx, rax
mov QWORD PTR 16[r12], r13
mov r9, QWORD PTR 24[rsp]
mov QWORD PTR 32[r12], rdx
jmp .L1737
.p2align 4,,10
.p2align 3
.L1765:
xor esi, esi
xor r11d, r11d
jmp .L1742
.p2align 4,,10
.p2align 3
.L1801:
mov QWORD PTR 16[r12], r10
mov rcx, QWORD PTR 24[r12]
jmp .L1739
.p2align 4,,10
.p2align 3
.L1763:
xor esi, esi
xor edx, edx
jmp .L1735
.p2align 4,,10
.p2align 3
.L1793:
lea rdi, .LC2[rip]
mov esi, 692
mov ebx, -1
call _PyErr_BadInternalCall@PLT
jmp .L1704
.L1736:
mov QWORD PTR 24[rsp], rcx
mov QWORD PTR 8[rsp], r10
call PyErr_NoMemory@PLT
mov rdx, QWORD PTR 56[rsp]
mov rsi, QWORD PTR 72[rsp]
mov rdi, QWORD PTR 64[rsp]
call memmove@PLT
mov rcx, QWORD PTR 24[rsp]
mov r10, QWORD PTR 8[rsp]
mov rsi, r15
lea rdi, [rcx+rbx*8]
mov rdx, r10
mov ebx, -1
call memcpy@PLT
jmp .L1734
.p2align 4,,10
.p2align 3
.L1800:
call PyErr_NoMemory@PLT
mov ebx, -1
jmp .L1728
.L1743:
call PyErr_NoMemory@PLT
mov ebx, -1
jmp .L1734
.L1797:
call __stack_chk_fail@PLT
.L1760:
lea r15, 80[rsp]
mov QWORD PTR 16[rsp], r15
jmp .L1726
.cfi_endproc
.LFE153:
.size PyList_SetSlice, .-PyList_SetSlice
.p2align 4,,15
.globl _PyList_Extend
.type _PyList_Extend, @function
_PyList_Extend:
.LFB161:
.cfi_startproc
push r15
.cfi_def_cfa_offset 16
.cfi_offset 15, -16
push r14
.cfi_def_cfa_offset 24
.cfi_offset 14, -24
lea rdx, PyTuple_Type[rip]
push r13
.cfi_def_cfa_offset 32
.cfi_offset 13, -32
push r12
.cfi_def_cfa_offset 40
.cfi_offset 12, -40
lea rcx, PyList_Type[rip]
push rbp
.cfi_def_cfa_offset 48
.cfi_offset 6, -48
push rbx
.cfi_def_cfa_offset 56
.cfi_offset 3, -56
mov rbp, rsi
mov rbx, rdi
sub rsp, 24
.cfi_def_cfa_offset 80
mov rax, QWORD PTR 8[rsi]
cmp rax, rdx
sete dl
cmp rax, rcx
sete al
or dl, al
jne .L1858
cmp rdi, rsi
jne .L1803
.L1858:
lea rsi, .LC18[rip]
mov rdi, rbp
call PySequence_Fast@PLT
test rax, rax
mov rbp, rax
je .L1886
mov r12, QWORD PTR 16[rax]
test r12, r12
jne .L1807
sub QWORD PTR [rax], 1
jne .L1848
mov rax, QWORD PTR 8[rax]
mov rdi, rbp
call [QWORD PTR 48[rax]]
.L1848:
add QWORD PTR _Py_NoneStruct[rip], 1
lea rax, _Py_NoneStruct[rip]
.L1802:
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 56
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1803:
.cfi_restore_state
mov rdi, rsi
call PyObject_GetIter@PLT
test rax, rax
mov r12, rax
je .L1886
mov rax, QWORD PTR 8[rax]
mov esi, 8
mov rdi, rbp
mov r13, QWORD PTR 224[rax]
call PyObject_LengthHint@PLT
test rax, rax
js .L1828
mov rbp, QWORD PTR 16[rbx]
movabs rdx, 9223372036854775807
sub rdx, rax
cmp rbp, rdx
jle .L1888
.p2align 4,,10
.p2align 3
.L1831:
mov rdi, r12
call r13
test rax, rax
mov r15, rax
je .L1889
.L1832:
mov rbp, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
cmp rbp, rax
jge .L1835
mov rax, QWORD PTR 24[rbx]
mov rdi, r12
mov QWORD PTR [rax+rbp*8], r15
add rbp, 1
mov QWORD PTR 16[rbx], rbp
call r13
test rax, rax
mov r15, rax
jne .L1832
.L1889:
call PyErr_Occurred@PLT
test rax, rax
je .L1833
mov rdi, QWORD PTR PyExc_StopIteration[rip]
call PyErr_ExceptionMatches@PLT
test eax, eax
jne .L1890
.L1828:
sub QWORD PTR [r12], 1
jne .L1886
mov rax, QWORD PTR 8[r12]
mov rdi, r12
call [QWORD PTR 48[rax]]
.L1886:
add rsp, 24
.cfi_remember_state
.cfi_def_cfa_offset 56
xor eax, eax
pop rbx
.cfi_def_cfa_offset 48
pop rbp
.cfi_def_cfa_offset 40
pop r12
.cfi_def_cfa_offset 32
pop r13
.cfi_def_cfa_offset 24
pop r14
.cfi_def_cfa_offset 16
pop r15
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1807:
.cfi_restore_state
mov r15, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
lea r13, [r12+r15]
cmp r13, rax
jle .L1891
.L1809:
mov r14, r13
xor eax, eax
sar r14, 3
add r14, r13
cmp r13, 8
setg al
lea rax, 3[rax+rax*2]
add r14, rax
movabs rax, 1152921504606846975
cmp r14, rax
ja .L1816
test r13, r13
je .L1851
lea rsi, 0[0+r14*8]
.L1815:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L1816
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 16[rbx], r13
mov QWORD PTR 32[rbx], r14
.L1810:
mov r8, QWORD PTR 8[rbp]
lea rcx, 24[rbp]
test BYTE PTR 171[r8], 2
je .L1818
mov rcx, QWORD PTR 24[rbp]
.L1818:
sal r15, 3
test r12, r12
jle .L1819
lea rsi, [rax+r15]
xor edx, edx
.p2align 4,,10
.p2align 3
.L1820:
mov rax, QWORD PTR [rcx+rdx*8]
add QWORD PTR [rax], 1
mov QWORD PTR [rsi+rdx*8], rax
add rdx, 1
cmp r12, rdx
jne .L1820
.L1819:
sub QWORD PTR 0[rbp], 1
jne .L1848
mov rdi, rbp
call [QWORD PTR 48[r8]]
jmp .L1848
.p2align 4,,10
.p2align 3
.L1891:
sar rax
cmp r13, rax
jl .L1809
mov QWORD PTR 16[rbx], r13
mov rax, QWORD PTR 24[rbx]
jmp .L1810
.p2align 4,,10
.p2align 3
.L1835:
movabs rsi, 9223372036854775807
cmp rbp, rsi
je .L1892
lea rcx, 1[rbp]
cmp rax, rcx
jl .L1839
sar rax
cmp rcx, rax
jge .L1893
.L1839:
mov r8, rcx
xor eax, eax
sar r8, 3
add r8, rcx
cmp rcx, 8
setg al
lea rax, 3[rax+rax*2]
lea r14, [r8+rax]
movabs rax, 1152921504606846975
cmp r14, rax
ja .L1844
test rcx, rcx
je .L1855
lea rsi, 0[0+r14*8]
.L1843:
mov rdi, QWORD PTR 24[rbx]
mov QWORD PTR 8[rsp], rcx
call PyMem_Realloc@PLT
test rax, rax
je .L1844
mov rcx, QWORD PTR 8[rsp]
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 32[rbx], r14
mov QWORD PTR 16[rbx], rcx
.L1840:
mov rcx, QWORD PTR [r15]
mov QWORD PTR [rax+rbp*8], r15
test rcx, rcx
mov QWORD PTR [r15], rcx
jne .L1831
mov rax, QWORD PTR 8[r15]
mov rdi, r15
call [QWORD PTR 48[rax]]
jmp .L1831
.p2align 4,,10
.p2align 3
.L1855:
xor esi, esi
xor r14d, r14d
jmp .L1843
.p2align 4,,10
.p2align 3
.L1893:
mov QWORD PTR 16[rbx], rcx
mov rax, QWORD PTR 24[rbx]
jmp .L1840
.p2align 4,,10
.p2align 3
.L1851:
xor esi, esi
xor r14d, r14d
jmp .L1815
.p2align 4,,10
.p2align 3
.L1890:
call PyErr_Clear@PLT
.L1833:
mov rbp, QWORD PTR 16[rbx]
mov rax, QWORD PTR 32[rbx]
cmp rbp, rax
jl .L1894
.L1845:
sub QWORD PTR [r12], 1
jne .L1848
mov rax, QWORD PTR 8[r12]
mov rdi, r12
call [QWORD PTR 48[rax]]
jmp .L1848
.L1816:
call PyErr_NoMemory@PLT
sub QWORD PTR 0[rbp], 1
jne .L1886
mov rax, QWORD PTR 8[rbp]
mov rdi, rbp
call [QWORD PTR 48[rax]]
xor eax, eax
jmp .L1802
.p2align 4,,10
.p2align 3
.L1888:
mov rdx, QWORD PTR 32[rbx]
add rax, rbp
cmp rax, rdx
jle .L1895
.L1824:
mov r14, rax
xor edx, edx
sar r14, 3
add r14, rax
cmp rax, 8
setg dl
lea rdx, 3[rdx+rdx*2]
add r14, rdx
movabs rdx, 1152921504606846975
cmp r14, rdx
ja .L1830
test rax, rax
je .L1853
lea rsi, 0[0+r14*8]
.L1829:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L1830
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 32[rbx], r14
.L1825:
mov QWORD PTR 16[rbx], rbp
jmp .L1831
.p2align 4,,10
.p2align 3
.L1895:
sar rdx
cmp rax, rdx
jl .L1824
jmp .L1825
.p2align 4,,10
.p2align 3
.L1853:
xor esi, esi
xor r14d, r14d
jmp .L1829
.p2align 4,,10
.p2align 3
.L1894:
sar rax
cmp rbp, rax
jge .L1845
mov r13, rbp
xor eax, eax
sar r13, 3
add r13, rbp
cmp rbp, 8
setg al
lea rax, 3[rax+rax*2]
add r13, rax
movabs rax, 1152921504606846975
cmp r13, rax
ja .L1830
test rbp, rbp
je .L1857
lea rsi, 0[0+r13*8]
.L1847:
mov rdi, QWORD PTR 24[rbx]
call PyMem_Realloc@PLT
test rax, rax
je .L1830
mov QWORD PTR 24[rbx], rax
mov QWORD PTR 16[rbx], rbp
mov QWORD PTR 32[rbx], r13
jmp .L1845
.L1857:
xor esi, esi
xor r13d, r13d
jmp .L1847
.L1844:
call PyErr_NoMemory@PLT
.L1838:
sub QWORD PTR [r15], 1
jne .L1828
mov rax, QWORD PTR 8[r15]
mov rdi, r15
call [QWORD PTR 48[rax]]
jmp .L1828
.L1892:
mov rdi, QWORD PTR PyExc_OverflowError[rip]
lea rsi, .LC13[rip]
call PyErr_SetString@PLT
jmp .L1838
.L1830:
call PyErr_NoMemory@PLT
jmp .L1828
.cfi_endproc
.LFE161:
.size _PyList_Extend, .-_PyList_Extend
.p2align 4,,15
.globl PyList_Sort
.type PyList_Sort, @function
PyList_Sort:
.LFB186:
.cfi_startproc
sub rsp, 8
.cfi_def_cfa_offset 16
test rdi, rdi
je .L1897
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1897
xor edx, edx
xor esi, esi
call list_sort_impl
test rax, rax
je .L1900
sub QWORD PTR [rax], 1
jne .L1901
mov rdx, QWORD PTR 8[rax]
mov rdi, rax
call [QWORD PTR 48[rdx]]
xor eax, eax
.L1896:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1901:
.cfi_restore_state
xor eax, eax
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1897:
.cfi_restore_state
lea rdi, .LC2[rip]
mov esi, 2147
call _PyErr_BadInternalCall@PLT
mov eax, -1
jmp .L1896
.L1900:
mov eax, -1
jmp .L1896
.cfi_endproc
.LFE186:
.size PyList_Sort, .-PyList_Sort
.p2align 4,,15
.globl PyList_Reverse
.type PyList_Reverse, @function
PyList_Reverse:
.LFB188:
.cfi_startproc
test rdi, rdi
je .L1907
mov rax, QWORD PTR 8[rdi]
test BYTE PTR 171[rax], 2
je .L1907
mov rdx, QWORD PTR 16[rdi]
cmp rdx, 1
jle .L1910
mov rax, QWORD PTR 24[rdi]
lea rdx, -8[rax+rdx*8]
cmp rax, rdx
jnb .L1910
.p2align 4,,10
.p2align 3
.L1911:
mov rcx, QWORD PTR [rax]
mov rsi, QWORD PTR [rdx]
add rax, 8
sub rdx, 8
mov QWORD PTR -8[rax], rsi
mov QWORD PTR 8[rdx], rcx
cmp rax, rdx
jb .L1911
.L1910:
xor eax, eax
ret
.L1907:
lea rdi, .LC2[rip]
sub rsp, 8
.cfi_def_cfa_offset 16
mov esi, 2178
call _PyErr_BadInternalCall@PLT
mov eax, -1
add rsp, 8
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE188:
.size PyList_Reverse, .-PyList_Reverse
.p2align 4,,15
.globl PyList_AsTuple
.type PyList_AsTuple, @function
PyList_AsTuple:
.LFB189:
.cfi_startproc
push rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
push rbx
.cfi_def_cfa_offset 24
.cfi_offset 3, -24
sub rsp, 8
.cfi_def_cfa_offset 32
test rdi, rdi
je .L1920
mov rax, QWORD PTR 8[rdi]
mov rbp, rdi
test BYTE PTR 171[rax], 2
je .L1920
mov rbx, QWORD PTR 16[rdi]
mov rdi, rbx
call PyTuple_New@PLT
test rax, rax
je .L1919
mov rcx, rbx
lea rsi, 24[rax]
mov rdi, QWORD PTR 24[rbp]
sub rcx, 1
js .L1919
xor edx, edx
.p2align 4,,10
.p2align 3
.L1923:
mov rcx, QWORD PTR [rdi+rdx*8]
add QWORD PTR [rcx], 1
mov QWORD PTR [rsi+rdx*8], rcx
add rdx, 1
cmp rbx, rdx
jne .L1923
.L1919:
add rsp, 8
.cfi_remember_state
.cfi_def_cfa_offset 24
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.p2align 4,,10
.p2align 3
.L1920:
.cfi_restore_state
lea rdi, .LC2[rip]
mov esi, 2193
call _PyErr_BadInternalCall@PLT
add rsp, 8
.cfi_def_cfa_offset 24
xor eax, eax
pop rbx
.cfi_def_cfa_offset 16
pop rbp
.cfi_def_cfa_offset 8
ret
.cfi_endproc
.LFE189:
.size PyList_AsTuple, .-PyList_AsTuple
.section .rodata.str1.1
.LC28:
.string "key"
.LC29:
.string "reverse"
.section .data.rel.ro.local,"aw",@progbits
.align 16
.type _keywords.13258, @object
.size _keywords.13258, 24
_keywords.13258:
.quad .LC28
.quad .LC29
.quad 0
.section .rodata.str1.1
.LC30:
.string "|$Oi:sort"
.section .data.rel.local,"aw",@progbits
.align 32
.type _parser.13259, @object
.size _parser.13259, 64
_parser.13259:
.quad .LC30
.quad _keywords.13258
.quad 0
.zero 40
.globl PyListRevIter_Type
.section .rodata.str1.1
.LC31:
.string "list_reverseiterator"
.section .data.rel,"aw",@progbits
.align 32
.type PyListRevIter_Type, @object
.size PyListRevIter_Type, 400
PyListRevIter_Type:
.quad 1
.quad PyType_Type
.quad 0
.quad .LC31
.quad 32
.quad 0
.quad listreviter_dealloc
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad PyObject_GenericGetAttr
.quad 0
.quad 0
.quad 278528
.quad 0
.quad listreviter_traverse
.quad 0
.quad 0
.quad 0
.quad PyObject_SelfIter
.quad listreviter_next
.quad listreviter_methods
.quad 0
.zero 152
.section .rodata.str1.1
.LC32:
.string "__length_hint__"
.LC33:
.string "__reduce__"
.LC34:
.string "__setstate__"
.section .data.rel.local
.align 32
.type listreviter_methods, @object
.size listreviter_methods, 128
listreviter_methods:
.quad .LC32
.quad listreviter_len
.long 4
.zero 4
.quad length_hint_doc
.quad .LC33
.quad listreviter_reduce
.long 4
.zero 4
.quad reduce_doc
.quad .LC34
.quad listreviter_setstate
.long 8
.zero 4
.quad setstate_doc
.quad 0
.quad 0
.zero 16
.globl PyListIter_Type
.section .rodata.str1.1
.LC35:
.string "list_iterator"
.section .data.rel
.align 32
.type PyListIter_Type, @object
.size PyListIter_Type, 400
PyListIter_Type:
.quad 1
.quad PyType_Type
.quad 0
.quad .LC35
.quad 32
.quad 0
.quad listiter_dealloc
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad PyObject_GenericGetAttr
.quad 0
.quad 0
.quad 278528
.quad 0
.quad listiter_traverse
.quad 0
.quad 0
.quad 0
.quad PyObject_SelfIter
.quad listiter_next
.quad listiter_methods
.quad 0
.zero 152
.section .data.rel.local
.align 32
.type listiter_methods, @object
.size listiter_methods, 128
listiter_methods:
.quad .LC32
.quad listiter_len
.long 4
.zero 4
.quad length_hint_doc
.quad .LC33
.quad listiter_reduce
.long 4
.zero 4
.quad reduce_doc
.quad .LC34
.quad listiter_setstate
.long 8
.zero 4
.quad setstate_doc
.quad 0
.quad 0
.zero 16
.data
.align 32
.type setstate_doc, @object
.size setstate_doc, 38
setstate_doc:
.string "Set state information for unpickling."
.align 32
.type reduce_doc, @object
.size reduce_doc, 39
reduce_doc:
.string "Return state information for pickling."
.align 32
.type length_hint_doc, @object
.size length_hint_doc, 55
length_hint_doc:
.string "Private method returning an estimate of len(list(it))."
.globl PyList_Type
.section .data.rel
.align 32
.type PyList_Type, @object
.size PyList_Type, 400
PyList_Type:
.quad 1
.quad PyType_Type
.quad 0
.quad .LC19
.quad 40
.quad 0
.quad list_dealloc
.quad 0
.quad 0
.quad 0
.quad 0
.quad list_repr
.quad 0
.quad list_as_sequence
.quad list_as_mapping
.quad PyObject_HashNotImplemented
.quad 0
.quad 0
.quad PyObject_GenericGetAttr
.quad 0
.quad 0
.quad 33833984
.quad list___init____doc__
.quad list_traverse
.quad _list_clear
.quad list_richcompare
.quad 0
.quad list_iter
.quad 0
.quad list_methods
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad list___init__
.quad PyType_GenericAlloc
.quad PyType_GenericNew
.quad PyObject_GC_Del
.zero 72
.section .data.rel.local
.align 16
.type list_as_mapping, @object
.size list_as_mapping, 24
list_as_mapping:
.quad list_length
.quad list_subscript
.quad list_ass_subscript
.align 32
.type list_as_sequence, @object
.size list_as_sequence, 80
list_as_sequence:
.quad list_length
.quad list_concat
.quad list_repeat
.quad list_item
.quad 0
.quad list_ass_item
.quad 0
.quad list_contains
.quad list_inplace_concat
.quad list_inplace_repeat
.section .rodata.str1.1
.LC36:
.string "__getitem__"
.LC37:
.string "x.__getitem__(y) <==> x[y]"
.LC38:
.string "__reversed__"
.LC39:
.string "__sizeof__"
.LC40:
.string "clear"
.LC41:
.string "copy"
.LC42:
.string "append"
.LC43:
.string "insert"
.LC44:
.string "extend"
.LC45:
.string "pop"
.LC46:
.string "remove"
.LC47:
.string "index"
.LC48:
.string "count"
.LC49:
.string "sort"
.section .data.rel.local
.align 32
.type list_methods, @object
.size list_methods, 480
list_methods:
.quad .LC36
.quad list_subscript
.long 72
.zero 4
.quad .LC37
.quad .LC38
.quad list___reversed__
.long 4
.zero 4
.quad list___reversed____doc__
.quad .LC39
.quad list___sizeof__
.long 4
.zero 4
.quad list___sizeof____doc__
.quad .LC40
.quad list_clear
.long 4
.zero 4
.quad list_clear__doc__
.quad .LC41
.quad list_copy
.long 4
.zero 4
.quad list_copy__doc__
.quad .LC42
.quad list_append
.long 8
.zero 4
.quad list_append__doc__
.quad .LC43
.quad list_insert
.long 128
.zero 4
.quad list_insert__doc__
.quad .LC44
.quad list_extend
.long 8
.zero 4
.quad list_extend__doc__
.quad .LC45
.quad list_pop
.long 128
.zero 4
.quad list_pop__doc__
.quad .LC46
.quad list_remove
.long 8
.zero 4
.quad list_remove__doc__
.quad .LC47
.quad list_index
.long 128
.zero 4
.quad list_index__doc__
.quad .LC48
.quad list_count
.long 8
.zero 4
.quad list_count__doc__
.quad .LC29
.quad list_reverse
.long 4
.zero 4
.quad list_reverse__doc__
.quad .LC49
.quad list_sort
.long 130
.zero 4
.quad list_sort__doc__
.quad 0
.quad 0
.zero 16
.local indexerr
.comm indexerr,8,8
.local numfree
.comm numfree,4,4
.local free_list
.comm free_list,640,32
.data
.align 32
.type list___reversed____doc__, @object
.size list___reversed____doc__, 68
list___reversed____doc__:
.string "__reversed__($self, /)\n--\n\nReturn a reverse iterator over the list."
.align 32
.type list___sizeof____doc__, @object
.size list___sizeof____doc__, 74
list___sizeof____doc__:
.string "__sizeof__($self, /)\n--\n\nReturn the size of the list in memory, in bytes."
.align 32
.type list___init____doc__, @object
.size list___init____doc__, 167
list___init____doc__:
.string "list(iterable=(), /)\n--\n\nBuilt-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified."
.align 32
.type list_remove__doc__, @object
.size list_remove__doc__, 110
list_remove__doc__:
.string "remove($self, value, /)\n--\n\nRemove first occurrence of value.\n\nRaises ValueError if the value is not present."
.align 32
.type list_count__doc__, @object
.size list_count__doc__, 66
list_count__doc__:
.string "count($self, value, /)\n--\n\nReturn number of occurrences of value."
.align 32
.type list_index__doc__, @object
.size list_index__doc__, 131
list_index__doc__:
.string "index($self, value, start=0, stop=sys.maxsize, /)\n--\n\nReturn first index of value.\n\nRaises ValueError if the value is not present."
.align 32
.type list_reverse__doc__, @object
.size list_reverse__doc__, 42
list_reverse__doc__:
.string "reverse($self, /)\n--\n\nReverse *IN PLACE*."
.align 32
.type list_sort__doc__, @object
.size list_sort__doc__, 71
list_sort__doc__:
.string "sort($self, /, *, key=None, reverse=False)\n--\n\nStable sort *IN PLACE*."
.align 32
.type list_pop__doc__, @object
.size list_pop__doc__, 138
list_pop__doc__:
.string "pop($self, index=-1, /)\n--\n\nRemove and return item at index (default last).\n\nRaises IndexError if list is empty or index is out of range."
.align 32
.type list_extend__doc__, @object
.size list_extend__doc__, 84
list_extend__doc__:
.string "extend($self, iterable, /)\n--\n\nExtend list by appending elements from the iterable."
.align 32
.type list_append__doc__, @object
.size list_append__doc__, 67
list_append__doc__:
.string "append($self, object, /)\n--\n\nAppend object to the end of the list."
.align 32
.type list_copy__doc__, @object
.size list_copy__doc__, 54
list_copy__doc__:
.string "copy($self, /)\n--\n\nReturn a shallow copy of the list."
.align 32
.type list_clear__doc__, @object
.size list_clear__doc__, 48
list_clear__doc__:
.string "clear($self, /)\n--\n\nRemove all items from list."
.align 32
.type list_insert__doc__, @object
.size list_insert__doc__, 64
list_insert__doc__:
.string "insert($self, index, object, /)\n--\n\nInsert object before index."
.ident "GCC: (Ubuntu 7.2.0-8ubuntu3) 7.2.0"
.section .note.GNU-stack,"",@progbits
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment