140004dab:	74 0e                	je     0x140004dbb
140004dad:	48 83 c0 18          	add    $0x18,%rax
140004db1:	48 89 03             	mov    %rax,(%rbx)
140004db4:	48 83 c4 30          	add    $0x30,%rsp
140004db8:	5b                   	pop    %rbx
140004db9:	c3                   	ret
140004dba:	cc                   	int3
140004dbb:	e8 10 02 00 00       	call   0x140004fd0
140004dc0:	cc                   	int3
140004dc1:	cc                   	int3
140004dc2:	cc                   	int3
140004dc3:	cc                   	int3
140004dc4:	cc                   	int3
140004dc5:	cc                   	int3
140004dc6:	cc                   	int3
140004dc7:	cc                   	int3
140004dc8:	48 83 ec 28          	sub    $0x28,%rsp
140004dcc:	48 8b 01             	mov    (%rcx),%rax
140004dcf:	44 8b c2             	mov    %edx,%r8d
140004dd2:	4c 8b c9             	mov    %rcx,%r9
140004dd5:	39 50 f0             	cmp    %edx,-0x10(%rax)
140004dd8:	44 0f 4f 40 f0       	cmovg  -0x10(%rax),%r8d
140004ddd:	83 78 f8 01          	cmpl   $0x1,-0x8(%rax)
140004de1:	7e 0c                	jle    0x140004def
140004de3:	41 8b d0             	mov    %r8d,%edx
140004de6:	48 83 c4 28          	add    $0x28,%rsp
140004dea:	e9 bd fe ff ff       	jmp    0x140004cac
140004def:	8b 48 f4             	mov    -0xc(%rax),%ecx
140004df2:	41 3b c8             	cmp    %r8d,%ecx
140004df5:	7d 2a                	jge    0x140004e21
140004df7:	81 f9 00 00 00 40    	cmp    $0x40000000,%ecx
140004dfd:	7e 07                	jle    0x140004e06
140004dff:	b8 00 00 10 00       	mov    $0x100000,%eax
140004e04:	eb 07                	jmp    0x140004e0d
140004e06:	8b c1                	mov    %ecx,%eax
140004e08:	99                   	cltd
140004e09:	2b c2                	sub    %edx,%eax
140004e0b:	d1 f8                	sar    $1,%eax
140004e0d:	03 c1                	add    %ecx,%eax
140004e0f:	49 8b c9             	mov    %r9,%rcx
140004e12:	41 3b c0             	cmp    %r8d,%eax
140004e15:	44 0f 4d c0          	cmovge %eax,%r8d
140004e19:	41 8b d0             	mov    %r8d,%edx
140004e1c:	e8 53 ff ff ff       	call   0x140004d74
140004e21:	48 83 c4 28          	add    $0x28,%rsp
140004e25:	c3                   	ret
140004e26:	cc                   	int3
140004e27:	cc                   	int3
140004e28:	cc                   	int3
140004e29:	cc                   	int3
140004e2a:	cc                   	int3
140004e2b:	cc                   	int3
140004e2c:	cc                   	int3
140004e2d:	cc                   	int3
140004e2e:	cc                   	int3
140004e2f:	cc                   	int3
140004e30:	48 8b c4             	mov    %rsp,%rax
140004e33:	48 89 58 08          	mov    %rbx,0x8(%rax)
140004e37:	48 89 68 10          	mov    %rbp,0x10(%rax)
140004e3b:	48 89 70 18          	mov    %rsi,0x18(%rax)
140004e3f:	48 89 78 20          	mov    %rdi,0x20(%rax)
140004e43:	41 54                	push   %r12
140004e45:	41 56                	push   %r14
140004e47:	41 57                	push   %r15
140004e49:	48 83 ec 20          	sub    $0x20,%rsp
140004e4d:	45 33 e4             	xor    %r12d,%r12d
140004e50:	49 63 d8             	movslq %r8d,%rbx
140004e53:	4c 8b f2             	mov    %rdx,%r14
140004e56:	48 8b f9             	mov    %rcx,%rdi
140004e59:	45 85 c0             	test   %r8d,%r8d
140004e5c:	75 25                	jne    0x140004e83
140004e5e:	e8 c5 fd ff ff       	call   0x140004c28
140004e63:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140004e68:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140004e6d:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140004e72:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140004e77:	48 83 c4 20          	add    $0x20,%rsp
140004e7b:	41 5f                	pop    %r15
140004e7d:	41 5e                	pop    %r14
140004e7f:	41 5c                	pop    %r12
140004e81:	c3                   	ret
140004e82:	cc                   	int3
140004e83:	4d 85 f6             	test   %r14,%r14
140004e86:	74 7f                	je     0x140004f07
140004e88:	4c 8b 11             	mov    (%rcx),%r10
140004e8b:	49 8b ee             	mov    %r14,%rbp
140004e8e:	49 2b ea             	sub    %r10,%rbp
140004e91:	b9 01 00 00 00       	mov    $0x1,%ecx
140004e96:	48 d1 fd             	sar    $1,%rbp
140004e99:	41 8b 42 f4          	mov    -0xc(%r10),%eax
140004e9d:	41 2b 4a f8          	sub    -0x8(%r10),%ecx
140004ea1:	2b c3                	sub    %ebx,%eax
140004ea3:	0b c8                	or     %eax,%ecx
140004ea5:	45 8b 7a f0          	mov    -0x10(%r10),%r15d
140004ea9:	7d 0d                	jge    0x140004eb8
140004eab:	8b d3                	mov    %ebx,%edx
140004ead:	48 8b cf             	mov    %rdi,%rcx
140004eb0:	e8 13 ff ff ff       	call   0x140004dc8
140004eb5:	4c 8b 17             	mov    (%rdi),%r10
140004eb8:	48 8d 34 1b          	lea    (%rbx,%rbx,1),%rsi
140004ebc:	49 8b ca             	mov    %r10,%rcx
140004ebf:	4c 8b ce             	mov    %rsi,%r9
140004ec2:	48 8b d6             	mov    %rsi,%rdx
140004ec5:	49 3b ef             	cmp    %r15,%rbp
140004ec8:	77 12                	ja     0x140004edc
140004eca:	4d 8d 04 6a          	lea    (%r10,%rbp,2),%r8
140004ece:	48 ff 15 a3 37 00 00 	rex.W call *0x37a3(%rip)        # 0x140008678
140004ed5:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004eda:	eb 0f                	jmp    0x140004eeb
140004edc:	4d 8b c6             	mov    %r14,%r8
140004edf:	48 ff 15 9a 37 00 00 	rex.W call *0x379a(%rip)        # 0x140008680
140004ee6:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004eeb:	85 db                	test   %ebx,%ebx
140004eed:	78 18                	js     0x140004f07
140004eef:	48 8b 07             	mov    (%rdi),%rax
140004ef2:	3b 58 f4             	cmp    -0xc(%rax),%ebx
140004ef5:	7f 10                	jg     0x140004f07
140004ef7:	89 58 f0             	mov    %ebx,-0x10(%rax)
140004efa:	48 8b 07             	mov    (%rdi),%rax
140004efd:	66 44 89 24 06       	mov    %r12w,(%rsi,%rax,1)
140004f02:	e9 5c ff ff ff       	jmp    0x140004e63
140004f07:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140004f0c:	e8 bb 01 00 00       	call   0x1400050cc
140004f11:	cc                   	int3
140004f12:	cc                   	int3
140004f13:	cc                   	int3
140004f14:	cc                   	int3
140004f15:	cc                   	int3
140004f16:	cc                   	int3
140004f17:	cc                   	int3
140004f18:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140004f1d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140004f22:	57                   	push   %rdi
140004f23:	48 83 ec 20          	sub    $0x20,%rsp
140004f27:	48 8b 12             	mov    (%rdx),%rdx
140004f2a:	48 8b f9             	mov    %rcx,%rdi
140004f2d:	48 8b 1f             	mov    (%rdi),%rbx
140004f30:	48 8d 4a e8          	lea    -0x18(%rdx),%rcx
140004f34:	48 83 eb 18          	sub    $0x18,%rbx
140004f38:	48 3b cb             	cmp    %rbx,%rcx
140004f3b:	74 4b                	je     0x140004f88
140004f3d:	83 7b 10 00          	cmpl   $0x0,0x10(%rbx)
140004f41:	7c 39                	jl     0x140004f7c
140004f43:	48 8b 03             	mov    (%rbx),%rax
140004f46:	48 39 01             	cmp    %rax,(%rcx)
140004f49:	75 31                	jne    0x140004f7c
140004f4b:	e8 98 00 00 00       	call   0x140004fe8
140004f50:	48 8b f0             	mov    %rax,%rsi
140004f53:	83 c9 ff             	or     $0xffffffff,%ecx
140004f56:	f0 0f c1 4b 10       	lock xadd %ecx,0x10(%rbx)
140004f5b:	83 e9 01             	sub    $0x1,%ecx
140004f5e:	7f 13                	jg     0x140004f73
140004f60:	48 8b 0b             	mov    (%rbx),%rcx
140004f63:	48 8b d3             	mov    %rbx,%rdx
140004f66:	4c 8b 01             	mov    (%rcx),%r8
140004f69:	49 8b 40 08          	mov    0x8(%r8),%rax
140004f6d:	ff 15 55 37 00 00    	call   *0x3755(%rip)        # 0x1400086c8
140004f73:	48 8d 46 18          	lea    0x18(%rsi),%rax
140004f77:	48 89 07             	mov    %rax,(%rdi)
140004f7a:	eb 0c                	jmp    0x140004f88
140004f7c:	44 8b 42 f0          	mov    -0x10(%rdx),%r8d
140004f80:	48 8b cf             	mov    %rdi,%rcx
140004f83:	e8 a8 fe ff ff       	call   0x140004e30
140004f88:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140004f8d:	48 8b c7             	mov    %rdi,%rax
140004f90:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140004f95:	48 83 c4 20          	add    $0x20,%rsp
140004f99:	5f                   	pop    %rdi
140004f9a:	c3                   	ret
140004f9b:	cc                   	int3
140004f9c:	cc                   	int3
140004f9d:	cc                   	int3
140004f9e:	cc                   	int3
140004f9f:	cc                   	int3
140004fa0:	cc                   	int3
140004fa1:	cc                   	int3
140004fa2:	cc                   	int3
140004fa3:	cc                   	int3
140004fa4:	48 83 ec 28          	sub    $0x28,%rsp
140004fa8:	48 ff 15 89 35 00 00 	rex.W call *0x3589(%rip)        # 0x140008538
140004faf:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004fb4:	8b c8                	mov    %eax,%ecx
140004fb6:	0f b7 c0             	movzwl %ax,%eax
140004fb9:	0d 00 00 07 80       	or     $0x80070000,%eax
140004fbe:	85 c9                	test   %ecx,%ecx
140004fc0:	0f 4e c1             	cmovle %ecx,%eax
140004fc3:	48 83 c4 28          	add    $0x28,%rsp
140004fc7:	c3                   	ret
140004fc8:	cc                   	int3
140004fc9:	cc                   	int3
140004fca:	cc                   	int3
140004fcb:	cc                   	int3
140004fcc:	cc                   	int3
140004fcd:	cc                   	int3
140004fce:	cc                   	int3
140004fcf:	cc                   	int3
140004fd0:	48 83 ec 28          	sub    $0x28,%rsp
140004fd4:	b9 0e 00 07 80       	mov    $0x8007000e,%ecx
140004fd9:	e8 ee 00 00 00       	call   0x1400050cc
140004fde:	cc                   	int3
140004fdf:	cc                   	int3
140004fe0:	cc                   	int3
140004fe1:	cc                   	int3
140004fe2:	cc                   	int3
140004fe3:	cc                   	int3
140004fe4:	cc                   	int3
140004fe5:	cc                   	int3
140004fe6:	cc                   	int3
140004fe7:	cc                   	int3
140004fe8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140004fed:	57                   	push   %rdi
140004fee:	48 83 ec 20          	sub    $0x20,%rsp
140004ff2:	48 8b d9             	mov    %rcx,%rbx
140004ff5:	48 8b 09             	mov    (%rcx),%rcx
140004ff8:	48 8b 01             	mov    (%rcx),%rax
140004ffb:	48 8b 40 20          	mov    0x20(%rax),%rax
140004fff:	ff 15 c3 36 00 00    	call   *0x36c3(%rip)        # 0x1400086c8
140005005:	83 7b 10 00          	cmpl   $0x0,0x10(%rbx)
140005009:	48 8b c8             	mov    %rax,%rcx
14000500c:	7c 0e                	jl     0x14000501c
14000500e:	48 3b 03             	cmp    (%rbx),%rax
140005011:	75 09                	jne    0x14000501c
140005013:	48 8b fb             	mov    %rbx,%rdi
140005016:	f0 ff 43 10          	lock incl 0x10(%rbx)
14000501a:	eb 45                	jmp    0x140005061
14000501c:	48 8b 00             	mov    (%rax),%rax
14000501f:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140005025:	8b 53 08             	mov    0x8(%rbx),%edx
140005028:	48 8b 00             	mov    (%rax),%rax
14000502b:	ff 15 97 36 00 00    	call   *0x3697(%rip)        # 0x1400086c8
140005031:	48 8b f8             	mov    %rax,%rdi
140005034:	48 85 c0             	test   %rax,%rax
140005037:	74 37                	je     0x140005070
140005039:	8b 43 08             	mov    0x8(%rbx),%eax
14000503c:	4c 8d 43 18          	lea    0x18(%rbx),%r8
140005040:	89 47 08             	mov    %eax,0x8(%rdi)
140005043:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140005047:	8b 43 08             	mov    0x8(%rbx),%eax
14000504a:	ff c0                	inc    %eax
14000504c:	48 63 d0             	movslq %eax,%rdx
14000504f:	48 03 d2             	add    %rdx,%rdx
140005052:	4c 8b ca             	mov    %rdx,%r9
140005055:	48 ff 15 24 36 00 00 	rex.W call *0x3624(%rip)        # 0x140008680
14000505c:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140005061:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140005066:	48 8b c7             	mov    %rdi,%rax
140005069:	48 83 c4 20          	add    $0x20,%rsp
14000506d:	5f                   	pop    %rdi
14000506e:	c3                   	ret
14000506f:	cc                   	int3
140005070:	e8 5b ff ff ff       	call   0x140004fd0
140005075:	cc                   	int3
140005076:	cc                   	int3
140005077:	cc                   	int3
140005078:	cc                   	int3
140005079:	cc                   	int3
14000507a:	cc                   	int3
14000507b:	cc                   	int3
14000507c:	48 83 ec 28          	sub    $0x28,%rsp
140005080:	48 8b 11             	mov    (%rcx),%rdx
140005083:	48 83 ea 18          	sub    $0x18,%rdx
140005087:	83 c8 ff             	or     $0xffffffff,%eax
14000508a:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
14000508f:	83 e8 01             	sub    $0x1,%eax
140005092:	7f 10                	jg     0x1400050a4
140005094:	48 8b 0a             	mov    (%rdx),%rcx
140005097:	48 8b 01             	mov    (%rcx),%rax
14000509a:	48 8b 40 08          	mov    0x8(%rax),%rax
14000509e:	ff 15 24 36 00 00    	call   *0x3624(%rip)        # 0x1400086c8
1400050a4:	48 83 c4 28          	add    $0x28,%rsp
1400050a8:	c3                   	ret
1400050a9:	cc                   	int3
1400050aa:	cc                   	int3
1400050ab:	cc                   	int3
1400050ac:	cc                   	int3
1400050ad:	cc                   	int3
1400050ae:	cc                   	int3
1400050af:	cc                   	int3
1400050b0:	45 33 c9             	xor    %r9d,%r9d
1400050b3:	45 33 c0             	xor    %r8d,%r8d
1400050b6:	41 8d 51 01          	lea    0x1(%r9),%edx
1400050ba:	48 ff 25 6f 34 00 00 	rex.W jmp *0x346f(%rip)        # 0x140008530
1400050c1:	cc                   	int3
1400050c2:	cc                   	int3
1400050c3:	cc                   	int3
1400050c4:	cc                   	int3
1400050c5:	cc                   	int3
1400050c6:	cc                   	int3
1400050c7:	cc                   	int3
1400050c8:	cc                   	int3
1400050c9:	cc                   	int3
1400050ca:	cc                   	int3
1400050cb:	cc                   	int3
1400050cc:	48 83 ec 28          	sub    $0x28,%rsp
1400050d0:	81 f9 0e 00 07 80    	cmp    $0x8007000e,%ecx
1400050d6:	b8 1d 00 00 c0       	mov    $0xc000001d,%eax
1400050db:	ba 17 00 00 c0       	mov    $0xc0000017,%edx
1400050e0:	0f 44 c2             	cmove  %edx,%eax
1400050e3:	8b c8                	mov    %eax,%ecx
1400050e5:	e8 c6 ff ff ff       	call   0x1400050b0
1400050ea:	cc                   	int3
1400050eb:	cc                   	int3
1400050ec:	cc                   	int3
1400050ed:	cc                   	int3
1400050ee:	cc                   	int3
1400050ef:	cc                   	int3
1400050f0:	cc                   	int3
1400050f1:	cc                   	int3
1400050f2:	cc                   	int3
1400050f3:	cc                   	int3
1400050f4:	cc                   	int3
1400050f5:	cc                   	int3
1400050f6:	cc                   	int3
1400050f7:	cc                   	int3
1400050f8:	cc                   	int3
1400050f9:	cc                   	int3
1400050fa:	cc                   	int3
1400050fb:	cc                   	int3
1400050fc:	cc                   	int3
1400050fd:	cc                   	int3
1400050fe:	cc                   	int3
1400050ff:	cc                   	int3
140005100:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140005105:	57                   	push   %rdi
140005106:	48 83 ec 20          	sub    $0x20,%rsp
14000510a:	48 8b f9             	mov    %rcx,%rdi
14000510d:	85 d2                	test   %edx,%edx
14000510f:	78 74                	js     0x140005185
140005111:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
140005116:	2b c2                	sub    %edx,%eax
140005118:	83 f8 01             	cmp    $0x1,%eax
14000511b:	7c 68                	jl     0x140005185
14000511d:	ff c2                	inc    %edx
14000511f:	8d 5a 07             	lea    0x7(%rdx),%ebx
140005122:	83 e3 f8             	and    $0xfffffff8,%ebx
140005125:	3b d3                	cmp    %ebx,%edx
140005127:	7f 5c                	jg     0x140005185
140005129:	49 63 c8             	movslq %r8d,%rcx
14000512c:	4c 63 c3             	movslq %ebx,%r8
14000512f:	85 db                	test   %ebx,%ebx
140005131:	75 05                	jne    0x140005138
140005133:	45 33 c0             	xor    %r8d,%r8d
140005136:	eb 18                	jmp    0x140005150
140005138:	33 d2                	xor    %edx,%edx
14000513a:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14000513e:	49 f7 f0             	div    %r8
140005141:	48 3b c1             	cmp    %rcx,%rax
140005144:	72 3f                	jb     0x140005185
140005146:	4c 0f af c1          	imul   %rcx,%r8
14000514a:	49 83 f8 e7          	cmp    $0xffffffffffffffe7,%r8