// File: Alcaro[P]bridges/arlib/stringconv.cpp
// Function: fromstring(cstring, bool&)
bool fromstring(cstring s, bool& out)
{
	if (s == "false" || s == "0")
	{
		out = false;
		return true;
	}
	
	if (s == "true" || s == "1")
	{
		out = true;
		return true;
	}
	
	out = false;
	return false;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x420, %rsp            # imm = 0x420
movq %rdi, -0x3f0(%rbp)
movq %rsi, -0x3e8(%rbp)
movq %rdx, -0x3f8(%rbp)
leaq -0x3f0(%rbp), %rax
movq %rax, -0x2e8(%rbp)
leaq 0x23466(%rip), %rax     # 0x63adb
movq %rax, -0x2f0(%rbp)
movq -0x2f0(%rbp), %rdi
callq 0x40f0
movq %rax, -0x2f8(%rbp)
movq -0x2e8(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x128(%rbp), %rax
leaq -0x138(%rbp), %rcx
movq %rcx, -0x100(%rbp)
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rax
movq %rax, -0x400(%rbp)
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rdi
callq 0x5cc0
movsbl %al, %eax
cmpl $0x0, %eax
jl 0x4071c
movq -0x400(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x5cc0
movq -0x400(%rbp), %rsi
movsbl %al, %eax
xorl $0xf, %eax
movzbl %al, %eax
movl %eax, %edx
leaq -0x138(%rbp), %rdi
callq 0x5ed0
jmp 0x40737
movq -0x400(%rbp), %rax
movq (%rax), %rsi
movl 0x8(%rax), %eax
movl %eax, %edx
leaq -0x138(%rbp), %rdi
callq 0x5ed0
movups -0x138(%rbp), %xmm0
movaps %xmm0, -0x120(%rbp)
movq -0x120(%rbp), %rcx
movq -0x118(%rbp), %rax
movq %rcx, -0x308(%rbp)
movq %rax, -0x300(%rbp)
movq -0x2f0(%rbp), %rsi
movq -0x2f8(%rbp), %rdx
leaq -0x318(%rbp), %rdi
callq 0x5d70
movq -0x318(%rbp), %rsi
movq -0x310(%rbp), %rdx
leaq -0x308(%rbp), %rdi
callq 0x60c0
andb $0x1, %al
movb %al, -0x2d9(%rbp)
testb $0x1, -0x2d9(%rbp)
jne 0x408f2
leaq -0x3f0(%rbp), %rax
movq %rax, -0x328(%rbp)
leaq 0x257dd(%rip), %rax     # 0x65f9c
movq %rax, -0x330(%rbp)
movq -0x330(%rbp), %rdi
callq 0x40f0
movq %rax, -0x338(%rbp)
movq -0x328(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
leaq -0xe8(%rbp), %rcx
movq %rcx, -0xb0(%rbp)
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
movq %rax, -0x408(%rbp)
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x5cc0
movsbl %al, %eax
cmpl $0x0, %eax
jl 0x40866
movq -0x408(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rdi
callq 0x5cc0
movq -0x408(%rbp), %rsi
movsbl %al, %eax
xorl $0xf, %eax
movzbl %al, %eax
movl %eax, %edx
leaq -0xe8(%rbp), %rdi
callq 0x5ed0
jmp 0x40881
movq -0x408(%rbp), %rax
movq (%rax), %rsi
movl 0x8(%rax), %eax
movl %eax, %edx
leaq -0xe8(%rbp), %rdi
callq 0x5ed0
movups -0xe8(%rbp), %xmm0
movaps %xmm0, -0xd0(%rbp)
movq -0xd0(%rbp), %rcx
movq -0xc8(%rbp), %rax
movq %rcx, -0x348(%rbp)
movq %rax, -0x340(%rbp)
movq -0x330(%rbp), %rsi
movq -0x338(%rbp), %rdx
leaq -0x358(%rbp), %rdi
callq 0x5d70
movq -0x358(%rbp), %rsi
movq -0x350(%rbp), %rdx
leaq -0x348(%rbp), %rdi
callq 0x60c0
andb $0x1, %al
movb %al, -0x319(%rbp)
testb $0x1, -0x319(%rbp)
jne 0x408f2
jmp 0x40908
movq -0x3f8(%rbp), %rax
movb $0x0, (%rax)
movb $0x1, -0x3d9(%rbp)
jmp 0x40b70
leaq -0x3f0(%rbp), %rax
movq %rax, -0x368(%rbp)
leaq 0x231b9(%rip), %rax     # 0x63ad6
movq %rax, -0x370(%rbp)
movq -0x370(%rbp), %rdi
callq 0x40f0
movq %rax, -0x378(%rbp)
movq -0x368(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
leaq -0x98(%rbp), %rcx
movq %rcx, -0x60(%rbp)
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq %rax, -0x410(%rbp)
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rdi
callq 0x5cc0
movsbl %al, %eax
cmpl $0x0, %eax
jl 0x409af
movq -0x410(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x5cc0
movq -0x410(%rbp), %rsi
movsbl %al, %eax
xorl $0xf, %eax
movzbl %al, %eax
movl %eax, %edx
leaq -0x98(%rbp), %rdi
callq 0x5ed0
jmp 0x409ca
movq -0x410(%rbp), %rax
movq (%rax), %rsi
movl 0x8(%rax), %eax
movl %eax, %edx
leaq -0x98(%rbp), %rdi
callq 0x5ed0
movups -0x98(%rbp), %xmm0
movaps %xmm0, -0x80(%rbp)
movq -0x80(%rbp), %rcx
movq -0x78(%rbp), %rax
movq %rcx, -0x388(%rbp)
movq %rax, -0x380(%rbp)
movq -0x370(%rbp), %rsi
movq -0x378(%rbp), %rdx
leaq -0x398(%rbp), %rdi
callq 0x5d70
movq -0x398(%rbp), %rsi
movq -0x390(%rbp), %rdx
leaq -0x388(%rbp), %rdi
callq 0x60c0
andb $0x1, %al
movb %al, -0x359(%rbp)
testb $0x1, -0x359(%rbp)
jne 0x40b4c
leaq -0x3f0(%rbp), %rax
movq %rax, -0x3a8(%rbp)
leaq 0x23537(%rip), %rax     # 0x63f80
movq %rax, -0x3b0(%rbp)
movq -0x3b0(%rbp), %rdi
callq 0x40f0
movq %rax, -0x3b8(%rbp)
movq -0x3a8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
leaq -0x48(%rbp), %rcx
movq %rcx, -0x18(%rbp)
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x418(%rbp)
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x5cc0
movsbl %al, %eax
cmpl $0x0, %eax
jl 0x40acf
movq -0x418(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x5cc0
movq -0x418(%rbp), %rsi
movsbl %al, %eax
xorl $0xf, %eax
movzbl %al, %eax
movl %eax, %edx
leaq -0x48(%rbp), %rdi
callq 0x5ed0
jmp 0x40ae7
movq -0x418(%rbp), %rax
movq (%rax), %rsi
movl 0x8(%rax), %eax
movl %eax, %edx
leaq -0x48(%rbp), %rdi
callq 0x5ed0
movups -0x48(%rbp), %xmm0
movaps %xmm0, -0x30(%rbp)
movq -0x30(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, -0x3c8(%rbp)
movq %rax, -0x3c0(%rbp)
movq -0x3b0(%rbp), %rsi
movq -0x3b8(%rbp), %rdx
leaq -0x3d8(%rbp), %rdi
callq 0x5d70
movq -0x3d8(%rbp), %rsi
movq -0x3d0(%rbp), %rdx
leaq -0x3c8(%rbp), %rdi
callq 0x60c0
andb $0x1, %al
movb %al, -0x399(%rbp)
testb $0x1, -0x399(%rbp)
jne 0x40b4c
jmp 0x40b5f
movq -0x3f8(%rbp), %rax
movb $0x1, (%rax)
movb $0x1, -0x3d9(%rbp)
jmp 0x40b70
movq -0x3f8(%rbp), %rax
movb $0x0, (%rax)
movb $0x0, -0x3d9(%rbp)
movb -0x3d9(%rbp), %al
andb $0x1, %al
addq $0x420, %rsp            # imm = 0x420
popq %rbp
retq
nopw %cs:(%rax,%rax)