// File: /workspace/github_c_makefile_star2_O0/back1127[P]linkedge-thing-access-websocket_client_sdk/sdk/test/linux/simulated_device.c
// Function: cb_set_property
static int cb_set_property(const char *pk, const char *dn,
                                       const leda_device_data_t properties[], 
                                       int properties_count, 
                                       void *usr_data)
{
    int ret = LE_ERROR_UNKNOWN, i;

    for (i = 0; i < properties_count; i++) {
        if (strcmp(properties[i].key, PROPERTY_INT32_RW) == 0) {
            ret = set_dev_int32_rw(pk, dn, atoi(properties[i].value));
        } else if (strcmp(properties[i].key, PROPERTY_FLOAT_RW) == 0) {
            ret = set_dev_float_rw(pk, dn, atof(properties[i].value));
        }else if (strcmp(properties[i].key, PROPERTY_DOUBLE_RW) == 0) {
            ret = set_dev_double_rw(pk, dn, atof(properties[i].value));
        } else if (strcmp(properties[i].key, PROPERTY_ENUM_RW) == 0) {
            ret = set_dev_enum_rw(pk, dn, atoi(properties[i].value));
        } else if (strcmp(properties[i].key, PROPERTY_BOOL_RW) == 0) {
            ret = set_dev_bool_rw(pk, dn, atoi(properties[i].value));
        } else if (strcmp(properties[i].key, PROPERTY_STRING_RW) == 0) {
            ret = set_dev_string_rw(pk, dn, properties[i].value);
        } else if (strcmp(properties[i].key, PROPERTY_DATE_RW) == 0) {
            ret = set_dev_date_rw(pk, dn, properties[i].value);
        } else {
            printf("property %s is not exist!\n", properties[i].value);
            return LEDA_ERROR_PROPERTY_NOT_EXIST;
        }
        if (ret != LE_SUCCESS) {
            break;
        }
    }
    if (ret == LE_SUCCESS) {
        //send_signal_property_changed(pk, dn);
    }
    return ret;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movq %r8, -0x30(%rbp)
movl $0x186a0, -0x34(%rbp)   # imm = 0x186A0
movl $0x0, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl -0x24(%rbp), %eax
jge 0x38da
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x4, %rdi
leaq 0xa3e(%rip), %rsi       # 0x4033
callq 0x11e0
cmpl $0x0, %eax
jne 0x3641
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x44, %rdi
callq 0x11b0
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rsi
movl %eax, %edx
callq 0x1430
movl %eax, -0x34(%rbp)
jmp 0x38c2
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x4, %rdi
leaq 0x9ed(%rip), %rsi       # 0x404b
callq 0x11e0
cmpl $0x0, %eax
jne 0x36ac
movq -0x10(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x44, %rdi
callq 0x1100
movq -0x58(%rbp), %rdi
movq -0x50(%rbp), %rsi
cvtsd2ss %xmm0, %xmm0
callq 0x1520
movl %eax, -0x34(%rbp)
jmp 0x38c0
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x4, %rdi
leaq 0x9c1(%rip), %rsi       # 0x408a
callq 0x11e0
cmpl $0x0, %eax
jne 0x3713
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x44, %rdi
callq 0x1100
movq -0x68(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x1620
movl %eax, -0x34(%rbp)
jmp 0x38be
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x4, %rdi
leaq 0x971(%rip), %rsi       # 0x40a1
callq 0x11e0
cmpl $0x0, %eax
jne 0x377c
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x44, %rdi
callq 0x11b0
movq -0x78(%rbp), %rdi
movq -0x70(%rbp), %rsi
movl %eax, %edx
callq 0x1720
movl %eax, -0x34(%rbp)
jmp 0x38bc
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x4, %rdi
leaq 0x917(%rip), %rsi       # 0x40b0
callq 0x11e0
cmpl $0x0, %eax
jne 0x37eb
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x44, %rdi
callq 0x11b0
movq -0x88(%rbp), %rdi
movq -0x80(%rbp), %rsi
movl %eax, %edx
callq 0x1810
movl %eax, -0x34(%rbp)
jmp 0x38ba
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x4, %rdi
leaq 0x85b(%rip), %rsi       # 0x4063
callq 0x11e0
cmpl $0x0, %eax
jne 0x383a
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdx
addq $0x44, %rdx
callq 0x1900
movl %eax, -0x34(%rbp)
jmp 0x38b8
movq -0x20(%rbp), %rdi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdi
addq $0x4, %rdi
leaq 0x871(%rip), %rsi       # 0x40c8
callq 0x11e0
cmpl $0x0, %eax
jne 0x3889
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rdx
addq $0x44, %rdx
callq 0x1a50
movl %eax, -0x34(%rbp)
jmp 0x38b6
movq -0x20(%rbp), %rsi
movslq -0x38(%rbp), %rax
imulq $0x844, %rax, %rax      # imm = 0x844
addq %rax, %rsi
addq $0x44, %rsi
leaq 0xa07(%rip), %rdi       # 0x42ad
movb $0x0, %al
callq 0x1030
movl $0x1a9ca, -0x4(%rbp)    # imm = 0x1A9CA
jmp 0x38e8
jmp 0x38b8
jmp 0x38ba
jmp 0x38bc
jmp 0x38be
jmp 0x38c0
jmp 0x38c2
cmpl $0x0, -0x34(%rbp)
je 0x38ca
jmp 0x38da
jmp 0x38cc
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x35cc
cmpl $0x0, -0x34(%rbp)
jne 0x38e2
jmp 0x38e2
movl -0x34(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)