// File: /workspace/github_cpp_makefile_star2_O3/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 0x868e
movl %eax, %ebx
testb %al, %al
je 0x7fd9
movl 0xc(%r14), %edi
addl $0x70, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x7fe6
movl 0xc(%r14), %edi
addl $0x71, %edi
movl $0x1, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x8048
movl 0xc(%r14), %edi
addl $0x4b, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x80aa
movl 0xc(%r14), %edi
addl $0x4c, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x810c
movl 0xc(%r14), %edi
addl $0x4d, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x816e
movl 0xc(%r14), %edi
addl $0x4e, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x81d0
movl 0xc(%r14), %edi
addl $0x4f, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x8232
movl 0xc(%r14), %edi
addl $0x50, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x8294
movl 0x8(%r14), %edi
addl $0x18, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x82f6
movl 0x8(%r14), %edi
addl $0x4, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x8358
movl 0x8(%r14), %edi
addl $0x34, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x83ba
movl 0x8(%r14), %edi
addl $0xc, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x841c
movl 0x8(%r14), %edi
addl $0x38, %edi
movl $0x4, %esi
movl $0x1, %edx
callq 0x44b0
testl %eax, %eax
jne 0x847b
movq %r14, %rdi
movl $0xb100040, %esi        # imm = 0xB100040
xorl %edx, %edx
callq 0x8e16
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 0x3b1f(%rip), %rsi      # 0xbb22
leaq 0x3b1e(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x774c(%rip), %rsi      # 0xf780
movq 0x7f65(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3abd(%rip), %rsi      # 0xbb22
leaq 0x3abc(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x76ea(%rip), %rsi      # 0xf780
movq 0x7f03(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3a5b(%rip), %rsi      # 0xbb22
leaq 0x3a5a(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x7688(%rip), %rsi      # 0xf780
movq 0x7ea1(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x39f9(%rip), %rsi      # 0xbb22
leaq 0x39f8(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x7626(%rip), %rsi      # 0xf780
movq 0x7e3f(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3997(%rip), %rsi      # 0xbb22
leaq 0x3996(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x75c4(%rip), %rsi      # 0xf780
movq 0x7ddd(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3935(%rip), %rsi      # 0xbb22
leaq 0x3934(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x7562(%rip), %rsi      # 0xf780
movq 0x7d7b(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x38d3(%rip), %rsi      # 0xbb22
leaq 0x38d2(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x7500(%rip), %rsi      # 0xf780
movq 0x7d19(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3871(%rip), %rsi      # 0xbb22
leaq 0x3870(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x749e(%rip), %rsi      # 0xf780
movq 0x7cb7(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x380f(%rip), %rsi      # 0xbb22
leaq 0x380e(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x743c(%rip), %rsi      # 0xf780
movq 0x7c55(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x37ad(%rip), %rsi      # 0xbb22
leaq 0x37ac(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x73da(%rip), %rsi      # 0xf780
movq 0x7bf3(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x374b(%rip), %rsi      # 0xbb22
leaq 0x374a(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x7378(%rip), %rsi      # 0xf780
movq 0x7b91(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x36e9(%rip), %rsi      # 0xbb22
leaq 0x36e8(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x7316(%rip), %rsi      # 0xf780
movq 0x7b2f(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x84d8
movl $0x10, %edi
callq 0x4140
movq %rax, %rbx
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x368a(%rip), %rsi      # 0xbb22
leaq 0x3689(%rip), %rdx      # 0xbb28
leaq 0x8(%rsp), %rdi
callq 0x5e90
callq 0x4030
movl (%rax), %edx
movb $0x1, %bpl
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5be6
xorl %ebp, %ebp
leaq 0x72b7(%rip), %rsi      # 0xf780
movq 0x7ad0(%rip), %rdx      # 0xffa0
movq %rbx, %rdi
callq 0x4520
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
jmp 0x8508
jmp 0x8529
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x8522
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x42c0
testb %bpl, %bpl
jne 0x852c
jmp 0x8534
movq %rax, %r14
movq %rbx, %rdi
callq 0x41e0
movq %r14, %rdi
callq 0x4550