// File: /workspace/github_c_makefile_star2_O1/j-hoppe[P]tu58fs/monitor.c
// Function: monitor_deposit
int monitor_deposit(monitor_t *_this, unsigned address, unsigned value) {
	switch (_this->monitor_type) {
	case monitor_odt:
		return monitor_odt_deposit(_this, address, value);
	case monitor_m9312:
	case monitor_m9301: // only difference is the prompt
		return monitor_m9312_deposit(_this, address, value);
        case monitor_1144:
            return monitor_1144_deposit(_this, address, value);
	default:
		return error_set(ERROR_MONITOR, "monitor_deposit(): Illegal boot monitor %u selected",
				_this->monitor_type);
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x100, %rsp            # imm = 0x100
movl %edx, %r14d
movl %esi, %r15d
movq %rdi, %rbx
movl (%rdi), %edx
leal -0x3(%rdx), %eax
cmpl $0x2, %eax
jb 0x11005
cmpl $0x5, %edx
je 0x11016
cmpl $0x2, %edx
jne 0x110ca
leaq 0x61ec(%rip), %rsi      # 0x1718b
movq %rsp, %r12
movq %r12, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0x3540
movl 0x18(%rbx), %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x10dc9
testl %eax, %eax
jne 0x110bf
movl 0x18(%rbx), %esi
movq %rbx, %rdi
callq 0x10d2d
leaq 0x399a9(%rip), %rdi     # 0x4a980
movl $0x3f, %esi
callq 0x31d0
testq %rax, %rax
je 0x11144
leaq 0x619e(%rip), %rsi      # 0x1718f
movl $0xfffffff6, %edi       # imm = 0xFFFFFFF6
movl %r15d, %edx
xorl %eax, %eax
callq 0x9f8f
jmp 0x11130
movl 0x28(%rbx), %eax
addl $0x2, %eax
cmpl %r15d, %eax
jne 0x11085
movl %r15d, 0x28(%rbx)
jmp 0x11094
leaq 0x620a(%rip), %rsi      # 0x17227
xorl %ebp, %ebp
movq %rsp, %r12
movq %r12, %rdi
movl %r15d, %edx
movl %r14d, %ecx
xorl %eax, %eax
callq 0x3540
movl 0x18(%rbx), %edx
movq %rbx, %rdi
movq %r12, %rsi
callq 0x10dc9
testl %eax, %eax
jne 0x110bf
leaq 0x6026(%rip), %rsi      # 0x17071
movq %rbx, %rdi
callq 0x10c34
movl 0x18(%rbx), %esi
movq %rbx, %rdi
callq 0x10d2d
leaq 0x3991b(%rip), %rsi     # 0x4a980
movq %rbx, %rdi
callq 0x10c7f
testl %eax, %eax
je 0x11132
movq 0x8(%rbx), %rdx
leaq 0x61af(%rip), %rsi      # 0x1722f
jmp 0x11124
movq %rbx, %rdi
movl %r15d, %esi
callq 0x11337
testl %eax, %eax
jne 0x110bf
leaq 0x612b(%rip), %rsi      # 0x171c6
xorl %ebp, %ebp
movq %rsp, %r15
movq %r15, %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0x3540
movl 0x18(%rbx), %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x10dc9
testl %eax, %eax
je 0x110ec
leaq 0xd182(%rip), %rax      # 0x1e248
movl (%rax), %ebp
jmp 0x11132
leaq 0x6057(%rip), %rsi      # 0x17128
movl $0xfffffff6, %edi       # imm = 0xFFFFFFF6
xorl %eax, %eax
addq $0x100, %rsp            # imm = 0x100
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmp 0x9f8f
leaq 0x5f7e(%rip), %rsi      # 0x17071
movq %rbx, %rdi
callq 0x10c34
movl 0x18(%rbx), %esi
movq %rbx, %rdi
callq 0x10d2d
leaq 0x39873(%rip), %rsi     # 0x4a980
movq %rbx, %rdi
callq 0x10c7f
testl %eax, %eax
je 0x11132
movq 0x8(%rbx), %rdx
leaq 0x60a7(%rip), %rsi      # 0x171cb
movl $0xfffffff6, %edi       # imm = 0xFFFFFFF6
xorl %eax, %eax
callq 0x9f8f
movl %eax, %ebp
movl %ebp, %eax
addq $0x100, %rsp            # imm = 0x100
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x607d(%rip), %rsi      # 0x171c8
xorl %ebp, %ebp
movq %rsp, %r15
movq %r15, %rdi
movl %r14d, %edx
xorl %eax, %eax
callq 0x3540
movl 0x18(%rbx), %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x10dc9
testl %eax, %eax
jne 0x110bf
leaq 0x5ef7(%rip), %rsi      # 0x17071
movq %rbx, %rdi
callq 0x10c34
movl 0x18(%rbx), %esi
movq %rbx, %rdi
callq 0x10d2d
leaq 0x397ec(%rip), %rsi     # 0x4a980
movq %rbx, %rdi
callq 0x10c7f
testl %eax, %eax
je 0x11132
leaq 0x5fff(%rip), %rsi      # 0x171a6
movl $0xfffffff6, %edi       # imm = 0xFFFFFFF6
xorl %eax, %eax
callq 0x9f8f
jmp 0x11130