140038e9b:	4c 8d 76 40          	lea    0x40(%rsi),%r14
140038e9f:	4c 89 f1             	mov    %r14,%rcx
140038ea2:	ff 15 68 ea 0b 00    	call   *0xbea68(%rip)        # 0x1400f7910
140038ea8:	84 c0                	test   %al,%al
140038eaa:	75 08                	jne    0x140038eb4
140038eac:	4c 89 f1             	mov    %r14,%rcx
140038eaf:	e8 cc 8a 00 00       	call   0x140041980
140038eb4:	48 8b 43 10          	mov    0x10(%rbx),%rax
140038eb8:	8b 40 18             	mov    0x18(%rax),%eax
140038ebb:	48 29 86 a0 18 00 00 	sub    %rax,0x18a0(%rsi)
140038ec2:	4c 8b 03             	mov    (%rbx),%r8
140038ec5:	4c 39 c7             	cmp    %r8,%rdi
140038ec8:	0f 84 34 01 00 00    	je     0x140039002
140038ece:	48 8d 05 b3 73 0b 00 	lea    0xb73b3(%rip),%rax        # 0x1400f0288
140038ed5:	48 8d 0d a4 73 0b 00 	lea    0xb73a4(%rip),%rcx        # 0x1400f0280
140038edc:	80 7e 14 00          	cmpb   $0x0,0x14(%rsi)
140038ee0:	48 0f 45 c8          	cmovne %rax,%rcx
140038ee4:	48 8b 01             	mov    (%rcx),%rax
140038ee7:	48 8b 40 58          	mov    0x58(%rax),%rax
140038eeb:	48 89 fa             	mov    %rdi,%rdx
140038eee:	ff 15 14 de 0b 00    	call   *0xbde14(%rip)        # 0x1400f6d08
140038ef4:	48 89 3b             	mov    %rdi,(%rbx)
140038ef7:	80 63 1c fe          	andb   $0xfe,0x1c(%rbx)
140038efb:	8b 43 18             	mov    0x18(%rbx),%eax
140038efe:	a9 ff 7f 00 00       	test   $0x7fff,%eax
140038f03:	0f 84 fc 00 00 00    	je     0x140039005
140038f09:	8d 48 ff             	lea    -0x1(%rax),%ecx
140038f0c:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
140038f12:	89 c2                	mov    %eax,%edx
140038f14:	81 e2 00 80 ff ff    	and    $0xffff8000,%edx
140038f1a:	09 ca                	or     %ecx,%edx
140038f1c:	89 53 18             	mov    %edx,0x18(%rbx)
140038f1f:	a9 00 00 00 40       	test   $0x40000000,%eax
140038f24:	0f 85 ae 00 00 00    	jne    0x140038fd8
140038f2a:	85 c9                	test   %ecx,%ecx
140038f2c:	0f 84 a6 00 00 00    	je     0x140038fd8
140038f32:	4c 89 f1             	mov    %r14,%rcx
140038f35:	48 83 c4 20          	add    $0x20,%rsp
140038f39:	5b                   	pop    %rbx
140038f3a:	5d                   	pop    %rbp
140038f3b:	5f                   	pop    %rdi
140038f3c:	5e                   	pop    %rsi
140038f3d:	41 5e                	pop    %r14
140038f3f:	48 ff 25 f2 e8 0b 00 	rex.W jmp *0xbe8f2(%rip)        # 0x1400f7838
140038f46:	4c 89 f1             	mov    %r14,%rcx
140038f49:	89 c2                	mov    %eax,%edx
140038f4b:	e8 c0 00 00 00       	call   0x140039010
140038f50:	4c 89 f1             	mov    %r14,%rcx
140038f53:	e8 28 87 00 00       	call   0x140041680
140038f58:	e9 a0 fe ff ff       	jmp    0x140038dfd
140038f5d:	89 f8                	mov    %edi,%eax
140038f5f:	25 ff ff 1f 00       	and    $0x1fffff,%eax
140038f64:	c1 e8 09             	shr    $0x9,%eax
140038f67:	49 01 c6             	add    %rax,%r14
140038f6a:	49 81 c6 00 20 00 00 	add    $0x2000,%r14
140038f71:	e9 0c fd ff ff       	jmp    0x140038c82
140038f76:	48 89 f1             	mov    %rsi,%rcx
140038f79:	48 89 da             	mov    %rbx,%rdx
140038f7c:	49 89 f8             	mov    %rdi,%r8
140038f7f:	e8 ec 70 00 00       	call   0x140040070
140038f84:	e9 0b fd ff ff       	jmp    0x140038c94
140038f89:	83 fd 01             	cmp    $0x1,%ebp
140038f8c:	74 7a                	je     0x140039008
140038f8e:	48 8b 43 10          	mov    0x10(%rbx),%rax
140038f92:	8b 40 18             	mov    0x18(%rax),%eax
140038f95:	f0 48 01 86 c0 18 00 	lock add %rax,0x18c0(%rsi)
140038f9c:	00
140038f9d:	f0 48 ff 86 c8 18 00 	lock incq 0x18c8(%rsi)
140038fa4:	00
140038fa5:	48 8b 43 10          	mov    0x10(%rbx),%rax
140038fa9:	8b 40 18             	mov    0x18(%rax),%eax
140038fac:	f0 48 01 86 d0 18 00 	lock add %rax,0x18d0(%rsi)
140038fb3:	00
140038fb4:	f0 48 ff 86 d8 18 00 	lock incq 0x18d8(%rsi)
140038fbb:	00
140038fbc:	e9 4e fe ff ff       	jmp    0x140038e0f
140038fc1:	44 0f b6 c0          	movzbl %al,%r8d
140038fc5:	41 d1 e8             	shr    $1,%r8d
140038fc8:	4c 89 f1             	mov    %r14,%rcx
140038fcb:	48 89 da             	mov    %rbx,%rdx
140038fce:	e8 7d 85 00 00       	call   0x140041550
140038fd3:	e9 18 fe ff ff       	jmp    0x140038df0
140038fd8:	ba 01 00 00 00       	mov    $0x1,%edx
140038fdd:	48 89 d9             	mov    %rbx,%rcx
140038fe0:	49 89 f0             	mov    %rsi,%r8
140038fe3:	e8 18 8a 00 00       	call   0x140041a00
140038fe8:	e9 45 ff ff ff       	jmp    0x140038f32
140038fed:	48 8b 43 20          	mov    0x20(%rbx),%rax
140038ff1:	e9 39 fe ff ff       	jmp    0x140038e2f
140038ff6:	4c 8b 43 20          	mov    0x20(%rbx),%r8
140038ffa:	e9 8c fe ff ff       	jmp    0x140038e8b
140038fff:	cc                   	int3
140039000:	0f 0b                	ud2
140039002:	cc                   	int3
140039003:	0f 0b                	ud2
140039005:	cc                   	int3
140039006:	0f 0b                	ud2
140039008:	cc                   	int3
140039009:	0f 0b                	ud2
14003900b:	cc                   	int3
14003900c:	cc                   	int3
14003900d:	cc                   	int3
14003900e:	cc                   	int3
14003900f:	cc                   	int3
140039010:	56                   	push   %rsi
140039011:	48 83 ec 40          	sub    $0x40,%rsp
140039015:	41 89 d0             	mov    %edx,%r8d
140039018:	0f 28 05 f1 78 0a 00 	movaps 0xa78f1(%rip),%xmm0        # 0x1400e0910
14003901f:	0f 29 44 24 30       	movaps %xmm0,0x30(%rsp)
140039024:	48 8d 15 47 72 0b 00 	lea    0xb7247(%rip),%rdx        # 0x1400f0272
14003902b:	48 8d 74 24 30       	lea    0x30(%rsp),%rsi
140039030:	48 89 f1             	mov    %rsi,%rcx
140039033:	e8 e8 0a fe ff       	call   0x140019b20
140039038:	48 89 f1             	mov    %rsi,%rcx
14003903b:	e8 20 f5 fd ff       	call   0x140018560
140039040:	c7 44 24 2c c4 01 00 	movl   $0x1c4,0x2c(%rsp)
140039047:	00
140039048:	48 8d 4c 24 2c       	lea    0x2c(%rsp),%rcx
14003904d:	e8 0e f5 fd ff       	call   0x140018560
140039052:	cc                   	int3
140039053:	cc                   	int3
140039054:	0f 0b                	ud2
140039056:	cc                   	int3
140039057:	cc                   	int3
140039058:	cc                   	int3
140039059:	cc                   	int3
14003905a:	cc                   	int3
14003905b:	cc                   	int3
14003905c:	cc                   	int3
14003905d:	cc                   	int3
14003905e:	cc                   	int3
14003905f:	cc                   	int3
140039060:	41 57                	push   %r15
140039062:	41 56                	push   %r14
140039064:	41 55                	push   %r13
140039066:	41 54                	push   %r12
140039068:	56                   	push   %rsi
140039069:	57                   	push   %rdi
14003906a:	53                   	push   %rbx
14003906b:	48 83 ec 20          	sub    $0x20,%rsp
14003906f:	4d 89 cc             	mov    %r9,%r12
140039072:	48 89 d6             	mov    %rdx,%rsi
140039075:	48 89 cf             	mov    %rcx,%rdi
140039078:	45 8b 30             	mov    (%r8),%r14d
14003907b:	4c 8b 69 08          	mov    0x8(%rcx),%r13
14003907f:	4d 85 ed             	test   %r13,%r13
140039082:	0f 84 2c 01 00 00    	je     0x1400391b4
140039088:	4c 89 e8             	mov    %r13,%rax
14003908b:	48 d1 e8             	shr    $1,%rax
14003908e:	48 b9 55 55 55 55 55 	movabs $0x5555555555555555,%rcx
140039095:	55 55 55
140039098:	48 21 c1             	and    %rax,%rcx
14003909b:	4c 89 e8             	mov    %r13,%rax
14003909e:	48 29 c8             	sub    %rcx,%rax
1400390a1:	48 b9 33 33 33 33 33 	movabs $0x3333333333333333,%rcx
1400390a8:	33 33 33
1400390ab:	48 89 c2             	mov    %rax,%rdx
1400390ae:	48 21 ca             	and    %rcx,%rdx
1400390b1:	48 c1 e8 02          	shr    $0x2,%rax
1400390b5:	48 21 c8             	and    %rcx,%rax
1400390b8:	48 01 d0             	add    %rdx,%rax
1400390bb:	48 89 c1             	mov    %rax,%rcx
1400390be:	48 c1 e9 04          	shr    $0x4,%rcx
1400390c2:	48 01 c1             	add    %rax,%rcx
1400390c5:	48 b8 0f 0f 0f 0f 0f 	movabs $0xf0f0f0f0f0f0f0f,%rax
1400390cc:	0f 0f 0f
1400390cf:	48 21 c8             	and    %rcx,%rax
1400390d2:	48 b9 01 01 01 01 01 	movabs $0x101010101010101,%rcx
1400390d9:	01 01 01
1400390dc:	48 0f af c8          	imul   %rax,%rcx
1400390e0:	48 c1 e9 38          	shr    $0x38,%rcx
1400390e4:	48 83 f9 01          	cmp    $0x1,%rcx
1400390e8:	76 15                	jbe    0x1400390ff
1400390ea:	4d 89 f7             	mov    %r14,%r15
1400390ed:	4d 39 f5             	cmp    %r14,%r13
1400390f0:	77 1b                	ja     0x14003910d
1400390f2:	44 89 f0             	mov    %r14d,%eax
1400390f5:	31 d2                	xor    %edx,%edx
1400390f7:	41 f7 f5             	div    %r13d
1400390fa:	41 89 d7             	mov    %edx,%r15d
1400390fd:	eb 0e                	jmp    0x14003910d
1400390ff:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140039104:	44 01 e8             	add    %r13d,%eax
140039107:	45 89 f7             	mov    %r14d,%r15d
14003910a:	41 21 c7             	and    %eax,%r15d
14003910d:	48 8b 07             	mov    (%rdi),%rax
140039110:	4a 8b 04 f8          	mov    (%rax,%r15,8),%rax
140039114:	48 85 c0             	test   %rax,%rax
140039117:	0f 84 a1 00 00 00    	je     0x1400391be
14003911d:	48 8b 18             	mov    (%rax),%rbx
140039120:	48 85 db             	test   %rbx,%rbx
140039123:	0f 84 95 00 00 00    	je     0x1400391be
140039129:	83 f9 02             	cmp    $0x2,%ecx
14003912c:	73 54                	jae    0x140039182
14003912e:	49 8d 45 ff          	lea    -0x1(%r13),%rax
140039132:	eb 1e                	jmp    0x140039152
140039134:	66 66 66 2e 0f 1f 84 	data16 data16 cs nopw 0x0(%rax,%rax,1)
14003913b:	00 00 00 00 00
140039140:	44 39 73 10          	cmp    %r14d,0x10(%rbx)
140039144:	0f 84 83 01 00 00    	je     0x1400392cd
14003914a:	48 8b 1b             	mov    (%rbx),%rbx
14003914d:	48 85 db             	test   %rbx,%rbx
140039150:	74 6c                	je     0x1400391be
140039152:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140039156:	4c 39 f1             	cmp    %r14,%rcx
140039159:	74 e5                	je     0x140039140
14003915b:	48 21 c1             	and    %rax,%rcx
14003915e:	4c 39 f9             	cmp    %r15,%rcx
140039161:	74 e7                	je     0x14003914a
140039163:	eb 59                	jmp    0x1400391be
140039165:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14003916c:	00 00 00 00
140039170:	44 39 73 10          	cmp    %r14d,0x10(%rbx)
140039174:	0f 84 53 01 00 00    	je     0x1400392cd
14003917a:	48 8b 1b             	mov    (%rbx),%rbx
14003917d:	48 85 db             	test   %rbx,%rbx
140039180:	74 3c                	je     0x1400391be
140039182:	48 8b 43 08          	mov    0x8(%rbx),%rax
140039186:	4c 39 f0             	cmp    %r14,%rax
140039189:	74 e5                	je     0x140039170
14003918b:	4c 39 e8             	cmp    %r13,%rax
14003918e:	72 14                	jb     0x1400391a4
140039190:	48 89 c1             	mov    %rax,%rcx
140039193:	4c 09 e9             	or     %r13,%rcx
140039196:	48 c1 e9 20          	shr    $0x20,%rcx
14003919a:	74 0f                	je     0x1400391ab
14003919c:	31 d2                	xor    %edx,%edx
14003919e:	49 f7 f5             	div    %r13
1400391a1:	48 89 d0             	mov    %rdx,%rax
1400391a4:	4c 39 f8             	cmp    %r15,%rax
1400391a7:	74 d1                	je     0x14003917a
1400391a9:	eb 13                	jmp    0x1400391be
1400391ab:	31 d2                	xor    %edx,%edx
1400391ad:	41 f7 f5             	div    %r13d
1400391b0:	89 d0                	mov    %edx,%eax
1400391b2:	eb f0                	jmp    0x1400391a4
1400391b4:	49 bf aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaaa,%r15
1400391bb:	aa aa aa
1400391be:	e8 9d a8 00 00       	call   0x140043a60
1400391c3:	ba 20 00 00 00       	mov    $0x20,%edx
1400391c8:	48 89 c1             	mov    %rax,%rcx
1400391cb:	45 31 c0             	xor    %r8d,%r8d
1400391ce:	e8 ed 02 00 00       	call   0x1400394c0
1400391d3:	48 85 c0             	test   %rax,%rax
1400391d6:	0f 84 d4 02 00 00    	je     0x1400394b0
1400391dc:	48 89 c3             	mov    %rax,%rbx
1400391df:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1400391e6:	4c 89 70 08          	mov    %r14,0x8(%rax)
1400391ea:	41 0f 10 04 24       	movups (%r12),%xmm0
1400391ef:	0f 11 40 10          	movups %xmm0,0x10(%rax)
1400391f3:	48 8b 47 18          	mov    0x18(%rdi),%rax
1400391f7:	48 ff c0             	inc    %rax
1400391fa:	79 1a                	jns    0x140039216
1400391fc:	48 89 c1             	mov    %rax,%rcx
1400391ff:	48 d1 e9             	shr    $1,%rcx
140039202:	83 e0 01             	and    $0x1,%eax
140039205:	48 09 c8             	or     %rcx,%rax
140039208:	0f 57 c0             	xorps  %xmm0,%xmm0
14003920b:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140039210:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140039214:	eb 08                	jmp    0x14003921e
140039216:	0f 57 c0             	xorps  %xmm0,%xmm0
140039219:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14003921e:	4c 89 e9             	mov    %r13,%rcx
140039221:	48 d1 e9             	shr    $1,%rcx
140039224:	44 89 e8             	mov    %r13d,%eax
140039227:	83 e0 01             	and    $0x1,%eax
14003922a:	48 09 c8             	or     %rcx,%rax
14003922d:	4d 85 ed             	test   %r13,%r13
140039230:	79 12                	jns    0x140039244
140039232:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140039237:	f3 0f 58 c9          	addss  %xmm1,%xmm1
14003923b:	f3 0f 10 57 20       	movss  0x20(%rdi),%xmm2
140039240:	75 0e                	jne    0x140039250
140039242:	eb 19                	jmp    0x14003925d
140039244:	f3 49 0f 2a cd       	cvtsi2ss %r13,%xmm1
140039249:	f3 0f 10 57 20       	movss  0x20(%rdi),%xmm2
14003924e:	74 0d                	je     0x14003925d
140039250:	f3 0f 59 ca          	mulss  %xmm2,%xmm1
140039254:	0f 2e c1             	ucomiss %xmm1,%xmm0
140039257:	0f 86 be 00 00 00    	jbe    0x14003931b
14003925d:	f3 0f 5e c2          	divss  %xmm2,%xmm0
140039261:	e8 aa 3b 06 00       	call   0x14009ce10
140039266:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
14003926b:	48 89 ca             	mov    %rcx,%rdx
14003926e:	f3 0f 5c 05 6a 3e 0b 	subss  0xb3e6a(%rip),%xmm0        # 0x1400ed0e0
140039275:	00
140039276:	48 c1 fa 3f          	sar    $0x3f,%rdx
14003927a:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14003927f:	48 21 d0             	and    %rdx,%rax
140039282:	48 09 c8             	or     %rcx,%rax
140039285:	4a 8d 14 6d 00 00 00 	lea    0x0(,%r13,2),%rdx
14003928c:	00
14003928d:	b9 01 00 00 00       	mov    $0x1,%ecx
140039292:	49 83 fd 03          	cmp    $0x3,%r13
140039296:	72 0c                	jb     0x1400392a4
140039298:	4d 8d 45 ff          	lea    -0x1(%r13),%r8
14003929c:	31 c9                	xor    %ecx,%ecx
14003929e:	4d 85 c5             	test   %r8,%r13
1400392a1:	0f 95 c1             	setne  %cl
1400392a4:	48 09 d1             	or     %rdx,%rcx
1400392a7:	48 39 c1             	cmp    %rax,%rcx
1400392aa:	48 0f 46 c8          	cmovbe %rax,%rcx
1400392ae:	41 bf 02 00 00 00    	mov    $0x2,%r15d
1400392b4:	48 83 f9 01          	cmp    $0x1,%rcx
1400392b8:	74 1a                	je     0x1400392d4
1400392ba:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
1400392be:	48 85 c1             	test   %rax,%rcx
1400392c1:	74 0e                	je     0x1400392d1
1400392c3:	e8 78 0c 02 00       	call   0x140059f40
1400392c8:	49 89 c7             	mov    %rax,%r15
1400392cb:	eb 07                	jmp    0x1400392d4
1400392cd:	31 c0                	xor    %eax,%eax
1400392cf:	eb 65                	jmp    0x140039336
1400392d1:	49 89 cf             	mov    %rcx,%r15
1400392d4:	4c 8b 67 08          	mov    0x8(%rdi),%r12
1400392d8:	4d 39 e7             	cmp    %r12,%r15
1400392db:	0f 86 da 00 00 00    	jbe    0x1400393bb
1400392e1:	48 89 f9             	mov    %rdi,%rcx
1400392e4:	4c 89 fa             	mov    %r15,%rdx
1400392e7:	e8 e4 06 00 00       	call   0x1400399d0
1400392ec:	4c 8b 6f 08          	mov    0x8(%rdi),%r13
1400392f0:	49 8d 45 ff          	lea    -0x1(%r13),%rax
1400392f4:	49 85 c5             	test   %rax,%r13
1400392f7:	74 14                	je     0x14003930d
1400392f9:	4d 39 f5             	cmp    %r14,%r13
1400392fc:	77 1a                	ja     0x140039318
1400392fe:	77 18                	ja     0x140039318
140039300:	44 89 f0             	mov    %r14d,%eax
140039303:	31 d2                	xor    %edx,%edx
140039305:	41 f7 f5             	div    %r13d
140039308:	41 89 d7             	mov    %edx,%r15d
14003930b:	eb 0e                	jmp    0x14003931b
14003930d:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140039312:	44 01 e8             	add    %r13d,%eax
140039315:	41 21 c6             	and    %eax,%r14d
140039318:	4d 89 f7             	mov    %r14,%r15
14003931b:	48 8b 07             	mov    (%rdi),%rax
14003931e:	4a 8b 0c f8          	mov    (%rax,%r15,8),%rcx
140039322:	48 85 c9             	test   %rcx,%rcx
140039325:	74 28                	je     0x14003934f
140039327:	48 8b 01             	mov    (%rcx),%rax
14003932a:	48 89 03             	mov    %rax,(%rbx)
14003932d:	48 89 19             	mov    %rbx,(%rcx)
140039330:	48 ff 47 18          	incq   0x18(%rdi)
140039334:	b0 01                	mov    $0x1,%al
140039336:	48 89 1e             	mov    %rbx,(%rsi)
140039339:	88 46 08             	mov    %al,0x8(%rsi)
14003933c:	48 89 f0             	mov    %rsi,%rax
14003933f:	48 83 c4 20          	add    $0x20,%rsp