// File: vjeux[P]jspp/example/../src/operators.h
// Function: Object::operator()(Object, Object, Object, Object, Object)
Object Object::operator()(Object a, Object b, Object c, Object d, Object e) {
		if (s->type != FUNCTION) { throw _("Object is not a function"); }
		if (s->f == 0) return s->f0(*self);
		if (s->f == 1) return s->f1(*self, a);
		if (s->f == 2) return s->f2(*self, a, b);
		if (s->f == 3) return s->f3(*self, a, b, c);
		if (s->f == 4) return s->f4(*self, a, b, c, d);
		if (s->f == 5) return s->f5(*self, a, b, c, d, e);
		throw _("Too many arguments");
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x310, %rsp            # imm = 0x310
movq %r9, -0x2b0(%rbp)
movq %r8, -0x2a8(%rbp)
movq %rcx, -0x2a0(%rbp)
movq %rdx, -0x298(%rbp)
movq %rdi, -0x290(%rbp)
movq %rdi, %rax
movq %rax, -0x288(%rbp)
movq 0x10(%rbp), %rax
movq %rax, -0x280(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x278(%rbp)
movq 0x10(%rax), %rax
cmpl $0x2, 0x38(%rax)
je 0x5ce3
movb $0x1, -0x55(%rbp)
movl $0x18, %edi
callq 0x2100
movq %rax, -0x2b8(%rbp)
leaq 0xb44c(%rip), %rsi      # 0x110ac
leaq -0x48(%rbp), %rdi
callq 0x7b00
jmp 0x5c6b
movq -0x2b8(%rbp), %rdi
leaq 0x125bf(%rip), %rsi     # 0x18238
leaq -0x48(%rbp), %rdx
callq 0xc680
jmp 0x5c84
movq -0x2b8(%rbp), %rdi
movb $0x0, -0x55(%rbp)
leaq 0x120aa(%rip), %rsi     # 0x17d40
leaq 0x6983(%rip), %rdx      # 0xc620
callq 0x2330
jmp 0x64b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x5cca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x48(%rbp), %rdi
callq 0xc620
testb $0x1, -0x55(%rbp)
jne 0x5cd2
jmp 0x5cde
movq -0x2b8(%rbp), %rdi
callq 0x2180
jmp 0x64ab
movq -0x278(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x0, 0x68(%rax)
jne 0x5d61
movq -0x278(%rbp), %rax
movq (%rax), %rsi
movq 0x10(%rax), %rax
addq $0x70, %rax
movq %rax, -0x2c8(%rbp)
leaq -0x70(%rbp), %rdi
movq %rdi, -0x2c0(%rbp)
callq 0x7840
movq -0x290(%rbp), %rdi
movq -0x2c8(%rbp), %rsi
movq -0x2c0(%rbp), %rdx
callq 0xc6c0
jmp 0x5d39
leaq -0x70(%rbp), %rdi
callq 0xc620
jmp 0x649b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x70(%rbp), %rdi
callq 0xc620
jmp 0x64ab
movq -0x278(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x1, 0x68(%rax)
jne 0x5e29
movq -0x278(%rbp), %rax
movq (%rax), %rsi
movq 0x10(%rax), %rax
addq $0x90, %rax
movq %rax, -0x2d0(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x7840
movq -0x298(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x7840
jmp 0x5db2
movq -0x2d0(%rbp), %rsi
movq -0x290(%rbp), %rdi
leaq -0x88(%rbp), %rdx
leaq -0xa0(%rbp), %rcx
callq 0xc720
jmp 0x5dd5
leaq -0xa0(%rbp), %rdi
callq 0xc620
leaq -0x88(%rbp), %rdi
callq 0xc620
jmp 0x649b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x5e18
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0xc620
leaq -0x88(%rbp), %rdi
callq 0xc620
jmp 0x64ab
movq -0x278(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x2, 0x68(%rax)
jne 0x5f33
movq -0x278(%rbp), %rax
movq (%rax), %rsi
movq 0x10(%rax), %rax
addq $0xb0, %rax
movq %rax, -0x2d8(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x7840
movq -0x298(%rbp), %rsi
leaq -0xd0(%rbp), %rdi
callq 0x7840
jmp 0x5e7a
movq -0x2a0(%rbp), %rsi
leaq -0xe8(%rbp), %rdi
callq 0x7840
jmp 0x5e8f
movq -0x2d8(%rbp), %rsi
movq -0x290(%rbp), %rdi
leaq -0xb8(%rbp), %rdx
leaq -0xd0(%rbp), %rcx
leaq -0xe8(%rbp), %r8
callq 0xc790
jmp 0x5eb9
leaq -0xe8(%rbp), %rdi
callq 0xc620
leaq -0xd0(%rbp), %rdi
callq 0xc620
leaq -0xb8(%rbp), %rdi
callq 0xc620
jmp 0x649b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x5f22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x5f16
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0xc620
leaq -0xd0(%rbp), %rdi
callq 0xc620
leaq -0xb8(%rbp), %rdi
callq 0xc620
jmp 0x64ab
movq -0x278(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x3, 0x68(%rax)
jne 0x607f
movq -0x278(%rbp), %rax
movq (%rax), %rsi
movq 0x10(%rax), %rax
addq $0xd0, %rax
movq %rax, -0x2e0(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x7840
movq -0x298(%rbp), %rsi
leaq -0x118(%rbp), %rdi
callq 0x7840
jmp 0x5f84
movq -0x2a0(%rbp), %rsi
leaq -0x130(%rbp), %rdi
callq 0x7840
jmp 0x5f99
movq -0x2a8(%rbp), %rsi
leaq -0x148(%rbp), %rdi
callq 0x7840
jmp 0x5fae
movq -0x2e0(%rbp), %rsi
movq -0x290(%rbp), %rdi
leaq -0x100(%rbp), %rdx
leaq -0x118(%rbp), %rcx
leaq -0x130(%rbp), %r8
leaq -0x148(%rbp), %r9
callq 0xc800
jmp 0x5fdf
leaq -0x148(%rbp), %rdi
callq 0xc620
leaq -0x130(%rbp), %rdi
callq 0xc620
leaq -0x118(%rbp), %rdi
callq 0xc620
leaq -0x100(%rbp), %rdi
callq 0xc620
jmp 0x649b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x606e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6062
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6056
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x148(%rbp), %rdi
callq 0xc620
leaq -0x130(%rbp), %rdi
callq 0xc620
leaq -0x118(%rbp), %rdi
callq 0xc620
leaq -0x100(%rbp), %rdi
callq 0xc620
jmp 0x64ab
movq -0x278(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x4, 0x68(%rax)
jne 0x6213
movq -0x278(%rbp), %rax
movq (%rax), %rsi
movq 0x10(%rax), %rax
addq $0xf0, %rax
movq %rax, -0x2e8(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x7840
movq -0x298(%rbp), %rsi
leaq -0x178(%rbp), %rdi
callq 0x7840
jmp 0x60d0
movq -0x2a0(%rbp), %rsi
leaq -0x190(%rbp), %rdi
callq 0x7840
jmp 0x60e5
movq -0x2a8(%rbp), %rsi
leaq -0x1a8(%rbp), %rdi
callq 0x7840
jmp 0x60fa
movq -0x2b0(%rbp), %rsi
leaq -0x1c0(%rbp), %rdi
callq 0x7840
jmp 0x610f
movq -0x2e8(%rbp), %rsi
movq -0x290(%rbp), %rdi
movq %rsp, %rax
leaq -0x1c0(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x160(%rbp), %rdx
leaq -0x178(%rbp), %rcx
leaq -0x190(%rbp), %r8
leaq -0x1a8(%rbp), %r9
callq 0xc880
jmp 0x614d
leaq -0x1c0(%rbp), %rdi
callq 0xc620
leaq -0x1a8(%rbp), %rdi
callq 0xc620
leaq -0x190(%rbp), %rdi
callq 0xc620
leaq -0x178(%rbp), %rdi
callq 0xc620
leaq -0x160(%rbp), %rdi
callq 0xc620
jmp 0x649b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6202
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x61f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x61ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x61de
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0xc620
leaq -0x1a8(%rbp), %rdi
callq 0xc620
leaq -0x190(%rbp), %rdi
callq 0xc620
leaq -0x178(%rbp), %rdi
callq 0xc620
leaq -0x160(%rbp), %rdi
callq 0xc620
jmp 0x64ab
movq -0x278(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x5, 0x68(%rax)
jne 0x63f0
movq -0x278(%rbp), %rax
movq (%rax), %rsi
movq 0x10(%rax), %rax
addq $0x110, %rax            # imm = 0x110
movq %rax, -0x2f0(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x7840
movq -0x298(%rbp), %rsi
leaq -0x1f0(%rbp), %rdi
callq 0x7840
jmp 0x6264
movq -0x2a0(%rbp), %rsi
leaq -0x208(%rbp), %rdi
callq 0x7840
jmp 0x6279
movq -0x2a8(%rbp), %rsi
leaq -0x220(%rbp), %rdi
callq 0x7840
jmp 0x628e
movq -0x2b0(%rbp), %rsi
leaq -0x238(%rbp), %rdi
callq 0x7840
jmp 0x62a3
movq -0x280(%rbp), %rsi
leaq -0x250(%rbp), %rdi
callq 0x7840
jmp 0x62b8
movq -0x2f0(%rbp), %rsi
movq -0x290(%rbp), %rdi
movq %rsp, %rax
leaq -0x250(%rbp), %rcx
movq %rcx, 0x8(%rax)
leaq -0x238(%rbp), %rcx
movq %rcx, (%rax)
leaq -0x1d8(%rbp), %rdx
leaq -0x1f0(%rbp), %rcx
leaq -0x208(%rbp), %r8
leaq -0x220(%rbp), %r9
callq 0xc920
jmp 0x6301
leaq -0x250(%rbp), %rdi
callq 0xc620
leaq -0x238(%rbp), %rdi
callq 0xc620
leaq -0x220(%rbp), %rdi
callq 0xc620
leaq -0x208(%rbp), %rdi
callq 0xc620
leaq -0x1f0(%rbp), %rdi
callq 0xc620
leaq -0x1d8(%rbp), %rdi
callq 0xc620
jmp 0x649b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x63df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x63d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x63c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x63bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x63af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x250(%rbp), %rdi
callq 0xc620
leaq -0x238(%rbp), %rdi
callq 0xc620
leaq -0x220(%rbp), %rdi
callq 0xc620
leaq -0x208(%rbp), %rdi
callq 0xc620
leaq -0x1f0(%rbp), %rdi
callq 0xc620
leaq -0x1d8(%rbp), %rdi
callq 0xc620
jmp 0x64ab
movb $0x1, -0x269(%rbp)
movl $0x18, %edi
callq 0x2100
movq %rax, -0x2f8(%rbp)
leaq 0xacb6(%rip), %rsi      # 0x110c5
leaq -0x268(%rbp), %rdi
callq 0x7b00
jmp 0x641d
movq -0x2f8(%rbp), %rdi
leaq 0x11e0d(%rip), %rsi     # 0x18238
leaq -0x268(%rbp), %rdx
callq 0xc680
jmp 0x6439
movq -0x2f8(%rbp), %rdi
movb $0x0, -0x269(%rbp)
leaq 0x118f2(%rip), %rsi     # 0x17d40
leaq 0x61cb(%rip), %rdx      # 0xc620
callq 0x2330
jmp 0x64b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x6482
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x268(%rbp), %rdi
callq 0xc620
testb $0x1, -0x269(%rbp)
jne 0x648d
jmp 0x6499
movq -0x2f8(%rbp), %rdi
callq 0x2180
jmp 0x64ab
movq -0x288(%rbp), %rax
addq $0x310, %rsp            # imm = 0x310
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x2340
nopw %cs:(%rax,%rax)