// File: enbock[P]Warp10Server/ulib/src/Network/Manager.cpp
// Function: u::Network::Manager::onCloseRequest(u::Object*)
void Manager::onCloseRequest(Object *arg)
{
	trace(className() + ": Start close procedure.");
	arg->destroy();
	lock();
	if(_isClosing == false) {
		uint64 i, length = _listener.length();
		Event close(Event::CLOSE);
		for (i = 0; i < length; i++) {
			_listener[i]->dispatchEvent(&close);
		}
	}
	_isClosing = true;
	unlock();
	checkForCloseState();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1a0, %rsp            # imm = 0x1A0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x178(%rbp)
movq $0x668c60, %rdi         # imm = 0x668C60
leaq 0x1ba0f5(%rip), %rsi    # 0x5db091
callq 0x49dd60
movq %rax, -0x170(%rbp)
movb $0x0, -0x89(%rbp)
movb $0x0, -0x9e(%rbp)
movb $0x1, %al
testb $0x1, %al
jne 0x420fbe
jmp 0x420ff4
movq -0x178(%rbp), %rsi
movq (%rsi), %rax
movq 0x8(%rax), %rax
leaq -0x88(%rbp), %rdi
callq *%rax
movb $0x1, -0x89(%rbp)
leaq -0x50(%rbp), %rsi
leaq 0x1bbcb7(%rip), %rdx    # 0x5dcc9e
leaq -0x30(%rbp), %rdi
callq 0x405d00
jmp 0x420ff2
jmp 0x421029
leaq -0x9d(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x435b90
movq -0x180(%rbp), %rdx
movb $0x1, -0x9e(%rbp)
leaq 0x1df986(%rip), %rsi    # 0x6009a2
leaq -0x30(%rbp), %rdi
callq 0x407e60
jmp 0x421027
jmp 0x421029
movq -0x170(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4b05e0
movq %rax, -0x188(%rbp)
jmp 0x421042
movq -0x188(%rbp), %rdi
leaq 0x1ba080(%rip), %rsi    # 0x5db0d0
callq 0x49dd60
movq %rax, -0x190(%rbp)
jmp 0x42105e
movq -0x190(%rbp), %rdi
movq $0x49d640, %rsi         # imm = 0x49D640
callq 0x49c850
jmp 0x421073
leaq -0x30(%rbp), %rdi
callq 0x4adc60
testb $0x1, -0x9e(%rbp)
jne 0x421087
jmp 0x421093
leaq -0x9d(%rbp), %rdi
callq 0x435bb0
testb $0x1, -0x89(%rbp)
jne 0x42109e
jmp 0x4210aa
leaq -0x88(%rbp), %rdi
callq 0x405650
movq -0x10(%rbp), %rdi
movq (%rdi), %rax
callq *(%rax)
movq -0x178(%rbp), %rdi
callq 0x417410
movq -0x178(%rbp), %rax
movb 0x160(%rax), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x421215
movq -0x178(%rbp), %rdi
addq $0x110, %rdi            # imm = 0x110
callq 0x421620
movq %rax, -0xb0(%rbp)
leaq -0x168(%rbp), %rdi
movq $0x667c28, %rsi         # imm = 0x667C28
callq 0x41fd30
movq $0x0, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
cmpq -0xb0(%rbp), %rax
jae 0x421209
movq -0x178(%rbp), %rdi
addq $0x110, %rdi            # imm = 0x110
movq -0xa8(%rbp), %rsi
callq 0x421640
movq %rax, -0x198(%rbp)
jmp 0x421149
movq -0x198(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x412820
jmp 0x42115e
jmp 0x421160
movq -0xa8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xa8(%rbp)
jmp 0x421112
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x4211d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
jmp 0x4211b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4adc60
testb $0x1, -0x9e(%rbp)
jne 0x4211c2
jmp 0x4211ce
leaq -0x9d(%rbp), %rdi
callq 0x435bb0
jmp 0x4211d0
testb $0x1, -0x89(%rbp)
jne 0x4211db
jmp 0x4211e7
leaq -0x88(%rbp), %rdi
callq 0x405650
jmp 0x42123e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x98(%rbp)
movl %eax, -0x9c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x41fee0
jmp 0x42123e
leaq -0x168(%rbp), %rdi
callq 0x41fee0
movq -0x178(%rbp), %rdi
movb $0x1, 0x160(%rdi)
callq 0x417380
movq -0x178(%rbp), %rdi
movq (%rdi), %rax
callq *0x40(%rax)
addq $0x1a0, %rsp            # imm = 0x1A0
popq %rbp
retq
movq -0x98(%rbp), %rdi
callq 0x4deb40
nopw (%rax,%rax)