// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
subq $0xb0, %rsp
xorps %xmm0, %xmm0
leaq -0x20(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x1f791(%rip), %rsi     # 0x2f097
movq %rbx, %rdi
callq 0xe2fb
cmpl $0x2, 0x4(%rbx)
jne 0xf923
movq -0x18(%rbp), %rax
cmpb $0x41, (%rax)
jne 0xf923
cmpb $0x42, 0x1(%rax)
je 0xf93d
leaq 0x1f11b(%rip), %rdi     # 0x2ea45
leaq 0x1f769(%rip), %rdx     # 0x2f09a
movl $0x24b, %esi            # imm = 0x24B
xorl %eax, %eax
callq 0xcf58
leaq 0x1f778(%rip), %rsi     # 0x2f0bc
movq %rbx, %rdi
movl $0x2, %edx
callq 0xe497
cmpl $0x4, 0x4(%rbx)
jne 0xf970
movq -0x18(%rbp), %rdi
leaq 0x1f758(%rip), %rsi     # 0x2f0ba
movl $0x4, %edx
callq 0xa040
testl %eax, %eax
je 0xf98a
leaq 0x1f0ce(%rip), %rdi     # 0x2ea45
leaq 0x1f741(%rip), %rdx     # 0x2f0bf
movl $0x24f, %esi            # imm = 0x24F
xorl %eax, %eax
callq 0xcf58
xorps %xmm0, %xmm0
leaq -0xb0(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x1f92e(%rip), %rsi     # 0x2f2cc
movq %rbx, %rdi
callq 0xe2fb
leaq -0x20(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0xe5be
cmpl $0x6, 0x4(%r14)
jne 0xf9d5
movq -0x18(%rbp), %rdi
leaq 0x1f717(%rip), %rsi     # 0x2f0de
movl $0x6, %edx
callq 0xa040
testl %eax, %eax
je 0xf9ef
leaq 0x1f069(%rip), %rdi     # 0x2ea45
leaq 0x1f702(%rip), %rdx     # 0x2f0e5
movl $0x256, %esi            # imm = 0x256
xorl %eax, %eax
callq 0xcf58
movq -0xa8(%rbp), %rdi
testq %rdi, %rdi
je 0xfa00
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, -0xb0(%rbp)
leaq 0x1f6f4(%rip), %rsi     # 0x2f105
leaq -0x20(%rbp), %rbx
movq %rbx, %rdi
movl $0x1, %edx
callq 0xe908
cmpl $0x8, 0x4(%rbx)
jne 0xfa41
movq -0x18(%rbp), %rdi
leaq 0x1f6d5(%rip), %rsi     # 0x2f108
movl $0x8, %edx
callq 0xa040
testl %eax, %eax
je 0xfa5b
leaq 0x1effd(%rip), %rdi     # 0x2ea45
leaq 0x1f6c2(%rip), %rdx     # 0x2f111
movl $0x25f, %esi            # imm = 0x25F
xorl %eax, %eax
callq 0xcf58
leaq 0x1f916(%rip), %rsi     # 0x2f378
movq %rbx, %rdi
movl $0x2, %edx
movl $0x4, %ecx
callq 0xea38
cmpl $0xa, 0x4(%rbx)
jne 0xfa93
movq -0x18(%rbp), %rdi
leaq 0x1f6ac(%rip), %rsi     # 0x2f131
movl $0xa, %edx
callq 0xa040
testl %eax, %eax
je 0xfaad
leaq 0x1efab(%rip), %rdi     # 0x2ea45
leaq 0x1f69b(%rip), %rdx     # 0x2f13c
movl $0x263, %esi            # imm = 0x263
xorl %eax, %eax
callq 0xcf58
xorps %xmm0, %xmm0
leaq -0xa0(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x1f69a(%rip), %rsi     # 0x2f15b
movq %rbx, %rdi
callq 0xe2fb
movq %r14, %rdi
movq %rbx, %rsi
movl $0x7, %edx
callq 0xeb36
cmpl $0xc, 0x4(%r14)
jne 0xfaf9
movq -0x18(%rbp), %rdi
leaq 0x1f6dd(%rip), %rsi     # 0x2f1c8
movl $0xc, %edx
callq 0xa040
testl %eax, %eax
je 0xfb13
leaq 0x1ef45(%rip), %rdi     # 0x2ea45
leaq 0x1f657(%rip), %rdx     # 0x2f15e
movl $0x26a, %esi            # imm = 0x26A
xorl %eax, %eax
callq 0xcf58
movq -0x98(%rbp), %rdi
testq %rdi, %rdi
je 0xfb24
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, -0xa0(%rbp)
leaq 0x21318(%rip), %rsi     # 0x30e4d
leaq -0x20(%rbp), %rbx
movq %rbx, %rdi
xorl %edx, %edx
callq 0xe908
cmpl $0xe, 0x4(%rbx)
jne 0xfb62
movq -0x18(%rbp), %rdi
leaq 0x1f672(%rip), %rsi     # 0x2f1c6
movl $0xe, %edx
callq 0xa040
testl %eax, %eax
je 0xfb7c
leaq 0x1eedc(%rip), %rdi     # 0x2ea45
leaq 0x1f60e(%rip), %rdx     # 0x2f17e
movl $0x26f, %esi            # imm = 0x26F
xorl %eax, %eax
callq 0xcf58
leaq 0x1f61c(%rip), %rsi     # 0x2f19f
movq %rbx, %rdi
movl $0x2, %edx
xorl %ecx, %ecx
callq 0xea38
cmpl $0x10, 0x4(%rbx)
jne 0xfbb1
movq -0x18(%rbp), %rdi
leaq 0x1f621(%rip), %rsi     # 0x2f1c4
movl $0x10, %edx
callq 0xa040
testl %eax, %eax
je 0xfbcb
leaq 0x1ee8d(%rip), %rdi     # 0x2ea45
leaq 0x1f5e3(%rip), %rdx     # 0x2f1a2
movl $0x273, %esi            # imm = 0x273
xorl %eax, %eax
callq 0xcf58
xorps %xmm0, %xmm0
leaq -0xc0(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x1f7b6(%rip), %rsi     # 0x2f395
movq %rbx, %rdi
callq 0xe2fb
leaq -0x20(%rbp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0xeb36
movq 0x8(%rbx), %rdi
testq %rdi, %rdi
je 0xfc03
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, -0xc0(%rbp)
cmpl $0x12, -0x1c(%rbp)
jne 0xfc2f
movq -0x18(%rbp), %rbx
leaq 0x1f5a4(%rip), %rsi     # 0x2f1c2
movl $0x12, %edx
movq %rbx, %rdi
callq 0xa040
testl %eax, %eax
je 0xfc4d
leaq 0x1ee0f(%rip), %rdi     # 0x2ea45
leaq 0x1f598(%rip), %rdx     # 0x2f1d5
movl $0x27b, %esi            # imm = 0x27B
xorl %eax, %eax
callq 0xcf58
movq -0x18(%rbp), %rbx
testq %rbx, %rbx
je 0xfc5a
movq %rbx, %rdi
callq 0xa1a0
xorps %xmm0, %xmm0
leaq -0x20(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq -0x88(%rbp), %r14
movw $0x41, (%r14)
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe2fb
movw $0x42, (%r14)
leaq -0x88(%rbp), %rsi
movq %rbx, %rdi
callq 0xe2fb
cmpl $0x2, 0x4(%rbx)
jne 0xfca6
movq -0x18(%rbp), %rax
cmpb $0x41, (%rax)
jne 0xfca6
cmpb $0x42, 0x1(%rax)
je 0xfcc0
leaq 0x1ed98(%rip), %rdi     # 0x2ea45
leaq 0x1f542(%rip), %rdx     # 0x2f1f6
movl $0x284, %esi            # imm = 0x284
xorl %eax, %eax
callq 0xcf58
leaq -0x88(%rbp), %rsi
movw $0x43, (%rsi)
movq %rbx, %rdi
movl $0x1, %edx
callq 0xe908
cmpl $0x3, 0x4(%rbx)
jne 0xfcf4
movq -0x18(%rbp), %rax
cmpb $0x41, (%rax)
jne 0xfcf4
cmpb $0x43, 0x1(%rax)
jne 0xfcf4
cmpb $0x42, 0x2(%rax)
je 0xfd0e
leaq 0x1ed4a(%rip), %rdi     # 0x2ea45
leaq 0x1f514(%rip), %rdx     # 0x2f216
movl $0x288, %esi            # imm = 0x288
xorl %eax, %eax
callq 0xcf58
leaq -0x88(%rbp), %rsi
movw $0x44, (%rsi)
movq %rbx, %rdi
xorl %edx, %edx
callq 0xe908
cmpl $0x4, 0x4(%rbx)
jne 0xfd4c
movq -0x18(%rbp), %rbx
leaq 0x1f501(%rip), %rsi     # 0x2f236
movl $0x4, %r14d
movl $0x4, %edx
movq %rbx, %rdi
callq 0xa040
testl %eax, %eax
je 0xfd6e
leaq 0x1ecf2(%rip), %rdi     # 0x2ea45
leaq 0x1f4e1(%rip), %rdx     # 0x2f23b
movl $0x28c, %esi            # imm = 0x28C
xorl %eax, %eax
callq 0xcf58
movq -0x18(%rbp), %rbx
movslq -0x1c(%rbp), %r14
cmpb $0x0, (%rbx,%r14)
je 0xfd98
leaq 0x1ecc9(%rip), %rdi     # 0x2ea45
leaq 0x1f4d9(%rip), %rdx     # 0x2f25c
movl $0x291, %esi            # imm = 0x291
xorl %eax, %eax
callq 0xcf58
movq -0x18(%rbp), %rbx
testq %rbx, %rbx
je 0xfda0
movq %rbx, %rdi
callq 0xa1a0
xorps %xmm0, %xmm0
leaq -0x20(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq -0x15f7(%rip), %rdx     # 0xe7ba
leaq -0x88(%rbp), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0xbc84
leaq 0x1e9c9(%rip), %rsi     # 0x2e792
movq %rbx, %rdi
callq 0xe2fb
leaq 0x1f4a3(%rip), %rdx     # 0x2f27b
movq %r14, %rdi
movq %rbx, %rsi
movl $0x1, %ecx
callq 0xedfc
cmpq $0x0, 0x10(%r14)
je 0xfe09
leaq 0x1ec4f(%rip), %rdi     # 0x2ea45
leaq 0x1f480(%rip), %rdx     # 0x2f27d
movl $0x2a0, %esi            # imm = 0x2A0
xorl %eax, %eax
callq 0xcf58
leaq -0x88(%rbp), %rdi
movl $0x1, %esi
callq 0xbd25
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0xfe28
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq -0x167b(%rip), %rdx     # 0xe7ba
movq %r14, %rdi
xorl %esi, %esi
callq 0xbc84
leaq 0x1e94c(%rip), %rsi     # 0x2e792
movq %rbx, %rdi
callq 0xe2fb
leaq 0x1f426(%rip), %rdx     # 0x2f27b
movq %r14, %rdi
movq %rbx, %rsi
xorl %ecx, %ecx
callq 0xedfc
cmpq $0x0, 0x10(%r14)
je 0xfe83
leaq 0x1ebd5(%rip), %rdi     # 0x2ea45
leaq 0x1f42a(%rip), %rdx     # 0x2f2a1
movl $0x2ac, %esi            # imm = 0x2AC
xorl %eax, %eax
callq 0xcf58
leaq -0x88(%rbp), %rdi
movl $0x1, %esi
callq 0xbd25
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0xfea2
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq -0x16f5(%rip), %rdx     # 0xe7ba
movq %r14, %rdi
xorl %esi, %esi
callq 0xbc84
leaq 0x1f406(%rip), %rsi     # 0x2f2c6
movq %rbx, %rdi
callq 0xe2fb
leaq 0x1f3ac(%rip), %rdx     # 0x2f27b
movq %r14, %rdi
movq %rbx, %rsi
xorl %ecx, %ecx
callq 0xedfc
cmpq $0x3, 0x10(%r14)
je 0xfefd
leaq 0x1eb5b(%rip), %rdi     # 0x2ea45
leaq 0x1f3de(%rip), %rdx     # 0x2f2cf
movl $0x2b8, %esi            # imm = 0x2B8
xorl %eax, %eax
callq 0xcf58
leaq -0x88(%rbp), %rdi
movl $0x1, %esi
callq 0xbd25
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0xff1c
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x1f3cc(%rip), %rsi     # 0x2f2f5
movq %rbx, %rdi
callq 0xe2fb
leaq 0x1f425(%rip), %rsi     # 0x2f35d
movq %rbx, %rdi
callq 0xf008
cmpl $0x1, %eax
je 0xff5f
leaq 0x1eaf9(%rip), %rdi     # 0x2ea45
leaq 0x1f3a8(%rip), %rdx     # 0x2f2fb
movl $0x2c2, %esi            # imm = 0x2C2
xorl %eax, %eax
callq 0xcf58
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0xff6d
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x1f37b(%rip), %rsi     # 0x2f2f5
movq %rbx, %rdi
callq 0xe2fb
leaq 0x1f3d4(%rip), %rsi     # 0x2f35d
movq %rbx, %rdi
callq 0xf0d1
cmpl $0x3, %eax
je 0xffb0
leaq 0x1eaa8(%rip), %rdi     # 0x2ea45
leaq 0x1f36f(%rip), %rdx     # 0x2f313
movl $0x2ca, %esi            # imm = 0x2CA
xorl %eax, %eax
callq 0xcf58
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0xffbe
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x1f365(%rip), %rsi     # 0x2f330
movq %rbx, %rdi
callq 0xe2fb
leaq -0x60(%rbp), %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%r14)
movl $0x1, %edx
movl $0x4, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf19a
cmpl $0x4, 0x4(%r14)
jne 0x10016
movq -0x58(%rbp), %rbx
leaq 0x1f332(%rip), %rsi     # 0x2f337
movl $0x4, %edx
movq %rbx, %rdi
callq 0xa040
testl %eax, %eax
je 0x10034
leaq 0x1ea28(%rip), %rdi     # 0x2ea45
leaq 0x1f318(%rip), %rdx     # 0x2f33c
movl $0x2d2, %esi            # imm = 0x2D2
xorl %eax, %eax
callq 0xcf58
movq -0x58(%rbp), %rbx
testq %rbx, %rbx
je 0x10041
movq %rbx, %rdi
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, -0x60(%rbp)
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0x10056
callq 0xa1a0
leaq -0x20(%rbp), %rbx
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x1f2ef(%rip), %rsi     # 0x2f356
movq %rbx, %rdi
callq 0xe2fb
leaq -0x50(%rbp), %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%r14)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x20, %edx
callq 0xf66a
cmpl $0x5, 0x4(%r14)
jne 0x100ad
movq -0x48(%rbp), %rbx
leaq 0x1f2bd(%rip), %rsi     # 0x2f359
movl $0x5, %edx
movq %rbx, %rdi
callq 0xa040
testl %eax, %eax
je 0x100cb
leaq 0x1e991(%rip), %rdi     # 0x2ea45
leaq 0x1f2a4(%rip), %rdx     # 0x2f35f
movl $0x2db, %esi            # imm = 0x2DB
xorl %eax, %eax
callq 0xcf58
movq -0x48(%rbp), %rbx
testq %rbx, %rbx
je 0x100d8
movq %rbx, %rdi
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, -0x50(%rbp)
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0x100ed
callq 0xa1a0
leaq -0x20(%rbp), %rbx
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x1f258(%rip), %rsi     # 0x2f356
movq %rbx, %rdi
callq 0xe2fb
leaq -0x40(%rbp), %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%r14)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x20, %edx
callq 0xf716
cmpl $0x6, 0x4(%r14)
jne 0x10144
movq -0x38(%rbp), %rbx
leaq 0x1f241(%rip), %rsi     # 0x2f374
movl $0x6, %edx
movq %rbx, %rdi
callq 0xa040
testl %eax, %eax
je 0x10162
leaq 0x1e8fa(%rip), %rdi     # 0x2ea45
leaq 0x1f229(%rip), %rdx     # 0x2f37b
movl $0x2e4, %esi            # imm = 0x2E4
xorl %eax, %eax
callq 0xcf58
movq -0x38(%rbp), %rbx
testq %rbx, %rbx
je 0x1016f
movq %rbx, %rdi
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, -0x40(%rbp)
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0x10184
callq 0xa1a0
leaq -0x20(%rbp), %rbx
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x1f1c1(%rip), %rsi     # 0x2f356
movq %rbx, %rdi
callq 0xe2fb
leaq -0x30(%rbp), %r14
xorps %xmm0, %xmm0
movaps %xmm0, (%r14)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x20, %edx
callq 0xf7e1
cmpl $0x3, 0x4(%r14)
jne 0x101d4
movq -0x28(%rbp), %rdi
cmpb $0x61, (%rdi)
jne 0x101d4
cmpb $0x62, 0x1(%rdi)
jne 0x101d4
cmpb $0x63, 0x2(%rdi)
je 0x101f7
leaq 0x1e86a(%rip), %rdi     # 0x2ea45
leaq 0x1f199(%rip), %rdx     # 0x2f37b
movl $0x2ed, %esi            # imm = 0x2ED
xorl %eax, %eax
callq 0xcf58
movq -0x28(%rbp), %rdi
testq %rdi, %rdi
je 0x101fc
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, -0x30(%rbp)
movq -0x18(%rbp), %rdi
testq %rdi, %rdi
je 0x10214
callq 0xa1a0
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
leaq 0x20cb9(%rip), %rsi     # 0x30ed7
movq %rbx, %rdi
callq 0xe2fb
leaq 0x269bd(%rip), %rsi     # 0x36bea
movq %rbx, %rdi
movl $0x1e240, %edx          # imm = 0x1E240
xorl %eax, %eax
callq 0xe865
cmpl $0x7, 0x4(%rbx)
jne 0x1025e
movq -0x18(%rbp), %rbx
leaq 0x1f143(%rip), %rsi     # 0x2f390
movl $0x7, %edx
movq %rbx, %rdi
callq 0xa040
testl %eax, %eax
je 0x1027c
leaq 0x1e7e0(%rip), %rdi     # 0x2ea45
leaq 0x1f12c(%rip), %rdx     # 0x2f398
movl $0x2f4, %esi            # imm = 0x2F4
xorl %eax, %eax
callq 0xcf58
movq -0x18(%rbp), %rbx
testq %rbx, %rbx
je 0x10289
movq %rbx, %rdi
callq 0xa1a0
xorps %xmm0, %xmm0
leaq -0x20(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x1edfd(%rip), %rsi     # 0x2f097
movq %rbx, %rdi
callq 0xe2fb
leaq 0x26941(%rip), %rdx     # 0x36bea
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1e240, %ecx          # imm = 0x1E240
xorl %eax, %eax
callq 0xec33
cmpl $0x8, 0x4(%rbx)
jne 0x102df
movq -0x18(%rbp), %rbx
leaq 0x1f0e1(%rip), %rsi     # 0x2f3af
movl $0x8, %edx
movq %rbx, %rdi
callq 0xa040
testl %eax, %eax
je 0x102fd
leaq 0x1e75f(%rip), %rdi     # 0x2ea45
leaq 0x1f0cb(%rip), %rdx     # 0x2f3b8
movl $0x2fa, %esi            # imm = 0x2FA
xorl %eax, %eax
callq 0xcf58
movq -0x18(%rbp), %rbx
testq %rbx, %rbx
je 0x1030a
movq %rbx, %rdi
callq 0xa1a0
xorps %xmm0, %xmm0
leaq -0x20(%rbp), %rbx
movaps %xmm0, (%rbx)
leaq 0x20bbc(%rip), %rsi     # 0x30ed7
movq %rbx, %rdi
callq 0xe2fb
leaq 0x268c0(%rip), %rsi     # 0x36bea
movq %rbx, %rdi
movl $0x1e240, %edx          # imm = 0x1E240
xorl %eax, %eax
callq 0xed1c
cmpl $0x7, 0x4(%rbx)
jne 0x1035b
movq -0x18(%rbp), %rbx
leaq 0x1f085(%rip), %rsi     # 0x2f3cf
movl $0x7, %edx
movq %rbx, %rdi
callq 0xa040
testl %eax, %eax
je 0x10379
leaq 0x1e6e3(%rip), %rdi     # 0x2ea45
leaq 0x1f06e(%rip), %rdx     # 0x2f3d7
movl $0x300, %esi            # imm = 0x300
xorl %eax, %eax
callq 0xcf58
movq -0x18(%rbp), %rbx
testq %rbx, %rbx
je 0x10386
movq %rbx, %rdi
callq 0xa1a0
addq $0xb0, %rsp
popq %rbx
popq %r14
popq %rbp
retq
nop