// File: /workspace/github_c_makefile_star2_O0/xapi-project[P]rrd-client-lib/parson/parson.c
// Function: json_serialize_to_buffer_r
static int json_serialize_to_buffer_r(const JSON_Value *value, char *buf, int level, int is_pretty, char *num_buf)
{
    const char *key = NULL, *string = NULL;
    JSON_Value *temp_value = NULL;
    JSON_Array *array = NULL;
    JSON_Object *object = NULL;
    size_t i = 0, count = 0;
    double num = 0.0;
    int written = -1, written_total = 0;

    switch (json_value_get_type(value)) {
        case JSONArray:
            array = json_value_get_array(value);
            count = json_array_get_count(array);
            APPEND_STRING("[");
            if (count > 0 && is_pretty) {
                APPEND_STRING("\n");
            }
            for (i = 0; i < count; i++) {
                if (is_pretty) {
                    APPEND_INDENT(level+1);
                }
                temp_value = json_array_get_value(array, i);
                written = json_serialize_to_buffer_r(temp_value, buf, level+1, is_pretty, num_buf);
                if (written < 0) {
                    return -1;
                }
                if (buf != NULL) {
                    buf += written;
                }
                written_total += written;
                if (i < (count - 1)) {
                    APPEND_STRING(",");
                }
                if (is_pretty) {
                    APPEND_STRING("\n");
                }
            }
            if (count > 0 && is_pretty) {
                APPEND_INDENT(level);
            }
            APPEND_STRING("]");
            return written_total;
        case JSONObject:
            object = json_value_get_object(value);
            count  = json_object_get_count(object);
            APPEND_STRING("{");
            if (count > 0 && is_pretty) {
                APPEND_STRING("\n");
            }
            for (i = 0; i < count; i++) {
                key = json_object_get_name(object, i);
                if (key == NULL) {
                    return -1;
                }
                if (is_pretty) {
                    APPEND_INDENT(level+1);
                }
                written = json_serialize_string(key, buf);
                if (written < 0) {
                    return -1;
                }
                if (buf != NULL) {
                    buf += written;
                }
                written_total += written;
                APPEND_STRING(":");
                if (is_pretty) {
                    APPEND_STRING(" ");
                }
                temp_value = json_object_get_value(object, key);
                written = json_serialize_to_buffer_r(temp_value, buf, level+1, is_pretty, num_buf);
                if (written < 0) {
                    return -1;
                }
                if (buf != NULL) {
                    buf += written;
                }
                written_total += written;
                if (i < (count - 1)) {
                    APPEND_STRING(",");
                }
                if (is_pretty) {
                    APPEND_STRING("\n");
                }
            }
            if (count > 0 && is_pretty) {
                APPEND_INDENT(level);
            }
            APPEND_STRING("}");
            return written_total;
        case JSONString:
            string = json_value_get_string(value);
            if (string == NULL) {
                return -1;
            }
            written = json_serialize_string(string, buf);
            if (written < 0) {
                return -1;
            }
            if (buf != NULL) {
                buf += written;
            }
            written_total += written;
            return written_total;
        case JSONBoolean:
            if (json_value_get_boolean(value)) {
                APPEND_STRING("true");
            } else {
                APPEND_STRING("false");
            }
            return written_total;
        case JSONNumber:
            num = json_value_get_number(value);
            if (buf != NULL) {
                num_buf = buf;
            }
            if (num == ((double)(int)num)) { /*  check if num is integer */
                written = sprintf(num_buf, "%d", (int)num);
	    } else if (num == ((double)(unsigned int)num)) {
                written = sprintf(num_buf, "%u", (unsigned int)num);
            } else {
                written = sprintf(num_buf, DOUBLE_SERIALIZATION_FORMAT, num);
            }
            if (written < 0) {
                return -1;
            }
            if (buf != NULL) {
                buf += written;
            }
            written_total += written;
            return written_total;
        case JSONNull:
            APPEND_STRING("null");
            return written_total;
        case JSONError:
            return -1;
        default:
            return -1;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movl %ecx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
movq $0x0, -0x38(%rbp)
movq $0x0, -0x40(%rbp)
movq $0x0, -0x48(%rbp)
movq $0x0, -0x50(%rbp)
movq $0x0, -0x58(%rbp)
movq $0x0, -0x60(%rbp)
movq $0x0, -0x68(%rbp)
movl $0xffffffff, -0x6c(%rbp) # imm = 0xFFFFFFFF
movl $0x0, -0x70(%rbp)
movq -0x10(%rbp), %rdi
callq 0x3230
incl %eax
movl %eax, %ecx
movq %rcx, -0x78(%rbp)
subl $0x7, %eax
ja 0x4b17
movq -0x78(%rbp), %rax
leaq 0x52f8(%rip), %rcx      # 0x94f8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
callq 0x2e80
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rdi
callq 0x3340
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x5628(%rip), %rsi      # 0x9856
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4248
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4260
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
cmpq $0x0, -0x60(%rbp)
jbe 0x42c0
cmpl $0x0, -0x20(%rbp)
je 0x42c0
jmp 0x4278
movq -0x18(%rbp), %rdi
leaq 0x4e50(%rip), %rsi      # 0x90d3
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x429d
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x42b5
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x42c0
movq $0x0, -0x58(%rbp)
movq -0x58(%rbp), %rax
cmpq -0x60(%rbp), %rax
jae 0x4444
cmpl $0x0, -0x20(%rbp)
je 0x4325
jmp 0x42de
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
addl $0x1, %esi
callq 0x78f0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4302
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x431a
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x4325
movq -0x48(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x32e0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %edx
addl $0x1, %edx
movl -0x20(%rbp), %ecx
movq -0x28(%rbp), %r8
callq 0x4170
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4365
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x437d
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x43e1
jmp 0x4399
movq -0x18(%rbp), %rdi
leaq 0x54b4(%rip), %rsi      # 0x9858
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x43be
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x43d6
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x43e1
cmpl $0x0, -0x20(%rbp)
je 0x4431
jmp 0x43e9
movq -0x18(%rbp), %rdi
leaq 0x4cdf(%rip), %rsi      # 0x90d3
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x440e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4426
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x4431
jmp 0x4433
movq -0x58(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x58(%rbp)
jmp 0x42c8
cmpq $0x0, -0x60(%rbp)
jbe 0x4497
cmpl $0x0, -0x20(%rbp)
je 0x4497
jmp 0x4453
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x78f0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4474
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x448c
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x4497
jmp 0x4499
movq -0x18(%rbp), %rdi
leaq 0x53b6(%rip), %rsi      # 0x985a
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x44be
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x44d6
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4b1e
movq -0x10(%rbp), %rdi
callq 0x2e10
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x30a0
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x534d(%rip), %rsi      # 0x985c
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4529
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4541
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
cmpq $0x0, -0x60(%rbp)
jbe 0x45a1
cmpl $0x0, -0x20(%rbp)
je 0x45a1
jmp 0x4559
movq -0x18(%rbp), %rdi
leaq 0x4b6f(%rip), %rsi      # 0x90d3
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x457e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4596
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x45a1
movq $0x0, -0x58(%rbp)
movq -0x58(%rbp), %rax
cmpq -0x60(%rbp), %rax
jae 0x4822
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x30d0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x45db
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpl $0x0, -0x20(%rbp)
je 0x462a
jmp 0x45e3
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
addl $0x1, %esi
callq 0x78f0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4607
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x461f
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x462a
movq -0x30(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x7980
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x464c
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4664
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
movq -0x18(%rbp), %rdi
leaq 0x51e6(%rip), %rsi      # 0x985e
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4692
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x46aa
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
cmpl $0x0, -0x20(%rbp)
je 0x4703
jmp 0x46bb
movq -0x18(%rbp), %rdi
leaq 0x51a8(%rip), %rsi      # 0x986e
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x46e0
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x46f8
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x4703
movq -0x50(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x2be0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
movq -0x18(%rbp), %rsi
movl -0x1c(%rbp), %edx
addl $0x1, %edx
movl -0x20(%rbp), %ecx
movq -0x28(%rbp), %r8
callq 0x4170
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4743
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x475b
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
movq -0x58(%rbp), %rax
movq -0x60(%rbp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x47bf
jmp 0x4777
movq -0x18(%rbp), %rdi
leaq 0x50d6(%rip), %rsi      # 0x9858
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x479c
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x47b4
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x47bf
cmpl $0x0, -0x20(%rbp)
je 0x480f
jmp 0x47c7
movq -0x18(%rbp), %rdi
leaq 0x4901(%rip), %rsi      # 0x90d3
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x47ec
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4804
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x480f
jmp 0x4811
movq -0x58(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x58(%rbp)
jmp 0x45a9
cmpq $0x0, -0x60(%rbp)
jbe 0x4875
cmpl $0x0, -0x20(%rbp)
je 0x4875
jmp 0x4831
movq -0x18(%rbp), %rdi
movl -0x1c(%rbp), %esi
callq 0x78f0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4852
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x486a
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x4875
jmp 0x4877
movq -0x18(%rbp), %rdi
leaq 0x4fde(%rip), %rsi      # 0x9860
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x489c
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x48b4
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4b1e
movq -0x10(%rbp), %rdi
callq 0x2d30
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x48e8
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
movq -0x38(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x7980
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x490a
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4922
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4b1e
movq -0x10(%rbp), %rdi
callq 0x2ef0
cmpl $0x0, %eax
je 0x498e
jmp 0x4946
movq -0x18(%rbp), %rdi
leaq 0x49af(%rip), %rsi      # 0x9300
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x496b
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4983
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x49d8
jmp 0x4990
movq -0x18(%rbp), %rdi
leaq 0x496a(%rip), %rsi      # 0x9305
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x49b5
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x49cd
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
jmp 0x49d8
movl -0x70(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4b1e
movq -0x10(%rbp), %rdi
callq 0x2da0
movsd %xmm0, -0x68(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x4a00
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movsd -0x68(%rbp), %xmm0
cvttsd2si -0x68(%rbp), %eax
cvtsi2sd %eax, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4a32
jp 0x4a32
movq -0x28(%rbp), %rdi
cvttsd2si -0x68(%rbp), %edx
leaq 0x4e3c(%rip), %rsi      # 0x9862
movb $0x0, %al
callq 0x1290
movl %eax, -0x6c(%rbp)
jmp 0x4a86
movsd -0x68(%rbp), %xmm0
cvttsd2si %xmm0, %rax
movl %eax, %eax
cvtsi2sd %rax, %xmm1
ucomisd %xmm1, %xmm0
jne 0x4a6a
jp 0x4a6a
movq -0x28(%rbp), %rdi
cvttsd2si -0x68(%rbp), %rax
movl %eax, %edx
leaq 0x4e07(%rip), %rsi      # 0x9865
movb $0x0, %al
callq 0x1290
movl %eax, -0x6c(%rbp)
jmp 0x4a84
movq -0x28(%rbp), %rdi
movsd -0x68(%rbp), %xmm0
leaq 0x4dee(%rip), %rsi      # 0x9868
movb $0x1, %al
callq 0x1290
movl %eax, -0x6c(%rbp)
jmp 0x4a86
cmpl $0x0, -0x6c(%rbp)
jge 0x4a98
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4ab0
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4b1e
jmp 0x4ac3
movq -0x18(%rbp), %rdi
leaq 0x4d83(%rip), %rsi      # 0x9851
callq 0x78a0
movl %eax, -0x6c(%rbp)
cmpl $0x0, -0x6c(%rbp)
jge 0x4ae5
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
cmpq $0x0, -0x18(%rbp)
je 0x4afd
movl -0x6c(%rbp), %ecx
movq -0x18(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
movl -0x6c(%rbp), %eax
addl -0x70(%rbp), %eax
movl %eax, -0x70(%rbp)
movl -0x70(%rbp), %eax
movl %eax, -0x4(%rbp)
jmp 0x4b1e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x4b1e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)