// File: JameyWoo[P]csmile/parse.cpp
// Function: call(TreeNode*)
TreeNode* call(TreeNode* k) {
    TreeNode* t = new TreeNode("Call");
    if (k != NULL) {
        t->child[0] = k;
    }
    match("LeftBracket");
    if (ptoken.type == "RightBracket") {
        match("RightBracket");
        return t;
    } else if (k != NULL) {
        t->child[1] = args();
        match("RightBracket");
    }
    return t;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1d0, %rsp            # imm = 0x1D0
movq %rdi, -0x10(%rbp)
movl $0xe0, %edi
callq 0x3280
movq %rax, -0x1b0(%rbp)
movb $0x1, -0x4d(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x3480
movq -0x1a8(%rbp), %rdx
leaq 0x16508(%rip), %rsi     # 0x211da
leaq -0x38(%rbp), %rdi
callq 0x4ef0
jmp 0xacdd
movq -0x1b0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0xdb50
jmp 0xacef
movb $0x0, -0x4d(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x34e8
leaq -0x39(%rbp), %rdi
callq 0x32d0
movq -0x1b0(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0xad6e
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
jmp 0xad6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xad47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x34e8
leaq -0x39(%rbp), %rdi
callq 0x32d0
testb $0x1, -0x4d(%rbp)
jne 0xad58
jmp 0xad69
movq -0x1b0(%rbp), %rdi
movl $0xe0, %esi
callq 0x3290
jmp 0xafa5
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x3480
movq -0x1b8(%rbp), %rdx
leaq 0x16321(%rip), %rsi     # 0x210b0
leaq -0xb8(%rbp), %rdi
callq 0x4ef0
jmp 0xad9d
leaq -0x98(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x80b0
jmp 0xadb2
leaq -0x98(%rbp), %rdi
callq 0x4ec0
leaq -0xb8(%rbp), %rdi
callq 0x34e8
leaq -0xb9(%rbp), %rdi
callq 0x32d0
leaq 0x237ab(%rip), %rdi     # 0x2e588
leaq 0x162d8(%rip), %rsi     # 0x210bc
callq 0x5e70
testb $0x1, %al
jne 0xadf2
jmp 0xaed5
leaq -0x129(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0x3480
movq -0x1c0(%rbp), %rdx
leaq 0x162a9(%rip), %rsi     # 0x210bc
leaq -0x128(%rbp), %rdi
callq 0x4ef0
jmp 0xae21
leaq -0x108(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x80b0
jmp 0xae36
leaq -0x108(%rbp), %rdi
callq 0x4ec0
leaq -0x128(%rbp), %rdi
callq 0x34e8
leaq -0x129(%rbp), %rdi
callq 0x32d0
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0xaf98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xae8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x34e8
leaq -0xb9(%rbp), %rdi
callq 0x32d0
jmp 0xafa5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xaec4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x128(%rbp), %rdi
callq 0x34e8
leaq -0x129(%rbp), %rdi
callq 0x32d0
jmp 0xafa5
cmpq $0x0, -0x10(%rbp)
je 0xaf8e
callq 0xaa60
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
leaq -0x199(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x3480
movq -0x1c8(%rbp), %rdx
leaq 0x161ab(%rip), %rsi     # 0x210bc
leaq -0x198(%rbp), %rdi
callq 0x4ef0
jmp 0xaf1f
leaq -0x178(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x80b0
jmp 0xaf34
leaq -0x178(%rbp), %rdi
callq 0x4ec0
leaq -0x198(%rbp), %rdi
callq 0x34e8
leaq -0x199(%rbp), %rdi
callq 0x32d0
jmp 0xaf8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0xaf80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x34e8
leaq -0x199(%rbp), %rdi
callq 0x32d0
jmp 0xafa5
jmp 0xaf90
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x1d0, %rsp            # imm = 0x1D0
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0x3470
nop