// File: /workspace/github_c_makefile_star2_O0/adsr[P]phpspy/event_callgrind.c
// Function: callgrind_digest_stack
static void callgrind_digest_stack(callgrind_udata_t *udata) {
    callgrind_caller_t *caller, *prev_caller;
    callgrind_callee_t *callee;
    int i;

    prev_caller = NULL;

    for (i = udata->self_len - 1; i >= 0; i--) {

        /* Find or add caller */
        HASH_FIND_STR(udata->callers, udata->self_str[i], caller);
        if (!caller) {
            caller = calloc(1, sizeof(callgrind_caller_t));
            strcpy(caller->loc_str, udata->self_str[i]);
            memcpy(&caller->loc, &udata->self[i], sizeof(trace_loc_t));
            HASH_ADD_STR(udata->callers, loc_str, caller);
        }

        /* Increment exclusive cost if top of call stack */
        if (i == 0) {
            caller->exclusive += 1;
        }

        if (prev_caller) {
            /* Find or add callee in previous caller */
            HASH_FIND_STR(prev_caller->callees, udata->self_str[i], callee);
            if (!callee) {
                callee = calloc(1, sizeof(callgrind_callee_t));
                strcpy(callee->loc_str, udata->self_str[i]);
                memcpy(&callee->loc, &udata->self[i], sizeof(trace_loc_t));
                HASH_ADD_STR(prev_caller->callees, loc_str, callee);
            }

            /* Increment inclusive cost */
            callee->inclusive += 1;

            /* Increment call count if frame looks different from frame in prev trace */
            if (i >= udata->prev_len
                || strcmp(udata->self_str[i], udata->prev_str[i]) != 0
            ) {
                callee->count += 1;
            }
        }
        /* Remember previous caller */
        prev_caller = caller;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x42000(%rax), %eax
subl $0x1, %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, -0x24(%rbp)
jl 0x306b9
jmp 0x2df03
movq -0x8(%rbp), %rdi
addq $0x32000, %rdi          # imm = 0x32000
movslq -0x24(%rbp), %rax
shlq $0x8, %rax
addq %rax, %rdi
callq 0x6160
movl %eax, -0x28(%rbp)
jmp 0x2df23
jmp 0x2df25
movq -0x8(%rbp), %rax
addq $0x32000, %rax          # imm = 0x32000
movslq -0x24(%rbp), %rcx
shlq $0x8, %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
movl $0xfeedbeef, -0x2c(%rbp) # imm = 0xFEEDBEEF
movl $0x9e3779b9, -0x34(%rbp) # imm = 0x9E3779B9
movl $0x9e3779b9, -0x30(%rbp) # imm = 0x9E3779B9
movl -0x28(%rbp), %eax
movl %eax, -0x38(%rbp)
cmpl $0xc, -0x38(%rbp)
jb 0x2e14d
movq -0x40(%rbp), %rax
movzbl (%rax), %eax
movq -0x40(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x40(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x40(%rbp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x4(%rax), %eax
movq -0x40(%rbp), %rcx
movzbl 0x5(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x40(%rbp), %rcx
movzbl 0x6(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x40(%rbp), %rcx
movzbl 0x7(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x8(%rax), %eax
movq -0x40(%rbp), %rcx
movzbl 0x9(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x40(%rbp), %rcx
movzbl 0xa(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x40(%rbp), %rcx
movzbl 0xb(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
shrl $0xd, %eax
xorl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %eax
shll $0x8, %eax
xorl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %eax
shrl $0xd, %eax
xorl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
shrl $0xc, %eax
xorl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %eax
shll $0x10, %eax
xorl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %eax
shrl $0x5, %eax
xorl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
shrl $0x3, %eax
xorl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %eax
shll $0xa, %eax
xorl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %eax
shrl $0xf, %eax
xorl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x40(%rbp), %rax
addq $0xc, %rax
movq %rax, -0x40(%rbp)
movl -0x38(%rbp), %eax
subl $0xc, %eax
movl %eax, -0x38(%rbp)
jmp 0x2df59
movl -0x28(%rbp), %ecx
movl -0x2c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x38(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x118(%rbp)
subl $0xa, %eax
ja 0x2e23a
movq -0x118(%rbp), %rax
leaq 0x74df(%rip), %rcx      # 0x3565c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x40(%rbp), %rax
movzbl 0xa(%rax), %eax
shll $0x18, %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x9(%rax), %eax
shll $0x10, %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x8(%rax), %eax
shll $0x8, %eax
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x7(%rax), %eax
shll $0x18, %eax
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x6(%rax), %eax
shll $0x10, %eax
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x5(%rax), %eax
shll $0x8, %eax
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x4(%rax), %eax
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x3(%rax), %eax
shll $0x18, %eax
addl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x2(%rax), %eax
shll $0x10, %eax
addl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movq -0x40(%rbp), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
addl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movq -0x40(%rbp), %rax
movzbl (%rax), %eax
addl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
jmp 0x2e23c
movl -0x34(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
shrl $0xd, %eax
xorl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %eax
shll $0x8, %eax
xorl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %eax
shrl $0xd, %eax
xorl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
shrl $0xc, %eax
xorl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %eax
shll $0x10, %eax
xorl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %eax
shrl $0x5, %eax
xorl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x30(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %eax
shrl $0x3, %eax
xorl -0x30(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x34(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %eax
shll $0xa, %eax
xorl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0x30(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0x34(%rbp), %eax
shrl $0xf, %eax
xorl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
jmp 0x2e370
jmp 0x2e372
jmp 0x2e374
movq $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x42010(%rax)
je 0x2e4d0
jmp 0x2e390
movl -0x2c(%rbp), %eax
movq -0x8(%rbp), %rcx
movq 0x42010(%rcx), %rcx
movq 0x430(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0x44(%rbp)
jmp 0x2e3b2
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rax
movq (%rax), %rax
movl -0x44(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x2e41c
jmp 0x2e3d9
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rax
movq (%rax), %rax
movl -0x44(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x42010(%rcx), %rcx
movq 0x430(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
jmp 0x2e424
movq $0x0, -0x10(%rbp)
jmp 0x2e426
cmpq $0x0, -0x10(%rbp)
je 0x2e4cc
movq -0x10(%rbp), %rax
movl 0x464(%rax), %eax
cmpl -0x2c(%rbp), %eax
jne 0x2e483
movq -0x10(%rbp), %rax
movl 0x460(%rax), %eax
cmpl -0x28(%rbp), %eax
jne 0x2e483
movq -0x10(%rbp), %rax
movq 0x458(%rax), %rdi
movq -0x8(%rbp), %rsi
addq $0x32000, %rsi          # imm = 0x32000
movslq -0x24(%rbp), %rax
shlq $0x8, %rax
addq %rax, %rsi
movl -0x28(%rbp), %eax
movl %eax, %edx
callq 0x62b0
cmpl $0x0, %eax
jne 0x2e481
jmp 0x2e4cc
jmp 0x2e483
movq -0x10(%rbp), %rax
cmpq $0x0, 0x450(%rax)
je 0x2e4bf
jmp 0x2e493
movq -0x10(%rbp), %rax
movq 0x450(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x42010(%rcx), %rcx
movq 0x430(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
jmp 0x2e4c7
movq $0x0, -0x10(%rbp)
jmp 0x2e426
jmp 0x2e4ce
jmp 0x2e4d0
jmp 0x2e4d2
jmp 0x2e4d4
jmp 0x2e4d6
cmpq $0x0, -0x10(%rbp)
jne 0x2efa0
movl $0x1, %edi
movl $0x468, %esi            # imm = 0x468
callq 0x62f0
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x32000, %rsi          # imm = 0x32000
movslq -0x24(%rbp), %rax
shlq $0x8, %rax
addq %rax, %rsi
callq 0x6090
movq -0x10(%rbp), %rdi
addq $0x100, %rdi            # imm = 0x100
movq -0x8(%rbp), %rsi
movslq -0x24(%rbp), %rax
imulq $0x320, %rax, %rax      # imm = 0x320
addq %rax, %rsi
movl $0x320, %edx            # imm = 0x320
callq 0x6360
movq -0x10(%rbp), %rdi
callq 0x6160
movl %eax, -0x48(%rbp)
jmp 0x2e548
jmp 0x2e54a
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movl $0xfeedbeef, -0x4c(%rbp) # imm = 0xFEEDBEEF
movl $0x9e3779b9, -0x54(%rbp) # imm = 0x9E3779B9
movl $0x9e3779b9, -0x50(%rbp) # imm = 0x9E3779B9
movl -0x48(%rbp), %eax
movl %eax, -0x58(%rbp)
cmpl $0xc, -0x58(%rbp)
jb 0x2e761
movq -0x60(%rbp), %rax
movzbl (%rax), %eax
movq -0x60(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x60(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x60(%rbp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x4(%rax), %eax
movq -0x60(%rbp), %rcx
movzbl 0x5(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x60(%rbp), %rcx
movzbl 0x6(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x60(%rbp), %rcx
movzbl 0x7(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x8(%rax), %eax
movq -0x60(%rbp), %rcx
movzbl 0x9(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x60(%rbp), %rcx
movzbl 0xa(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x60(%rbp), %rcx
movzbl 0xb(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
shrl $0xd, %eax
xorl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %eax
shll $0x8, %eax
xorl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %eax
shrl $0xd, %eax
xorl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
shrl $0xc, %eax
xorl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %eax
shll $0x10, %eax
xorl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %eax
shrl $0x5, %eax
xorl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
shrl $0x3, %eax
xorl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %eax
shll $0xa, %eax
xorl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %eax
shrl $0xf, %eax
xorl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x60(%rbp), %rax
addq $0xc, %rax
movq %rax, -0x60(%rbp)
movl -0x58(%rbp), %eax
subl $0xc, %eax
movl %eax, -0x58(%rbp)
jmp 0x2e56d
movl -0x48(%rbp), %ecx
movl -0x4c(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x58(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x120(%rbp)
subl $0xa, %eax
ja 0x2e84e
movq -0x120(%rbp), %rax
leaq 0x6ef7(%rip), %rcx      # 0x35688
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x60(%rbp), %rax
movzbl 0xa(%rax), %eax
shll $0x18, %eax
addl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x9(%rax), %eax
shll $0x10, %eax
addl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x8(%rax), %eax
shll $0x8, %eax
addl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x7(%rax), %eax
shll $0x18, %eax
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x6(%rax), %eax
shll $0x10, %eax
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x5(%rax), %eax
shll $0x8, %eax
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x4(%rax), %eax
addl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x3(%rax), %eax
shll $0x18, %eax
addl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x2(%rax), %eax
shll $0x10, %eax
addl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movq -0x60(%rbp), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
addl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movq -0x60(%rbp), %rax
movzbl (%rax), %eax
addl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
jmp 0x2e850
movl -0x54(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
shrl $0xd, %eax
xorl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %eax
shll $0x8, %eax
xorl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %eax
shrl $0xd, %eax
xorl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
shrl $0xc, %eax
xorl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %eax
shll $0x10, %eax
xorl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %eax
shrl $0x5, %eax
xorl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x50(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %eax
shrl $0x3, %eax
xorl -0x50(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x54(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %eax
shll $0xa, %eax
xorl -0x54(%rbp), %eax
movl %eax, -0x54(%rbp)
movl -0x50(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %ecx
movl -0x4c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x54(%rbp), %eax
shrl $0xf, %eax
xorl -0x4c(%rbp), %eax
movl %eax, -0x4c(%rbp)
jmp 0x2e984
jmp 0x2e986
jmp 0x2e988
movl -0x4c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x464(%rax)
movq -0x10(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x458(%rax)
movl -0x48(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x460(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x42010(%rax)
jne 0x2eb01
movq -0x10(%rbp), %rax
movq $0x0, 0x440(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x438(%rax)
movl $0x40, %edi
callq 0x63e0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x430(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x430(%rax)
jne 0x2ea11
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x6580
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rdi
xorl %esi, %esi
movl $0x40, %edx
callq 0x6230
movq -0x10(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl $0x20, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl $0x5, 0xc(%rax)
movq -0x10(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0x10(%rbp), %rax
subq %rax, %rcx
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x200, %edi            # imm = 0x200
callq 0x63e0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl $0xa0111fe1, 0x38(%rax) # imm = 0xA0111FE1
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
cmpq $0x0, (%rax)
jne 0x2eacf
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x6580
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movq (%rax), %rdi
xorl %esi, %esi
movl $0x200, %edx            # imm = 0x200
callq 0x6230
jmp 0x2eaeb
jmp 0x2eaed
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x42010(%rax)
jmp 0x2ebaa
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x430(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x440(%rax)
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rax
movq 0x18(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rdx
xorl %eax, %eax
subq 0x20(%rdx), %rax
addq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x438(%rax)
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rax
movq 0x18(%rax), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rax
movq %rcx, 0x18(%rax)
jmp 0x2ebaa
jmp 0x2ebac
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movl -0x4c(%rbp), %eax
movq -0x8(%rbp), %rcx
movq 0x42010(%rcx), %rcx
movq 0x430(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0x64(%rbp)
jmp 0x2ebe9
movq -0x8(%rbp), %rax
movq 0x42010(%rax), %rax
movq 0x430(%rax), %rax
movq (%rax), %rax
movl -0x64(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x70(%rbp), %rax
movq (%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x450(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x448(%rax)
movq -0x70(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2ec5a
movq -0x10(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0x70(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0x70(%rbp), %rax
movq %rcx, (%rax)
movq -0x70(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x70(%rbp), %rcx
movl 0xc(%rcx), %ecx
addl $0x1, %ecx
imull $0xa, %ecx, %ecx
cmpl %ecx, %eax
jb 0x2ef94
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
cmpl $0x0, 0x34(%rax)
jne 0x2ef94
jmp 0x2ec9f
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, %edi
shlq %rdi
shlq $0x4, %rdi
callq 0x63e0
movq %rax, -0x90(%rbp)
cmpq $0x0, -0x90(%rbp)
jne 0x2ecd6
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x6580
movq -0x90(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, %edx
shlq %rdx
shlq $0x4, %rdx
xorl %esi, %esi
callq 0x6230
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x10(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x430(%rcx), %rcx
movl 0xc(%rcx), %ecx
addl $0x1, %ecx
shrl %cl, %eax
movl %eax, %ecx
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x10(%rax), %esi
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x8(%rax), %eax
shll %eax
subl $0x1, %eax
andl %eax, %esi
xorl %eax, %eax
movl $0x1, %edx
cmpl $0x0, %esi
cmovnel %edx, %eax
addl %eax, %ecx
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl %ecx, 0x28(%rax)
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl $0x0, 0x2c(%rax)
movl $0x0, -0x78(%rbp)
movl -0x78(%rbp), %eax
movq -0x10(%rbp), %rcx
movq 0x430(%rcx), %rcx
cmpl 0x8(%rcx), %eax
jae 0x2eec3
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movq (%rax), %rax
movl -0x78(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x80(%rbp)
je 0x2eeb3
movq -0x80(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x80(%rbp), %rax
movl 0x34(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x430(%rcx), %rcx
movl 0x8(%rcx), %ecx
shll %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0x74(%rbp)
movq -0x90(%rbp), %rax
movl -0x74(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rcx
movl 0x8(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x8(%rcx)
movq -0x10(%rbp), %rcx
movq 0x430(%rcx), %rcx
cmpl 0x28(%rcx), %eax
jbe 0x2ee58
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x2c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2c(%rax)
movq -0x98(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x430(%rcx), %rcx
xorl %edx, %edx
divl 0x28(%rcx)
movl %eax, %ecx
movq -0x98(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0x80(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x98(%rbp), %rax
movq (%rax), %rcx
movq -0x80(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x98(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2ee95
movq -0x80(%rbp), %rcx
movq -0x98(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x80(%rbp), %rcx
movq -0x98(%rbp), %rax
movq %rcx, (%rax)
movq -0x88(%rbp), %rax
movq %rax, -0x80(%rbp)
jmp 0x2edad
jmp 0x2eeb5
movl -0x78(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x78(%rbp)
jmp 0x2ed77
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movq (%rax), %rdi
callq 0x6050
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x8(%rax), %ecx
shll %ecx
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0xc(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0xc(%rax)
movq -0x90(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x2c(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x430(%rcx), %rcx
movl 0x10(%rcx), %ecx
shrl %ecx
cmpl %ecx, %eax
jbe 0x2ef4d
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x30(%rax), %eax
addl $0x1, %eax
movl %eax, -0x124(%rbp)
jmp 0x2ef57
xorl %eax, %eax
movl %eax, -0x124(%rbp)
jmp 0x2ef57
movl -0x124(%rbp), %ecx
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
cmpl $0x1, 0x30(%rax)
jbe 0x2ef8e
movq -0x10(%rbp), %rax
movq 0x430(%rax), %rax
movl $0x1, 0x34(%rax)
jmp 0x2ef90
jmp 0x2ef92
jmp 0x2ef94
jmp 0x2ef96
jmp 0x2ef98
jmp 0x2ef9a
jmp 0x2ef9c
jmp 0x2ef9e
jmp 0x2efa0
cmpl $0x0, -0x24(%rbp)
jne 0x2efbc
movq -0x10(%rbp), %rax
movq 0x420(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x420(%rax)
cmpq $0x0, -0x18(%rbp)
je 0x306a3
jmp 0x2efc9
movq -0x8(%rbp), %rdi
addq $0x32000, %rdi          # imm = 0x32000
movslq -0x24(%rbp), %rax
shlq $0x8, %rax
addq %rax, %rdi
callq 0x6160
movl %eax, -0x9c(%rbp)
jmp 0x2efec
jmp 0x2efee
movq -0x8(%rbp), %rax
addq $0x32000, %rax          # imm = 0x32000
movslq -0x24(%rbp), %rcx
shlq $0x8, %rcx
addq %rcx, %rax
movq %rax, -0xb8(%rbp)
movl $0xfeedbeef, -0xa0(%rbp) # imm = 0xFEEDBEEF
movl $0x9e3779b9, -0xa8(%rbp) # imm = 0x9E3779B9
movl $0x9e3779b9, -0xa4(%rbp) # imm = 0x9E3779B9
movl -0x9c(%rbp), %eax
movl %eax, -0xac(%rbp)
cmpl $0xc, -0xac(%rbp)
jb 0x2f360
movq -0xb8(%rbp), %rax
movzbl (%rax), %eax
movq -0xb8(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0xb8(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0xb8(%rbp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x4(%rax), %eax
movq -0xb8(%rbp), %rcx
movzbl 0x5(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0xb8(%rbp), %rcx
movzbl 0x6(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0xb8(%rbp), %rcx
movzbl 0x7(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x8(%rax), %eax
movq -0xb8(%rbp), %rcx
movzbl 0x9(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0xb8(%rbp), %rcx
movzbl 0xa(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0xb8(%rbp), %rcx
movzbl 0xb(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %eax
shrl $0xd, %eax
xorl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %eax
shll $0x8, %eax
xorl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %eax
shrl $0xd, %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %eax
shrl $0xc, %eax
xorl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %eax
shll $0x10, %eax
xorl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %eax
shrl $0x5, %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %eax
shrl $0x3, %eax
xorl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %eax
shll $0xa, %eax
xorl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %eax
shrl $0xf, %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0xb8(%rbp), %rax
addq $0xc, %rax
movq %rax, -0xb8(%rbp)
movl -0xac(%rbp), %eax
subl $0xc, %eax
movl %eax, -0xac(%rbp)
jmp 0x2f034
movl -0x9c(%rbp), %ecx
movl -0xa0(%rbp), %eax
addl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xac(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x130(%rbp)
subl $0xa, %eax
ja 0x2f4bc
movq -0x130(%rbp), %rax
leaq 0x6318(%rip), %rcx      # 0x356b4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0xb8(%rbp), %rax
movzbl 0xa(%rax), %eax
shll $0x18, %eax
addl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x9(%rax), %eax
shll $0x10, %eax
addl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x8(%rax), %eax
shll $0x8, %eax
addl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x7(%rax), %eax
shll $0x18, %eax
addl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x6(%rax), %eax
shll $0x10, %eax
addl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x5(%rax), %eax
shll $0x8, %eax
addl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x4(%rax), %eax
addl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x3(%rax), %eax
shll $0x18, %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x2(%rax), %eax
shll $0x10, %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movq -0xb8(%rbp), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movq -0xb8(%rbp), %rax
movzbl (%rax), %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
jmp 0x2f4be
movl -0xa8(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %eax
shrl $0xd, %eax
xorl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %eax
shll $0x8, %eax
xorl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %eax
shrl $0xd, %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %eax
shrl $0xc, %eax
xorl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %eax
shll $0x10, %eax
xorl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %eax
shrl $0x5, %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %eax
shrl $0x3, %eax
xorl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xa0(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %eax
shll $0xa, %eax
xorl -0xa8(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa4(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %ecx
movl -0xa0(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xa0(%rbp)
movl -0xa8(%rbp), %eax
shrl $0xf, %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0x2f6e5
jmp 0x2f6e7
jmp 0x2f6e9
movq $0x0, -0x20(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x428(%rax)
je 0x2f85a
jmp 0x2f705
movl -0xa0(%rbp), %eax
movq -0x18(%rbp), %rcx
movq 0x428(%rcx), %rcx
movq 0x430(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0xbc(%rbp)
jmp 0x2f72d
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rax
movq (%rax), %rax
movl -0xbc(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x2f79d
jmp 0x2f757
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rax
movq (%rax), %rax
movl -0xbc(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x428(%rcx), %rcx
movq 0x430(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
jmp 0x2f7a5
movq $0x0, -0x20(%rbp)
jmp 0x2f7a7
cmpq $0x0, -0x20(%rbp)
je 0x2f856
movq -0x20(%rbp), %rax
movl 0x464(%rax), %eax
cmpl -0xa0(%rbp), %eax
jne 0x2f80d
movq -0x20(%rbp), %rax
movl 0x460(%rax), %eax
cmpl -0x9c(%rbp), %eax
jne 0x2f80d
movq -0x20(%rbp), %rax
movq 0x458(%rax), %rdi
movq -0x8(%rbp), %rsi
addq $0x32000, %rsi          # imm = 0x32000
movslq -0x24(%rbp), %rax
shlq $0x8, %rax
addq %rax, %rsi
movl -0x9c(%rbp), %eax
movl %eax, %edx
callq 0x62b0
cmpl $0x0, %eax
jne 0x2f80b
jmp 0x2f856
jmp 0x2f80d
movq -0x20(%rbp), %rax
cmpq $0x0, 0x450(%rax)
je 0x2f849
jmp 0x2f81d
movq -0x20(%rbp), %rax
movq 0x450(%rax), %rax
movq -0x18(%rbp), %rcx
movq 0x428(%rcx), %rcx
movq 0x430(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
jmp 0x2f851
movq $0x0, -0x20(%rbp)
jmp 0x2f7a7
jmp 0x2f858
jmp 0x2f85a
jmp 0x2f85c
jmp 0x2f85e
jmp 0x2f860
cmpq $0x0, -0x20(%rbp)
jne 0x30630
movl $0x1, %edi
movl $0x468, %esi            # imm = 0x468
callq 0x62f0
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x32000, %rsi          # imm = 0x32000
movslq -0x24(%rbp), %rax
shlq $0x8, %rax
addq %rax, %rsi
callq 0x6090
movq -0x20(%rbp), %rdi
addq $0x100, %rdi            # imm = 0x100
movq -0x8(%rbp), %rsi
movslq -0x24(%rbp), %rax
imulq $0x320, %rax, %rax      # imm = 0x320
addq %rax, %rsi
movl $0x320, %edx            # imm = 0x320
callq 0x6360
movq -0x20(%rbp), %rdi
callq 0x6160
movl %eax, -0xc0(%rbp)
jmp 0x2f8d5
jmp 0x2f8d7
movq -0x20(%rbp), %rax
movq %rax, -0xd8(%rbp)
movl $0xfeedbeef, -0xc4(%rbp) # imm = 0xFEEDBEEF
movl $0x9e3779b9, -0xcc(%rbp) # imm = 0x9E3779B9
movl $0x9e3779b9, -0xc8(%rbp) # imm = 0x9E3779B9
movl -0xc0(%rbp), %eax
movl %eax, -0xd0(%rbp)
cmpl $0xc, -0xd0(%rbp)
jb 0x2fc38
movq -0xd8(%rbp), %rax
movzbl (%rax), %eax
movq -0xd8(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0xd8(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0xd8(%rbp), %rcx
movzbl 0x3(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x4(%rax), %eax
movq -0xd8(%rbp), %rcx
movzbl 0x5(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0xd8(%rbp), %rcx
movzbl 0x6(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0xd8(%rbp), %rcx
movzbl 0x7(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x8(%rax), %eax
movq -0xd8(%rbp), %rcx
movzbl 0x9(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0xd8(%rbp), %rcx
movzbl 0xa(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0xd8(%rbp), %rcx
movzbl 0xb(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %eax
shrl $0xd, %eax
xorl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %eax
shll $0x8, %eax
xorl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %eax
shrl $0xd, %eax
xorl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %eax
shrl $0xc, %eax
xorl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %eax
shll $0x10, %eax
xorl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %eax
shrl $0x5, %eax
xorl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %eax
shrl $0x3, %eax
xorl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %eax
shll $0xa, %eax
xorl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %eax
shrl $0xf, %eax
xorl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movq -0xd8(%rbp), %rax
addq $0xc, %rax
movq %rax, -0xd8(%rbp)
movl -0xd0(%rbp), %eax
subl $0xc, %eax
movl %eax, -0xd0(%rbp)
jmp 0x2f90c
movl -0xc0(%rbp), %ecx
movl -0xc4(%rbp), %eax
addl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xd0(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x138(%rbp)
subl $0xa, %eax
ja 0x2fd94
movq -0x138(%rbp), %rax
leaq 0x5a6c(%rip), %rcx      # 0x356e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0xd8(%rbp), %rax
movzbl 0xa(%rax), %eax
shll $0x18, %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x9(%rax), %eax
shll $0x10, %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x8(%rax), %eax
shll $0x8, %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x7(%rax), %eax
shll $0x18, %eax
addl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x6(%rax), %eax
shll $0x10, %eax
addl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x5(%rax), %eax
shll $0x8, %eax
addl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x4(%rax), %eax
addl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x3(%rax), %eax
shll $0x18, %eax
addl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x2(%rax), %eax
shll $0x10, %eax
addl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movq -0xd8(%rbp), %rax
movzbl 0x1(%rax), %eax
shll $0x8, %eax
addl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movq -0xd8(%rbp), %rax
movzbl (%rax), %eax
addl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
jmp 0x2fd96
movl -0xcc(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %eax
shrl $0xd, %eax
xorl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %eax
shll $0x8, %eax
xorl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %eax
shrl $0xd, %eax
xorl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %eax
shrl $0xc, %eax
xorl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %eax
shll $0x10, %eax
xorl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %eax
shrl $0x5, %eax
xorl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xc8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %eax
shrl $0x3, %eax
xorl -0xc8(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xcc(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %eax
shll $0xa, %eax
xorl -0xcc(%rbp), %eax
movl %eax, -0xcc(%rbp)
movl -0xc8(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0xcc(%rbp), %eax
shrl $0xf, %eax
xorl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0x2ffbd
jmp 0x2ffbf
jmp 0x2ffc1
movl -0xc4(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x464(%rax)
movq -0x20(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x458(%rax)
movl -0xc0(%rbp), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x460(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x428(%rax)
jne 0x30140
movq -0x20(%rbp), %rax
movq $0x0, 0x440(%rax)
movq -0x20(%rbp), %rax
movq $0x0, 0x438(%rax)
movl $0x40, %edi
callq 0x63e0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x430(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x430(%rax)
jne 0x30050
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x6580
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rdi
xorl %esi, %esi
movl $0x40, %edx
callq 0x6230
movq -0x20(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl $0x20, 0x8(%rax)
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl $0x5, 0xc(%rax)
movq -0x20(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0x20(%rbp), %rax
subq %rax, %rcx
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x200, %edi            # imm = 0x200
callq 0x63e0
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl $0xa0111fe1, 0x38(%rax) # imm = 0xA0111FE1
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
cmpq $0x0, (%rax)
jne 0x3010e
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x6580
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movq (%rax), %rdi
xorl %esi, %esi
movl $0x200, %edx            # imm = 0x200
callq 0x6230
jmp 0x3012a
jmp 0x3012c
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x428(%rax)
jmp 0x301e9
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x430(%rax)
movq -0x20(%rbp), %rax
movq $0x0, 0x440(%rax)
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rax
movq 0x18(%rax), %rcx
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rdx
xorl %eax, %eax
subq 0x20(%rdx), %rax
addq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x438(%rax)
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rax
movq 0x18(%rax), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rax
movq %rcx, 0x18(%rax)
jmp 0x301e9
jmp 0x301eb
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movl -0xc4(%rbp), %eax
movq -0x18(%rbp), %rcx
movq 0x428(%rcx), %rcx
movq 0x430(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0xdc(%rbp)
jmp 0x3022e
movq -0x18(%rbp), %rax
movq 0x428(%rax), %rax
movq 0x430(%rax), %rax
movq (%rax), %rax
movl -0xdc(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0xe8(%rbp), %rax
movq (%rax), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x450(%rax)
movq -0x20(%rbp), %rax
movq $0x0, 0x448(%rax)
movq -0xe8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x302b1
movq -0x20(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0xe8(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rcx
addq $0x430, %rcx            # imm = 0x430
movq -0xe8(%rbp), %rax
movq %rcx, (%rax)
movq -0xe8(%rbp), %rax
movl 0x8(%rax), %eax
movq -0xe8(%rbp), %rcx
movl 0xc(%rcx), %ecx
addl $0x1, %ecx
imull $0xa, %ecx, %ecx
cmpl %ecx, %eax
jb 0x30624
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
cmpl $0x0, 0x34(%rax)
jne 0x30624
jmp 0x302ff
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, %edi
shlq %rdi
shlq $0x4, %rdi
callq 0x63e0
movq %rax, -0x108(%rbp)
cmpq $0x0, -0x108(%rbp)
jne 0x30336
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x6580
movq -0x108(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x8(%rax), %eax
movl %eax, %edx
shlq %rdx
shlq $0x4, %rdx
xorl %esi, %esi
callq 0x6230
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x10(%rax), %eax
movq -0x20(%rbp), %rcx
movq 0x430(%rcx), %rcx
movl 0xc(%rcx), %ecx
addl $0x1, %ecx
shrl %cl, %eax
movl %eax, %ecx
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x10(%rax), %esi
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x8(%rax), %eax
shll %eax
subl $0x1, %eax
andl %eax, %esi
xorl %eax, %eax
movl $0x1, %edx
cmpl $0x0, %esi
cmovnel %edx, %eax
addl %eax, %ecx
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl %ecx, 0x28(%rax)
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl $0x0, 0x2c(%rax)
movl $0x0, -0xf0(%rbp)
movl -0xf0(%rbp), %eax
movq -0x20(%rbp), %rcx
movq 0x430(%rcx), %rcx
cmpl 0x8(%rcx), %eax
jae 0x30553
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movq (%rax), %rax
movl -0xf0(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq %rax, -0xf8(%rbp)
cmpq $0x0, -0xf8(%rbp)
je 0x3053d
movq -0xf8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x100(%rbp)
movq -0xf8(%rbp), %rax
movl 0x34(%rax), %eax
movq -0x20(%rbp), %rcx
movq 0x430(%rcx), %rcx
movl 0x8(%rcx), %ecx
shll %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0xec(%rbp)
movq -0x108(%rbp), %rax
movl -0xec(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rcx
movl 0x8(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x8(%rcx)
movq -0x20(%rbp), %rcx
movq 0x430(%rcx), %rcx
cmpl 0x28(%rcx), %eax
jbe 0x304d3
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x2c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2c(%rax)
movq -0x110(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x20(%rbp), %rcx
movq 0x430(%rcx), %rcx
xorl %edx, %edx
divl 0x28(%rcx)
movl %eax, %ecx
movq -0x110(%rbp), %rax
movl %ecx, 0xc(%rax)
movq -0xf8(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x110(%rbp), %rax
movq (%rax), %rcx
movq -0xf8(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x110(%rbp), %rax
cmpq $0x0, (%rax)
je 0x30519
movq -0xf8(%rbp), %rcx
movq -0x110(%rbp), %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq -0xf8(%rbp), %rcx
movq -0x110(%rbp), %rax
movq %rcx, (%rax)
movq -0x100(%rbp), %rax
movq %rax, -0xf8(%rbp)
jmp 0x30419
jmp 0x3053f
movl -0xf0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf0(%rbp)
jmp 0x303da
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movq (%rax), %rdi
callq 0x6050
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x8(%rax), %ecx
shll %ecx
movl %ecx, 0x8(%rax)
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0xc(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0xc(%rax)
movq -0x108(%rbp), %rcx
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x2c(%rax), %eax
movq -0x20(%rbp), %rcx
movq 0x430(%rcx), %rcx
movl 0x10(%rcx), %ecx
shrl %ecx
cmpl %ecx, %eax
jbe 0x305dd
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl 0x30(%rax), %eax
addl $0x1, %eax
movl %eax, -0x13c(%rbp)
jmp 0x305e7
xorl %eax, %eax
movl %eax, -0x13c(%rbp)
jmp 0x305e7
movl -0x13c(%rbp), %ecx
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
cmpl $0x1, 0x30(%rax)
jbe 0x3061e
movq -0x20(%rbp), %rax
movq 0x430(%rax), %rax
movl $0x1, 0x34(%rax)
jmp 0x30620
jmp 0x30622
jmp 0x30624
jmp 0x30626
jmp 0x30628
jmp 0x3062a
jmp 0x3062c
jmp 0x3062e
jmp 0x30630
movq -0x20(%rbp), %rax
movq 0x420(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x420(%rax)
movl -0x24(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x42004(%rcx), %eax
jge 0x3068b
movq -0x8(%rbp), %rdi
addq $0x32000, %rdi          # imm = 0x32000
movslq -0x24(%rbp), %rax
shlq $0x8, %rax
addq %rax, %rdi
movq -0x8(%rbp), %rsi
addq $0x3a000, %rsi          # imm = 0x3A000
movslq -0x24(%rbp), %rax
shlq $0x8, %rax
addq %rax, %rsi
callq 0x6310
cmpl $0x0, %eax
je 0x306a1
movq -0x20(%rbp), %rax
movq 0x428(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x428(%rax)
jmp 0x306a3
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
movl -0x24(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x2def7
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
nopw %cs:(%rax,%rax)