140002a4a:	48 8b 5f 30          	mov    0x30(%rdi),%rbx
140002a4e:	48 85 db             	test   %rbx,%rbx
140002a51:	74 20                	je     0x140002a73
140002a53:	48 8b cb             	mov    %rbx,%rcx
140002a56:	e8 15 ff ff ff       	call   0x140002970
140002a5b:	90                   	nop
140002a5c:	48 8b cb             	mov    %rbx,%rcx
140002a5f:	e8 0c ff ff ff       	call   0x140002970
140002a64:	90                   	nop
140002a65:	ba 30 00 00 00       	mov    $0x30,%edx
140002a6a:	48 8b cb             	mov    %rbx,%rcx
140002a6d:	e8 06 4f 00 00       	call   0x140007978
140002a72:	90                   	nop
140002a73:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140002a77:	48 83 ea 18          	sub    $0x18,%rdx
140002a7b:	83 c8 ff             	or     $0xffffffff,%eax
140002a7e:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140002a83:	83 e8 01             	sub    $0x1,%eax
140002a86:	7f 11                	jg     0x140002a99
140002a88:	48 8b 0a             	mov    (%rdx),%rcx
140002a8b:	48 8b 01             	mov    (%rcx),%rax
140002a8e:	48 8b 40 08          	mov    0x8(%rax),%rax
140002a92:	ff 15 38 7c 00 00    	call   *0x7c38(%rip)        # 0x14000a6d0
140002a98:	90                   	nop
140002a99:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140002a9e:	48 83 c4 20          	add    $0x20,%rsp
140002aa2:	5f                   	pop    %rdi
140002aa3:	c3                   	ret
140002aa4:	cc                   	int3
140002aa5:	cc                   	int3
140002aa6:	cc                   	int3
140002aa7:	cc                   	int3
140002aa8:	cc                   	int3
140002aa9:	cc                   	int3
140002aaa:	cc                   	int3
140002aab:	cc                   	int3
140002aac:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140002ab1:	55                   	push   %rbp
140002ab2:	56                   	push   %rsi
140002ab3:	57                   	push   %rdi
140002ab4:	41 56                	push   %r14
140002ab6:	41 57                	push   %r15
140002ab8:	48 83 ec 70          	sub    $0x70,%rsp
140002abc:	48 8b 05 2d b7 00 00 	mov    0xb72d(%rip),%rax        # 0x14000e1f0
140002ac3:	48 33 c4             	xor    %rsp,%rax
140002ac6:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140002acb:	48 8b e9             	mov    %rcx,%rbp
140002ace:	45 33 ff             	xor    %r15d,%r15d
140002ad1:	49 8b c8             	mov    %r8,%rcx
140002ad4:	41 8b df             	mov    %r15d,%ebx
140002ad7:	49 8b f0             	mov    %r8,%rsi
140002ada:	44 8b f2             	mov    %edx,%r14d
140002add:	e8 a2 04 00 00       	call   0x140002f84
140002ae2:	45 8b ce             	mov    %r14d,%r9d
140002ae5:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
140002aea:	4c 8b c5             	mov    %rbp,%r8
140002aed:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140002af2:	41 8d 57 08          	lea    0x8(%r15),%edx
140002af6:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140002afb:	48 ff 15 0e 79 00 00 	rex.W call *0x790e(%rip)        # 0x14000a410
140002b02:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002b07:	48 63 f8             	movslq %eax,%rdi
140002b0a:	85 c0                	test   %eax,%eax
140002b0c:	75 22                	jne    0x140002b30
140002b0e:	48 ff 15 8b 77 00 00 	rex.W call *0x778b(%rip)        # 0x14000a2a0
140002b15:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002b1a:	0f b7 d8             	movzwl %ax,%ebx
140002b1d:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
140002b23:	85 c0                	test   %eax,%eax
140002b25:	0f 4e d8             	cmovle %eax,%ebx
140002b28:	85 db                	test   %ebx,%ebx
140002b2a:	0f 88 9b 00 00 00    	js     0x140002bcb
140002b30:	48 8b 16             	mov    (%rsi),%rdx
140002b33:	b9 01 00 00 00       	mov    $0x1,%ecx
140002b38:	8b 42 f4             	mov    -0xc(%rdx),%eax
140002b3b:	2b 4a f8             	sub    -0x8(%rdx),%ecx
140002b3e:	2b c7                	sub    %edi,%eax
140002b40:	0b c8                	or     %eax,%ecx
140002b42:	7d 0d                	jge    0x140002b51
140002b44:	8b d7                	mov    %edi,%edx
140002b46:	48 8b ce             	mov    %rsi,%rcx
140002b49:	e8 d2 f8 ff ff       	call   0x140002420
140002b4e:	48 8b 16             	mov    (%rsi),%rdx
140002b51:	85 ff                	test   %edi,%edi
140002b53:	0f 88 e7 00 00 00    	js     0x140002c40
140002b59:	3b 7a f4             	cmp    -0xc(%rdx),%edi
140002b5c:	0f 8f de 00 00 00    	jg     0x140002c40
140002b62:	89 7a f0             	mov    %edi,-0x10(%rdx)
140002b65:	45 8b ce             	mov    %r14d,%r9d
140002b68:	48 8b 06             	mov    (%rsi),%rax
140002b6b:	4c 8b c5             	mov    %rbp,%r8
140002b6e:	89 7c 24 28          	mov    %edi,0x28(%rsp)
140002b72:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140002b77:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140002b7c:	ba 08 00 00 00       	mov    $0x8,%edx
140002b81:	66 44 89 3c 78       	mov    %r15w,(%rax,%rdi,2)
140002b86:	48 ff 15 83 78 00 00 	rex.W call *0x7883(%rip)        # 0x14000a410
140002b8d:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002b92:	85 c0                	test   %eax,%eax
140002b94:	75 1a                	jne    0x140002bb0
140002b96:	48 ff 15 03 77 00 00 	rex.W call *0x7703(%rip)        # 0x14000a2a0
140002b9d:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002ba2:	0f b7 d8             	movzwl %ax,%ebx
140002ba5:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
140002bab:	85 c0                	test   %eax,%eax
140002bad:	0f 4e d8             	cmovle %eax,%ebx
140002bb0:	48 8b 06             	mov    (%rsi),%rax
140002bb3:	3b 78 f4             	cmp    -0xc(%rax),%edi
140002bb6:	0f 8f 84 00 00 00    	jg     0x140002c40
140002bbc:	89 78 f0             	mov    %edi,-0x10(%rax)
140002bbf:	48 8b 06             	mov    (%rsi),%rax
140002bc2:	66 44 89 3c 78       	mov    %r15w,(%rax,%rdi,2)
140002bc7:	85 db                	test   %ebx,%ebx
140002bc9:	79 51                	jns    0x140002c1c
140002bcb:	f6 05 ee bc 00 00 02 	testb  $0x2,0xbcee(%rip)        # 0x14000e8c0
140002bd2:	74 48                	je     0x140002c1c
140002bd4:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140002bd9:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
140002bdd:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140002be2:	48 8d 15 07 7e 00 00 	lea    0x7e07(%rip),%rdx        # 0x14000a9f0
140002be9:	48 8d 05 08 81 00 00 	lea    0x8108(%rip),%rax        # 0x14000acf8
140002bf0:	48 c7 44 24 50 04 00 	movq   $0x4,0x50(%rsp)
140002bf7:	00 00
140002bf9:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140002bfe:	41 b9 03 00 00 00    	mov    $0x3,%r9d
140002c04:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
140002c09:	48 c7 44 24 60 1b 00 	movq   $0x1b,0x60(%rsp)
140002c10:	00 00
140002c12:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140002c17:	e8 00 e7 ff ff       	call   0x14000131c
140002c1c:	8b c3                	mov    %ebx,%eax
140002c1e:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
140002c23:	48 33 cc             	xor    %rsp,%rcx
140002c26:	e8 25 4d 00 00       	call   0x140007950
140002c2b:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
140002c32:	00
140002c33:	48 83 c4 70          	add    $0x70,%rsp
140002c37:	41 5f                	pop    %r15
140002c39:	41 5e                	pop    %r14
140002c3b:	5f                   	pop    %rdi
140002c3c:	5e                   	pop    %rsi
140002c3d:	5d                   	pop    %rbp
140002c3e:	c3                   	ret
140002c3f:	cc                   	int3
140002c40:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140002c45:	e8 82 eb ff ff       	call   0x1400017cc
140002c4a:	cc                   	int3
140002c4b:	cc                   	int3
140002c4c:	cc                   	int3
140002c4d:	cc                   	int3
140002c4e:	cc                   	int3
140002c4f:	cc                   	int3
140002c50:	cc                   	int3
140002c51:	cc                   	int3
140002c52:	cc                   	int3
140002c53:	cc                   	int3
140002c54:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140002c59:	55                   	push   %rbp
140002c5a:	56                   	push   %rsi
140002c5b:	57                   	push   %rdi
140002c5c:	41 54                	push   %r12
140002c5e:	41 55                	push   %r13
140002c60:	41 56                	push   %r14
140002c62:	41 57                	push   %r15
140002c64:	48 8b ec             	mov    %rsp,%rbp
140002c67:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
140002c6e:	48 8b 05 7b b5 00 00 	mov    0xb57b(%rip),%rax        # 0x14000e1f0
140002c75:	48 33 c4             	xor    %rsp,%rax
140002c78:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140002c7c:	4c 8b 01             	mov    (%rcx),%r8
140002c7f:	45 33 ed             	xor    %r13d,%r13d
140002c82:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
140002c87:	48 8b f2             	mov    %rdx,%rsi
140002c8a:	4c 8b f1             	mov    %rcx,%r14
140002c8d:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140002c92:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
140002c97:	33 d2                	xor    %edx,%edx
140002c99:	45 8b 78 f0          	mov    -0x10(%r8),%r15d
140002c9d:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140002ca2:	45 8b cf             	mov    %r15d,%r9d
140002ca5:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140002caa:	41 8b dd             	mov    %r13d,%ebx
140002cad:	48 ff 15 54 77 00 00 	rex.W call *0x7754(%rip)        # 0x14000a408
140002cb4:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002cb9:	44 8b e0             	mov    %eax,%r12d
140002cbc:	8b f8                	mov    %eax,%edi
140002cbe:	85 c0                	test   %eax,%eax
140002cc0:	75 69                	jne    0x140002d2b
140002cc2:	48 ff 15 d7 75 00 00 	rex.W call *0x75d7(%rip)        # 0x14000a2a0
140002cc9:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002cce:	0f b7 d8             	movzwl %ax,%ebx
140002cd1:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
140002cd7:	41 8b fd             	mov    %r13d,%edi
140002cda:	85 c0                	test   %eax,%eax
140002cdc:	0f 4e d8             	cmovle %eax,%ebx
140002cdf:	85 db                	test   %ebx,%ebx
140002ce1:	79 50                	jns    0x140002d33
140002ce3:	f6 05 d6 bb 00 00 02 	testb  $0x2,0xbbd6(%rip)        # 0x14000e8c0
140002cea:	74 3f                	je     0x140002d2b
140002cec:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
140002cf0:	89 5d c0             	mov    %ebx,-0x40(%rbp)
140002cf3:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
140002cf7:	45 8d 4d 03          	lea    0x3(%r13),%r9d
140002cfb:	48 8d 05 36 80 00 00 	lea    0x8036(%rip),%rax        # 0x14000ad38
140002d02:	48 c7 45 e0 04 00 00 	movq   $0x4,-0x20(%rbp)
140002d09:	00
140002d0a:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
140002d0e:	48 8d 15 db 7c 00 00 	lea    0x7cdb(%rip),%rdx        # 0x14000a9f0
140002d15:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
140002d19:	48 c7 45 f0 1e 00 00 	movq   $0x1e,-0x10(%rbp)
140002d20:	00
140002d21:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140002d26:	e8 f1 e5 ff ff       	call   0x14000131c
140002d2b:	85 db                	test   %ebx,%ebx
140002d2d:	0f 88 b6 00 00 00    	js     0x140002de9
140002d33:	48 85 ff             	test   %rdi,%rdi
140002d36:	75 24                	jne    0x140002d5c
140002d38:	48 8b 0e             	mov    (%rsi),%rcx
140002d3b:	48 85 c9             	test   %rcx,%rcx
140002d3e:	74 13                	je     0x140002d53
140002d40:	4c 39 6e 08          	cmp    %r13,0x8(%rsi)
140002d44:	48 ff 15 dd 77 00 00 	rex.W call *0x77dd(%rip)        # 0x14000a528
140002d4b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002d50:	4c 89 2e             	mov    %r13,(%rsi)
140002d53:	4c 89 6e 10          	mov    %r13,0x10(%rsi)
140002d57:	49 8b fd             	mov    %r13,%rdi
140002d5a:	eb 22                	jmp    0x140002d7e
140002d5c:	48 3b 7e 10          	cmp    0x10(%rsi),%rdi
140002d60:	77 08                	ja     0x140002d6a
140002d62:	48 3b 7e 08          	cmp    0x8(%rsi),%rdi
140002d66:	76 16                	jbe    0x140002d7e
140002d68:	eb 0f                	jmp    0x140002d79
140002d6a:	48 8b d7             	mov    %rdi,%rdx
140002d6d:	48 8b ce             	mov    %rsi,%rcx
140002d70:	e8 fb 00 00 00       	call   0x140002e70
140002d75:	84 c0                	test   %al,%al
140002d77:	74 0b                	je     0x140002d84
140002d79:	e8 f6 01 00 00       	call   0x140002f74
140002d7e:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140002d82:	eb 05                	jmp    0x140002d89
140002d84:	bb 0e 00 07 80       	mov    $0x8007000e,%ebx
140002d89:	85 db                	test   %ebx,%ebx
140002d8b:	78 5c                	js     0x140002de9
140002d8d:	4c 39 6e 08          	cmp    %r13,0x8(%rsi)
140002d91:	0f 86 c6 00 00 00    	jbe    0x140002e5d
140002d97:	48 8b 06             	mov    (%rsi),%rax
140002d9a:	45 8b cf             	mov    %r15d,%r9d
140002d9d:	4d 8b 06             	mov    (%r14),%r8
140002da0:	33 d2                	xor    %edx,%edx
140002da2:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
140002da7:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
140002dac:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
140002db1:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
140002db6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140002dbb:	48 ff 15 46 76 00 00 	rex.W call *0x7646(%rip)        # 0x14000a408
140002dc2:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002dc7:	85 c0                	test   %eax,%eax
140002dc9:	75 1a                	jne    0x140002de5
140002dcb:	48 ff 15 ce 74 00 00 	rex.W call *0x74ce(%rip)        # 0x14000a2a0
140002dd2:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002dd7:	0f b7 d8             	movzwl %ax,%ebx
140002dda:	81 cb 00 00 07 80    	or     $0x80070000,%ebx
140002de0:	85 c0                	test   %eax,%eax
140002de2:	0f 4e d8             	cmovle %eax,%ebx
140002de5:	85 db                	test   %ebx,%ebx
140002de7:	79 4a                	jns    0x140002e33
140002de9:	f6 05 d0 ba 00 00 02 	testb  $0x2,0xbad0(%rip)        # 0x14000e8c0
140002df0:	74 41                	je     0x140002e33
140002df2:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
140002df6:	89 5d c0             	mov    %ebx,-0x40(%rbp)
140002df9:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
140002dfd:	48 8d 15 ec 7b 00 00 	lea    0x7bec(%rip),%rdx        # 0x14000a9f0
140002e04:	48 8d 05 0d 7f 00 00 	lea    0x7f0d(%rip),%rax        # 0x14000ad18
140002e0b:	48 c7 45 e0 04 00 00 	movq   $0x4,-0x20(%rbp)
140002e12:	00
140002e13:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
140002e17:	41 b9 03 00 00 00    	mov    $0x3,%r9d
140002e1d:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
140002e21:	48 c7 45 f0 1c 00 00 	movq   $0x1c,-0x10(%rbp)
140002e28:	00
140002e29:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140002e2e:	e8 e9 e4 ff ff       	call   0x14000131c
140002e33:	8b c3                	mov    %ebx,%eax
140002e35:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140002e39:	48 33 cc             	xor    %rsp,%rcx
140002e3c:	e8 0f 4b 00 00       	call   0x140007950
140002e41:	48 8b 9c 24 d0 00 00 	mov    0xd0(%rsp),%rbx
140002e48:	00
140002e49:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140002e50:	41 5f                	pop    %r15
140002e52:	41 5e                	pop    %r14
140002e54:	41 5d                	pop    %r13
140002e56:	41 5c                	pop    %r12
140002e58:	5f                   	pop    %rdi
140002e59:	5e                   	pop    %rsi
140002e5a:	5d                   	pop    %rbp
140002e5b:	c3                   	ret
140002e5c:	cc                   	int3
140002e5d:	b9 57 00 07 80       	mov    $0x80070057,%ecx
140002e62:	e8 65 e9 ff ff       	call   0x1400017cc
140002e67:	cc                   	int3
140002e68:	cc                   	int3
140002e69:	cc                   	int3
140002e6a:	cc                   	int3
140002e6b:	cc                   	int3
140002e6c:	cc                   	int3
140002e6d:	cc                   	int3
140002e6e:	cc                   	int3
140002e6f:	cc                   	int3
140002e70:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140002e75:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140002e7a:	57                   	push   %rdi
140002e7b:	48 83 ec 20          	sub    $0x20,%rsp
140002e7f:	48 8b fa             	mov    %rdx,%rdi
140002e82:	48 8b d9             	mov    %rcx,%rbx
140002e85:	48 8b 51 10          	mov    0x10(%rcx),%rdx
140002e89:	48 3b fa             	cmp    %rdx,%rdi
140002e8c:	0f 86 a4 00 00 00    	jbe    0x140002f36
140002e92:	48 83 3b 00          	cmpq   $0x0,(%rbx)
140002e96:	48 63 49 18          	movslq 0x18(%rcx),%rcx
140002e9a:	75 25                	jne    0x140002ec1
140002e9c:	48 3b cf             	cmp    %rdi,%rcx
140002e9f:	ba 01 00 00 00       	mov    $0x1,%edx
140002ea4:	48 0f 47 f9          	cmova  %rcx,%rdi
140002ea8:	48 8b cf             	mov    %rdi,%rcx
140002eab:	48 ff 15 66 76 00 00 	rex.W call *0x7666(%rip)        # 0x14000a518
140002eb2:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002eb7:	48 89 03             	mov    %rax,(%rbx)
140002eba:	48 85 c0             	test   %rax,%rax
140002ebd:	74 41                	je     0x140002f00
140002ebf:	eb 71                	jmp    0x140002f32
140002ec1:	48 85 c9             	test   %rcx,%rcx
140002ec4:	75 13                	jne    0x140002ed9
140002ec6:	48 8b ca             	mov    %rdx,%rcx
140002ec9:	48 8b c7             	mov    %rdi,%rax
140002ecc:	48 d1 e9             	shr    $1,%rcx
140002ecf:	48 2b c2             	sub    %rdx,%rax
140002ed2:	48 3b c1             	cmp    %rcx,%rax
140002ed5:	48 0f 47 c8          	cmova  %rax,%rcx
140002ed9:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140002edd:	ba 01 00 00 00       	mov    $0x1,%edx
140002ee2:	48 3b f8             	cmp    %rax,%rdi
140002ee5:	48 0f 42 f8          	cmovb  %rax,%rdi
140002ee9:	48 8b cf             	mov    %rdi,%rcx
140002eec:	48 ff 15 25 76 00 00 	rex.W call *0x7625(%rip)        # 0x14000a518
140002ef3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140002ef8:	48 8b f0             	mov    %rax,%rsi
140002efb:	48 85 c0             	test   %rax,%rax
140002efe:	75 04                	jne    0x140002f04
140002f00:	32 c0                	xor    %al,%al