// File: /workspace/github_c_makefile_star2_O0/lengjingzju[P]json/json.c
// Function: json_print_value
static int _json_print_value(json_print_t *print_ptr, json_object *json)
{
    json_object *parent = NULL, *tmp = NULL;
    json_object **item_array = NULL;
    int item_depth = -1, item_total = 0;

    goto next3;
next1:
    if (unlikely(item_depth >= item_total - 1)) {
        item_total += JSON_ITEM_NUM_PLUS_DEF;
        json_object **new_array = (json_object **)json_realloc(item_array, sizeof(json_object *) * item_total);
        if (new_array) {
            item_array = new_array;
        } else {
            JsonErr("malloc failed!\n");
            json_free(item_array);
            item_array = NULL;
            goto err;
        }
    }
    item_array[++item_depth] = json;
    parent = json;
    json = (json_object *)json->value.head.next;
    if (parent->type_member == JSON_ARRAY) {
        if (print_ptr->format_flag) {
            if (json->type_member == JSON_OBJECT || json->type_member == JSON_ARRAY)
                _PRINT_ADDI_FORMAT(print_ptr, item_depth + 1);
        }
        goto next3;
    }

next2a:
    if (print_ptr->format_flag) {
        _PRINT_ADDI_FORMAT(print_ptr, item_depth + 1);
        if (unlikely(!json->jkey.len)) {
#if !JSON_PARSE_EMPTY_KEY
            JsonErr("key is empty!\n");
            goto err;
#else
            _PRINT_PTR_STRNCAT("\"\":\t", 4);
#endif
        } else {
            _JSON_PRINT_STRING(print_ptr, &json->jkey);
            _PRINT_PTR_STRNCAT(":\t", 2);
        }
    } else {
        if (unlikely(!json->jkey.len)) {
#if !JSON_PARSE_EMPTY_KEY
            JsonErr("key is empty!\n");
            goto err;
#else
            _PRINT_PTR_STRNCAT("\"\":", 3);
#endif
        } else {
            _JSON_PRINT_STRING(print_ptr, &json->jkey);
            _PRINT_PTR_STRNCAT(":", 1);
        }
    }
    goto next3;

next2b:
    if (print_ptr->format_flag) {
        if (json->type_member == JSON_ARRAY)
            _PRINT_ADDI_FORMAT(print_ptr, item_depth + 1);
        else
            _PRINT_PTR_STRNCAT(" ", 1);
    }

next3:
    switch (json->type_member) {
    case JSON_NULL:
        _PRINT_PTR_STRNCAT("null", 4);
        break;
    case JSON_BOOL:
        if (json->value.vnum.vbool) {
            _PRINT_PTR_STRNCAT("true", 4);
        } else {
            _PRINT_PTR_STRNCAT("false", 5);
        }
        break;
    case JSON_INT:
        _PRINT_PTR_NUMBER(jnum_itoa, json->value.vnum.vint);
        break;
    case JSON_HEX:
        _PRINT_PTR_NUMBER(jnum_htoa, json->value.vnum.vhex);
        break;
    case JSON_LINT:
        _PRINT_PTR_NUMBER(jnum_ltoa, json->value.vnum.vlint);
        break;
    case JSON_LHEX:
        _PRINT_PTR_NUMBER(jnum_lhtoa, json->value.vnum.vlhex);
        break;
    case JSON_DOUBLE:
        _PRINT_PTR_NUMBER(json_dtoa, json->value.vnum.vdbl);
        break;
    case JSON_STRING:
        if (unlikely(!json->value.vstr.len)) {
            _PRINT_PTR_STRNCAT("\"\"", 2);
        } else {
            _JSON_PRINT_STRING(print_ptr, &json->value.vstr);
        }
        break;
    case JSON_OBJECT:
        if (unlikely(json->value.head.prev == (struct json_list *)&json->value.head)) {
            _PRINT_PTR_STRNCAT("{}", 2);
            break;
        }
        _PRINT_PTR_STRNCAT("{", 1);
        goto next1;
    case JSON_ARRAY:
        if (unlikely(json->value.head.prev == (struct json_list *)&json->value.head)) {
            _PRINT_PTR_STRNCAT("[]", 2);
            break;
        }
        _PRINT_PTR_STRNCAT("[", 1);
        goto next1;
    default:
        break;
    }
    ++print_ptr->item_count;

next4:
    if (likely(item_depth >= 0)) {
        tmp = (json_object*)(json->list.next);
        if (likely(&tmp->list != (struct json_list *)&parent->value.head)) {
            _PRINT_PTR_STRNCAT(",", 1);
            json = tmp;
            if (parent->type_member == JSON_OBJECT)
                goto next2a;
            else
                goto next2b;
        } else {
            if (parent->type_member == JSON_OBJECT) {
                if (print_ptr->format_flag) {
                    if (item_depth > 0) {
                        _PRINT_ADDI_FORMAT(print_ptr, item_depth);
                    } else {
                        _PRINT_PTR_STRNCAT("\n", 1);
                    }
                }
                _PRINT_PTR_STRNCAT("}", 1);
            } else {
                if (print_ptr->format_flag) {
                    if (json->type_member == JSON_OBJECT || json->type_member == JSON_ARRAY) {
                        if (likely(item_depth > 0)) {
                            _PRINT_ADDI_FORMAT(print_ptr, item_depth);
                        } else {
                            _PRINT_PTR_STRNCAT("\n", 1);
                        }
                    }
                }
                _PRINT_PTR_STRNCAT("]", 1);
            }

            ++print_ptr->item_count;
            if (likely(item_depth > 0)) {
                json = parent;
                parent = item_array[--item_depth];
                goto next4;
            }
        }
    }

    if (item_array) {
        json_free(item_array);
    }
    return 0;
err:
    if (item_array) {
        json_free(item_array);
    }
    return -1;
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq $0x0, 0x48(%rsp)
movq $0x0, 0x40(%rsp)
movq $0x0, 0x38(%rsp)
movl $0xffffffff, 0x34(%rsp) # imm = 0xFFFFFFFF
movl $0x0, 0x30(%rsp)
jmp 0x3941
movl 0x34(%rsp), %eax
movl 0x30(%rsp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
setge %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x352a
movl 0x30(%rsp), %eax
addl $0x10, %eax
movl %eax, 0x30(%rsp)
movq 0x38(%rsp), %rdi
movslq 0x30(%rsp), %rsi
shlq $0x3, %rsi
callq 0x1180
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x28(%rsp)
je 0x34e6
movq 0x28(%rsp), %rax
movq %rax, 0x38(%rsp)
jmp 0x3528
jmp 0x34e8
leaq 0xd505(%rip), %rdi      # 0x109f4
leaq 0xd7fb(%rip), %rsi      # 0x10cf1
movl $0x63d, %edx            # imm = 0x63D
movb $0x0, %al
callq 0x10c0
leaq 0xd4fd(%rip), %rdi      # 0x10a06
movb $0x0, %al
callq 0x10c0
movq 0x38(%rsp), %rdi
callq 0x1030
movq $0x0, 0x38(%rsp)
jmp 0x46af
jmp 0x352a
movq 0x50(%rsp), %rdx
movq 0x38(%rsp), %rax
movl 0x34(%rsp), %ecx
addl $0x1, %ecx
movl %ecx, 0x34(%rsp)
movslq %ecx, %rcx
movq %rdx, (%rax,%rcx,8)
movq 0x50(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x50(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x48(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
cmpl $0x8, %eax
jne 0x35d6
movq 0x58(%rsp), %rax
testb $0x1, 0x40(%rax)
je 0x35d1
movq 0x50(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
cmpl $0x9, %eax
je 0x3599
movq 0x50(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
cmpl $0x8, %eax
jne 0x35cf
jmp 0x359b
movq 0x58(%rsp), %rdi
movl 0x34(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
callq 0x5ab0
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x35cb
jmp 0x46af
jmp 0x35cd
jmp 0x35cf
jmp 0x35d1
jmp 0x3941
jmp 0x35d8
movq 0x58(%rsp), %rax
testb $0x1, 0x40(%rax)
je 0x3738
jmp 0x35e9
movq 0x58(%rsp), %rdi
movl 0x34(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
callq 0x5ab0
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3619
jmp 0x46af
jmp 0x361b
movq 0x50(%rsp), %rax
movl 0x8(%rax), %eax
shrl $0x8, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x366e
jmp 0x3641
leaq 0xd3ac(%rip), %rdi      # 0x109f4
leaq 0xd6a2(%rip), %rsi      # 0x10cf1
movl $0x653, %edx            # imm = 0x653
movb $0x0, %al
callq 0x10c0
leaq 0xd563(%rip), %rdi      # 0x10bc5
movb $0x0, %al
callq 0x10c0
jmp 0x46af
jmp 0x3670
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
addq $0x8, %rsi
callq 0x5b90
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x369f
jmp 0x46af
jmp 0x36a1
jmp 0x36a3
jmp 0x36a5
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x3, %rcx
movb %al, 0x27(%rsp)
jae 0x36f1
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x3, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x27(%rsp)
movb 0x27(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x370b
jmp 0x46af
jmp 0x370d
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movw 0xd4b7(%rip), %cx       # 0x10bd4
movw %cx, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x2, %rcx
movq %rcx, 0x10(%rax)
jmp 0x3733
jmp 0x3850
movq 0x50(%rsp), %rax
movl 0x8(%rax), %eax
shrl $0x8, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x378b
jmp 0x375e
leaq 0xd28f(%rip), %rdi      # 0x109f4
leaq 0xd585(%rip), %rsi      # 0x10cf1
movl $0x65f, %edx            # imm = 0x65F
movb $0x0, %al
callq 0x10c0
leaq 0xd446(%rip), %rdi      # 0x10bc5
movb $0x0, %al
callq 0x10c0
jmp 0x46af
jmp 0x378d
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
addq $0x8, %rsi
callq 0x5b90
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x37bc
jmp 0x46af
jmp 0x37be
jmp 0x37c0
jmp 0x37c2
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0x26(%rsp)
jae 0x380e
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x26(%rsp)
movb 0x26(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3828
jmp 0x46af
jmp 0x382a
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xd39e(%rip), %cl       # 0x10bd7
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x384e
jmp 0x3850
jmp 0x3941
movq 0x58(%rsp), %rax
testb $0x1, 0x40(%rax)
je 0x393f
movq 0x50(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
cmpl $0x8, %eax
jne 0x38ad
jmp 0x3876
movq 0x58(%rsp), %rdi
movl 0x34(%rsp), %eax
addl $0x1, %eax
movslq %eax, %rsi
callq 0x5ab0
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x38a6
jmp 0x46af
jmp 0x38a8
jmp 0x393d
jmp 0x38af
jmp 0x38b1
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0x25(%rsp)
jae 0x38fd
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x25(%rsp)
movb 0x25(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3917
jmp 0x46af
jmp 0x3919
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xd0dc(%rip), %cl       # 0x10a04
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x393d
jmp 0x393f
jmp 0x3941
movq 0x50(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
movl %eax, %ecx
movq %rcx, 0x18(%rsp)
subl $0x9, %eax
ja 0x4201
movq 0x18(%rsp), %rax
leaq 0xca20(%rip), %rcx      # 0x10388
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x3973
jmp 0x3975
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x5, %rcx
movb %al, 0x17(%rsp)
jae 0x39c1
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x5, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x17(%rsp)
movb 0x17(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x39db
jmp 0x46af
jmp 0x39dd
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movl 0xd1ed(%rip), %ecx      # 0x10bd9
movl %ecx, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x4, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4203
movq 0x50(%rsp), %rax
testb $0x1, 0x18(%rax)
je 0x3aa6
jmp 0x3a15
jmp 0x3a17
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x5, %rcx
movb %al, 0x16(%rsp)
jae 0x3a63
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x5, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x16(%rsp)
movb 0x16(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3a7d
jmp 0x46af
jmp 0x3a7f
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movl 0xd150(%rip), %ecx      # 0x10bde
movl %ecx, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x4, %rcx
movq %rcx, 0x10(%rax)
jmp 0x3b3f
jmp 0x3aa8
jmp 0x3aaa
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x6, %rcx
movb %al, 0x15(%rsp)
jae 0x3af6
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x6, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x15(%rsp)
movb 0x15(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3b10
jmp 0x46af
jmp 0x3b12
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movl 0xd0c2(%rip), %ecx      # 0x10be3
movl %ecx, (%rax)
movb 0xd0be(%rip), %cl       # 0x10be7
movb %cl, 0x4(%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x5, %rcx
movq %rcx, 0x10(%rax)
jmp 0x3b3f
jmp 0x4203
jmp 0x3b46
jmp 0x3b48
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x81, %rcx
movb %al, 0x14(%rsp)
jae 0x3b97
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x81, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x14(%rsp)
movb 0x14(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3bb1
jmp 0x46af
jmp 0x3bb3
movq 0x50(%rsp), %rax
movl 0x18(%rax), %edi
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xc7d0
movl %eax, %edx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4203
jmp 0x3be5
jmp 0x3be7
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x81, %rcx
movb %al, 0x13(%rsp)
jae 0x3c36
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x81, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x13(%rsp)
movb 0x13(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3c50
jmp 0x46af
jmp 0x3c52
movq 0x50(%rsp), %rax
movl 0x18(%rax), %edi
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xcd70
movl %eax, %edx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4203
jmp 0x3c84
jmp 0x3c86
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x81, %rcx
movb %al, 0x12(%rsp)
jae 0x3cd5
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x81, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x12(%rsp)
movb 0x12(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3cef
jmp 0x46af
jmp 0x3cf1
movq 0x50(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xcb80
movl %eax, %edx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4203
jmp 0x3d24
jmp 0x3d26
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x81, %rcx
movb %al, 0x11(%rsp)
jae 0x3d75
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x81, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x11(%rsp)
movb 0x11(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3d8f
jmp 0x46af
jmp 0x3d91
movq 0x50(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rsi
callq 0xce90
movl %eax, %edx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4203
jmp 0x3dc4
jmp 0x3dc6
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x81, %rcx
movb %al, 0x10(%rsp)
jae 0x3e15
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x81, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x10(%rsp)
movb 0x10(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3e2f
jmp 0x46af
jmp 0x3e31
movq 0x50(%rsp), %rax
movsd 0x18(%rax), %xmm0
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rdi
callq 0xcfd0
movl %eax, %edx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4203
movq 0x50(%rsp), %rax
movl 0x18(%rax), %eax
shrl $0x8, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3f1d
jmp 0x3e8d
jmp 0x3e8f
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x3, %rcx
movb %al, 0xf(%rsp)
jae 0x3edb
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x3, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0xf(%rsp)
movb 0xf(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3ef5
jmp 0x46af
jmp 0x3ef7
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movw 0xcce2(%rip), %cx       # 0x10be9
movw %cx, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x2, %rcx
movq %rcx, 0x10(%rax)
jmp 0x3f52
jmp 0x3f1f
movq 0x58(%rsp), %rdi
movq 0x50(%rsp), %rsi
addq $0x18, %rsi
callq 0x5b90
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3f4e
jmp 0x46af
jmp 0x3f50
jmp 0x3f52
jmp 0x4203
movq 0x50(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rcx
addq $0x18, %rcx
cmpq %rcx, %rax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4019
jmp 0x3f86
jmp 0x3f88
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x3, %rcx
movb %al, 0xe(%rsp)
jae 0x3fd4
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x3, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0xe(%rsp)
movb 0xe(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x3fee
jmp 0x46af
jmp 0x3ff0
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movw 0xcd03(%rip), %cx       # 0x10d03
movw %cx, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x2, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4203
jmp 0x401b
jmp 0x401d
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0xd(%rsp)
jae 0x4069
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0xd(%rsp)
movb 0xd(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4083
jmp 0x46af
jmp 0x4085
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xcb58(%rip), %cl       # 0x10bec
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x348e
movq 0x50(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x50(%rsp), %rcx
addq $0x18, %rcx
cmpq %rcx, %rax
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x416e
jmp 0x40db
jmp 0x40dd
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x3, %rcx
movb %al, 0xc(%rsp)
jae 0x4129
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x3, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0xc(%rsp)
movb 0xc(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4143
jmp 0x46af
jmp 0x4145
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movw 0xcbb1(%rip), %cx       # 0x10d06
movw %cx, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x2, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4203
jmp 0x4170
jmp 0x4172
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0xb(%rsp)
jae 0x41be
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0xb(%rsp)
movb 0xb(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x41d8
jmp 0x46af
jmp 0x41da
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xca05(%rip), %cl       # 0x10bee
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x348e
jmp 0x4203
movq 0x58(%rsp), %rax
movl 0x3c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x3c(%rax)
cmpl $0x0, 0x34(%rsp)
setge %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4693
movq 0x50(%rsp), %rax
movq (%rax), %rax
movq %rax, 0x40(%rsp)
movq 0x40(%rsp), %rax
movq 0x48(%rsp), %rcx
addq $0x18, %rcx
cmpq %rcx, %rax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4316
jmp 0x4266
jmp 0x4268
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0xa(%rsp)
jae 0x42b4
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0xa(%rsp)
movb 0xa(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x42ce
jmp 0x46af
jmp 0x42d0
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xc8cf(%rip), %cl       # 0x10bae
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
movq 0x40(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x48(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
cmpl $0x9, %eax
jne 0x4311
jmp 0x35d8
jmp 0x3855
movq 0x48(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
cmpl $0x9, %eax
jne 0x4499
movq 0x58(%rsp), %rax
testb $0x1, 0x40(%rax)
je 0x4406
cmpl $0x0, 0x34(%rsp)
jle 0x4374
jmp 0x4342
movq 0x58(%rsp), %rdi
movslq 0x34(%rsp), %rsi
callq 0x5ab0
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x436d
jmp 0x46af
jmp 0x436f
jmp 0x4404
jmp 0x4376
jmp 0x4378
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0x9(%rsp)
jae 0x43c4
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x9(%rsp)
movb 0x9(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x43de
jmp 0x46af
jmp 0x43e0
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xca2f(%rip), %cl       # 0x10e1e
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x4404
jmp 0x4406
jmp 0x4408
jmp 0x440a
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0x8(%rsp)
jae 0x4456
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x8(%rsp)
movb 0x8(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4470
jmp 0x46af
jmp 0x4472
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xc883(%rip), %cl       # 0x10d04
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x463d
movq 0x58(%rsp), %rax
testb $0x1, 0x40(%rax)
je 0x45ad
movq 0x50(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
cmpl $0x9, %eax
je 0x44cc
movq 0x50(%rsp), %rax
movl 0x8(%rax), %eax
andl $0xf, %eax
cmpl $0x8, %eax
jne 0x45ab
cmpl $0x0, 0x34(%rsp)
setg %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4519
jmp 0x44e7
movq 0x58(%rsp), %rdi
movslq 0x34(%rsp), %rsi
callq 0x5ab0
cmpl $0x0, %eax
setl %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4512
jmp 0x46af
jmp 0x4514
jmp 0x45a9
jmp 0x451b
jmp 0x451d
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0x7(%rsp)
jae 0x4569
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4583
jmp 0x46af
jmp 0x4585
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xc88a(%rip), %cl       # 0x10e1e
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x45a9
jmp 0x45ab
jmp 0x45ad
jmp 0x45af
jmp 0x45b1
movq 0x58(%rsp), %rax
movq 0x20(%rax), %rcx
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x58(%rsp), %rdx
movq 0x8(%rdx), %rdx
subq %rdx, %rax
subq %rax, %rcx
xorl %eax, %eax
cmpq $0x2, %rcx
movb %al, 0x6(%rsp)
jae 0x45fd
movq 0x58(%rsp), %rax
movq 0x18(%rax), %rax
movq 0x58(%rsp), %rdi
movl $0x2, %esi
callq *%rax
cmpl $0x0, %eax
setl %al
movb %al, 0x6(%rsp)
movb 0x6(%rsp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x4617
jmp 0x46af
jmp 0x4619
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rax
movb 0xc6df(%rip), %cl       # 0x10d07
movb %cl, (%rax)
movq 0x58(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
jmp 0x463d
movq 0x58(%rsp), %rax
movl 0x3c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x3c(%rax)
cmpl $0x0, 0x34(%rsp)
setg %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x468f
movq 0x48(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x38(%rsp), %rax
movl 0x34(%rsp), %ecx
addl $-0x1, %ecx
movl %ecx, 0x34(%rsp)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x48(%rsp)
jmp 0x4211
jmp 0x4691
jmp 0x4693
cmpq $0x0, 0x38(%rsp)
je 0x46a5
movq 0x38(%rsp), %rdi
callq 0x1030
movl $0x0, 0x64(%rsp)
jmp 0x46c9
cmpq $0x0, 0x38(%rsp)
je 0x46c1
movq 0x38(%rsp), %rdi
callq 0x1030
movl $0xffffffff, 0x64(%rsp) # imm = 0xFFFFFFFF
movl 0x64(%rsp), %eax
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)