// File: kipa00[P]AplusB-mc/compiler/chunk.cpp
// Function: chunk::feed(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void chunk::feed(string name) {
	if (name == "minecraft:air") {
		(this->block &= 15) |= AIR;
	} else if (name == "minecraft:bedrock") {
		(this->block &= 15) |= BEDROCK;
	} else if (name == "minecraft:stone") {
		(this->block &= 15) |= STONE;
	} else if (name == "minecraft:sandstone") {
		(this->block &= 15) |= SANDSTONE;
	} else if (name == "minecraft:redstone_wire") {
		(this->block &= 15) |= REDSTONE_WIRE;
	} else if (name == "minecraft:redstone_torch") {
		(this->block &= 15) |= REDSTONE_TORCH;
	} else if (name == "minecraft:redstone_wall_torch") {
		(this->block &= 15) |= REDSTONE_WALL_TORCH;
	} else if (name == "minecraft:repeater") {
		(this->block &= 31) |= REPEATER;
	} else if (name == "minecraft:comparator") {
		(this->block &= 15) |= COMPARATOR;
	} else if (name == "minecraft:redstone_lamp") {
		(this->block &= 15) |= REDSTONE_LAMP;
	} else if (name == "minecraft:lever") {
		(this->block &= 15) |= LEVER;
	} else if (name.length() >= 19 && name.substr(0, 10) == "minecraft:" && name.substr(name.length() - 9) == "_concrete") {
		int color = color_to_int(name.substr(10, name.length() - 19));
		if (color < 0) {
			fprintf(stderr, "Error: unknown block name '%s'\n", name.c_str());
			throw UNKNOWN_BLOCK_ERROR;
		}
		this->block = CONCRETE | color;
	} else {
		fprintf(stderr, "Error: unknown block name '%s'\n", name.c_str());
		throw UNKNOWN_BLOCK_ERROR;
	}
#ifdef CHUNK_DEBUG
	printf("  Block : %s\n", name.c_str());
#endif
}

