// File: Doug0855[P]TigerZone/Adapter.cpp
// Function: Adapter::tileToExpr[abi:cxx11](int)
std::string Adapter::tileToExpr(int i){
	std::string tiles[28] = {"JJJJ-", "JJJJX", "JJTJX", "TTTT-", "TJTJ-",
		"TJJT-" , "TJTT-", "LLLL-", "JLLL-" , "LLJJ-", "JLJL-", "LJLJ-",
		"LJJJ-", "JLLJ-", "TLJT-", "TLJTP", "JLTT-", "JLTTB", "TLTJ-" ,
		"TLTJD", "TLLL-", "TLTT-" , "TLTTP", "TLLT-" , "TLLTB" , "LJTJ-", "LJTJD", "TLLLC"};
	return tiles[i-1];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x5f0, %rsp            # imm = 0x5F0
movq %rdi, -0x3f8(%rbp)
movq %rdi, %rax
movq %rax, -0x3f0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movb $0x1, -0x3d8(%rbp)
leaq -0x3a0(%rbp), %rax
movq %rax, -0x3e8(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3a9(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
callq 0x3500
movq -0x3e8(%rbp), %rdi
movq -0x3e0(%rbp), %rdx
leaq 0x1b07e(%rip), %rsi     # 0x29469
callq 0x33b0
jmp 0xe3f2
leaq -0x380(%rbp), %rax
movq %rax, -0x408(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3bd(%rbp), %rdi
movq %rdi, -0x400(%rbp)
callq 0x3500
movq -0x408(%rbp), %rdi
movq -0x400(%rbp), %rdx
leaq 0x1b040(%rip), %rsi     # 0x2946f
callq 0x33b0
jmp 0xe436
leaq -0x360(%rbp), %rax
movq %rax, -0x418(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3be(%rbp), %rdi
movq %rdi, -0x410(%rbp)
callq 0x3500
movq -0x418(%rbp), %rdi
movq -0x410(%rbp), %rdx
leaq 0x1b002(%rip), %rsi     # 0x29475
callq 0x33b0
jmp 0xe47a
leaq -0x340(%rbp), %rax
movq %rax, -0x428(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3bf(%rbp), %rdi
movq %rdi, -0x420(%rbp)
callq 0x3500
movq -0x428(%rbp), %rdi
movq -0x420(%rbp), %rdx
leaq 0x1afc4(%rip), %rsi     # 0x2947b
callq 0x33b0
jmp 0xe4be
leaq -0x320(%rbp), %rax
movq %rax, -0x438(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c0(%rbp), %rdi
movq %rdi, -0x430(%rbp)
callq 0x3500
movq -0x438(%rbp), %rdi
movq -0x430(%rbp), %rdx
leaq 0x1af86(%rip), %rsi     # 0x29481
callq 0x33b0
jmp 0xe502
leaq -0x300(%rbp), %rax
movq %rax, -0x448(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c1(%rbp), %rdi
movq %rdi, -0x440(%rbp)
callq 0x3500
movq -0x448(%rbp), %rdi
movq -0x440(%rbp), %rdx
leaq 0x1af48(%rip), %rsi     # 0x29487
callq 0x33b0
jmp 0xe546
leaq -0x2e0(%rbp), %rax
movq %rax, -0x458(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c2(%rbp), %rdi
movq %rdi, -0x450(%rbp)
callq 0x3500
movq -0x458(%rbp), %rdi
movq -0x450(%rbp), %rdx
leaq 0x1af0a(%rip), %rsi     # 0x2948d
callq 0x33b0
jmp 0xe58a
leaq -0x2c0(%rbp), %rax
movq %rax, -0x468(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c3(%rbp), %rdi
movq %rdi, -0x460(%rbp)
callq 0x3500
movq -0x468(%rbp), %rdi
movq -0x460(%rbp), %rdx
leaq 0x1aecc(%rip), %rsi     # 0x29493
callq 0x33b0
jmp 0xe5ce
leaq -0x2a0(%rbp), %rax
movq %rax, -0x478(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c4(%rbp), %rdi
movq %rdi, -0x470(%rbp)
callq 0x3500
movq -0x478(%rbp), %rdi
movq -0x470(%rbp), %rdx
leaq 0x1ae8e(%rip), %rsi     # 0x29499
callq 0x33b0
jmp 0xe612
leaq -0x280(%rbp), %rax
movq %rax, -0x488(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c5(%rbp), %rdi
movq %rdi, -0x480(%rbp)
callq 0x3500
movq -0x488(%rbp), %rdi
movq -0x480(%rbp), %rdx
leaq 0x1ae50(%rip), %rsi     # 0x2949f
callq 0x33b0
jmp 0xe656
leaq -0x260(%rbp), %rax
movq %rax, -0x498(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c6(%rbp), %rdi
movq %rdi, -0x490(%rbp)
callq 0x3500
movq -0x498(%rbp), %rdi
movq -0x490(%rbp), %rdx
leaq 0x1ae12(%rip), %rsi     # 0x294a5
callq 0x33b0
jmp 0xe69a
leaq -0x240(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c7(%rbp), %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x3500
movq -0x4a8(%rbp), %rdi
movq -0x4a0(%rbp), %rdx
leaq 0x1add4(%rip), %rsi     # 0x294ab
callq 0x33b0
jmp 0xe6de
leaq -0x220(%rbp), %rax
movq %rax, -0x4b8(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c8(%rbp), %rdi
movq %rdi, -0x4b0(%rbp)
callq 0x3500
movq -0x4b8(%rbp), %rdi
movq -0x4b0(%rbp), %rdx
leaq 0x1ad96(%rip), %rsi     # 0x294b1
callq 0x33b0
jmp 0xe722
leaq -0x200(%rbp), %rax
movq %rax, -0x4c8(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3c9(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x3500
movq -0x4c8(%rbp), %rdi
movq -0x4c0(%rbp), %rdx
leaq 0x1ad58(%rip), %rsi     # 0x294b7
callq 0x33b0
jmp 0xe766
leaq -0x1e0(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3ca(%rbp), %rdi
movq %rdi, -0x4d0(%rbp)
callq 0x3500
movq -0x4d8(%rbp), %rdi
movq -0x4d0(%rbp), %rdx
leaq 0x1ad1a(%rip), %rsi     # 0x294bd
callq 0x33b0
jmp 0xe7aa
leaq -0x1c0(%rbp), %rax
movq %rax, -0x4e8(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3cb(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x3500
movq -0x4e8(%rbp), %rdi
movq -0x4e0(%rbp), %rdx
leaq 0x1acdc(%rip), %rsi     # 0x294c3
callq 0x33b0
jmp 0xe7ee
leaq -0x1a0(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3cc(%rbp), %rdi
movq %rdi, -0x4f0(%rbp)
callq 0x3500
movq -0x4f8(%rbp), %rdi
movq -0x4f0(%rbp), %rdx
leaq 0x1ac9e(%rip), %rsi     # 0x294c9
callq 0x33b0
jmp 0xe832
leaq -0x180(%rbp), %rax
movq %rax, -0x508(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3cd(%rbp), %rdi
movq %rdi, -0x500(%rbp)
callq 0x3500
movq -0x508(%rbp), %rdi
movq -0x500(%rbp), %rdx
leaq 0x1ac60(%rip), %rsi     # 0x294cf
callq 0x33b0
jmp 0xe876
leaq -0x160(%rbp), %rax
movq %rax, -0x518(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3ce(%rbp), %rdi
movq %rdi, -0x510(%rbp)
callq 0x3500
movq -0x518(%rbp), %rdi
movq -0x510(%rbp), %rdx
leaq 0x1ac22(%rip), %rsi     # 0x294d5
callq 0x33b0
jmp 0xe8ba
leaq -0x140(%rbp), %rax
movq %rax, -0x528(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3cf(%rbp), %rdi
movq %rdi, -0x520(%rbp)
callq 0x3500
movq -0x528(%rbp), %rdi
movq -0x520(%rbp), %rdx
leaq 0x1abe4(%rip), %rsi     # 0x294db
callq 0x33b0
jmp 0xe8fe
leaq -0x120(%rbp), %rax
movq %rax, -0x538(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3d0(%rbp), %rdi
movq %rdi, -0x530(%rbp)
callq 0x3500
movq -0x538(%rbp), %rdi
movq -0x530(%rbp), %rdx
leaq 0x1aba6(%rip), %rsi     # 0x294e1
callq 0x33b0
jmp 0xe942
leaq -0x100(%rbp), %rax
movq %rax, -0x548(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3d1(%rbp), %rdi
movq %rdi, -0x540(%rbp)
callq 0x3500
movq -0x548(%rbp), %rdi
movq -0x540(%rbp), %rdx
leaq 0x1ab68(%rip), %rsi     # 0x294e7
callq 0x33b0
jmp 0xe986
leaq -0xe0(%rbp), %rax
movq %rax, -0x558(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3d2(%rbp), %rdi
movq %rdi, -0x550(%rbp)
callq 0x3500
movq -0x558(%rbp), %rdi
movq -0x550(%rbp), %rdx
leaq 0x1ab2a(%rip), %rsi     # 0x294ed
callq 0x33b0
jmp 0xe9ca
leaq -0xc0(%rbp), %rax
movq %rax, -0x568(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3d3(%rbp), %rdi
movq %rdi, -0x560(%rbp)
callq 0x3500
movq -0x568(%rbp), %rdi
movq -0x560(%rbp), %rdx
leaq 0x1aaec(%rip), %rsi     # 0x294f3
callq 0x33b0
jmp 0xea0e
leaq -0xa0(%rbp), %rax
movq %rax, -0x578(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3d4(%rbp), %rdi
movq %rdi, -0x570(%rbp)
callq 0x3500
movq -0x578(%rbp), %rdi
movq -0x570(%rbp), %rdx
leaq 0x1aaae(%rip), %rsi     # 0x294f9
callq 0x33b0
jmp 0xea52
leaq -0x80(%rbp), %rax
movq %rax, -0x588(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3d5(%rbp), %rdi
movq %rdi, -0x580(%rbp)
callq 0x3500
movq -0x588(%rbp), %rdi
movq -0x580(%rbp), %rdx
leaq 0x1aa73(%rip), %rsi     # 0x294ff
callq 0x33b0
jmp 0xea93
leaq -0x60(%rbp), %rax
movq %rax, -0x598(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3d6(%rbp), %rdi
movq %rdi, -0x590(%rbp)
callq 0x3500
movq -0x598(%rbp), %rdi
movq -0x590(%rbp), %rdx
leaq 0x1aa38(%rip), %rsi     # 0x29505
callq 0x33b0
jmp 0xead4
leaq -0x40(%rbp), %rax
movq %rax, -0x5a8(%rbp)
movq %rax, -0x3a8(%rbp)
leaq -0x3d7(%rbp), %rdi
movq %rdi, -0x5a0(%rbp)
callq 0x3500
movq -0x5a8(%rbp), %rdi
movq -0x5a0(%rbp), %rdx
leaq 0x1a9fd(%rip), %rsi     # 0x2950b
callq 0x33b0
jmp 0xeb15
movb $0x0, -0x3d8(%rbp)
leaq -0x3d7(%rbp), %rdi
callq 0x32f0
leaq -0x3d6(%rbp), %rdi
callq 0x32f0
leaq -0x3d5(%rbp), %rdi
callq 0x32f0
leaq -0x3d4(%rbp), %rdi
callq 0x32f0
leaq -0x3d3(%rbp), %rdi
callq 0x32f0
leaq -0x3d2(%rbp), %rdi
callq 0x32f0
leaq -0x3d1(%rbp), %rdi
callq 0x32f0
leaq -0x3d0(%rbp), %rdi
callq 0x32f0
leaq -0x3cf(%rbp), %rdi
callq 0x32f0
leaq -0x3ce(%rbp), %rdi
callq 0x32f0
leaq -0x3cd(%rbp), %rdi
callq 0x32f0
leaq -0x3cc(%rbp), %rdi
callq 0x32f0
leaq -0x3cb(%rbp), %rdi
callq 0x32f0
leaq -0x3ca(%rbp), %rdi
callq 0x32f0
leaq -0x3c9(%rbp), %rdi
callq 0x32f0
leaq -0x3c8(%rbp), %rdi
callq 0x32f0
leaq -0x3c7(%rbp), %rdi
callq 0x32f0
leaq -0x3c6(%rbp), %rdi
callq 0x32f0
leaq -0x3c5(%rbp), %rdi
callq 0x32f0
leaq -0x3c4(%rbp), %rdi
callq 0x32f0
leaq -0x3c3(%rbp), %rdi
callq 0x32f0
leaq -0x3c2(%rbp), %rdi
callq 0x32f0
leaq -0x3c1(%rbp), %rdi
callq 0x32f0
leaq -0x3c0(%rbp), %rdi
callq 0x32f0
leaq -0x3bf(%rbp), %rdi
callq 0x32f0
leaq -0x3be(%rbp), %rdi
callq 0x32f0
leaq -0x3bd(%rbp), %rdi
callq 0x32f0
leaq -0x3a9(%rbp), %rdi
callq 0x32f0
movq -0x3f8(%rbp), %rdi
movl -0x14(%rbp), %eax
decl %eax
cltq
shlq $0x5, %rax
leaq -0x3a0(%rbp,%rax), %rsi
callq 0x3160
jmp 0xec8d
leaq -0x3a0(%rbp), %rax
movq %rax, -0x5b8(%rbp)
addq $0x380, %rax            # imm = 0x380
movq %rax, -0x5b0(%rbp)
jmp 0xf0fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf064
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf058
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf04c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf040
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf034
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf028
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf01c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf010
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xf004
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xeff8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xefec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xefe0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xefd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xefc8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xefbc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xefb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xefa4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef80
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef50
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
jmp 0xef2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
leaq -0x3d7(%rbp), %rdi
callq 0x32f0
leaq -0x3d6(%rbp), %rdi
callq 0x32f0
leaq -0x3d5(%rbp), %rdi
callq 0x32f0
leaq -0x3d4(%rbp), %rdi
callq 0x32f0
leaq -0x3d3(%rbp), %rdi
callq 0x32f0
leaq -0x3d2(%rbp), %rdi
callq 0x32f0
leaq -0x3d1(%rbp), %rdi
callq 0x32f0
leaq -0x3d0(%rbp), %rdi
callq 0x32f0
leaq -0x3cf(%rbp), %rdi
callq 0x32f0
leaq -0x3ce(%rbp), %rdi
callq 0x32f0
leaq -0x3cd(%rbp), %rdi
callq 0x32f0
leaq -0x3cc(%rbp), %rdi
callq 0x32f0
leaq -0x3cb(%rbp), %rdi
callq 0x32f0
leaq -0x3ca(%rbp), %rdi
callq 0x32f0
leaq -0x3c9(%rbp), %rdi
callq 0x32f0
leaq -0x3c8(%rbp), %rdi
callq 0x32f0
leaq -0x3c7(%rbp), %rdi
callq 0x32f0
leaq -0x3c6(%rbp), %rdi
callq 0x32f0
leaq -0x3c5(%rbp), %rdi
callq 0x32f0
leaq -0x3c4(%rbp), %rdi
callq 0x32f0
leaq -0x3c3(%rbp), %rdi
callq 0x32f0
leaq -0x3c2(%rbp), %rdi
callq 0x32f0
leaq -0x3c1(%rbp), %rdi
callq 0x32f0
leaq -0x3c0(%rbp), %rdi
callq 0x32f0
leaq -0x3bf(%rbp), %rdi
callq 0x32f0
leaq -0x3be(%rbp), %rdi
callq 0x32f0
leaq -0x3bd(%rbp), %rdi
callq 0x32f0
leaq -0x3a9(%rbp), %rdi
callq 0x32f0
testb $0x1, -0x3d8(%rbp)
jne 0xf07b
jmp 0xf0c8
movq -0x3a8(%rbp), %rax
leaq -0x3a0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x5c0(%rbp)
je 0xf0c6
movq -0x5c0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x3210
movq -0x5c8(%rbp), %rax
leaq -0x3a0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x5c0(%rbp)
jne 0xf095
jmp 0xf0c8
jmp 0xf170
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x3b8(%rbp)
movl %eax, -0x3bc(%rbp)
leaq -0x3a0(%rbp), %rax
movq %rax, -0x5d8(%rbp)
addq $0x380, %rax            # imm = 0x380
movq %rax, -0x5d0(%rbp)
jmp 0xf13d
movq -0x5b0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x5e0(%rbp)
callq 0x3210
movq -0x5b8(%rbp), %rcx
movq -0x5e0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x5b0(%rbp)
jne 0xf0fc
movq -0x3f0(%rbp), %rax
addq $0x5f0, %rsp            # imm = 0x5F0
popq %rbp
retq
movq -0x5d0(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x5e8(%rbp)
callq 0x3210
movq -0x5d8(%rbp), %rcx
movq -0x5e8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x5d0(%rbp)
jne 0xf13d
jmp 0xf170
movq -0x3b8(%rbp), %rdi
callq 0x34f0
nopl (%rax)