// File: /workspace/github_cpp_makefile_star2_O1/merelin[P]mediasmartserverd/src/led_acerh340.h
// Function: LedAcerH340::Init()
virtual bool Init( ) {
		// initialise SCH5127
		if ( !LedControlSCH5127Base::Init() ) return false;
		
		// set up io permissions to other ports we may use
		if ( ioperm(io_sch5127_regs_ + REG_HWM_INDEX, 1, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_sch5127_regs_ + REG_HWM_DATA,  1, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_sch5127_regs_ + REG_GP1,       4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_sch5127_regs_ + REG_GP2,       4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_sch5127_regs_ + REG_GP3,       4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_sch5127_regs_ + REG_GP4,       4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_sch5127_regs_ + REG_GP5,       4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_sch5127_regs_ + REG_GP6,       4, 1) ) throw ErrnoException("ioperm");
		
		//
		if ( ioperm(io_lpc_gpiobase_ + GPO_BLINK,	4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_lpc_gpiobase_ + GP_IO_SEL,	4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_lpc_gpiobase_ + GP_IO_SEL2,	4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_lpc_gpiobase_ + GP_LVL,		4, 1) ) throw ErrnoException("ioperm");
		if ( ioperm(io_lpc_gpiobase_ + GP_LVL2,		4, 1) ) throw ErrnoException("ioperm");
		
		enableLeds_( );
		
		return true;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
callq 0x86b4
movl %eax, %ebx
testb %al, %al
je 0x7ffb
movl 0xc(%r14), %edi
addl $0x70, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x8008
movl 0xc(%r14), %edi
addl $0x71, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x806a
movl 0xc(%r14), %edi
addl $0x4b, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x80cc
movl 0xc(%r14), %edi
addl $0x4c, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x812e
movl 0xc(%r14), %edi
addl $0x4d, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x8190
movl 0xc(%r14), %edi
addl $0x4e, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x81f2
movl 0xc(%r14), %edi
addl $0x4f, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x8254
movl 0xc(%r14), %edi
addl $0x50, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x82b6
movl 0x8(%r14), %edi
addl $0x18, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x8318
movl 0x8(%r14), %edi
addl $0x4, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x837a
movl 0x8(%r14), %edi
addl $0x34, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x83dc
movl 0x8(%r14), %edi
addl $0xc, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x843e
movl 0x8(%r14), %edi
addl $0x38, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x849d
movq %r14, %rdi
movl $0xb100040, %esi        # imm = 0xB100040
xorl %edx, %edx
callq 0x8e46
movl %ebx, %eax
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3afd(%rip), %rsi      # 0xbb22
leaq 0x3afc(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x769a(%rip), %rsi      # 0xf6f0
movq 0x7f43(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3a9b(%rip), %rsi      # 0xbb22
leaq 0x3a9a(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x7638(%rip), %rsi      # 0xf6f0
movq 0x7ee1(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3a39(%rip), %rsi      # 0xbb22
leaq 0x3a38(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x75d6(%rip), %rsi      # 0xf6f0
movq 0x7e7f(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x39d7(%rip), %rsi      # 0xbb22
leaq 0x39d6(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x7574(%rip), %rsi      # 0xf6f0
movq 0x7e1d(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3975(%rip), %rsi      # 0xbb22
leaq 0x3974(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x7512(%rip), %rsi      # 0xf6f0
movq 0x7dbb(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3913(%rip), %rsi      # 0xbb22
leaq 0x3912(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x74b0(%rip), %rsi      # 0xf6f0
movq 0x7d59(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x38b1(%rip), %rsi      # 0xbb22
leaq 0x38b0(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x744e(%rip), %rsi      # 0xf6f0
movq 0x7cf7(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x384f(%rip), %rsi      # 0xbb22
leaq 0x384e(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x73ec(%rip), %rsi      # 0xf6f0
movq 0x7c95(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x37ed(%rip), %rsi      # 0xbb22
leaq 0x37ec(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x738a(%rip), %rsi      # 0xf6f0
movq 0x7c33(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x378b(%rip), %rsi      # 0xbb22
leaq 0x378a(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x7328(%rip), %rsi      # 0xf6f0
movq 0x7bd1(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3729(%rip), %rsi      # 0xbb22
leaq 0x3728(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x72c6(%rip), %rsi      # 0xf6f0
movq 0x7b6f(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x36c7(%rip), %rsi      # 0xbb22
leaq 0x36c6(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x7264(%rip), %rsi      # 0xf6f0
movq 0x7b0d(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84fa
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3668(%rip), %rsi      # 0xbb22
leaq 0x3667(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e88
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be8
xorl %ebp, %ebp
leaq 0x7205(%rip), %rsi      # 0xf6f0
movq 0x7aae(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
jmp 0x852a
jmp 0x8546
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x854c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42c0
jmp 0x854c
movq %rax, %r14
movb $0x1, %bpl
testb %bpl, %bpl
je 0x8559
movq %rbx, %rdi
callq 0x41e0
movq %r14, %rdi
callq 0x4550
nop