// Assembly:
subq $0xd8, %rsp
movq %rsi, 0x30(%rsp)
movq %rdi, %rax
movq 0x30(%rsp), %rdi
movq %rdi, 0x38(%rsp)
movq %rax, 0xd0(%rsp)
movq %rdi, 0xc8(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0xb8e9(%rip), %rsi      # 0x13356
callq 0x9810
testb $0x1, %al
jne 0x7a78
jmp 0x7a94
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x0, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f48
movq 0x38(%rsp), %rdi
leaq 0xb8c4(%rip), %rsi      # 0x13364
callq 0x9810
testb $0x1, %al
jne 0x7aab
jmp 0x7ac7
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x10, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f46
movq 0x38(%rsp), %rdi
leaq 0xb8a3(%rip), %rsi      # 0x13376
callq 0x9810
testb $0x1, %al
jne 0x7ade
jmp 0x7afa
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x20, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f44
movq 0x38(%rsp), %rdi
leaq 0xb880(%rip), %rsi      # 0x13386
callq 0x9810
testb $0x1, %al
jne 0x7b11
jmp 0x7b2d
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x30, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f42
movq 0x38(%rsp), %rdi
leaq 0xb861(%rip), %rsi      # 0x1339a
callq 0x9810
testb $0x1, %al
jne 0x7b44
jmp 0x7b60
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x40, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f40
movq 0x38(%rsp), %rdi
leaq 0xb846(%rip), %rsi      # 0x133b2
callq 0x9810
testb $0x1, %al
jne 0x7b77
jmp 0x7b93
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x50, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f3e
movq 0x38(%rsp), %rdi
leaq 0xb82c(%rip), %rsi      # 0x133cb
callq 0x9810
testb $0x1, %al
jne 0x7baa
jmp 0x7bc6
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x60, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f3c
movq 0x38(%rsp), %rdi
leaq 0xb817(%rip), %rsi      # 0x133e9
callq 0x9810
testb $0x1, %al
jne 0x7bdd
jmp 0x7bfc
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0x1f, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x80, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f3a
movq 0x38(%rsp), %rdi
leaq 0xb7f4(%rip), %rsi      # 0x133fc
callq 0x9810
testb $0x1, %al
jne 0x7c13
jmp 0x7c2f
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0x70, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f38
movq 0x38(%rsp), %rdi
leaq 0xb7d6(%rip), %rsi      # 0x13411
callq 0x9810
testb $0x1, %al
jne 0x7c46
jmp 0x7c65
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0xa0, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f36
movq 0x38(%rsp), %rdi
leaq 0xb7b8(%rip), %rsi      # 0x13429
callq 0x9810
testb $0x1, %al
jne 0x7c7c
jmp 0x7c9b
movq 0x40(%rsp), %rax
movl 0xc(%rax), %ecx
andl $0xf, %ecx
movl %ecx, 0xc(%rax)
movl 0xc(%rax), %ecx
orl $0xb0, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f34
movq 0x38(%rsp), %rdi
callq 0x22c0
movq %rax, %rcx
movb $0x0, 0xa7(%rsp)
movb $0x0, 0x6f(%rsp)
xorl %eax, %eax
cmpq $0x13, %rcx
movb %al, 0x2f(%rsp)
jb 0x7d64
movq 0x38(%rsp), %rsi
xorl %eax, %eax
movl %eax, %edx
leaq 0xa8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
movl $0xa, %ecx
callq 0x21d0
movq 0x20(%rsp), %rdi
movb $0x1, 0xa7(%rsp)
leaq 0xb740(%rip), %rsi      # 0x13439
callq 0x9810
movb %al, 0x2e(%rsp)
jmp 0x7d04
movb 0x2e(%rsp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, 0x2f(%rsp)
jne 0x7d15
jmp 0x7d64
movq 0x38(%rsp), %rdi
callq 0x22c0
movq 0x38(%rsp), %rsi
movq %rax, %rdx
addq $-0x9, %rdx
leaq 0x70(%rsp), %rdi
movq $-0x1, %rcx
callq 0x21d0
jmp 0x7d3e
movb $0x1, 0x6f(%rsp)
leaq 0xb6fa(%rip), %rsi      # 0x13444
leaq 0x70(%rsp), %rdi
callq 0x9810
movb %al, 0x1f(%rsp)
jmp 0x7d5a
movb 0x1f(%rsp), %al
movb %al, 0x2f(%rsp)
jmp 0x7d64
movb 0x2f(%rsp), %al
movb %al, 0x1e(%rsp)
testb $0x1, 0x6f(%rsp)
jne 0x7d75
jmp 0x7d7f
leaq 0x70(%rsp), %rdi
callq 0x2100
testb $0x1, 0xa7(%rsp)
jne 0x7d8b
jmp 0x7d98
leaq 0xa8(%rsp), %rdi
callq 0x2100
movb 0x1e(%rsp), %al
testb $0x1, %al
jne 0x7da5
jmp 0x7ee2
movq 0x38(%rsp), %rdi
callq 0x22c0
movq 0x38(%rsp), %rsi
movq %rax, %rcx
addq $-0x13, %rcx
leaq 0x48(%rsp), %rdi
movq %rdi, 0x10(%rsp)
movl $0xa, %edx
callq 0x21d0
movq 0x10(%rsp), %rdi
callq 0x12ad0
movl %eax, 0x18(%rsp)
jmp 0x7ddf
leaq 0x48(%rsp), %rdi
callq 0x2100
movl 0x18(%rsp), %eax
movl %eax, 0x68(%rsp)
cmpl $0x0, 0x68(%rsp)
jge 0x7ece
movq 0x38(%rsp), %rdi
movq 0x121d8(%rip), %rax     # 0x19fe0
movq (%rax), %rax
movq %rax, 0x8(%rsp)
callq 0x20a0
movq 0x8(%rsp), %rdi
movq %rax, %rdx
leaq 0xb62a(%rip), %rsi      # 0x1344e
movb $0x0, %al
callq 0x2290
movl $0x4, %edi
callq 0x20d0
movq %rax, %rdi
movl $0xffffffff, (%rdi)     # imm = 0xFFFFFFFF
movq 0x12183(%rip), %rsi     # 0x19fc8
xorl %eax, %eax
movl %eax, %edx
callq 0x22f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x98(%rsp)
movl %eax, 0x94(%rsp)
jmp 0x7e8d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x98(%rsp)
movl %eax, 0x94(%rsp)
testb $0x1, 0x6f(%rsp)
jne 0x7e81
jmp 0x7e8b
leaq 0x70(%rsp), %rdi
callq 0x2100
jmp 0x7e8d
testb $0x1, 0xa7(%rsp)
jne 0x7e99
jmp 0x7ea6
leaq 0xa8(%rsp), %rdi
callq 0x2100
jmp 0x7f50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x98(%rsp)
movl %eax, 0x94(%rsp)
leaq 0x48(%rsp), %rdi
callq 0x2100
jmp 0x7f50
movq 0x40(%rsp), %rax
movl 0x68(%rsp), %ecx
orl $0xc0, %ecx
movl %ecx, 0xc(%rax)
jmp 0x7f32
movq 0x38(%rsp), %rdi
movq 0x120f2(%rip), %rax     # 0x19fe0
movq (%rax), %rax
movq %rax, (%rsp)
callq 0x20a0
movq (%rsp), %rdi
movq %rax, %rdx
leaq 0xb546(%rip), %rsi      # 0x1344e
movb $0x0, %al
callq 0x2290
movl $0x4, %edi
callq 0x20d0
movq %rax, %rdi
movl $0xffffffff, (%rdi)     # imm = 0xFFFFFFFF
movq 0x1209f(%rip), %rsi     # 0x19fc8
xorl %eax, %eax
movl %eax, %edx
callq 0x22f0
jmp 0x7f34
jmp 0x7f36
jmp 0x7f38
jmp 0x7f3a
jmp 0x7f3c
jmp 0x7f3e
jmp 0x7f40
jmp 0x7f42
jmp 0x7f44
jmp 0x7f46
jmp 0x7f48
addq $0xd8, %rsp
retq
movq 0x98(%rsp), %rdi
callq 0x2300
nopl (%rax)