140039cf0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039cf5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140039cfa:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140039cff:	57                   	push   %rdi
140039d00:	48 83 ec 30          	sub    $0x30,%rsp
140039d04:	33 ed                	xor    %ebp,%ebp
140039d06:	48 8b f9             	mov    %rcx,%rdi
140039d09:	48 85 c9             	test   %rcx,%rcx
140039d0c:	74 38                	je     0x140039d46
140039d0e:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
140039d12:	48 ff c3             	inc    %rbx
140039d15:	66 39 2c 59          	cmp    %bp,(%rcx,%rbx,2)
140039d19:	75 f7                	jne    0x140039d12
140039d1b:	48 ff c3             	inc    %rbx
140039d1e:	48 8d 0c 1b          	lea    (%rbx,%rbx,1),%rcx
140039d22:	e8 d9 77 fc ff       	call   0x140001500
140039d27:	48 8b f0             	mov    %rax,%rsi
140039d2a:	48 85 c0             	test   %rax,%rax
140039d2d:	74 17                	je     0x140039d46
140039d2f:	4c 8b c7             	mov    %rdi,%r8
140039d32:	48 8b d3             	mov    %rbx,%rdx
140039d35:	48 8b c8             	mov    %rax,%rcx
140039d38:	e8 07 c5 fd ff       	call   0x140016244
140039d3d:	85 c0                	test   %eax,%eax
140039d3f:	75 1c                	jne    0x140039d5d
140039d41:	48 8b c6             	mov    %rsi,%rax
140039d44:	eb 02                	jmp    0x140039d48
140039d46:	33 c0                	xor    %eax,%eax
140039d48:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140039d4d:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140039d52:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140039d57:	48 83 c4 30          	add    $0x30,%rsp
140039d5b:	5f                   	pop    %rdi
140039d5c:	c3                   	ret
140039d5d:	45 33 c9             	xor    %r9d,%r9d
140039d60:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140039d65:	45 33 c0             	xor    %r8d,%r8d
140039d68:	33 d2                	xor    %edx,%edx
140039d6a:	33 c9                	xor    %ecx,%ecx
140039d6c:	e8 33 52 fd ff       	call   0x14000efa4
140039d71:	cc                   	int3
140039d72:	cc                   	int3
140039d73:	cc                   	int3
140039d74:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140039d79:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140039d7e:	57                   	push   %rdi
140039d7f:	48 83 ec 20          	sub    $0x20,%rsp
140039d83:	49 8b d9             	mov    %r9,%rbx
140039d86:	49 8b f8             	mov    %r8,%rdi
140039d89:	8b 0a                	mov    (%rdx),%ecx
140039d8b:	e8 98 fa fe ff       	call   0x140029828
140039d90:	90                   	nop
140039d91:	48 8b cf             	mov    %rdi,%rcx
140039d94:	e8 1b 00 00 00       	call   0x140039db4
140039d99:	48 8b f8             	mov    %rax,%rdi
140039d9c:	8b 0b                	mov    (%rbx),%ecx
140039d9e:	e8 d9 fa fe ff       	call   0x14002987c
140039da3:	48 8b c7             	mov    %rdi,%rax
140039da6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140039dab:	48 83 c4 20          	add    $0x20,%rsp
140039daf:	5f                   	pop    %rdi
140039db0:	c3                   	ret
140039db1:	cc                   	int3
140039db2:	cc                   	int3
140039db3:	cc                   	int3
140039db4:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140039db9:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140039dbe:	55                   	push   %rbp
140039dbf:	57                   	push   %rdi
140039dc0:	41 55                	push   %r13
140039dc2:	41 56                	push   %r14
140039dc4:	41 57                	push   %r15
140039dc6:	48 8b ec             	mov    %rsp,%rbp
140039dc9:	48 83 ec 40          	sub    $0x40,%rsp
140039dcd:	48 8b 41 08          	mov    0x8(%rcx),%rax
140039dd1:	33 d2                	xor    %edx,%edx
140039dd3:	48 8b f9             	mov    %rcx,%rdi
140039dd6:	48 8b 30             	mov    (%rax),%rsi
140039dd9:	48 8b 01             	mov    (%rcx),%rax
140039ddc:	44 8b 30             	mov    (%rax),%r14d
140039ddf:	48 85 f6             	test   %rsi,%rsi
140039de2:	75 10                	jne    0x140039df4
140039de4:	41 8b ce             	mov    %r14d,%ecx
140039de7:	e8 e4 56 fe ff       	call   0x14001f4d0
140039dec:	4c 8b f0             	mov    %rax,%r14
140039def:	e9 a8 00 00 00       	jmp    0x140039e9c
140039df4:	4c 8b ce             	mov    %rsi,%r9
140039df7:	48 c7 44 24 20 ff ff 	movq   $0x7fffffff,0x20(%rsp)
140039dfe:	ff 7f
140039e00:	45 33 c0             	xor    %r8d,%r8d
140039e03:	48 8d 4d 38          	lea    0x38(%rbp),%rcx
140039e07:	e8 ac 8a ff ff       	call   0x1400328b8
140039e0c:	83 f8 16             	cmp    $0x16,%eax
140039e0f:	0f 84 0d 02 00 00    	je     0x14003a022
140039e15:	83 f8 22             	cmp    $0x22,%eax
140039e18:	0f 84 04 02 00 00    	je     0x14003a022
140039e1e:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140039e22:	ba 02 00 00 00       	mov    $0x2,%edx
140039e27:	e8 44 76 fc ff       	call   0x140001470
140039e2c:	33 c9                	xor    %ecx,%ecx
140039e2e:	48 8b d8             	mov    %rax,%rbx
140039e31:	48 85 c0             	test   %rax,%rax
140039e34:	75 20                	jne    0x140039e56
140039e36:	e8 a5 76 fc ff       	call   0x1400014e0
140039e3b:	33 c0                	xor    %eax,%eax
140039e3d:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
140039e42:	49 8b 5b 40          	mov    0x40(%r11),%rbx
140039e46:	49 8b 73 48          	mov    0x48(%r11),%rsi
140039e4a:	49 8b e3             	mov    %r11,%rsp
140039e4d:	41 5f                	pop    %r15
140039e4f:	41 5e                	pop    %r14
140039e51:	41 5d                	pop    %r13
140039e53:	5f                   	pop    %rdi
140039e54:	5d                   	pop    %rbp
140039e55:	c3                   	ret
140039e56:	4c 8b 45 38          	mov    0x38(%rbp),%r8
140039e5a:	4c 8b ce             	mov    %rsi,%r9
140039e5d:	48 83 4c 24 20 ff    	orq    $0xffffffffffffffff,0x20(%rsp)
140039e63:	48 8b d3             	mov    %rbx,%rdx
140039e66:	e8 4d 8a ff ff       	call   0x1400328b8
140039e6b:	85 c0                	test   %eax,%eax
140039e6d:	74 17                	je     0x140039e86
140039e6f:	83 f8 16             	cmp    $0x16,%eax
140039e72:	0f 84 aa 01 00 00    	je     0x14003a022
140039e78:	83 f8 22             	cmp    $0x22,%eax
140039e7b:	0f 84 a1 01 00 00    	je     0x14003a022
140039e81:	48 8b cb             	mov    %rbx,%rcx
140039e84:	eb b0                	jmp    0x140039e36
140039e86:	48 8b d3             	mov    %rbx,%rdx
140039e89:	41 8b ce             	mov    %r14d,%ecx
140039e8c:	e8 3f 56 fe ff       	call   0x14001f4d0
140039e91:	48 8b cb             	mov    %rbx,%rcx
140039e94:	4c 8b f0             	mov    %rax,%r14
140039e97:	e8 44 76 fc ff       	call   0x1400014e0
140039e9c:	4d 85 f6             	test   %r14,%r14
140039e9f:	74 9a                	je     0x140039e3b
140039ea1:	e8 02 6e fe ff       	call   0x140020ca8
140039ea6:	4c 8b e8             	mov    %rax,%r13
140039ea9:	4d 8b ce             	mov    %r14,%r9
140039eac:	45 33 c0             	xor    %r8d,%r8d
140039eaf:	33 d2                	xor    %edx,%edx
140039eb1:	48 8b 88 90 00 00 00 	mov    0x90(%rax),%rcx
140039eb8:	48 89 4d f0          	mov    %rcx,-0x10(%rbp)
140039ebc:	48 8b 88 88 00 00 00 	mov    0x88(%rax),%rcx
140039ec3:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
140039ec7:	48 83 65 30 00       	andq   $0x0,0x30(%rbp)
140039ecc:	48 89 4d f8          	mov    %rcx,-0x8(%rbp)
140039ed0:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
140039ed4:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140039ed9:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140039edf:	e8 0c 06 00 00       	call   0x14003a4f0
140039ee4:	85 c0                	test   %eax,%eax
140039ee6:	74 17                	je     0x140039eff
140039ee8:	83 f8 16             	cmp    $0x16,%eax
140039eeb:	0f 84 47 01 00 00    	je     0x14003a038
140039ef1:	83 f8 22             	cmp    $0x22,%eax
140039ef4:	0f 84 3e 01 00 00    	je     0x14003a038
140039efa:	e9 3c ff ff ff       	jmp    0x140039e3b
140039eff:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140039f03:	48 83 c1 04          	add    $0x4,%rcx
140039f07:	e8 f4 75 fc ff       	call   0x140001500
140039f0c:	48 8b f0             	mov    %rax,%rsi
140039f0f:	48 85 c0             	test   %rax,%rax
140039f12:	0f 84 23 ff ff ff    	je     0x140039e3b
140039f18:	4c 8b 45 30          	mov    0x30(%rbp),%r8
140039f1c:	4c 8d 78 04          	lea    0x4(%rax),%r15
140039f20:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
140039f24:	4d 8b ce             	mov    %r14,%r9
140039f27:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140039f2c:	49 8b d7             	mov    %r15,%rdx
140039f2f:	48 83 4c 24 20 ff    	orq    $0xffffffffffffffff,0x20(%rsp)
140039f35:	33 c9                	xor    %ecx,%ecx
140039f37:	e8 b4 05 00 00       	call   0x14003a4f0
140039f3c:	85 c0                	test   %eax,%eax
140039f3e:	74 1a                	je     0x140039f5a
140039f40:	83 f8 16             	cmp    $0x16,%eax
140039f43:	0f 84 ef 00 00 00    	je     0x14003a038
140039f49:	83 f8 22             	cmp    $0x22,%eax
140039f4c:	0f 84 e6 00 00 00    	je     0x14003a038
140039f52:	48 8b ce             	mov    %rsi,%rcx
140039f55:	e9 dc fe ff ff       	jmp    0x140039e36
140039f5a:	48 8b 07             	mov    (%rdi),%rax
140039f5d:	48 8b 5d f0          	mov    -0x10(%rbp),%rbx
140039f61:	48 63 08             	movslq (%rax),%rcx
140039f64:	48 c1 e1 05          	shl    $0x5,%rcx
140039f68:	48 8b 54 19 30       	mov    0x30(%rcx,%rbx,1),%rdx
140039f6d:	48 85 d2             	test   %rdx,%rdx
140039f70:	74 30                	je     0x140039fa2
140039f72:	83 c8 ff             	or     $0xffffffff,%eax
140039f75:	f0 0f c1 02          	lock xadd %eax,(%rdx)
140039f79:	83 f8 01             	cmp    $0x1,%eax
140039f7c:	75 24                	jne    0x140039fa2
140039f7e:	48 8b 07             	mov    (%rdi),%rax
140039f81:	48 63 08             	movslq (%rax),%rcx
140039f84:	48 c1 e1 05          	shl    $0x5,%rcx
140039f88:	48 8b 4c 19 30       	mov    0x30(%rcx,%rbx,1),%rcx
140039f8d:	e8 4e 75 fc ff       	call   0x1400014e0
140039f92:	48 8b 07             	mov    (%rdi),%rax
140039f95:	48 63 08             	movslq (%rax),%rcx
140039f98:	48 c1 e1 05          	shl    $0x5,%rcx
140039f9c:	48 83 64 19 30 00    	andq   $0x0,0x30(%rcx,%rbx,1)
140039fa2:	41 8b 85 a8 03 00 00 	mov    0x3a8(%r13),%eax
140039fa9:	85 05 59 4e 01 00    	test   %eax,0x14e59(%rip)        # 0x14004ee08
140039faf:	75 44                	jne    0x140039ff5
140039fb1:	48 8b 07             	mov    (%rdi),%rax
140039fb4:	48 63 08             	movslq (%rax),%rcx
140039fb7:	48 c1 e1 05          	shl    $0x5,%rcx
140039fbb:	48 8b 54 19 30       	mov    0x30(%rcx,%rbx,1),%rdx
140039fc0:	48 85 d2             	test   %rdx,%rdx
140039fc3:	74 30                	je     0x140039ff5
140039fc5:	83 c8 ff             	or     $0xffffffff,%eax
140039fc8:	f0 0f c1 02          	lock xadd %eax,(%rdx)
140039fcc:	83 f8 01             	cmp    $0x1,%eax
140039fcf:	75 24                	jne    0x140039ff5
140039fd1:	48 8b 07             	mov    (%rdi),%rax
140039fd4:	48 63 08             	movslq (%rax),%rcx
140039fd7:	48 c1 e1 05          	shl    $0x5,%rcx
140039fdb:	48 8b 4c 19 30       	mov    0x30(%rcx,%rbx,1),%rcx
140039fe0:	e8 fb 74 fc ff       	call   0x1400014e0
140039fe5:	48 8b 07             	mov    (%rdi),%rax
140039fe8:	48 63 08             	movslq (%rax),%rcx
140039feb:	48 c1 e1 05          	shl    $0x5,%rcx
140039fef:	48 83 64 19 30 00    	andq   $0x0,0x30(%rcx,%rbx,1)
140039ff5:	8b 4b 10             	mov    0x10(%rbx),%ecx
140039ff8:	49 8b c7             	mov    %r15,%rax
140039ffb:	89 0e                	mov    %ecx,(%rsi)
140039ffd:	48 8b 0f             	mov    (%rdi),%rcx
14003a000:	48 63 11             	movslq (%rcx),%rdx
14003a003:	48 c1 e2 05          	shl    $0x5,%rdx
14003a007:	48 89 74 1a 30       	mov    %rsi,0x30(%rdx,%rbx,1)
14003a00c:	48 8b 0f             	mov    (%rdi),%rcx
14003a00f:	48 63 11             	movslq (%rcx),%rdx
14003a012:	48 ff c2             	inc    %rdx
14003a015:	48 c1 e2 05          	shl    $0x5,%rdx
14003a019:	4c 89 3c 1a          	mov    %r15,(%rdx,%rbx,1)
14003a01d:	e9 1b fe ff ff       	jmp    0x140039e3d
14003a022:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14003a028:	45 33 c9             	xor    %r9d,%r9d
14003a02b:	45 33 c0             	xor    %r8d,%r8d
14003a02e:	33 d2                	xor    %edx,%edx
14003a030:	33 c9                	xor    %ecx,%ecx
14003a032:	e8 6d 4f fd ff       	call   0x14000efa4
14003a037:	cc                   	int3
14003a038:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14003a03e:	45 33 c9             	xor    %r9d,%r9d
14003a041:	45 33 c0             	xor    %r8d,%r8d
14003a044:	33 d2                	xor    %edx,%edx
14003a046:	33 c9                	xor    %ecx,%ecx
14003a048:	e8 57 4f fd ff       	call   0x14000efa4
14003a04d:	cc                   	int3
14003a04e:	cc                   	int3
14003a04f:	cc                   	int3
14003a050:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14003a055:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
14003a059:	55                   	push   %rbp
14003a05a:	48 8b ec             	mov    %rsp,%rbp
14003a05d:	48 83 ec 40          	sub    $0x40,%rsp
14003a061:	e8 26 9a fe ff       	call   0x140023a8c
14003a066:	48 8d 45 10          	lea    0x10(%rbp),%rax
14003a06a:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
14003a06e:	4c 8d 4d 28          	lea    0x28(%rbp),%r9
14003a072:	48 8d 45 18          	lea    0x18(%rbp),%rax
14003a076:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14003a07a:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
14003a07e:	b8 04 00 00 00       	mov    $0x4,%eax
14003a083:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
14003a087:	48 8d 4d 20          	lea    0x20(%rbp),%rcx
14003a08b:	89 45 28             	mov    %eax,0x28(%rbp)
14003a08e:	89 45 e0             	mov    %eax,-0x20(%rbp)
14003a091:	e8 de fc ff ff       	call   0x140039d74
14003a096:	48 83 c4 40          	add    $0x40,%rsp
14003a09a:	5d                   	pop    %rbp
14003a09b:	c3                   	ret
14003a09c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14003a0a1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14003a0a6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14003a0ab:	57                   	push   %rdi
14003a0ac:	41 54                	push   %r12
14003a0ae:	41 56                	push   %r14
14003a0b0:	48 83 ec 30          	sub    $0x30,%rsp
14003a0b4:	33 db                	xor    %ebx,%ebx
14003a0b6:	49 8b c1             	mov    %r9,%rax
14003a0b9:	49 8b e8             	mov    %r8,%rbp
14003a0bc:	48 8b f2             	mov    %rdx,%rsi
14003a0bf:	4c 8b f1             	mov    %rcx,%r14
14003a0c2:	44 8b e3             	mov    %ebx,%r12d
14003a0c5:	48 85 d2             	test   %rdx,%rdx
14003a0c8:	74 30                	je     0x14003a0fa
14003a0ca:	4d 85 c0             	test   %r8,%r8
14003a0cd:	74 30                	je     0x14003a0ff
14003a0cf:	88 1a                	mov    %bl,(%rdx)
14003a0d1:	4d 85 f6             	test   %r14,%r14
14003a0d4:	74 03                	je     0x14003a0d9
14003a0d6:	48 89 19             	mov    %rbx,(%rcx)
14003a0d9:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
14003a0de:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
14003a0e3:	4c 3b c5             	cmp    %rbp,%r8
14003a0e6:	4c 0f 47 c5          	cmova  %rbp,%r8
14003a0ea:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
14003a0f1:	76 3a                	jbe    0x14003a12d
14003a0f3:	be 16 00 00 00       	mov    $0x16,%esi
14003a0f8:	eb 76                	jmp    0x14003a170
14003a0fa:	48 85 ed             	test   %rbp,%rbp
14003a0fd:	74 d2                	je     0x14003a0d1
14003a0ff:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
14003a104:	be 16 00 00 00       	mov    $0x16,%esi
14003a109:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14003a10e:	c6 40 30 01          	movb   $0x1,0x30(%rax)
14003a112:	89 70 2c             	mov    %esi,0x2c(%rax)
14003a115:	45 33 c9             	xor    %r9d,%r9d
14003a118:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14003a11d:	45 33 c0             	xor    %r8d,%r8d
14003a120:	33 d2                	xor    %edx,%edx
14003a122:	33 c9                	xor    %ecx,%ecx
14003a124:	e8 5f 4d fd ff       	call   0x14000ee88
14003a129:	8b c6                	mov    %esi,%eax
14003a12b:	eb 69                	jmp    0x14003a196
14003a12d:	4c 8b cf             	mov    %rdi,%r9
14003a130:	48 8b d0             	mov    %rax,%rdx
14003a133:	48 8b ce             	mov    %rsi,%rcx
14003a136:	e8 75 00 00 00       	call   0x14003a1b0
14003a13b:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14003a13f:	75 13                	jne    0x14003a154
14003a141:	48 85 f6             	test   %rsi,%rsi
14003a144:	74 02                	je     0x14003a148
14003a146:	88 1e                	mov    %bl,(%rsi)
14003a148:	38 5f 30             	cmp    %bl,0x30(%rdi)
14003a14b:	74 03                	je     0x14003a150
14003a14d:	8b 5f 2c             	mov    0x2c(%rdi),%ebx
14003a150:	8b c3                	mov    %ebx,%eax
14003a152:	eb 42                	jmp    0x14003a196
14003a154:	48 ff c0             	inc    %rax
14003a157:	48 85 f6             	test   %rsi,%rsi
14003a15a:	74 2f                	je     0x14003a18b
14003a15c:	48 3b c5             	cmp    %rbp,%rax
14003a15f:	76 26                	jbe    0x14003a187
14003a161:	48 83 7c 24 70 ff    	cmpq   $0xffffffffffffffff,0x70(%rsp)
14003a167:	74 15                	je     0x14003a17e
14003a169:	88 1e                	mov    %bl,(%rsi)
14003a16b:	be 22 00 00 00       	mov    $0x22,%esi
14003a170:	89 77 2c             	mov    %esi,0x2c(%rdi)
14003a173:	c6 47 30 01          	movb   $0x1,0x30(%rdi)
14003a177:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
14003a17c:	eb 97                	jmp    0x14003a115
14003a17e:	48 8b c5             	mov    %rbp,%rax
14003a181:	41 bc 50 00 00 00    	mov    $0x50,%r12d
14003a187:	88 5c 30 ff          	mov    %bl,-0x1(%rax,%rsi,1)
14003a18b:	4d 85 f6             	test   %r14,%r14
14003a18e:	74 03                	je     0x14003a193
14003a190:	49 89 06             	mov    %rax,(%r14)