// File: /workspace/github_cpp_makefile_star2_O2/Doug0855[P]TigerZone/Adapter.cpp
// Function: Adapter::parseStartingTile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
values_t Adapter::parseStartingTile(std::string message)
{
	std::string starting_tile, substr;
	values_t out;

	starting_tile = message.substr(17, message.find(" AT")-17); //get string where tile description starts until before " AT"
	out.tile_num = exprToTile(starting_tile);
	substr = message.substr(message.find("AT ")+3,message.find(" ", message.find("AT ")+3, 1)-message.find("AT ")-3); //get first string integer
	out.i =  stoi(substr);
	substr = message.erase(0, message.find(substr) + substr.length() + 1); //get string with last two integers
	out.j = stoi(substr.substr(0,substr.find(" ")));
	substr = substr.erase(0,substr.find(" ")+1); //get string with last int
	substr = substr.substr(0,std::string::npos); //get the last integer
	out.rotation = stoi(substr);
	return out;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdx, %r14
movq %rdi, %rbx
leaq -0x78(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq -0x38(%rbp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
callq 0x900c
leaq 0xa061(%rip), %rsi      # 0x1254a
movq %r14, %rdi
xorl %edx, %edx
callq 0x3430
leaq -0x11(%rax), %rcx
leaq -0x68(%rbp), %rdi
pushq $0x11
popq %rdx
movq %r14, %rsi
callq 0x3220
leaq -0x88(%rbp), %r15
leaq -0x68(%rbp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x3280
movq %r12, %rdi
callq 0x3120
movq %r15, %rsi
callq 0x7b20
movl %eax, 0x4(%rbx)
leaq 0xa1c1(%rip), %r12      # 0x126f7
movq %r14, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3430
leaq 0x3(%rax), %r15
movq %r14, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3430
leaq 0x3(%rax), %rdx
leaq 0xa0f0(%rip), %rsi      # 0x1264f
pushq $0x1
popq %rcx
movq %r14, %rdi
callq 0x33b0
movq %rax, %r13
movq %r14, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3430
subq %rax, %r13
addq $-0x3, %r13
leaq -0x68(%rbp), %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %r13, %rcx
callq 0x3220
leaq -0x48(%rbp), %r15
leaq -0x68(%rbp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x3280
movq %r12, %rdi
callq 0x3120
pushq $0xa
popq %rdx
movq %r15, %rdi
xorl %esi, %esi
callq 0x64cc
movl %eax, 0xc(%rbx)
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x3440
movq 0x8(%r15), %rcx
leaq (%rax,%rcx), %rdx
incq %rdx
movq %r14, %rdi
xorl %esi, %esi
callq 0x3060
leaq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x3160
leaq 0xa05c(%rip), %rsi      # 0x1264f
leaq -0x48(%rbp), %r14
movq %r14, %rdi
xorl %edx, %edx
callq 0x3430
leaq -0x68(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
leaq -0x68(%rbp), %rdi
pushq $0xa
popq %rdx
xorl %esi, %esi
callq 0x64cc
movl %eax, 0x10(%rbx)
leaq -0x68(%rbp), %rdi
callq 0x3120
leaq 0xa01c(%rip), %rsi      # 0x1264f
movq %r14, %rdi
xorl %edx, %edx
callq 0x3430
leaq 0x1(%rax), %rdx
movq %r14, %rdi
xorl %esi, %esi
callq 0x3060
leaq -0x48(%rbp), %rdi
movq %rax, %rsi
callq 0x3160
leaq -0x68(%rbp), %rdi
leaq -0x48(%rbp), %rsi
pushq $-0x1
popq %rcx
xorl %edx, %edx
callq 0x3220
leaq -0x68(%rbp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x3280
movq %r15, %rdi
callq 0x3120
pushq $0xa
popq %rdx
movq %r14, %rdi
xorl %esi, %esi
callq 0x64cc
movl %eax, 0x8(%rbx)
leaq -0x48(%rbp), %rdi
callq 0x3120
leaq -0x88(%rbp), %rdi
callq 0x3120
movq %rbx, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x86d2
movq %rax, %r14
leaq -0x68(%rbp), %rdi
callq 0x3120
jmp 0x86d5
jmp 0x86d2
jmp 0x86d2
jmp 0x86d2
movq %rax, %r14
jmp 0x86dd
movq %rax, %r14
movq %rbx, %rdi
callq 0x6228
leaq -0x48(%rbp), %rdi
callq 0x3120
leaq -0x88(%rbp), %rdi
callq 0x3120
movq %r14, %rdi
callq 0x33c0