// File: /workspace/github_c_makefile_star2_O1/Ihsoh[P]ilang/string.c
// Function: rstr_test
void rstr_test(void) {
	ResizableString rstr1;

	rstr_init(&rstr1);
	MYASSERT(
		rstr1.size == 0 && rstr1.len == 0 && rstr1.buffer == NULL,
		"TEST rstr_init(...)"
	);

	#define	__CMP_RSTR_CSTR(rstr, cstr, msg)	{	\
		MYASSERT(	\
			sizeof((cstr)) - 1 == (rstr).len && strncmp((rstr).buffer, (cstr), sizeof((cstr)) - 1) == 0,	\
			(msg)	\
		);	\
	}

	// "" + "AB" => "AB"
	rstr_append_with_cstr(&rstr1, "AB");
	__CMP_RSTR_CSTR(rstr1, "AB", "TEST rstr_append_with_cstr(...)");

	// "AB" + "CD" => "ABCD"
	rstr_append_with_raw(&rstr1, "CD", sizeof("CD") - 1);
	__CMP_RSTR_CSTR(rstr1, "ABCD", "TEST rstr_append_with_raw(...)");

	// "ABCD" + "EF" => "ABCDEF"
	ResizableString rstr2;
	rstr_init(&rstr2);
	rstr_append_with_cstr(&rstr2, "EF");
	rstr_append_with_rstr(&rstr1, &rstr2);
	__CMP_RSTR_CSTR(rstr1, "ABCDEF", "TEST rstr_append_with_rstr(...)");
	rstr_free(&rstr2);
	MYASSERT(
		rstr2.size == 0 && rstr2.len == 0 && rstr2.buffer == NULL,
		"TEST rstr_free(...)"
	);

	// INSERT("ABCDEF", 1, "ab") => "AabBCDEF"
	rstr_insert_with_cstr(&rstr1, "ab", 1);
	__CMP_RSTR_CSTR(rstr1, "AabBCDEF", "TEST rstr_insert_with_cstr(...)");

	// INSERT("AabBCDEF", 4, "bc") => "AabBbcCDEF"
	rstr_insert_with_raw(&rstr1, "bc", sizeof("bc") - 1, 4);
	__CMP_RSTR_CSTR(rstr1, "AabBbcCDEF", "TEST rstr_insert_with_raw(...)");

	// INSERT("AabBbcCDEF", 7, "cd") => "AabBbcCcdDEF"
	ResizableString rstr3;
	rstr_init(&rstr3);
	rstr_append_with_cstr(&rstr3, "cd");
	rstr_insert_with_rstr(&rstr1, &rstr3, 7);
	__CMP_RSTR_CSTR(rstr1, "AabBbcCcdDEF", "TEST rstr_insert_with_rstr(...)");
	rstr_free(&rstr3);

	// "12" + "AabBbcCcdDEF" => "12AabBbcCcdDEF"
	rstr_prepend_with_cstr(&rstr1, "12");
	__CMP_RSTR_CSTR(rstr1, "12AabBbcCcdDEF", "TEST rstr_prepend_with_cstr(...)");

	// "34" + "12AabBbcCcdDEF" => "3412AabBbcCcdDEF"
	rstr_prepend_with_raw(&rstr1, "34", sizeof("34") - 1);
	__CMP_RSTR_CSTR(rstr1, "3412AabBbcCcdDEF", "TEST rstr_prepend_with_raw(...)");

	// "56" + "3412AabBbcCcdDEF" => "563412AabBbcCcdDEF"
	ResizableString rstr4;
	rstr_init(&rstr4);
	rstr_append_with_cstr(&rstr4, "56");
	rstr_prepend_with_rstr(&rstr1, &rstr4);
	rstr_free(&rstr4);
	__CMP_RSTR_CSTR(rstr1, "563412AabBbcCcdDEF", "TEST rstr_prepend_with_rstr(...)");

	rstr_free(&rstr1);

	rstr_init(&rstr1);

	// "" + 'A' + 'B' => "AB"
	rstr_append_with_char(&rstr1, 'A');
	rstr_append_with_char(&rstr1, 'B');
	__CMP_RSTR_CSTR(rstr1, "AB", "TEST rstr_append_with_char(...)");

	// INSERT("AB", 1, 'C') => "ACB"
	rstr_insert_with_char(&rstr1, 'C', 1);
	__CMP_RSTR_CSTR(rstr1, "ACB", "TEST rstr_insert_with_char(...)");

	// 'D' + "ACB" => "DACB"
	rstr_prepend_with_char(&rstr1, 'D');
	__CMP_RSTR_CSTR(rstr1, "DACB", "TEST rstr_prepend_with_char(...)");

	MYASSERT(
		rstr1.buffer[rstr1.len] == '\0',
		"TEST null-terminated character"
	);

	rstr_free(&rstr1);


	LinkedList llst1;

	// SPLIT(str = '', sep = ';', ignore_empty = true)
	rstr_init(&rstr1);
	llst_init(&llst1, NULL, (LinkedListReleaser) rstr_delete);
	rstr_append_with_cstr(&rstr1, "");
	rstr_split(&llst1, &rstr1, ";", true);
	MYASSERT(
		llst1.count == 0,
		"TEST rstr_split(..., '', ';', true)"
	);
	llst_free(&llst1, true);
	rstr_free(&rstr1);

	// SPLIT(str = '', sep = ';', ignore_empty = false)
	rstr_init(&rstr1);
	llst_init(&llst1, NULL, (LinkedListReleaser) rstr_delete);
	rstr_append_with_cstr(&rstr1, "");
	rstr_split(&llst1, &rstr1, ";", false);
	MYASSERT(
		llst1.count == 0,
		"TEST rstr_split(..., '', ';', false)"
	);
	llst_free(&llst1, true);
	rstr_free(&rstr1);

	// SPLIT(str = 'AB;CD;EF', sep = ';', ignore_empty = false)
	rstr_init(&rstr1);
	llst_init(&llst1, NULL, (LinkedListReleaser) rstr_delete);
	rstr_append_with_cstr(&rstr1, "AB;CD;EF");
	rstr_split(&llst1, &rstr1, ";", false);
	MYASSERT(
		llst1.count == 3,
		"TEST rstr_split(..., ..., ..., false)"
	);
	llst_free(&llst1, true);
	rstr_free(&rstr1);


	// INDEX_OF('a b c', ' ')
	rstr_init_with_cstr(&rstr1, "a b c");
	MYASSERT(
		rstr_index_of(&rstr1, " ") == 1,
		"TEST rstr_index_of(...)"
	);
	rstr_free(&rstr1);

	// LAST_INDEX_OF('a b c', ' ')
	rstr_init_with_cstr(&rstr1, "a b c");
	MYASSERT(
		rstr_last_index_of(&rstr1, " ") == 3,
		"TEST rstr_last_index_of(...)"
	);
	rstr_free(&rstr1);

	// SUB_STRING('abcdef', 1, 4) => 'bcde'
	rstr_init_with_cstr(&rstr1, "abcdef");
	ResizableString rstr5;
	rstr_init(&rstr5);
	rstr_sub_string(&rstr5, &rstr1, 1, 4);
	__CMP_RSTR_CSTR(rstr5, "bcde", "TEST rstr_sub_string(...)");
	rstr_free(&rstr5);
	rstr_free(&rstr1);

	// LTRAM('   abc  ', ' ')
	rstr_init_with_cstr(&rstr1, "   abc  ");
	ResizableString rstr7;
	rstr_init(&rstr7);
	rstr_ltrim(&rstr7, &rstr1, ' ');
	__CMP_RSTR_CSTR(rstr7, "abc  ", "TEST rstr_ltrim(...)");
	rstr_free(&rstr7);
	rstr_free(&rstr1);

	// RTRAM('   abc  ', ' ')
	rstr_init_with_cstr(&rstr1, "   abc  ");
	ResizableString rstr8;
	rstr_init(&rstr8);
	rstr_rtrim(&rstr8, &rstr1, ' ');
	__CMP_RSTR_CSTR(rstr8, "   abc", "TEST rstr_rtrim(...)");
	rstr_free(&rstr8);
	rstr_free(&rstr1);

	// TRAM('   abc  ', ' ')
	rstr_init_with_cstr(&rstr1, "   abc  ");
	ResizableString rstr9;
	rstr_init(&rstr9);
	rstr_trim(&rstr9, &rstr1, ' ');
	__CMP_RSTR_CSTR(rstr9, "abc", "TEST rstr_rtrim(...)");
	rstr_free(&rstr9);
	rstr_free(&rstr1);

	// "X" + STR(123456) => "X123456"
	rstr_init_with_cstr(&rstr1, "X");
	rstr_appendf(&rstr1, "%d", 123456);
	__CMP_RSTR_CSTR(rstr1, "X123456", "TEST rstr_appendf(...)");
	rstr_free(&rstr1);

	// INSERT("AB", 1, STR(123456)) => "A123456B"
	rstr_init_with_cstr(&rstr1, "AB");
	rstr_insertf(&rstr1, 1, "%d", 123456);
	__CMP_RSTR_CSTR(rstr1, "A123456B", "TEST rstr_insertf(...)");
	rstr_free(&rstr1);

	// STR(123456) + "X" => "123456X"
	rstr_init_with_cstr(&rstr1, "X");
	rstr_prependf(&rstr1, "%d", 123456);
	__CMP_RSTR_CSTR(rstr1, "123456X", "TEST rstr_prependf(...)");
	rstr_free(&rstr1);

	#undef	__CMP_RSTR_CSTR
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0xb8, %rsp
xorps %xmm0, %xmm0
movaps %xmm0, -0x30(%rbp)
cmpl $0x0, -0x2c(%rbp)
jne 0xfaff
cmpq $0x0, -0x28(%rbp)
je 0xfb19
leaq 0x1ff5f(%rip), %rdi     # 0x2fa65
leaq 0x205aa(%rip), %rdx     # 0x300b7
movl $0x240, %esi            # imm = 0x240
xorl %eax, %eax
callq 0xd08c
leaq 0x205ab(%rip), %rsi     # 0x300cb
leaq -0x30(%rbp), %rbx
movq %rbx, %rdi
callq 0xe4ef
cmpl $0x2, 0x4(%rbx)
jne 0xfb4b
movq -0x28(%rbp), %rdi
leaq 0x2058e(%rip), %rsi     # 0x300cb
movl $0x2, %edx
callq 0xa040
testl %eax, %eax
je 0xfb65
leaq 0x1ff13(%rip), %rdi     # 0x2fa65
leaq 0x20575(%rip), %rdx     # 0x300ce
movl $0x24b, %esi            # imm = 0x24B
xorl %eax, %eax
callq 0xd08c
leaq 0x20584(%rip), %rsi     # 0x300f0
movq %rbx, %rdi
movl $0x2, %edx
callq 0xe688
cmpl $0x4, 0x4(%rbx)
jne 0xfb98
movq -0x28(%rbp), %rdi
leaq 0x20564(%rip), %rsi     # 0x300ee
movl $0x4, %edx
callq 0xa040
testl %eax, %eax
je 0xfbb2
leaq 0x1fec6(%rip), %rdi     # 0x2fa65
leaq 0x2054d(%rip), %rdx     # 0x300f3
movl $0x24f, %esi            # imm = 0x24F
xorl %eax, %eax
callq 0xd08c
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x20751(%rip), %rsi     # 0x30314
movq %rbx, %rdi
callq 0xe4ef
leaq -0x30(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0xe7ac
cmpl $0x6, 0x4(%r14)
jne 0xfbfa
movq -0x28(%rbp), %rdi
leaq 0x20526(%rip), %rsi     # 0x30112
movl $0x6, %edx
callq 0xa040
testl %eax, %eax
je 0xfc14
leaq 0x1fe64(%rip), %rdi     # 0x2fa65
leaq 0x20511(%rip), %rdx     # 0x30119
movl $0x256, %esi            # imm = 0x256
xorl %eax, %eax
callq 0xd08c
movq -0x38(%rbp), %rdi
testq %rdi, %rdi
je 0xfc22
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, -0x40(%rbp)
cmpl $0x0, -0x3c(%rbp)
jne 0xfc36
cmpq $0x0, -0x38(%rbp)
je 0xfc50
leaq 0x1fe28(%rip), %rdi     # 0x2fa65
leaq 0x204f5(%rip), %rdx     # 0x30139
movl $0x25b, %esi            # imm = 0x25B
xorl %eax, %eax
callq 0xd08c
leaq 0x204f6(%rip), %rsi     # 0x3014d
leaq -0x30(%rbp), %rbx
movq %rbx, %rdi
movl $0x1, %edx
callq 0xeaf4
cmpl $0x8, 0x4(%rbx)
jne 0xfc87
movq -0x28(%rbp), %rdi
leaq 0x204d7(%rip), %rsi     # 0x30150
movl $0x8, %edx
callq 0xa040
testl %eax, %eax
je 0xfca1
leaq 0x1fdd7(%rip), %rdi     # 0x2fa65
leaq 0x204c4(%rip), %rdx     # 0x30159
movl $0x25f, %esi            # imm = 0x25F
xorl %eax, %eax
callq 0xd08c
leaq 0x20718(%rip), %rsi     # 0x303c0
movq %rbx, %rdi
movl $0x2, %edx
movl $0x4, %ecx
callq 0xec24
cmpl $0xa, 0x4(%rbx)
jne 0xfcd9
movq -0x28(%rbp), %rdi
leaq 0x204ae(%rip), %rsi     # 0x30179
movl $0xa, %edx
callq 0xa040
testl %eax, %eax
je 0xfcf3
leaq 0x1fd85(%rip), %rdi     # 0x2fa65
leaq 0x2049d(%rip), %rdx     # 0x30184
movl $0x263, %esi            # imm = 0x263
xorl %eax, %eax
callq 0xd08c
xorps %xmm0, %xmm0
leaq -0xc0(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x2049c(%rip), %rsi     # 0x301a3
movq %rbx, %rdi
callq 0xe4ef
movq %r14, %rdi
movq %rbx, %rsi
movl $0x7, %edx
callq 0xed21
cmpl $0xc, 0x4(%r14)
jne 0xfd3f
movq -0x28(%rbp), %rdi
leaq 0x204df(%rip), %rsi     # 0x30210
movl $0xc, %edx
callq 0xa040
testl %eax, %eax
je 0xfd59
leaq 0x1fd1f(%rip), %rdi     # 0x2fa65
leaq 0x20459(%rip), %rdx     # 0x301a6
movl $0x26a, %esi            # imm = 0x26A
xorl %eax, %eax
callq 0xd08c
movq -0xb8(%rbp), %rdi
testq %rdi, %rdi
je 0xfd6a
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, -0xc0(%rbp)
leaq 0x22122(%rip), %rsi     # 0x31e9d
leaq -0x30(%rbp), %rbx
movq %rbx, %rdi
xorl %edx, %edx
callq 0xeaf4
cmpl $0xe, 0x4(%rbx)
jne 0xfda8
movq -0x28(%rbp), %rdi
leaq 0x20474(%rip), %rsi     # 0x3020e
movl $0xe, %edx
callq 0xa040
testl %eax, %eax
je 0xfdc2
leaq 0x1fcb6(%rip), %rdi     # 0x2fa65
leaq 0x20410(%rip), %rdx     # 0x301c6
movl $0x26f, %esi            # imm = 0x26F
xorl %eax, %eax
callq 0xd08c
leaq 0x2041e(%rip), %rsi     # 0x301e7
movq %rbx, %rdi
movl $0x2, %edx
xorl %ecx, %ecx
callq 0xec24
cmpl $0x10, 0x4(%rbx)
jne 0xfdf7
movq -0x28(%rbp), %rdi
leaq 0x20423(%rip), %rsi     # 0x3020c
movl $0x10, %edx
callq 0xa040
testl %eax, %eax
je 0xfe11
leaq 0x1fc67(%rip), %rdi     # 0x2fa65
leaq 0x203e5(%rip), %rdx     # 0x301ea
movl $0x273, %esi            # imm = 0x273
xorl %eax, %eax
callq 0xd08c
xorps %xmm0, %xmm0
leaq -0xd0(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x205b8(%rip), %rsi     # 0x303dd
movq %rbx, %rdi
callq 0xe4ef
leaq -0x30(%rbp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0xed21
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0xfe49
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, -0xd0(%rbp)
cmpl $0x12, -0x2c(%rbp)
jne 0xfe72
movq -0x28(%rbp), %rdi
leaq 0x203a6(%rip), %rsi     # 0x3020a
movl $0x12, %edx
callq 0xa040
testl %eax, %eax
je 0xfe8c
leaq 0x1fbec(%rip), %rdi     # 0x2fa65
leaq 0x2039d(%rip), %rdx     # 0x3021d
movl $0x27b, %esi            # imm = 0x27B
xorl %eax, %eax
callq 0xd08c
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0xfe9a
callq 0xa190
xorps %xmm0, %xmm0
leaq -0x30(%rbp), %rbx
movaps %xmm0, (%rbx)
xorl %r15d, %r15d
leaq -0xa8(%rbp), %r14
movw %r15w, (%r14)
movb $0x41, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe4ef
movw %r15w, (%r14)
movb $0x42, (%r14)
leaq -0xa8(%rbp), %rsi
movq %rbx, %rdi
callq 0xe4ef
cmpl $0x2, 0x4(%rbx)
jne 0xfef7
movq -0x28(%rbp), %rdi
leaq 0x201e2(%rip), %rsi     # 0x300cb
movl $0x2, %edx
callq 0xa040
testl %eax, %eax
je 0xff11
leaq 0x1fb67(%rip), %rdi     # 0x2fa65
leaq 0x20339(%rip), %rdx     # 0x3023e
movl $0x284, %esi            # imm = 0x284
xorl %eax, %eax
callq 0xd08c
leaq -0xa8(%rbp), %rsi
movw $0x0, (%rsi)
movb $0x43, (%rsi)
movq %rbx, %rdi
movl $0x1, %edx
callq 0xeaf4
cmpl $0x3, 0x4(%rbx)
jne 0xff4c
movq -0x28(%rbp), %rdi
leaq 0x20341(%rip), %rsi     # 0x3027f
movl $0x3, %edx
callq 0xa040
testl %eax, %eax
je 0xff66
leaq 0x1fb12(%rip), %rdi     # 0x2fa65
leaq 0x20304(%rip), %rdx     # 0x3025e
movl $0x288, %esi            # imm = 0x288
xorl %eax, %eax
callq 0xd08c
leaq -0xa8(%rbp), %rsi
movw $0x0, (%rsi)
movb $0x44, (%rsi)
movq %rbx, %rdi
xorl %edx, %edx
callq 0xeaf4
cmpl $0x4, 0x4(%rbx)
jne 0xff9e
movq -0x28(%rbp), %rdi
leaq 0x202ee(%rip), %rsi     # 0x3027e
movl $0x4, %edx
callq 0xa040
testl %eax, %eax
je 0xffb8
leaq 0x1fac0(%rip), %rdi     # 0x2fa65
leaq 0x202d7(%rip), %rdx     # 0x30283
movl $0x28c, %esi            # imm = 0x28C
xorl %eax, %eax
callq 0xd08c
movq -0x28(%rbp), %rax
movslq -0x2c(%rbp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0xffe0
leaq 0x1fa98(%rip), %rdi     # 0x2fa65
leaq 0x202d0(%rip), %rdx     # 0x302a4
movl $0x291, %esi            # imm = 0x291
xorl %eax, %eax
callq 0xd08c
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0xffee
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq -0x165b(%rip), %rdx     # 0xe9a0
movq %r14, %rdi
xorl %esi, %esi
callq 0xbccc
leaq 0x1f7aa(%rip), %rsi     # 0x2f7b6
movq %rbx, %rdi
callq 0xe4ef
leaq 0x202a8(%rip), %rdx     # 0x302c3
movq %r14, %rdi
movq %rbx, %rsi
movl $0x1, %ecx
callq 0xefe1
cmpq $0x0, 0x10(%r14)
je 0x1004c
leaq 0x1fa2c(%rip), %rdi     # 0x2fa65
leaq 0x20285(%rip), %rdx     # 0x302c5
movl $0x2a0, %esi            # imm = 0x2A0
xorl %eax, %eax
callq 0xd08c
leaq -0xa8(%rbp), %rdi
movl $0x1, %esi
callq 0xbd6d
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x1006b
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq -0x16d8(%rip), %rdx     # 0xe9a0
movq %r14, %rdi
xorl %esi, %esi
callq 0xbccc
leaq 0x1f72d(%rip), %rsi     # 0x2f7b6
movq %rbx, %rdi
callq 0xe4ef
leaq 0x2022b(%rip), %rdx     # 0x302c3
movq %r14, %rdi
movq %rbx, %rsi
xorl %ecx, %ecx
callq 0xefe1
cmpq $0x0, 0x10(%r14)
je 0x100c6
leaq 0x1f9b2(%rip), %rdi     # 0x2fa65
leaq 0x2022f(%rip), %rdx     # 0x302e9
movl $0x2ac, %esi            # imm = 0x2AC
xorl %eax, %eax
callq 0xd08c
leaq -0xa8(%rbp), %rdi
movl $0x1, %esi
callq 0xbd6d
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x100e5
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq -0x1752(%rip), %rdx     # 0xe9a0
movq %r14, %rdi
xorl %esi, %esi
callq 0xbccc
leaq 0x2020b(%rip), %rsi     # 0x3030e
movq %rbx, %rdi
callq 0xe4ef
leaq 0x201b1(%rip), %rdx     # 0x302c3
movq %r14, %rdi
movq %rbx, %rsi
xorl %ecx, %ecx
callq 0xefe1
cmpq $0x3, 0x10(%r14)
je 0x10140
leaq 0x1f938(%rip), %rdi     # 0x2fa65
leaq 0x201e3(%rip), %rdx     # 0x30317
movl $0x2b8, %esi            # imm = 0x2B8
xorl %eax, %eax
callq 0xd08c
leaq -0xa8(%rbp), %rdi
movl $0x1, %esi
callq 0xbd6d
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x1015f
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x201d1(%rip), %rsi     # 0x3033d
movq %rbx, %rdi
callq 0xe4ef
leaq 0x2022a(%rip), %rsi     # 0x303a5
movq %rbx, %rdi
callq 0xf1f1
cmpl $0x1, %eax
je 0x101a2
leaq 0x1f8d6(%rip), %rdi     # 0x2fa65
leaq 0x201ad(%rip), %rdx     # 0x30343
movl $0x2c2, %esi            # imm = 0x2C2
xorl %eax, %eax
callq 0xd08c
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x101b0
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x20180(%rip), %rsi     # 0x3033d
movq %rbx, %rdi
callq 0xe4ef
leaq 0x201d9(%rip), %rsi     # 0x303a5
movq %rbx, %rdi
callq 0xf2ba
cmpl $0x3, %eax
je 0x101f3
leaq 0x1f885(%rip), %rdi     # 0x2fa65
leaq 0x20174(%rip), %rdx     # 0x3035b
movl $0x2ca, %esi            # imm = 0x2CA
xorl %eax, %eax
callq 0xd08c
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x10201
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x2016a(%rip), %rsi     # 0x30378
movq %rbx, %rdi
callq 0xe4ef
leaq -0x80(%rbp), %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%r14)
movl $0x1, %edx
movl $0x4, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf383
cmpl $0x4, 0x4(%r14)
jne 0x10256
movq -0x78(%rbp), %rdi
leaq 0x20137(%rip), %rsi     # 0x3037f
movl $0x4, %edx
callq 0xa040
testl %eax, %eax
je 0x10270
leaq 0x1f808(%rip), %rdi     # 0x2fa65
leaq 0x20120(%rip), %rdx     # 0x30384
movl $0x2d2, %esi            # imm = 0x2D2
xorl %eax, %eax
callq 0xd08c
movq -0x78(%rbp), %rdi
testq %rdi, %rdi
je 0x1027e
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, -0x80(%rbp)
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x10293
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x200fe(%rip), %rsi     # 0x3039e
movq %rbx, %rdi
callq 0xe4ef
leaq -0x70(%rbp), %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%r14)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x20, %edx
callq 0xf85e
cmpl $0x5, 0x4(%r14)
jne 0x102e3
movq -0x68(%rbp), %rdi
leaq 0x200cc(%rip), %rsi     # 0x303a1
movl $0x5, %edx
callq 0xa040
testl %eax, %eax
je 0x102fd
leaq 0x1f77b(%rip), %rdi     # 0x2fa65
leaq 0x200b6(%rip), %rdx     # 0x303a7
movl $0x2db, %esi            # imm = 0x2DB
xorl %eax, %eax
callq 0xd08c
movq -0x68(%rbp), %rdi
testq %rdi, %rdi
je 0x1030b
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, -0x70(%rbp)
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x10320
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x20071(%rip), %rsi     # 0x3039e
movq %rbx, %rdi
callq 0xe4ef
leaq -0x60(%rbp), %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%r14)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x20, %edx
callq 0xf90a
cmpl $0x6, 0x4(%r14)
jne 0x10370
movq -0x58(%rbp), %rdi
leaq 0x2005a(%rip), %rsi     # 0x303bc
movl $0x6, %edx
callq 0xa040
testl %eax, %eax
je 0x1038a
leaq 0x1f6ee(%rip), %rdi     # 0x2fa65
leaq 0x20045(%rip), %rdx     # 0x303c3
movl $0x2e4, %esi            # imm = 0x2E4
xorl %eax, %eax
callq 0xd08c
movq -0x58(%rbp), %rdi
testq %rdi, %rdi
je 0x10398
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, -0x60(%rbp)
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x103ad
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x1ffe4(%rip), %rsi     # 0x3039e
movq %rbx, %rdi
callq 0xe4ef
leaq -0x50(%rbp), %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%r14)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x20, %edx
callq 0xf9d5
cmpl $0x3, 0x4(%r14)
jne 0x103fd
movq -0x48(%rbp), %rdi
leaq 0x1ffd0(%rip), %rsi     # 0x303bf
movl $0x3, %edx
callq 0xa040
testl %eax, %eax
je 0x10417
leaq 0x1f661(%rip), %rdi     # 0x2fa65
leaq 0x1ffb8(%rip), %rdx     # 0x303c3
movl $0x2ed, %esi            # imm = 0x2ED
xorl %eax, %eax
callq 0xd08c
movq -0x48(%rbp), %rdi
testq %rdi, %rdi
je 0x10425
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x1043d
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x21ae0(%rip), %rsi     # 0x31f27
movq %rbx, %rdi
callq 0xe4ef
leaq 0x2782d(%rip), %rsi     # 0x37c83
movq %rbx, %rdi
movl $0x1e240, %edx          # imm = 0x1E240
xorl %eax, %eax
callq 0xea51
cmpl $0x7, 0x4(%rbx)
jne 0x10484
movq -0x28(%rbp), %rdi
leaq 0x1ff62(%rip), %rsi     # 0x303d8
movl $0x7, %edx
callq 0xa040
testl %eax, %eax
je 0x1049e
leaq 0x1f5da(%rip), %rdi     # 0x2fa65
leaq 0x1ff4e(%rip), %rdx     # 0x303e0
movl $0x2f4, %esi            # imm = 0x2F4
xorl %eax, %eax
callq 0xd08c
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x104ac
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x1fc12(%rip), %rsi     # 0x300cb
movq %rbx, %rdi
callq 0xe4ef
leaq 0x277bb(%rip), %rdx     # 0x37c83
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1e240, %ecx          # imm = 0x1E240
xorl %eax, %eax
callq 0xee18
cmpl $0x8, 0x4(%rbx)
jne 0x104fb
movq -0x28(%rbp), %rdi
leaq 0x1ff0a(%rip), %rsi     # 0x303f7
movl $0x8, %edx
callq 0xa040
testl %eax, %eax
je 0x10515
leaq 0x1f563(%rip), %rdi     # 0x2fa65
leaq 0x1fef7(%rip), %rdx     # 0x30400
movl $0x2fa, %esi            # imm = 0x2FA
xorl %eax, %eax
callq 0xd08c
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x10523
callq 0xa190
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x219f7(%rip), %rsi     # 0x31f27
movq %rbx, %rdi
callq 0xe4ef
leaq 0x27744(%rip), %rsi     # 0x37c83
movq %rbx, %rdi
movl $0x1e240, %edx          # imm = 0x1E240
xorl %eax, %eax
callq 0xef01
cmpl $0x7, 0x4(%rbx)
jne 0x1056d
movq -0x28(%rbp), %rdi
leaq 0x1feb8(%rip), %rsi     # 0x30417
movl $0x7, %edx
callq 0xa040
testl %eax, %eax
je 0x10587
leaq 0x1f4f1(%rip), %rdi     # 0x2fa65
leaq 0x1fea4(%rip), %rdx     # 0x3041f
movl $0x300, %esi            # imm = 0x300
xorl %eax, %eax
callq 0xd08c
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x10595
callq 0xa190
addq $0xb8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
nop