// File: /workspace/github_c_makefile_star2_O0/mruby-zest[P]osc-bridge/test/basic-remote.c
// Function: test_lfo
void test_lfo(schema_t schema, bridge_t *bridge)
{
    for(unsigned i=0; i<sizeof(paths)/sizeof(paths[0]); ++i) {
        uri_t uri = paths[i];
        printf("#Testing address '%s'\n", uri);
        schema_handle_t handle = sm_get(schema, uri);

        assert_true(sm_valid(handle), "Verify Handle", __LINE__);

        //printf("(1#{%s} 2#{%s} 3#{%s} 4#{%s}\n",
        //sm_get_name(handle),    sm_get_short(handle),
        //sm_get_tooltip(handle), sm_get_units(handle));
        br_add_callback(bridge, uri, print_response, NULL);
        void **data = malloc(sizeof(void*));
        if(strstr(uri, "Pfreqrand")) {
            *data = &Pfreqrand;
            br_add_callback(bridge, uri, print_response, (void*)data);
        } else if(strstr(uri, "Pfreq")) {
            *data = &Pfreq;
            br_add_callback(bridge, uri, print_response, (void*)data);
        } else if(strstr(uri, "Pcontinous")) {
            *data = &Pcontinous;
            br_add_callback(bridge, uri, print_response, (void*)data);
        } else
            free(data);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
cmpq $0x9, %rax
jae 0xb995
movl -0xc(%rbp), %eax
movl %eax, %ecx
leaq 0x4999(%rip), %rax      # 0x101a0
movq (%rax,%rcx,8), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rsi
leaq 0x19ee(%rip), %rdi      # 0xd208
movb $0x0, %al
callq 0x20e0
movq -0x80(%rbp), %rax
movq -0x18(%rbp), %rsi
leaq -0x70(%rbp), %rdi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x8280
movq -0x20(%rbp), %rcx
movq %rsp, %rax
movq %rcx, 0x50(%rax)
movups -0x30(%rbp), %xmm0
movups %xmm0, 0x40(%rax)
movups -0x70(%rbp), %xmm0
movups -0x60(%rbp), %xmm1
movups -0x50(%rbp), %xmm2
movups -0x40(%rbp), %xmm3
movups %xmm3, 0x30(%rax)
movups %xmm2, 0x20(%rax)
movups %xmm1, 0x10(%rax)
movups %xmm0, (%rax)
callq 0x8720
movl %eax, %edi
leaq 0x1994(%rip), %rsi      # 0xd21f
movl $0x44, %edx
callq 0xaf70
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
leaq -0x174(%rip), %rdx      # 0xb730
xorl %eax, %eax
movl %eax, %ecx
callq 0x39e0
movl $0x8, %edi
callq 0x2200
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x18ae(%rip), %rsi      # 0xd174
callq 0x22b0
cmpq $0x0, %rax
je 0xb8fc
movq -0x78(%rbp), %rax
leaq 0x48b8(%rip), %rcx      # 0x10194
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x78(%rbp), %rcx
leaq -0x1c2(%rip), %rdx      # 0xb730
callq 0x39e0
jmp 0xb985
movq -0x18(%rbp), %rdi
leaq 0x1782(%rip), %rsi      # 0xd089
callq 0x22b0
cmpq $0x0, %rax
je 0xb93a
movq -0x78(%rbp), %rax
leaq 0x4873(%rip), %rcx      # 0x10190
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x78(%rbp), %rcx
leaq -0x203(%rip), %rdx      # 0xb730
callq 0x39e0
jmp 0xb983
movq -0x18(%rbp), %rdi
leaq 0x188a(%rip), %rsi      # 0xd1cf
callq 0x22b0
cmpq $0x0, %rax
je 0xb978
movq -0x78(%rbp), %rax
leaq 0x483d(%rip), %rcx      # 0x10198
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x78(%rbp), %rcx
leaq -0x241(%rip), %rdx      # 0xb730
callq 0x39e0
jmp 0xb981
movq -0x78(%rbp), %rdi
callq 0x2030
jmp 0xb983
jmp 0xb985
jmp 0xb987
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0xb7ee
addq $0xe0, %rsp
popq %rbp
retq
nop