140178aa7:	48 8b 7d e8          	mov    -0x18(%rbp),%rdi
140178aab:	4c 8b 75 e0          	mov    -0x20(%rbp),%r14
140178aaf:	49 2b fe             	sub    %r14,%rdi
140178ab2:	48 c1 ff 04          	sar    $0x4,%rdi
140178ab6:	48 85 ff             	test   %rdi,%rdi
140178ab9:	0f 84 13 01 00 00    	je     0x140178bd2
140178abf:	48 8b 0e             	mov    (%rsi),%rcx
140178ac2:	48 8b 01             	mov    (%rcx),%rax
140178ac5:	4c 3b ff             	cmp    %rdi,%r15
140178ac8:	0f 83 c1 01 00 00    	jae    0x140178c8f
140178ace:	0f 57 c0             	xorps  %xmm0,%xmm0
140178ad1:	f3 0f 7f 45 c0       	movdqu %xmm0,-0x40(%rbp)
140178ad6:	49 8b 56 08          	mov    0x8(%r14),%rdx
140178ada:	48 85 d2             	test   %rdx,%rdx
140178add:	74 04                	je     0x140178ae3
140178adf:	f0 ff 42 08          	lock incl 0x8(%rdx)
140178ae3:	49 8b 16             	mov    (%r14),%rdx
140178ae6:	48 89 55 c0          	mov    %rdx,-0x40(%rbp)
140178aea:	49 8b 56 08          	mov    0x8(%r14),%rdx
140178aee:	48 89 55 c8          	mov    %rdx,-0x38(%rbp)
140178af2:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
140178af6:	48 8b 40 48          	mov    0x48(%rax),%rax
140178afa:	ff 15 38 41 99 00    	call   *0x994138(%rip)        # 0x140b0cc38
140178b00:	48 8b 5d c8          	mov    -0x38(%rbp),%rbx
140178b04:	41 83 cc ff          	or     $0xffffffff,%r12d
140178b08:	48 85 db             	test   %rbx,%rbx
140178b0b:	74 39                	je     0x140178b46
140178b0d:	41 8b c4             	mov    %r12d,%eax
140178b10:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140178b15:	41 03 c4             	add    %r12d,%eax
140178b18:	75 2c                	jne    0x140178b46
140178b1a:	48 8b 03             	mov    (%rbx),%rax
140178b1d:	48 8b cb             	mov    %rbx,%rcx
140178b20:	48 8b 00             	mov    (%rax),%rax
140178b23:	ff 15 0f 41 99 00    	call   *0x99410f(%rip)        # 0x140b0cc38
140178b29:	41 8b c4             	mov    %r12d,%eax
140178b2c:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140178b31:	41 03 c4             	add    %r12d,%eax
140178b34:	75 10                	jne    0x140178b46
140178b36:	48 8b 03             	mov    (%rbx),%rax
140178b39:	48 8b cb             	mov    %rbx,%rcx
140178b3c:	48 8b 40 08          	mov    0x8(%rax),%rax
140178b40:	ff 15 f2 40 99 00    	call   *0x9940f2(%rip)        # 0x140b0cc38
140178b46:	49 8b 0e             	mov    (%r14),%rcx
140178b49:	48 8b 01             	mov    (%rcx),%rax
140178b4c:	0f 57 c0             	xorps  %xmm0,%xmm0
140178b4f:	f3 0f 7f 45 b0       	movdqu %xmm0,-0x50(%rbp)
140178b54:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140178b58:	48 85 d2             	test   %rdx,%rdx
140178b5b:	74 04                	je     0x140178b61
140178b5d:	f0 ff 42 08          	lock incl 0x8(%rdx)
140178b61:	48 8b 16             	mov    (%rsi),%rdx
140178b64:	48 89 55 b0          	mov    %rdx,-0x50(%rbp)
140178b68:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140178b6c:	48 89 55 b8          	mov    %rdx,-0x48(%rbp)
140178b70:	4c 8d 45 b0          	lea    -0x50(%rbp),%r8
140178b74:	33 d2                	xor    %edx,%edx
140178b76:	48 8b 40 60          	mov    0x60(%rax),%rax
140178b7a:	ff 15 b8 40 99 00    	call   *0x9940b8(%rip)        # 0x140b0cc38
140178b80:	48 8b 5d b8          	mov    -0x48(%rbp),%rbx
140178b84:	48 85 db             	test   %rbx,%rbx
140178b87:	74 39                	je     0x140178bc2
140178b89:	41 8b c4             	mov    %r12d,%eax
140178b8c:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140178b91:	41 03 c4             	add    %r12d,%eax
140178b94:	75 2c                	jne    0x140178bc2
140178b96:	48 8b 03             	mov    (%rbx),%rax
140178b99:	48 8b cb             	mov    %rbx,%rcx
140178b9c:	48 8b 00             	mov    (%rax),%rax
140178b9f:	ff 15 93 40 99 00    	call   *0x994093(%rip)        # 0x140b0cc38
140178ba5:	41 8b c4             	mov    %r12d,%eax
140178ba8:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140178bad:	41 03 c4             	add    %r12d,%eax
140178bb0:	75 10                	jne    0x140178bc2
140178bb2:	48 8b 03             	mov    (%rbx),%rax
140178bb5:	48 8b cb             	mov    %rbx,%rcx
140178bb8:	48 8b 40 08          	mov    0x8(%rax),%rax
140178bbc:	ff 15 76 40 99 00    	call   *0x994076(%rip)        # 0x140b0cc38
140178bc2:	49 ff c7             	inc    %r15
140178bc5:	49 83 c6 10          	add    $0x10,%r14
140178bc9:	4c 3b ff             	cmp    %rdi,%r15
140178bcc:	0f 82 ed fe ff ff    	jb     0x140178abf
140178bd2:	48 8b 0e             	mov    (%rsi),%rcx
140178bd5:	48 8b 01             	mov    (%rcx),%rax
140178bd8:	33 d2                	xor    %edx,%edx
140178bda:	48 8b 40 70          	mov    0x70(%rax),%rax
140178bde:	ff 15 54 40 99 00    	call   *0x994054(%rip)        # 0x140b0cc38
140178be4:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140178be8:	e8 e3 22 ea ff       	call   0x14001aed0
140178bed:	0f 1f 00             	nopl   (%rax)
140178bf0:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
140178bf4:	48 85 c9             	test   %rcx,%rcx
140178bf7:	74 3e                	je     0x140178c37
140178bf9:	83 cf ff             	or     $0xffffffff,%edi
140178bfc:	8b c7                	mov    %edi,%eax
140178bfe:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140178c03:	03 c7                	add    %edi,%eax
140178c05:	75 30                	jne    0x140178c37
140178c07:	48 8b 5d 90          	mov    -0x70(%rbp),%rbx
140178c0b:	48 8b 03             	mov    (%rbx),%rax
140178c0e:	48 8b cb             	mov    %rbx,%rcx
140178c11:	48 8b 00             	mov    (%rax),%rax
140178c14:	ff 15 1e 40 99 00    	call   *0x99401e(%rip)        # 0x140b0cc38
140178c1a:	8b c7                	mov    %edi,%eax
140178c1c:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140178c21:	03 c7                	add    %edi,%eax
140178c23:	75 12                	jne    0x140178c37
140178c25:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
140178c29:	48 8b 01             	mov    (%rcx),%rax
140178c2c:	48 8b 40 08          	mov    0x8(%rax),%rax
140178c30:	ff 15 02 40 99 00    	call   *0x994002(%rip)        # 0x140b0cc38
140178c36:	90                   	nop
140178c37:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140178c3c:	e8 8f 22 ea ff       	call   0x14001aed0
140178c41:	48 8d 8d a0 00 00 00 	lea    0xa0(%rbp),%rcx
140178c48:	e8 83 22 ea ff       	call   0x14001aed0
140178c4d:	48 8d 4d 98          	lea    -0x68(%rbp),%rcx
140178c51:	e8 7a 22 ea ff       	call   0x14001aed0
140178c56:	48 8d 4d 10          	lea    0x10(%rbp),%rcx
140178c5a:	e8 71 22 ea ff       	call   0x14001aed0
140178c5f:	48 8b 8d 00 02 00 00 	mov    0x200(%rbp),%rcx
140178c66:	48 33 cc             	xor    %rsp,%rcx
140178c69:	e8 72 69 97 00       	call   0x140aef5e0
140178c6e:	4c 8d 9c 24 10 03 00 	lea    0x310(%rsp),%r11
140178c75:	00
140178c76:	49 8b 5b 38          	mov    0x38(%r11),%rbx
140178c7a:	49 8b 73 40          	mov    0x40(%r11),%rsi
140178c7e:	49 8b 7b 48          	mov    0x48(%r11),%rdi
140178c82:	49 8b e3             	mov    %r11,%rsp
140178c85:	41 5f                	pop    %r15
140178c87:	41 5e                	pop    %r14
140178c89:	41 5d                	pop    %r13
140178c8b:	41 5c                	pop    %r12
140178c8d:	5d                   	pop    %rbp
140178c8e:	c3                   	ret
140178c8f:	ff 15 03 3d 99 00    	call   *0x993d03(%rip)        # 0x140b0c998
140178c95:	90                   	nop
140178c96:	90                   	nop
140178c97:	90                   	nop
140178c98:	40 53                	rex push %rbx
140178c9a:	48 83 ec 20          	sub    $0x20,%rsp
140178c9e:	48 8b 01             	mov    (%rcx),%rax
140178ca1:	48 83 21 00          	andq   $0x0,(%rcx)
140178ca5:	48 85 c0             	test   %rax,%rax
140178ca8:	74 14                	je     0x140178cbe
140178caa:	48 8b 18             	mov    (%rax),%rbx
140178cad:	48 8b c8             	mov    %rax,%rcx
140178cb0:	ff 15 0a 3c 99 00    	call   *0x993c0a(%rip)        # 0x140b0c8c0
140178cb6:	48 8b c3             	mov    %rbx,%rax
140178cb9:	48 85 db             	test   %rbx,%rbx
140178cbc:	75 ec                	jne    0x140178caa
140178cbe:	48 83 c4 20          	add    $0x20,%rsp
140178cc2:	5b                   	pop    %rbx
140178cc3:	c3                   	ret
140178cc4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140178cc9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140178cce:	57                   	push   %rdi
140178ccf:	48 83 ec 50          	sub    $0x50,%rsp
140178cd3:	48 8b f2             	mov    %rdx,%rsi
140178cd6:	48 8b d9             	mov    %rcx,%rbx
140178cd9:	48 8b 39             	mov    (%rcx),%rdi
140178cdc:	48 8b 47 08          	mov    0x8(%rdi),%rax
140178ce0:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140178ce5:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
140178cea:	4c 8b c7             	mov    %rdi,%r8
140178ced:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140178cf1:	75 2e                	jne    0x140178d21
140178cf3:	f3 0f 10 02          	movss  (%rdx),%xmm0
140178cf7:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140178cfc:	0f 2f 40 1c          	comiss 0x1c(%rax),%xmm0
140178d00:	76 0b                	jbe    0x140178d0d
140178d02:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
140178d07:	48 8b 40 10          	mov    0x10(%rax),%rax
140178d0b:	eb 0e                	jmp    0x140178d1b
140178d0d:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140178d14:	00
140178d15:	4c 8b c0             	mov    %rax,%r8
140178d18:	48 8b 00             	mov    (%rax),%rax
140178d1b:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140178d1f:	74 d6                	je     0x140178cf7
140178d21:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140178d26:	75 0b                	jne    0x140178d33
140178d28:	f3 41 0f 10 40 1c    	movss  0x1c(%r8),%xmm0
140178d2e:	0f 2f 02             	comiss (%rdx),%xmm0
140178d31:	76 6c                	jbe    0x140178d9f
140178d33:	48 b8 66 66 66 66 66 	movabs $0x666666666666666,%rax
140178d3a:	66 66 06
140178d3d:	48 39 41 08          	cmp    %rax,0x8(%rcx)
140178d41:	74 70                	je     0x140178db3
140178d43:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140178d48:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140178d4e:	b9 28 00 00 00       	mov    $0x28,%ecx
140178d53:	ff 15 6f 3b 99 00    	call   *0x993b6f(%rip)        # 0x140b0c8c8
140178d59:	4c 8b c0             	mov    %rax,%r8
140178d5c:	48 85 c0             	test   %rax,%rax
140178d5f:	75 07                	jne    0x140178d68
140178d61:	ff 15 31 37 99 00    	call   *0x993731(%rip)        # 0x140b0c498
140178d67:	90                   	nop
140178d68:	8b 06                	mov    (%rsi),%eax
140178d6a:	41 89 40 1c          	mov    %eax,0x1c(%r8)
140178d6e:	41 83 60 20 00       	andl   $0x0,0x20(%r8)
140178d73:	49 89 38             	mov    %rdi,(%r8)
140178d76:	49 89 78 08          	mov    %rdi,0x8(%r8)
140178d7a:	49 89 78 10          	mov    %rdi,0x10(%r8)
140178d7e:	66 41 83 60 18 00    	andw   $0x0,0x18(%r8)
140178d84:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
140178d89:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
140178d8f:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140178d94:	48 8b cb             	mov    %rbx,%rcx
140178d97:	e8 44 e1 e8 ff       	call   0x140006ee0
140178d9c:	4c 8b c0             	mov    %rax,%r8
140178d9f:	49 8d 40 20          	lea    0x20(%r8),%rax
140178da3:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140178da8:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
140178dad:	48 83 c4 50          	add    $0x50,%rsp
140178db1:	5f                   	pop    %rdi
140178db2:	c3                   	ret
140178db3:	e8 1c b0 e8 ff       	call   0x140003dd4
140178db8:	cc                   	int3
140178db9:	90                   	nop
140178dba:	90                   	nop
140178dbb:	90                   	nop
140178dbc:	90                   	nop
140178dbd:	90                   	nop
140178dbe:	90                   	nop
140178dbf:	90                   	nop
140178dc0:	48 8b c4             	mov    %rsp,%rax
140178dc3:	48 89 58 08          	mov    %rbx,0x8(%rax)
140178dc7:	48 89 68 10          	mov    %rbp,0x10(%rax)
140178dcb:	48 89 70 18          	mov    %rsi,0x18(%rax)
140178dcf:	48 89 78 20          	mov    %rdi,0x20(%rax)
140178dd3:	41 56                	push   %r14
140178dd5:	48 83 ec 20          	sub    $0x20,%rsp
140178dd9:	48 8b d9             	mov    %rcx,%rbx
140178ddc:	4c 8b f2             	mov    %rdx,%r14
140178ddf:	48 8b 49 20          	mov    0x20(%rcx),%rcx
140178de3:	8a c1                	mov    %cl,%al
140178de5:	02 43 18             	add    0x18(%rbx),%al
140178de8:	a8 01                	test   $0x1,%al
140178dea:	75 15                	jne    0x140178e01
140178dec:	48 8d 41 02          	lea    0x2(%rcx),%rax
140178df0:	48 d1 e8             	shr    $1,%rax
140178df3:	48 39 43 10          	cmp    %rax,0x10(%rbx)
140178df7:	77 08                	ja     0x140178e01
140178df9:	48 8b cb             	mov    %rbx,%rcx
140178dfc:	e8 e3 f5 fa ff       	call   0x1401283e4
140178e01:	48 8b 53 10          	mov    0x10(%rbx),%rdx
140178e05:	48 8d 04 55 ff ff ff 	lea    -0x1(,%rdx,2),%rax
140178e0c:	ff
140178e0d:	48 21 43 18          	and    %rax,0x18(%rbx)
140178e11:	48 8d 72 ff          	lea    -0x1(%rdx),%rsi
140178e15:	48 8b 7b 18          	mov    0x18(%rbx),%rdi
140178e19:	48 03 7b 20          	add    0x20(%rbx),%rdi
140178e1d:	48 8b 43 08          	mov    0x8(%rbx),%rax
140178e21:	48 8b ef             	mov    %rdi,%rbp
140178e24:	48 d1 ed             	shr    $1,%rbp
140178e27:	48 23 f5             	and    %rbp,%rsi
140178e2a:	48 83 3c f0 00       	cmpq   $0x0,(%rax,%rsi,8)
140178e2f:	75 22                	jne    0x140178e53
140178e31:	b9 10 00 00 00       	mov    $0x10,%ecx
140178e36:	ff 15 8c 3a 99 00    	call   *0x993a8c(%rip)        # 0x140b0c8c8
140178e3c:	48 8b c8             	mov    %rax,%rcx
140178e3f:	48 85 c0             	test   %rax,%rax
140178e42:	75 07                	jne    0x140178e4b
140178e44:	ff 15 4e 36 99 00    	call   *0x99364e(%rip)        # 0x140b0c498
140178e4a:	cc                   	int3
140178e4b:	48 8b 43 08          	mov    0x8(%rbx),%rax
140178e4f:	48 89 0c f0          	mov    %rcx,(%rax,%rsi,8)
140178e53:	48 8b 43 10          	mov    0x10(%rbx),%rax
140178e57:	83 e7 01             	and    $0x1,%edi
140178e5a:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140178e5e:	48 ff c8             	dec    %rax
140178e61:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140178e66:	48 23 c5             	and    %rbp,%rax
140178e69:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140178e6e:	48 8b 0c c1          	mov    (%rcx,%rax,8),%rcx
140178e72:	49 8b 06             	mov    (%r14),%rax
140178e75:	48 89 04 f9          	mov    %rax,(%rcx,%rdi,8)
140178e79:	48 ff 43 20          	incq   0x20(%rbx)
140178e7d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140178e82:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140178e87:	48 83 c4 20          	add    $0x20,%rsp
140178e8b:	41 5e                	pop    %r14
140178e8d:	c3                   	ret
140178e8e:	90                   	nop
140178e8f:	90                   	nop
140178e90:	4c 8b dc             	mov    %rsp,%r11
140178e93:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140178e97:	4d 89 43 18          	mov    %r8,0x18(%r11)
140178e9b:	57                   	push   %rdi
140178e9c:	48 83 ec 20          	sub    $0x20,%rsp
140178ea0:	48 83 21 00          	andq   $0x0,(%rcx)
140178ea4:	48 8b fa             	mov    %rdx,%rdi
140178ea7:	48 83 61 08 00       	andq   $0x0,0x8(%rcx)
140178eac:	48 8b d9             	mov    %rcx,%rbx
140178eaf:	48 83 61 10 00       	andq   $0x0,0x10(%rcx)
140178eb4:	48 85 d2             	test   %rdx,%rdx
140178eb7:	74 4a                	je     0x140178f03
140178eb9:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140178ec0:	ff ff 0f
140178ec3:	48 3b d0             	cmp    %rax,%rdx
140178ec6:	77 49                	ja     0x140178f11
140178ec8:	49 89 53 18          	mov    %rdx,0x18(%r11)
140178ecc:	49 8d 53 18          	lea    0x18(%r11),%rdx
140178ed0:	e8 03 94 ea ff       	call   0x1400222d8
140178ed5:	48 8b cf             	mov    %rdi,%rcx
140178ed8:	48 89 03             	mov    %rax,(%rbx)
140178edb:	48 c1 e1 04          	shl    $0x4,%rcx
140178edf:	48 03 c8             	add    %rax,%rcx
140178ee2:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140178ee6:	83 20 00             	andl   $0x0,(%rax)
140178ee9:	83 60 04 00          	andl   $0x0,0x4(%rax)
140178eed:	83 60 08 00          	andl   $0x0,0x8(%rax)
140178ef1:	83 60 0c 00          	andl   $0x0,0xc(%rax)
140178ef5:	48 83 c0 10          	add    $0x10,%rax
140178ef9:	48 83 ef 01          	sub    $0x1,%rdi
140178efd:	75 e7                	jne    0x140178ee6
140178eff:	48 89 43 08          	mov    %rax,0x8(%rbx)
140178f03:	48 8b c3             	mov    %rbx,%rax
140178f06:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140178f0b:	48 83 c4 20          	add    $0x20,%rsp
140178f0f:	5f                   	pop    %rdi
140178f10:	c3                   	ret
140178f11:	e8 52 2e ea ff       	call   0x14001bd68
140178f16:	cc                   	int3
140178f17:	90                   	nop
140178f18:	4c 8b dc             	mov    %rsp,%r11
140178f1b:	49 89 5b 08          	mov    %rbx,0x8(%r11)
140178f1f:	49 89 73 10          	mov    %rsi,0x10(%r11)
140178f23:	4d 89 43 18          	mov    %r8,0x18(%r11)
140178f27:	57                   	push   %rdi
140178f28:	48 83 ec 20          	sub    $0x20,%rsp
140178f2c:	33 c0                	xor    %eax,%eax
140178f2e:	48 8b da             	mov    %rdx,%rbx
140178f31:	48 89 01             	mov    %rax,(%rcx)
140178f34:	48 8b f1             	mov    %rcx,%rsi
140178f37:	48 89 41 08          	mov    %rax,0x8(%rcx)
140178f3b:	48 89 41 10          	mov    %rax,0x10(%rcx)
140178f3f:	48 85 d2             	test   %rdx,%rdx
140178f42:	74 43                	je     0x140178f87
140178f44:	48 b8 ff ff ff ff ff 	movabs $0x3fffffffffffffff,%rax
140178f4b:	ff ff 3f
140178f4e:	48 3b d0             	cmp    %rax,%rdx
140178f51:	77 47                	ja     0x140178f9a
140178f53:	49 89 53 18          	mov    %rdx,0x18(%r11)
140178f57:	49 8d 53 18          	lea    0x18(%r11),%rdx
140178f5b:	e8 f0 93 ea ff       	call   0x140022350
140178f60:	48 c1 e3 02          	shl    $0x2,%rbx
140178f64:	33 d2                	xor    %edx,%edx
140178f66:	48 89 06             	mov    %rax,(%rsi)