// File: fiveseven-lambda[P]michaelis-menten/a.cpp
// Function: object::draw_all()
void draw_all(){
		XFillRectangle(display, buffer, bufWhiteGC, 0, 0, width, height);
		for(edge::Edge &i : edge::edges){
			for(std::size_t j : i.from){
				std::vector<XPoint> vertices = bezier(i.mid, node::nodes[j].p, i.pre, i.k * scale);
				XFillPolygon(display, buffer, bufBlackGC, &vertices.front(), vertices.size(), Complex, CoordModeOrigin);
			}
			for(std::size_t j : i.to){
				std::vector<XPoint> vertices = bezier(i.mid, node::nodes[j].p, i.post, i.k * scale);
				XFillPolygon(display, buffer, bufBlackGC, &vertices.front(), vertices.size(), Complex, CoordModeOrigin);
			}
		}
		for(node::Node &i : node::nodes){
			Arc arc = i.arc();
			arc.fill(display, buffer, bufWhiteGC);
			arc.draw(display, buffer, bufBlackGC);
		}
		if(node::focused < node::nodes.size()){
			Arc arc = node::nodes[node::focused].arc();
			XDrawRectangle(display, buffer, bufBlackGC, arc.x - arc.r, arc.y - arc.r, arc.r * 2, arc.r * 2);
			arc.fill(display, buffer, bufWhiteGC);
			arc.draw(display, buffer, bufBlackGC);
		}
		if(edge::focused < edge::edges.size()){
			Arc mid(edge::edges[edge::focused].mid.x * width, edge::edges[edge::focused].mid.y * height, 5);
			Arc pre(edge::edges[edge::focused].pre.x * width, edge::edges[edge::focused].pre.y * height, 3);
			Arc post(edge::edges[edge::focused].post.x * width, edge::edges[edge::focused].post.y * height, 3);
			mid.fill(display, buffer, bufWhiteGC);
			mid.draw(display, buffer, bufBlackGC);
			pre.fill(display, buffer, bufWhiteGC);
			pre.draw(display, buffer, bufBlackGC);
			post.fill(display, buffer, bufWhiteGC);
			post.draw(display, buffer, bufBlackGC);
		}
		if(!edge::drawing::points.empty()){
			XDrawLines(display, buffer, bufBlackGC, &edge::drawing::points.front(), edge::drawing::points.size(), CoordModeOrigin);
		}
		XCopyArea(display, buffer, window, winBlackGC, 0, 0, width, height, 0, 0);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x210, %rsp            # imm = 0x210
movq 0xced6(%rip), %rdi      # 0x10198
movq 0xcedf(%rip), %rsi      # 0x101a8
movq 0xcf00(%rip), %rdx      # 0x101d0
movl 0xced9(%rip), %r9d      # 0x101b0
movl 0xced7(%rip), %eax      # 0x101b4
xorl %r8d, %r8d
movl %r8d, %ecx
movl %eax, (%rsp)
callq 0x2100
leaq 0xcf0e(%rip), %rax      # 0x10200
movq %rax, -0x8(%rbp)
leaq 0xcf03(%rip), %rdi      # 0x10200
callq 0x56c0
movq %rax, -0x10(%rbp)
leaq 0xcef3(%rip), %rdi      # 0x10200
callq 0x56f0
movq %rax, -0x18(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x5720
xorb $-0x1, %al
testb $0x1, %al
jne 0x332e
jmp 0x367b
leaq -0x10(%rbp), %rdi
callq 0x5760
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x5780
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
callq 0x57b0
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x57e0
xorb $-0x1, %al
testb $0x1, %al
jne 0x3375
jmp 0x34b3
leaq -0x30(%rbp), %rdi
callq 0x5820
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movups 0x38(%rax), %xmm0
movaps %xmm0, -0x70(%rbp)
movq -0x40(%rbp), %rsi
leaq 0xce3c(%rip), %rdi      # 0x101d8
callq 0x55c0
movups 0x10(%rax), %xmm0
movaps %xmm0, -0x80(%rbp)
movq -0x20(%rbp), %rax
movups 0x48(%rax), %xmm0
movaps %xmm0, -0x90(%rbp)
movq -0x20(%rbp), %rax
movsd 0x30(%rax), %xmm6
movsd 0xcdb7(%rip), %xmm0     # 0x10180
mulsd %xmm0, %xmm6
movsd -0x70(%rbp), %xmm0
movsd -0x68(%rbp), %xmm1
movsd -0x80(%rbp), %xmm2
movsd -0x78(%rbp), %xmm3
movsd -0x90(%rbp), %xmm4
movsd -0x88(%rbp), %xmm5
leaq -0x58(%rbp), %rdi
movq %rdi, -0x188(%rbp)
callq 0x24e0
movq -0x188(%rbp), %rdi
movq 0xcd89(%rip), %rax      # 0x10198
movq %rax, -0x180(%rbp)
movq 0xcd8b(%rip), %rax      # 0x101a8
movq %rax, -0x178(%rbp)
movq 0xcd9d(%rip), %rax      # 0x101c8
movq %rax, -0x170(%rbp)
callq 0x5840
movq -0x188(%rbp), %rdi
movq %rax, -0x168(%rbp)
callq 0x53a0
movq -0x180(%rbp), %rdi
movq -0x178(%rbp), %rsi
movq -0x170(%rbp), %rdx
movq -0x168(%rbp), %rcx
movl %eax, %r8d
movq %rsp, %rax
movl $0x0, (%rax)
xorl %r9d, %r9d
callq 0x22c0
jmp 0x347c
leaq -0x58(%rbp), %rdi
callq 0x5340
leaq -0x30(%rbp), %rdi
callq 0x5870
jmp 0x335d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x5340
jmp 0x3ba9
movq -0x20(%rbp), %rax
addq $0x18, %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x5780
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x57b0
movq %rax, -0xb8(%rbp)
leaq -0xb0(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x57e0
xorb $-0x1, %al
testb $0x1, %al
jne 0x3506
jmp 0x366b
leaq -0xb0(%rbp), %rdi
callq 0x5820
movq (%rax), %rax
movq %rax, -0xc0(%rbp)
movq -0x20(%rbp), %rax
movups 0x38(%rax), %xmm0
movaps %xmm0, -0xf0(%rbp)
movq -0xc0(%rbp), %rsi
leaq 0xcc9f(%rip), %rdi      # 0x101d8
callq 0x55c0
movups 0x10(%rax), %xmm0
movaps %xmm0, -0x100(%rbp)
movq -0x20(%rbp), %rax
movups 0x58(%rax), %xmm0
movaps %xmm0, -0x110(%rbp)
movq -0x20(%rbp), %rax
movsd 0x30(%rax), %xmm6
movsd 0xcc17(%rip), %xmm0     # 0x10180
mulsd %xmm0, %xmm6
movsd -0xf0(%rbp), %xmm0
movsd -0xe8(%rbp), %xmm1
movsd -0x100(%rbp), %xmm2
movsd -0xf8(%rbp), %xmm3
movsd -0x110(%rbp), %xmm4
movsd -0x108(%rbp), %xmm5
leaq -0xd8(%rbp), %rdi
movq %rdi, -0x1b0(%rbp)
callq 0x24e0
movq -0x1b0(%rbp), %rdi
movq 0xcbda(%rip), %rax      # 0x10198
movq %rax, -0x1a8(%rbp)
movq 0xcbdc(%rip), %rax      # 0x101a8
movq %rax, -0x1a0(%rbp)
movq 0xcbee(%rip), %rax      # 0x101c8
movq %rax, -0x198(%rbp)
callq 0x5840
movq -0x1b0(%rbp), %rdi
movq %rax, -0x190(%rbp)
callq 0x53a0
movq -0x1a8(%rbp), %rdi
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
movq -0x190(%rbp), %rcx
movl %eax, %r8d
movq %rsp, %rax
movl $0x0, (%rax)
xorl %r9d, %r9d
callq 0x22c0
jmp 0x362b
leaq -0xd8(%rbp), %rdi
callq 0x5340
leaq -0xb0(%rbp), %rdi
callq 0x5870
jmp 0x34e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x5340
jmp 0x3ba9
jmp 0x366d
leaq -0x10(%rbp), %rdi
callq 0x5890
jmp 0x3316
leaq 0xcb56(%rip), %rax      # 0x101d8
movq %rax, -0x118(%rbp)
leaq 0xcb48(%rip), %rdi      # 0x101d8
callq 0x58b0
movq %rax, -0x120(%rbp)
leaq 0xcb35(%rip), %rdi      # 0x101d8
callq 0x58e0
movq %rax, -0x128(%rbp)
leaq -0x120(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x5910
xorb $-0x1, %al
testb $0x1, %al
jne 0x36cd
jmp 0x3752
leaq -0x120(%rbp), %rdi
callq 0x5950
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rdi
callq 0x55e0
movl %eax, %ecx
movl %ecx, -0x136(%rbp)
shrq $0x20, %rax
movw %ax, -0x132(%rbp)
movq 0xca92(%rip), %rsi      # 0x10198
movq 0xca9b(%rip), %rdx      # 0x101a8
movq 0xcabc(%rip), %rcx      # 0x101d0
leaq -0x136(%rbp), %rdi
callq 0x5970
movq 0xca71(%rip), %rsi      # 0x10198
movq 0xca7a(%rip), %rdx      # 0x101a8
movq 0xca93(%rip), %rcx      # 0x101c8
leaq -0x136(%rbp), %rdi
callq 0x59e0
leaq -0x120(%rbp), %rdi
callq 0x5a50
jmp 0x36af
movq 0xca97(%rip), %rax      # 0x101f0
movq %rax, -0x1b8(%rbp)
leaq 0xca71(%rip), %rdi      # 0x101d8
callq 0x5590
movq %rax, %rcx
movq -0x1b8(%rbp), %rax
cmpq %rcx, %rax
jae 0x3842
movq 0xca6a(%rip), %rsi      # 0x101f0
leaq 0xca4b(%rip), %rdi      # 0x101d8
callq 0x55c0
movq %rax, %rdi
callq 0x55e0
movl %eax, %ecx
movl %ecx, -0x13c(%rbp)
shrq $0x20, %rax
movw %ax, -0x138(%rbp)
movq 0xc9e4(%rip), %rdi      # 0x10198
movq 0xc9ed(%rip), %rsi      # 0x101a8
movq 0xca06(%rip), %rdx      # 0x101c8
movswl -0x13c(%rbp), %ecx
movzwl -0x138(%rbp), %eax
subl %eax, %ecx
movswl -0x13a(%rbp), %r8d
movzwl -0x138(%rbp), %eax
subl %eax, %r8d
movzwl -0x138(%rbp), %r9d
shll %r9d
movzwl -0x138(%rbp), %eax
shll %eax
movl %eax, (%rsp)
callq 0x2150
movq 0xc991(%rip), %rsi      # 0x10198
movq 0xc99a(%rip), %rdx      # 0x101a8
movq 0xc9bb(%rip), %rcx      # 0x101d0
leaq -0x13c(%rbp), %rdi
callq 0x5970
movq 0xc970(%rip), %rsi      # 0x10198
movq 0xc979(%rip), %rdx      # 0x101a8
movq 0xc992(%rip), %rcx      # 0x101c8
leaq -0x13c(%rbp), %rdi
callq 0x59e0
movq 0xc9cf(%rip), %rax      # 0x10218
movq %rax, -0x1c0(%rbp)
leaq 0xc9a9(%rip), %rdi      # 0x10200
callq 0x5670
movq %rax, %rcx
movq -0x1c0(%rbp), %rax
cmpq %rcx, %rax
jae 0x3ad4
movq 0xc9a2(%rip), %rsi      # 0x10218
leaq 0xc983(%rip), %rdi      # 0x10200
movq %rdi, -0x1c8(%rbp)
callq 0x56a0
movq -0x1c8(%rbp), %rdi
movsd 0x38(%rax), %xmm0
cvtsi2sdl 0xc913(%rip), %xmm1 # 0x101b0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movw %ax, -0x144(%rbp)
movq 0xc965(%rip), %rsi      # 0x10218
callq 0x56a0
movsd 0x40(%rax), %xmm0
cvtsi2sdl 0xc8ef(%rip), %xmm1 # 0x101b4
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movw %ax, -0x146(%rbp)
movw $0x5, -0x148(%rbp)
leaq -0x142(%rbp), %rdi
leaq -0x144(%rbp), %rsi
leaq -0x146(%rbp), %rdx
leaq -0x148(%rbp), %rcx
callq 0x5a70
movq -0x1c8(%rbp), %rdi
movq 0xc90c(%rip), %rsi      # 0x10218
callq 0x56a0
movq -0x1c8(%rbp), %rdi
movsd 0x48(%rax), %xmm0
cvtsi2sdl 0xc88b(%rip), %xmm1 # 0x101b0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movw %ax, -0x150(%rbp)
movq 0xc8dd(%rip), %rsi      # 0x10218
callq 0x56a0
movsd 0x50(%rax), %xmm0
cvtsi2sdl 0xc867(%rip), %xmm1 # 0x101b4
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movw %ax, -0x152(%rbp)
movw $0x3, -0x154(%rbp)
leaq -0x14e(%rbp), %rdi
leaq -0x150(%rbp), %rsi
leaq -0x152(%rbp), %rdx
leaq -0x154(%rbp), %rcx
callq 0x5a70
movq -0x1c8(%rbp), %rdi
movq 0xc884(%rip), %rsi      # 0x10218
callq 0x56a0
movq -0x1c8(%rbp), %rdi
movsd 0x58(%rax), %xmm0
cvtsi2sdl 0xc803(%rip), %xmm1 # 0x101b0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movw %ax, -0x15c(%rbp)
movq 0xc855(%rip), %rsi      # 0x10218
callq 0x56a0
movsd 0x60(%rax), %xmm0
cvtsi2sdl 0xc7df(%rip), %xmm1 # 0x101b4
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movw %ax, -0x15e(%rbp)
movw $0x3, -0x160(%rbp)
leaq -0x15a(%rbp), %rdi
leaq -0x15c(%rbp), %rsi
leaq -0x15e(%rbp), %rdx
leaq -0x160(%rbp), %rcx
callq 0x5a70
movq 0xc783(%rip), %rsi      # 0x10198
movq 0xc78c(%rip), %rdx      # 0x101a8
movq 0xc7ad(%rip), %rcx      # 0x101d0
leaq -0x142(%rbp), %rdi
callq 0x5970
movq 0xc762(%rip), %rsi      # 0x10198
movq 0xc76b(%rip), %rdx      # 0x101a8
movq 0xc784(%rip), %rcx      # 0x101c8
leaq -0x142(%rbp), %rdi
callq 0x59e0
movq 0xc741(%rip), %rsi      # 0x10198
movq 0xc74a(%rip), %rdx      # 0x101a8
movq 0xc76b(%rip), %rcx      # 0x101d0
leaq -0x14e(%rbp), %rdi
callq 0x5970
movq 0xc720(%rip), %rsi      # 0x10198
movq 0xc729(%rip), %rdx      # 0x101a8
movq 0xc742(%rip), %rcx      # 0x101c8
leaq -0x14e(%rbp), %rdi
callq 0x59e0
movq 0xc6ff(%rip), %rsi      # 0x10198
movq 0xc708(%rip), %rdx      # 0x101a8
movq 0xc729(%rip), %rcx      # 0x101d0
leaq -0x15a(%rbp), %rdi
callq 0x5970
movq 0xc6de(%rip), %rsi      # 0x10198
movq 0xc6e7(%rip), %rdx      # 0x101a8
movq 0xc700(%rip), %rcx      # 0x101c8
leaq -0x15a(%rbp), %rdi
callq 0x59e0
leaq 0xc755(%rip), %rdi      # 0x10230
callq 0x5ab0
testb $0x1, %al
jne 0x3b54
movq 0xc6ad(%rip), %rax      # 0x10198
movq %rax, -0x1e8(%rbp)
movq 0xc6af(%rip), %rax      # 0x101a8
movq %rax, -0x1e0(%rbp)
movq 0xc6c1(%rip), %rax      # 0x101c8
movq %rax, -0x1d8(%rbp)
leaq 0xc71b(%rip), %rdi      # 0x10230
callq 0x5840
movq %rax, -0x1d0(%rbp)
leaq 0xc708(%rip), %rdi      # 0x10230
callq 0x53a0
movq -0x1e8(%rbp), %rdi
movq -0x1e0(%rbp), %rsi
movq -0x1d8(%rbp), %rdx
movq -0x1d0(%rbp), %rcx
movl %eax, %r8d
xorl %r9d, %r9d
callq 0x20d0
movq 0xc63d(%rip), %rdi      # 0x10198
movq 0xc646(%rip), %rsi      # 0x101a8
movq 0xc637(%rip), %rdx      # 0x101a0
movq 0xc648(%rip), %rcx      # 0x101b8
movl 0xc639(%rip), %r10d     # 0x101b0
movl 0xc637(%rip), %eax      # 0x101b4
xorl %r9d, %r9d
movl %r9d, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
movl $0x0, 0x10(%rsp)
movl $0x0, 0x18(%rsp)
callq 0x20c0
addq $0x210, %rsp            # imm = 0x210
popq %rbp
retq
movq -0x98(%rbp), %rdi
callq 0x22a0
nopw %cs:(%rax,%rax)