// File: enbock[P]Warp10Server/ulib/src/Network/Manager.cpp
// Function: u::Network::Manager::~Manager()
Manager::~Manager()
{
	if (_listener.size() > 0) {
		error(
			className()
			+ "::~Manager: Listeners must be closed before destroy."
		);
	}
	
	removeEventListener(
		Event::REGISTER_NETWORK
		, Callback(this, cb_cast(&Network::Manager::onRegisterNetwork))
	);
	removeEventListener(
		Event::REQUEST_LISTENER
		, Callback(this, cb_cast(&Network::Manager::onRequestListener))
	);
	removeEventListener(
		Event::CLOSE
		, Callback(this, cb_cast(&Network::Manager::onCloseRequest))
	);

	trace(className() + "::~Manager: Down.");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x290, %rsp            # imm = 0x290
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x248(%rbp)
leaq 0x23d50f(%rip), %rax    # 0x65d750
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x110, %rdi            # imm = 0x110
addq $0x38, %rdi
callq 0x421540
cmpq $0x0, %rax
jbe 0x42037e
movq $0x668b40, %rdi         # imm = 0x668B40
leaq 0x1bafb0(%rip), %rsi    # 0x5db220
callq 0x49dd60
movq %rax, -0x250(%rbp)
jmp 0x42027e
movb $0x0, -0x81(%rbp)
movb $0x0, -0x83(%rbp)
movb $0x1, %al
testb $0x1, %al
jne 0x420294
jmp 0x4202c9
movq -0x248(%rbp), %rsi
movq (%rsi), %rax
movq 0x8(%rax), %rax
leaq -0x80(%rbp), %rdi
callq *%rax
jmp 0x4202aa
movb $0x1, -0x81(%rbp)
leaq -0x48(%rbp), %rsi
leaq 0x1bc8db(%rip), %rdx    # 0x5dcb97
leaq -0x28(%rbp), %rdi
callq 0x405d00
jmp 0x4202c7
jmp 0x4202fe
leaq -0x82(%rbp), %rdi
movq %rdi, -0x258(%rbp)
callq 0x435b90
movq -0x258(%rbp), %rdx
movb $0x1, -0x83(%rbp)
leaq 0x1e06b1(%rip), %rsi    # 0x6009a2
leaq -0x28(%rbp), %rdi
callq 0x407e60
jmp 0x4202fc
jmp 0x4202fe
movq -0x250(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x4b05e0
movq %rax, -0x260(%rbp)
jmp 0x420317
movq -0x260(%rbp), %rdi
leaq 0x1badab(%rip), %rsi    # 0x5db0d0
callq 0x49dd60
movq %rax, -0x268(%rbp)
jmp 0x420333
movq -0x268(%rbp), %rdi
movq $0x49d640, %rsi         # imm = 0x49D640
callq 0x49c850
jmp 0x420348
leaq -0x28(%rbp), %rdi
callq 0x4adc60
testb $0x1, -0x83(%rbp)
jne 0x42035c
jmp 0x420368
leaq -0x82(%rbp), %rdi
callq 0x435bb0
testb $0x1, -0x81(%rbp)
jne 0x420373
jmp 0x42037c
leaq -0x80(%rbp), %rdi
callq 0x405650
jmp 0x42037e
movq -0x248(%rbp), %rsi
movq $0x0, -0xe8(%rbp)
movq $0x21, -0xf0(%rbp)
movq -0xf0(%rbp), %rdx
movq -0xe8(%rbp), %rcx
xorl %eax, %eax
movl %eax, %r8d
leaq -0xe0(%rbp), %rdi
callq 0x410a10
jmp 0x4203bc
movq -0x248(%rbp), %rdi
movq $0x667ac8, %rsi         # imm = 0x667AC8
leaq -0xe0(%rbp), %rdx
callq 0x4126f0
jmp 0x4203d8
leaq -0xe0(%rbp), %rdi
callq 0x407e40
movq -0x248(%rbp), %rsi
movq $0x0, -0x150(%rbp)
movq $0x29, -0x158(%rbp)
movq -0x158(%rbp), %rdx
movq -0x150(%rbp), %rcx
xorl %eax, %eax
movl %eax, %r8d
leaq -0x148(%rbp), %rdi
callq 0x410a10
jmp 0x420422
movq -0x248(%rbp), %rdi
movq $0x667b20, %rsi         # imm = 0x667B20
leaq -0x148(%rbp), %rdx
callq 0x4126f0
jmp 0x42043e
leaq -0x148(%rbp), %rdi
callq 0x407e40
movq -0x248(%rbp), %rsi
movq $0x0, -0x1b8(%rbp)
movq $0x39, -0x1c0(%rbp)
movq -0x1c0(%rbp), %rdx
movq -0x1b8(%rbp), %rcx
xorl %eax, %eax
movl %eax, %r8d
leaq -0x1b0(%rbp), %rdi
callq 0x410a10
jmp 0x420488
movq -0x248(%rbp), %rdi
movq $0x667c28, %rsi         # imm = 0x667C28
leaq -0x1b0(%rbp), %rdx
callq 0x4126f0
jmp 0x4204a4
leaq -0x1b0(%rbp), %rdi
callq 0x407e40
movq $0x668c60, %rdi         # imm = 0x668C60
leaq 0x1babd3(%rip), %rsi    # 0x5db091
callq 0x49dd60
movq %rax, -0x270(%rbp)
jmp 0x4204cc
movb $0x0, -0x239(%rbp)
movb $0x0, -0x23b(%rbp)
movb $0x1, %al
testb $0x1, %al
jne 0x4204e2
jmp 0x420520
movq -0x248(%rbp), %rsi
movq (%rsi), %rax
movq 0x8(%rax), %rax
leaq -0x238(%rbp), %rdi
callq *%rax
jmp 0x4204fb
movb $0x1, -0x239(%rbp)
leaq -0x200(%rbp), %rsi
leaq 0x1bc6de(%rip), %rdx    # 0x5dcbee
leaq -0x1e0(%rbp), %rdi
callq 0x405d00
jmp 0x42051e
jmp 0x420558
leaq -0x23a(%rbp), %rdi
movq %rdi, -0x278(%rbp)
callq 0x435b90
movq -0x278(%rbp), %rdx
movb $0x1, -0x23b(%rbp)
leaq 0x1e045a(%rip), %rsi    # 0x6009a2
leaq -0x1e0(%rbp), %rdi
callq 0x407e60
jmp 0x420556
jmp 0x420558
movq -0x270(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x4b05e0
movq %rax, -0x280(%rbp)
jmp 0x420574
movq -0x280(%rbp), %rdi
leaq 0x1bab4e(%rip), %rsi    # 0x5db0d0
callq 0x49dd60
movq %rax, -0x288(%rbp)
jmp 0x420590
movq -0x288(%rbp), %rdi
movq $0x49d640, %rsi         # imm = 0x49D640
callq 0x49c850
jmp 0x4205a5
leaq -0x1e0(%rbp), %rdi
callq 0x4adc60
testb $0x1, -0x23b(%rbp)
jne 0x4205bc
jmp 0x4205c8
leaq -0x23a(%rbp), %rdi
callq 0x435bb0
testb $0x1, -0x239(%rbp)
jne 0x4205d3
jmp 0x4205df
leaq -0x238(%rbp), %rdi
callq 0x405650
movq -0x248(%rbp), %rdi
addq $0x110, %rdi            # imm = 0x110
callq 0x421510
movq -0x248(%rbp), %rdi
addq $0x88, %rdi
callq 0x422bc0
movq -0x248(%rbp), %rdi
callq 0x416e30
addq $0x290, %rsp            # imm = 0x290
popq %rbp
retq
movq %rax, %rdi
callq 0x405b40
nopw %cs:(%rax,%rax)