// File: /workspace/github_c_makefile_star2_O0/aparrish[P]rwet-examples-c/concordance.c
// Function: main
int main() {

	word_count_t* concordance = NULL;
	word_count_t* word_count = NULL;
	word_count_t* tmp = NULL;
	char* line;
	int len;

	while (!feof(stdin)) {
		len = ap_getline(&line, stdin);

		/* iterate through each word in line */
		char* word;
		word = strtok(line, " \n");
		while (word != NULL) {
			/* find word count in hash */
			HASH_FIND_STR(concordance, word, word_count);
			/* if found, update count */
			if (word_count != NULL) {
				word_count->count++;
			}
			/* otherwise, alloc a new structure and add it to the hash */
			else {
				word_count = (word_count_t*)malloc(sizeof(word_count_t));
				/* malloc word, copy into it */
				word_count->word = (char*)malloc(strlen(word)+1);
				strcpy(word_count->word, word);
				word_count->count = 1;
				HASH_ADD_KEYPTR(hh, concordance, word_count->word,
						strlen(word_count->word), word_count);
			}
			word = strtok(NULL, " \n");
		}

		free(line);
	}

	/* sort by count */
	HASH_SORT(concordance, compare_count);

	/* iterate through the hash, deleting and freeing as we go */
	HASH_ITER(hh, concordance, word_count, tmp) {
		printf("%s: %d\n", word_count->word, word_count->count);
		HASH_DEL(concordance, word_count);
		free(word_count->word);
		free(word_count);
	}

	return 0;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movl $0x0, -0x4(%rbp)
movq $0x0, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
movq 0x3d9f(%rip), %rax      # 0x4fe0
movq (%rax), %rdi
callq 0x1090
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x125a
jmp 0x22f7
movq 0x3d7f(%rip), %rax      # 0x4fe0
movq (%rax), %rsi
leaq -0x28(%rbp), %rdi
callq 0x2a70
movl %eax, -0x2c(%rbp)
movq -0x28(%rbp), %rdi
leaq 0x1de1(%rip), %rsi      # 0x305c
callq 0x10c0
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x38(%rbp)
je 0x22e9
jmp 0x1291
movq $0x0, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x180b
jmp 0x12a6
movq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
movl $0xfeedbeef, -0x40(%rbp) # imm = 0xFEEDBEEF
movl $0x9e3779b9, -0x48(%rbp) # imm = 0x9E3779B9
movl $0x9e3779b9, -0x44(%rbp) # imm = 0x9E3779B9
movq -0x38(%rbp), %rdi
callq 0x1050
movl %eax, -0x4c(%rbp)
cmpl $0xc, -0x4c(%rbp)
jb 0x14c3
movq -0x58(%rbp), %rax
movsbl (%rax), %eax
movq -0x58(%rbp), %rcx
movsbl 0x1(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x58(%rbp), %rcx
movsbl 0x2(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x58(%rbp), %rcx
movsbl 0x3(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x4(%rax), %eax
movq -0x58(%rbp), %rcx
movsbl 0x5(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x58(%rbp), %rcx
movsbl 0x6(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x58(%rbp), %rcx
movsbl 0x7(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x8(%rax), %eax
movq -0x58(%rbp), %rcx
movsbl 0x9(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x58(%rbp), %rcx
movsbl 0xa(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x58(%rbp), %rcx
movsbl 0xb(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
shrl $0xd, %eax
xorl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %eax
shll $0x8, %eax
xorl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %eax
shrl $0xd, %eax
xorl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
shrl $0xc, %eax
xorl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %eax
shll $0x10, %eax
xorl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %eax
shrl $0x5, %eax
xorl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
shrl $0x3, %eax
xorl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %eax
shll $0xa, %eax
xorl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %eax
shrl $0xf, %eax
xorl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x58(%rbp), %rax
addq $0xc, %rax
movq %rax, -0x58(%rbp)
movl -0x4c(%rbp), %eax
subl $0xc, %eax
movl %eax, -0x4c(%rbp)
jmp 0x12cf
movq -0x38(%rbp), %rdi
callq 0x1050
movq %rax, %rcx
movl -0x40(%rbp), %eax
addl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x4c(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0xf0(%rbp)
subl $0xa, %eax
ja 0x15b9
movq -0xf0(%rbp), %rax
leaq 0x1b08(%rip), %rcx      # 0x3004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x58(%rbp), %rax
movsbl 0xa(%rax), %eax
shll $0x18, %eax
addl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x9(%rax), %eax
shll $0x10, %eax
addl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x8(%rax), %eax
shll $0x8, %eax
addl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x7(%rax), %eax
shll $0x18, %eax
addl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x6(%rax), %eax
shll $0x10, %eax
addl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x5(%rax), %eax
shll $0x8, %eax
addl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x4(%rax), %eax
addl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x3(%rax), %eax
shll $0x18, %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x2(%rax), %eax
shll $0x10, %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x58(%rbp), %rax
movsbl 0x1(%rax), %eax
shll $0x8, %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movq -0x58(%rbp), %rax
movsbl (%rax), %eax
addl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
jmp 0x15bb
movl -0x48(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
shrl $0xd, %eax
xorl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %eax
shll $0x8, %eax
xorl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %eax
shrl $0xd, %eax
xorl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
shrl $0xc, %eax
xorl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %eax
shll $0x10, %eax
xorl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %eax
shrl $0x5, %eax
xorl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x44(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
shrl $0x3, %eax
xorl -0x44(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x48(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %eax
shll $0xa, %eax
xorl -0x48(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x44(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %ecx
movl -0x40(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x40(%rbp)
movl -0x48(%rbp), %eax
shrl $0xf, %eax
xorl -0x40(%rbp), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0x3c(%rbp)
jmp 0x1705
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0x3c(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x1751
jmp 0x1722
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0x3c(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x1759
movq $0x0, -0x18(%rbp)
jmp 0x175b
cmpq $0x0, -0x18(%rbp)
je 0x1807
movq -0x18(%rbp), %rax
movl 0x40(%rax), %eax
movq %rax, -0xf8(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1050
movq %rax, %rcx
movq -0xf8(%rbp), %rax
cmpq %rcx, %rax
jne 0x17ce
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rax
movq %rax, -0x108(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1050
movq -0x108(%rbp), %rdi
movq -0x100(%rbp), %rsi
movq %rax, %rdx
callq 0x1080
cmpl $0x0, %eax
jne 0x17cc
jmp 0x1807
jmp 0x17ce
movq -0x18(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x17fa
jmp 0x17db
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x18(%rbp)
jmp 0x1802
movq $0x0, -0x18(%rbp)
jmp 0x175b
jmp 0x1809
jmp 0x180b
jmp 0x180d
cmpq $0x0, -0x18(%rbp)
je 0x1826
movq -0x18(%rbp), %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
jmp 0x22d0
movl $0x48, %edi
callq 0x10a0
movq %rax, -0x18(%rbp)
movq -0x38(%rbp), %rdi
callq 0x1050
movq %rax, %rdi
addq $0x1, %rdi
callq 0x10a0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movq -0x38(%rbp), %rsi
callq 0x1040
movq -0x18(%rbp), %rax
movl $0x1, 0x8(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x20(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x1050
movl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x40(%rax)
cmpq $0x0, -0x10(%rbp)
jne 0x19a0
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq $0x0, 0x18(%rax)
movl $0x40, %edi
callq 0x10a0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x18e7
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10d0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
xorl %esi, %esi
movl $0x40, %edx
callq 0x1070
movq -0x10(%rbp), %rcx
addq $0x10, %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movl $0x20, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movl $0x5, 0xc(%rax)
movq -0x10(%rbp), %rcx
addq $0x10, %rcx
movq -0x10(%rbp), %rax
subq %rax, %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x200, %edi            # imm = 0x200
callq 0x10a0
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
cmpq $0x0, (%rax)
jne 0x1978
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10d0
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rdi
xorl %esi, %esi
movl $0x200, %edx            # imm = 0x200
callq 0x1070
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movl $0xa0111fe1, 0x38(%rax) # imm = 0xA0111FE1
jmp 0x19ed
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x18(%rax), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x18(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdx
xorl %eax, %eax
subq 0x20(%rdx), %rax
addq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
addq $0x10, %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x18(%rbp), %rax
movl $0xfeedbeef, 0x44(%rax) # imm = 0xFEEDBEEF
movl $0x9e3779b9, -0x64(%rbp) # imm = 0x9E3779B9
movl $0x9e3779b9, -0x60(%rbp) # imm = 0x9E3779B9
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x1050
movl %eax, -0x68(%rbp)
cmpl $0xc, -0x68(%rbp)
jb 0x1c81
movq -0x70(%rbp), %rax
movsbl (%rax), %eax
movq -0x70(%rbp), %rcx
movsbl 0x1(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x70(%rbp), %rcx
movsbl 0x2(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x70(%rbp), %rcx
movsbl 0x3(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x70(%rbp), %rax
movsbl 0x4(%rax), %eax
movq -0x70(%rbp), %rcx
movsbl 0x5(%rcx), %ecx
shll $0x8, %ecx
addl %ecx, %eax
movq -0x70(%rbp), %rcx
movsbl 0x6(%rcx), %ecx
shll $0x10, %ecx
addl %ecx, %eax
movq -0x70(%rbp), %rcx
movsbl 0x7(%rcx), %ecx
shll $0x18, %ecx
addl %ecx, %eax
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x70(%rbp), %rax
movsbl 0x8(%rax), %ecx
movq -0x70(%rbp), %rax
movsbl 0x9(%rax), %eax
shll $0x8, %eax
addl %eax, %ecx
movq -0x70(%rbp), %rax
movsbl 0xa(%rax), %eax
shll $0x10, %eax
addl %eax, %ecx
movq -0x70(%rbp), %rax
movsbl 0xb(%rax), %eax
shll $0x18, %eax
addl %eax, %ecx
movq -0x18(%rbp), %rax
addl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %eax
shrl $0xd, %eax
xorl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %eax
shll $0x8, %eax
xorl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
shrl $0xd, %ecx
movq -0x18(%rbp), %rax
xorl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %eax
shrl $0xc, %eax
xorl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %eax
shll $0x10, %eax
xorl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
shrl $0x5, %ecx
movq -0x18(%rbp), %rax
xorl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %eax
shrl $0x3, %eax
xorl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %eax
shll $0xa, %eax
xorl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
shrl $0xf, %ecx
movq -0x18(%rbp), %rax
xorl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movq -0x70(%rbp), %rax
addq $0xc, %rax
movq %rax, -0x70(%rbp)
movl -0x68(%rbp), %eax
subl $0xc, %eax
movl %eax, -0x68(%rbp)
jmp 0x1a41
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x1050
movq %rax, %rdx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
addl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x68(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x110(%rbp)
subl $0xa, %eax
ja 0x1d8a
movq -0x110(%rbp), %rax
leaq 0x136f(%rip), %rcx      # 0x3030
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x70(%rbp), %rax
movsbl 0xa(%rax), %ecx
shll $0x18, %ecx
movq -0x18(%rbp), %rax
addl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movq -0x70(%rbp), %rax
movsbl 0x9(%rax), %ecx
shll $0x10, %ecx
movq -0x18(%rbp), %rax
addl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movq -0x70(%rbp), %rax
movsbl 0x8(%rax), %ecx
shll $0x8, %ecx
movq -0x18(%rbp), %rax
addl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movq -0x70(%rbp), %rax
movsbl 0x7(%rax), %eax
shll $0x18, %eax
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x70(%rbp), %rax
movsbl 0x6(%rax), %eax
shll $0x10, %eax
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x70(%rbp), %rax
movsbl 0x5(%rax), %eax
shll $0x8, %eax
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x70(%rbp), %rax
movsbl 0x4(%rax), %eax
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movq -0x70(%rbp), %rax
movsbl 0x3(%rax), %eax
shll $0x18, %eax
addl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x70(%rbp), %rax
movsbl 0x2(%rax), %eax
shll $0x10, %eax
addl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x70(%rbp), %rax
movsbl 0x1(%rax), %eax
shll $0x8, %eax
addl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x70(%rbp), %rax
movsbl (%rax), %eax
addl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
jmp 0x1d8c
movl -0x64(%rbp), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %eax
shrl $0xd, %eax
xorl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %eax
shll $0x8, %eax
xorl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
shrl $0xd, %ecx
movq -0x18(%rbp), %rax
xorl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %eax
shrl $0xc, %eax
xorl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %eax
shll $0x10, %eax
xorl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
shrl $0x5, %ecx
movq -0x18(%rbp), %rax
xorl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x60(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %eax
shrl $0x3, %eax
xorl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %ecx
movl -0x64(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %eax
shll $0xa, %eax
xorl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x60(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %edx
movq -0x18(%rbp), %rax
movl 0x44(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x44(%rax)
movl -0x64(%rbp), %ecx
shrl $0xf, %ecx
movq -0x18(%rbp), %rax
xorl 0x44(%rax), %ecx
movl %ecx, 0x44(%rax)
movq -0x18(%rbp), %rax
movl 0x44(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0x5c(%rbp)
jmp 0x1f22
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0x5c(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0x8(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0x5c(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x18(%rbp), %rax
movq $0x0, 0x28(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0x5c(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x1fab
movq -0x18(%rbp), %rcx
addq $0x10, %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0x5c(%rbp), %edx
shlq $0x4, %rdx
addq %rdx, %rax
movq (%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
addq $0x10, %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0x5c(%rbp), %edx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0x5c(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0x8(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
movq (%rcx), %rcx
movl -0x5c(%rbp), %edx
shlq $0x4, %rdx
addq %rdx, %rcx
movl 0xc(%rcx), %ecx
addl $0x1, %ecx
imull $0xa, %ecx, %ecx
cmpl %ecx, %eax
jb 0x22ca
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x1, 0x34(%rax)
je 0x22ca
jmp 0x201d
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x8(%rax), %eax
shll %eax
movl %eax, %eax
movl %eax, %edi
shlq $0x4, %rdi
callq 0x10a0
movq %rax, -0x90(%rbp)
cmpq $0x0, -0x90(%rbp)
jne 0x2052
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
callq 0x10d0
movq -0x90(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x8(%rax), %eax
shll %eax
movl %eax, %eax
movl %eax, %edx
shlq $0x4, %rdx
xorl %esi, %esi
callq 0x1070
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x10(%rax), %eax
movq -0x18(%rbp), %rcx
movq 0x10(%rcx), %rcx
movl 0xc(%rcx), %ecx
addl $0x1, %ecx
shrl %cl, %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x10(%rax), %esi
movq -0x18(%rbp), %rax
movq 0x10(%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 -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl %ecx, 0x28(%rax)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl $0x0, 0x2c(%rax)
movl $0x0, -0x78(%rbp)
movl -0x78(%rbp), %eax
movq -0x18(%rbp), %rcx
movq 0x10(%rcx), %rcx
cmpl 0x8(%rcx), %eax
jae 0x2219
movq -0x18(%rbp), %rax
movq 0x10(%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 0x2209
movq -0x80(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x88(%rbp)
movq -0x80(%rbp), %rax
movl 0x34(%rax), %eax
movq -0x18(%rbp), %rcx
movq 0x10(%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 -0x18(%rbp), %rcx
movq 0x10(%rcx), %rcx
cmpl 0x28(%rcx), %eax
jbe 0x21ae
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x2c(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x2c(%rax)
movq -0x98(%rbp), %rax
movl 0x8(%rax), %eax
movq -0x18(%rbp), %rcx
movq 0x10(%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 0x21eb
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 0x210f
jmp 0x220b
movl -0x78(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x78(%rbp)
jmp 0x20df
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x8(%rax), %ecx
shll %ecx
movl %ecx, 0x8(%rax)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0xc(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0xc(%rax)
movq -0x90(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x2c(%rax), %eax
movq -0x18(%rbp), %rcx
movq 0x10(%rcx), %rcx
movl 0x10(%rcx), %ecx
shrl %ecx
cmpl %ecx, %eax
jbe 0x228e
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x30(%rax), %eax
addl $0x1, %eax
movl %eax, -0x114(%rbp)
jmp 0x2298
xorl %eax, %eax
movl %eax, -0x114(%rbp)
jmp 0x2298
movl -0x114(%rbp), %ecx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl %ecx, 0x30(%rax)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
cmpl $0x1, 0x30(%rax)
jbe 0x22c6
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movl $0x1, 0x34(%rax)
jmp 0x22c8
jmp 0x22ca
jmp 0x22cc
jmp 0x22ce
jmp 0x22d0
xorl %eax, %eax
movl %eax, %edi
leaq 0xd81(%rip), %rsi       # 0x305c
callq 0x10c0
movq %rax, -0x38(%rbp)
jmp 0x1284
movq -0x28(%rbp), %rdi
callq 0x1030
jmp 0x123a
jmp 0x22f9
cmpq $0x0, -0x10(%rbp)
je 0x27af
movl $0x1, -0xa8(%rbp)
movl $0x1, -0xa0(%rbp)
movq -0x10(%rbp), %rax
addq $0x10, %rax
movq %rax, -0xd0(%rbp)
cmpl $0x0, -0xa0(%rbp)
je 0x27ad
movq -0xd0(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq $0x0, -0xd0(%rbp)
movq $0x0, -0xd8(%rbp)
movl $0x0, -0xa4(%rbp)
cmpq $0x0, -0xb8(%rbp)
je 0x2747
movl -0xa4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa4(%rbp)
movq -0xb8(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl $0x0, -0xac(%rbp)
movl $0x0, -0x9c(%rbp)
movl -0x9c(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jae 0x2427
movl -0xac(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xac(%rbp)
movq -0xc0(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x23ec
movq -0xc0(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
addq 0x20(%rcx), %rax
movq %rax, -0x120(%rbp)
jmp 0x23f7
xorl %eax, %eax
movq %rax, -0x120(%rbp)
jmp 0x23f7
movq -0x120(%rbp), %rax
movq %rax, -0xc0(%rbp)
cmpq $0x0, -0xc0(%rbp)
jne 0x2411
jmp 0x2427
jmp 0x2413
movl -0x9c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x9c(%rbp)
jmp 0x23a1
movl -0xa8(%rbp), %eax
movl %eax, -0xb0(%rbp)
movb $0x1, %al
cmpl $0x0, -0xac(%rbp)
movb %al, -0x121(%rbp)
ja 0x2472
xorl %eax, %eax
cmpl $0x0, -0xb0(%rbp)
movb %al, -0x122(%rbp)
jbe 0x2466
cmpq $0x0, -0xc0(%rbp)
setne %al
movb %al, -0x122(%rbp)
movb -0x122(%rbp), %al
movb %al, -0x121(%rbp)
movb -0x121(%rbp), %al
testb $0x1, %al
jne 0x2481
jmp 0x2734
cmpl $0x0, -0xac(%rbp)
jne 0x24f3
movq -0xc0(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc0(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x24c6
movq -0xc0(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
addq 0x20(%rcx), %rax
movq %rax, -0x130(%rbp)
jmp 0x24d1
xorl %eax, %eax
movq %rax, -0x130(%rbp)
jmp 0x24d1
movq -0x130(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl -0xb0(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x2677
cmpl $0x0, -0xb0(%rbp)
je 0x2506
cmpq $0x0, -0xc0(%rbp)
jne 0x256f
movq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2542
movq -0xb8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
addq 0x20(%rcx), %rax
movq %rax, -0x138(%rbp)
jmp 0x254d
xorl %eax, %eax
movq %rax, -0x138(%rbp)
jmp 0x254d
movq -0x138(%rbp), %rax
movq %rax, -0xb8(%rbp)
movl -0xac(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x2675
movq -0xb8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
xorl %eax, %eax
subq 0x20(%rcx), %rax
addq %rax, %rdi
movq -0xc0(%rbp), %rsi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
xorl %eax, %eax
subq 0x20(%rcx), %rax
addq %rax, %rsi
callq 0x11f0
cmpl $0x0, %eax
jg 0x260f
movq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xb8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x25e5
movq -0xb8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
addq 0x20(%rcx), %rax
movq %rax, -0x140(%rbp)
jmp 0x25f0
xorl %eax, %eax
movq %rax, -0x140(%rbp)
jmp 0x25f0
movq -0x140(%rbp), %rax
movq %rax, -0xb8(%rbp)
movl -0xac(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xac(%rbp)
jmp 0x2673
movq -0xc0(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc0(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x264b
movq -0xc0(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
addq 0x20(%rcx), %rax
movq %rax, -0x148(%rbp)
jmp 0x2656
xorl %eax, %eax
movq %rax, -0x148(%rbp)
jmp 0x2656
movq -0x148(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl -0xb0(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xb0(%rbp)
jmp 0x2675
jmp 0x2677
cmpq $0x0, -0xd8(%rbp)
je 0x26cb
cmpq $0x0, -0xc8(%rbp)
je 0x26ac
movq -0xc8(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x150(%rbp)
jmp 0x26b7
xorl %eax, %eax
movq %rax, -0x150(%rbp)
jmp 0x26b7
movq -0x150(%rbp), %rcx
movq -0xd8(%rbp), %rax
movq %rcx, 0x10(%rax)
jmp 0x26d9
movq -0xc8(%rbp), %rax
movq %rax, -0xd0(%rbp)
cmpq $0x0, -0xd8(%rbp)
je 0x2704
movq -0xd8(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x158(%rbp)
jmp 0x270f
xorl %eax, %eax
movq %rax, -0x158(%rbp)
jmp 0x270f
movq -0x158(%rbp), %rcx
movq -0xc8(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
jmp 0x2433
movq -0xc0(%rbp), %rax
movq %rax, -0xb8(%rbp)
jmp 0x2362
movq -0xd8(%rbp), %rax
movq $0x0, 0x10(%rax)
cmpl $0x1, -0xa4(%rbp)
ja 0x279a
movl $0x0, -0xa0(%rbp)
movq -0xd8(%rbp), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0xd0(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rdx
xorl %ecx, %ecx
subq 0x20(%rdx), %rcx
addq %rcx, %rax
movq %rax, -0x10(%rbp)
jmp 0x279a
movl -0xa8(%rbp), %eax
shll %eax
movl %eax, -0xa8(%rbp)
jmp 0x2327
jmp 0x27af
jmp 0x27b1
movq -0x10(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x27d1
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x160(%rbp)
jmp 0x27dc
xorl %eax, %eax
movq %rax, -0x160(%rbp)
jmp 0x27dc
movq -0x160(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x2a56
movq -0x18(%rbp), %rax
movq (%rax), %rsi
movq -0x18(%rbp), %rax
movl 0x8(%rax), %edx
leaq 0x858(%rip), %rdi       # 0x305f
movb $0x0, %al
callq 0x1060
movq -0x18(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x284e
movq -0x18(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x284e
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x1030
movq $0x0, -0x10(%rbp)
jmp 0x2a04
movq -0x18(%rbp), %rax
addq $0x10, %rax
movq %rax, -0xe8(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %rcx
movq -0x10(%rbp), %rdx
movq 0x10(%rdx), %rsi
xorl %edx, %edx
subq 0x20(%rsi), %rdx
addq %rdx, %rcx
cmpq %rcx, %rax
jne 0x28a3
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
addq 0x20(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x28d1
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdx
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
movq 0x20(%rcx), %rcx
movq %rdx, 0x10(%rax,%rcx)
jmp 0x28e1
jmp 0x28d3
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x10(%rbp)
jmp 0x28e1
movq -0xe8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x2916
movq -0xe8(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0xe8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
movq 0x20(%rcx), %rcx
movq %rdx, 0x8(%rax,%rcx)
jmp 0x2918
movq -0xe8(%rbp), %rax
movl 0x34(%rax), %eax
movq -0x10(%rbp), %rcx
movq 0x10(%rcx), %rcx
movl 0x8(%rcx), %ecx
subl $0x1, %ecx
andl %ecx, %eax
movl %eax, -0xdc(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0xdc(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movl 0x8(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0xdc(%rbp), %ecx
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rax
cmpq -0xe8(%rbp), %rax
jne 0x29a3
movq -0xe8(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movl -0xdc(%rbp), %edx
shlq $0x4, %rdx
addq %rdx, %rax
movq %rcx, (%rax)
movq -0xe8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x29cb
movq -0xe8(%rbp), %rax
movq 0x20(%rax), %rcx
movq -0xe8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rcx, 0x20(%rax)
movq -0xe8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x29f3
movq -0xe8(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0xe8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x10(%rax), %ecx
addl $-0x1, %ecx
movl %ecx, 0x10(%rax)
jmp 0x2a06
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x1030
movq -0x18(%rbp), %rdi
callq 0x1030
movq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x2a3b
movq -0x20(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x168(%rbp)
jmp 0x2a46
xorl %eax, %eax
movq %rax, -0x168(%rbp)
jmp 0x2a46
movq -0x168(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x27e7
xorl %eax, %eax
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)