140a6ff82:	8b c6                	mov    %esi,%eax
140a6ff84:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140a6ff89:	03 c6                	add    %esi,%eax
140a6ff8b:	75 10                	jne    0x140a6ff9d
140a6ff8d:	48 8b 03             	mov    (%rbx),%rax
140a6ff90:	48 8b cb             	mov    %rbx,%rcx
140a6ff93:	48 8b 40 08          	mov    0x8(%rax),%rax
140a6ff97:	ff 15 9b cc 09 00    	call   *0x9cc9b(%rip)        # 0x140b0cc38
140a6ff9d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a6ffa2:	48 8d 05 bf 75 0c 00 	lea    0xc75bf(%rip),%rax        # 0x140b37568
140a6ffa9:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a6ffae:	48 89 07             	mov    %rax,(%rdi)
140a6ffb1:	48 83 c4 20          	add    $0x20,%rsp
140a6ffb5:	5f                   	pop    %rdi
140a6ffb6:	c3                   	ret
140a6ffb7:	90                   	nop
140a6ffb8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a6ffbd:	57                   	push   %rdi
140a6ffbe:	48 83 ec 20          	sub    $0x20,%rsp
140a6ffc2:	48 8d 59 18          	lea    0x18(%rcx),%rbx
140a6ffc6:	48 8b f9             	mov    %rcx,%rdi
140a6ffc9:	4c 8b 03             	mov    (%rbx),%r8
140a6ffcc:	48 8b d3             	mov    %rbx,%rdx
140a6ffcf:	48 8b cb             	mov    %rbx,%rcx
140a6ffd2:	4d 8b 40 08          	mov    0x8(%r8),%r8
140a6ffd6:	e8 89 38 00 00       	call   0x140a73864
140a6ffdb:	48 8b 0b             	mov    (%rbx),%rcx
140a6ffde:	ff 15 dc c8 09 00    	call   *0x9c8dc(%rip)        # 0x140b0c8c0
140a6ffe4:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140a6ffe8:	48 85 c9             	test   %rcx,%rcx
140a6ffeb:	74 1a                	je     0x140a70007
140a6ffed:	83 c8 ff             	or     $0xffffffff,%eax
140a6fff0:	f0 0f c1 41 0c       	lock xadd %eax,0xc(%rcx)
140a6fff5:	83 f8 01             	cmp    $0x1,%eax
140a6fff8:	75 0d                	jne    0x140a70007
140a6fffa:	48 8b 01             	mov    (%rcx),%rax
140a6fffd:	48 8b 40 08          	mov    0x8(%rax),%rax
140a70001:	ff 15 31 cc 09 00    	call   *0x9cc31(%rip)        # 0x140b0cc38
140a70007:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a7000c:	48 8d 05 7d 6e 0c 00 	lea    0xc6e7d(%rip),%rax        # 0x140b36e90
140a70013:	48 89 07             	mov    %rax,(%rdi)
140a70016:	48 83 c4 20          	add    $0x20,%rsp
140a7001a:	5f                   	pop    %rdi
140a7001b:	c3                   	ret
140a7001c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a70021:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140a70026:	57                   	push   %rdi
140a70027:	48 83 ec 20          	sub    $0x20,%rsp
140a7002b:	48 8b 01             	mov    (%rcx),%rax
140a7002e:	48 8b f1             	mov    %rcx,%rsi
140a70031:	48 8b 78 08          	mov    0x8(%rax),%rdi
140a70035:	eb 27                	jmp    0x140a7005e
140a70037:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140a7003b:	48 8b d6             	mov    %rsi,%rdx
140a7003e:	48 8b ce             	mov    %rsi,%rcx
140a70041:	e8 4e 37 00 00       	call   0x140a73794
140a70046:	48 8b df             	mov    %rdi,%rbx
140a70049:	48 8b 3f             	mov    (%rdi),%rdi
140a7004c:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140a70050:	e8 5b 3c 00 00       	call   0x140a73cb0
140a70055:	48 8b cb             	mov    %rbx,%rcx
140a70058:	ff 15 62 c8 09 00    	call   *0x9c862(%rip)        # 0x140b0c8c0
140a7005e:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140a70062:	74 d3                	je     0x140a70037
140a70064:	48 8b 0e             	mov    (%rsi),%rcx
140a70067:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a7006c:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a70071:	48 83 c4 20          	add    $0x20,%rsp
140a70075:	5f                   	pop    %rdi
140a70076:	48 ff 25 43 c8 09 00 	rex.W jmp *0x9c843(%rip)        # 0x140b0c8c0
140a7007d:	cc                   	int3
140a7007e:	90                   	nop
140a7007f:	90                   	nop
140a70080:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a70085:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140a7008a:	57                   	push   %rdi
140a7008b:	48 83 ec 20          	sub    $0x20,%rsp
140a7008f:	48 8b 01             	mov    (%rcx),%rax
140a70092:	48 8b f1             	mov    %rcx,%rsi
140a70095:	48 8b 78 08          	mov    0x8(%rax),%rdi
140a70099:	eb 27                	jmp    0x140a700c2
140a7009b:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140a7009f:	48 8b d6             	mov    %rsi,%rdx
140a700a2:	48 8b ce             	mov    %rsi,%rcx
140a700a5:	e8 52 37 00 00       	call   0x140a737fc
140a700aa:	48 8b df             	mov    %rdi,%rbx
140a700ad:	48 8b 3f             	mov    (%rdi),%rdi
140a700b0:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140a700b4:	e8 67 3d 00 00       	call   0x140a73e20
140a700b9:	48 8b cb             	mov    %rbx,%rcx
140a700bc:	ff 15 fe c7 09 00    	call   *0x9c7fe(%rip)        # 0x140b0c8c0
140a700c2:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140a700c6:	74 d3                	je     0x140a7009b
140a700c8:	48 8b 0e             	mov    (%rsi),%rcx
140a700cb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a700d0:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a700d5:	48 83 c4 20          	add    $0x20,%rsp
140a700d9:	5f                   	pop    %rdi
140a700da:	48 ff 25 df c7 09 00 	rex.W jmp *0x9c7df(%rip)        # 0x140b0c8c0
140a700e1:	cc                   	int3
140a700e2:	90                   	nop
140a700e3:	90                   	nop
140a700e4:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a700e9:	55                   	push   %rbp
140a700ea:	53                   	push   %rbx
140a700eb:	56                   	push   %rsi
140a700ec:	57                   	push   %rdi
140a700ed:	41 54                	push   %r12
140a700ef:	41 56                	push   %r14
140a700f1:	41 57                	push   %r15
140a700f3:	48 8b ec             	mov    %rsp,%rbp
140a700f6:	48 83 ec 50          	sub    $0x50,%rsp
140a700fa:	4c 8b f2             	mov    %rdx,%r14
140a700fd:	0f 29 74 24 40       	movaps %xmm6,0x40(%rsp)
140a70102:	48 8d 4a 18          	lea    0x18(%rdx),%rcx
140a70106:	49 8b f0             	mov    %r8,%rsi
140a70109:	49 8d 50 18          	lea    0x18(%r8),%rdx
140a7010d:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
140a70112:	48 8b 7a 10          	mov    0x10(%rdx),%rdi
140a70116:	76 03                	jbe    0x140a7011b
140a70118:	48 8b 12             	mov    (%rdx),%rdx
140a7011b:	48 83 79 18 0f       	cmpq   $0xf,0x18(%rcx)
140a70120:	48 8b 59 10          	mov    0x10(%rcx),%rbx
140a70124:	76 03                	jbe    0x140a70129
140a70126:	48 8b 09             	mov    (%rcx),%rcx
140a70129:	48 3b fb             	cmp    %rbx,%rdi
140a7012c:	4c 8b c3             	mov    %rbx,%r8
140a7012f:	4c 0f 42 c7          	cmovb  %rdi,%r8
140a70133:	e8 b2 21 08 00       	call   0x140af22ea
140a70138:	41 83 cc ff          	or     $0xffffffff,%r12d
140a7013c:	45 33 ff             	xor    %r15d,%r15d
140a7013f:	8b c8                	mov    %eax,%ecx
140a70141:	85 c0                	test   %eax,%eax
140a70143:	75 10                	jne    0x140a70155
140a70145:	48 3b df             	cmp    %rdi,%rbx
140a70148:	73 05                	jae    0x140a7014f
140a7014a:	41 8b cc             	mov    %r12d,%ecx
140a7014d:	eb 06                	jmp    0x140a70155
140a7014f:	41 8b cf             	mov    %r15d,%ecx
140a70152:	0f 97 c1             	seta   %cl
140a70155:	85 c9                	test   %ecx,%ecx
140a70157:	0f 85 da 00 00 00    	jne    0x140a70237
140a7015d:	48 8b d6             	mov    %rsi,%rdx
140a70160:	49 8b ce             	mov    %r14,%rcx
140a70163:	e8 e4 bf e9 ff       	call   0x14090c14c
140a70168:	8b c8                	mov    %eax,%ecx
140a7016a:	85 c0                	test   %eax,%eax
140a7016c:	0f 85 c5 00 00 00    	jne    0x140a70237
140a70172:	49 8b 4e 38          	mov    0x38(%r14),%rcx
140a70176:	4c 8d 4d 50          	lea    0x50(%rbp),%r9
140a7017a:	4c 8d 45 48          	lea    0x48(%rbp),%r8
140a7017e:	48 8d 55 40          	lea    0x40(%rbp),%rdx
140a70182:	48 8b 01             	mov    (%rcx),%rax
140a70185:	48 8b 40 08          	mov    0x8(%rax),%rax
140a70189:	ff 15 a9 ca 09 00    	call   *0x9caa9(%rip)        # 0x140b0cc38
140a7018f:	48 8b 4e 38          	mov    0x38(%rsi),%rcx
140a70193:	4c 8d 4d e4          	lea    -0x1c(%rbp),%r9
140a70197:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
140a7019b:	48 8d 55 58          	lea    0x58(%rbp),%rdx
140a7019f:	48 8b 01             	mov    (%rcx),%rax
140a701a2:	48 8b 40 08          	mov    0x8(%rax),%rax
140a701a6:	ff 15 8c ca 09 00    	call   *0x9ca8c(%rip)        # 0x140b0cc38
140a701ac:	f3 0f 10 75 58       	movss  0x58(%rbp),%xmm6
140a701b1:	f3 0f 10 15 67 0e 14 	movss  0x140e67(%rip),%xmm2        # 0x140bb1020
140a701b8:	00
140a701b9:	0f 28 ce             	movaps %xmm6,%xmm1
140a701bc:	f3 0f 10 45 40       	movss  0x40(%rbp),%xmm0
140a701c1:	e8 8e 15 ec ff       	call   0x140931754
140a701c6:	0f 2f 75 40          	comiss 0x40(%rbp),%xmm6
140a701ca:	ba 01 00 00 00       	mov    $0x1,%edx
140a701cf:	8b ca                	mov    %edx,%ecx
140a701d1:	41 0f 47 cc          	cmova  %r12d,%ecx
140a701d5:	84 c0                	test   %al,%al
140a701d7:	41 0f 45 cf          	cmovne %r15d,%ecx
140a701db:	85 c9                	test   %ecx,%ecx
140a701dd:	75 58                	jne    0x140a70237
140a701df:	f3 0f 10 75 e0       	movss  -0x20(%rbp),%xmm6
140a701e4:	f3 0f 10 15 34 0e 14 	movss  0x140e34(%rip),%xmm2        # 0x140bb1020
140a701eb:	00
140a701ec:	0f 28 ce             	movaps %xmm6,%xmm1
140a701ef:	f3 0f 10 45 48       	movss  0x48(%rbp),%xmm0
140a701f4:	e8 5b 15 ec ff       	call   0x140931754
140a701f9:	0f 2f 75 48          	comiss 0x48(%rbp),%xmm6
140a701fd:	8b ca                	mov    %edx,%ecx
140a701ff:	41 0f 47 cc          	cmova  %r12d,%ecx
140a70203:	84 c0                	test   %al,%al
140a70205:	41 0f 45 cf          	cmovne %r15d,%ecx
140a70209:	85 c9                	test   %ecx,%ecx
140a7020b:	75 2a                	jne    0x140a70237
140a7020d:	f3 0f 10 75 e4       	movss  -0x1c(%rbp),%xmm6
140a70212:	f3 0f 10 15 06 0e 14 	movss  0x140e06(%rip),%xmm2        # 0x140bb1020
140a70219:	00
140a7021a:	0f 28 ce             	movaps %xmm6,%xmm1
140a7021d:	f3 0f 10 45 50       	movss  0x50(%rbp),%xmm0
140a70222:	e8 2d 15 ec ff       	call   0x140931754
140a70227:	0f 2f 75 50          	comiss 0x50(%rbp),%xmm6
140a7022b:	8b ca                	mov    %edx,%ecx
140a7022d:	41 0f 47 cc          	cmova  %r12d,%ecx
140a70231:	84 c0                	test   %al,%al
140a70233:	41 0f 45 cf          	cmovne %r15d,%ecx
140a70237:	0f 28 74 24 40       	movaps 0x40(%rsp),%xmm6
140a7023c:	c1 e9 1f             	shr    $0x1f,%ecx
140a7023f:	8a c1                	mov    %cl,%al
140a70241:	48 83 c4 50          	add    $0x50,%rsp
140a70245:	41 5f                	pop    %r15
140a70247:	41 5e                	pop    %r14
140a70249:	41 5c                	pop    %r12
140a7024b:	5f                   	pop    %rdi
140a7024c:	5e                   	pop    %rsi
140a7024d:	5b                   	pop    %rbx
140a7024e:	5d                   	pop    %rbp
140a7024f:	c3                   	ret
140a70250:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a70255:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140a7025a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140a7025f:	57                   	push   %rdi
140a70260:	48 83 ec 20          	sub    $0x20,%rsp
140a70264:	48 8b ea             	mov    %rdx,%rbp
140a70267:	48 8d 4a 20          	lea    0x20(%rdx),%rcx
140a7026b:	49 8d 50 20          	lea    0x20(%r8),%rdx
140a7026f:	49 8b f0             	mov    %r8,%rsi
140a70272:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
140a70277:	48 8b 7a 10          	mov    0x10(%rdx),%rdi
140a7027b:	76 03                	jbe    0x140a70280
140a7027d:	48 8b 12             	mov    (%rdx),%rdx
140a70280:	48 83 79 18 0f       	cmpq   $0xf,0x18(%rcx)
140a70285:	48 8b 59 10          	mov    0x10(%rcx),%rbx
140a70289:	76 03                	jbe    0x140a7028e
140a7028b:	48 8b 09             	mov    (%rcx),%rcx
140a7028e:	48 3b fb             	cmp    %rbx,%rdi
140a70291:	4c 8b c3             	mov    %rbx,%r8
140a70294:	4c 0f 42 c7          	cmovb  %rdi,%r8
140a70298:	e8 4d 20 08 00       	call   0x140af22ea
140a7029d:	85 c0                	test   %eax,%eax
140a7029f:	75 35                	jne    0x140a702d6
140a702a1:	48 3b df             	cmp    %rdi,%rbx
140a702a4:	73 05                	jae    0x140a702ab
140a702a6:	83 c8 ff             	or     $0xffffffff,%eax
140a702a9:	eb 08                	jmp    0x140a702b3
140a702ab:	33 c0                	xor    %eax,%eax
140a702ad:	48 3b df             	cmp    %rdi,%rbx
140a702b0:	0f 97 c0             	seta   %al
140a702b3:	85 c0                	test   %eax,%eax
140a702b5:	75 1f                	jne    0x140a702d6
140a702b7:	48 8b d6             	mov    %rsi,%rdx
140a702ba:	48 8b cd             	mov    %rbp,%rcx
140a702bd:	e8 8a be e9 ff       	call   0x14090c14c
140a702c2:	85 c0                	test   %eax,%eax
140a702c4:	75 10                	jne    0x140a702d6
140a702c6:	48 8d 56 18          	lea    0x18(%rsi),%rdx
140a702ca:	48 8d 4d 18          	lea    0x18(%rbp),%rcx
140a702ce:	e8 f1 bb e9 ff       	call   0x14090bec4
140a702d3:	0f b6 c0             	movzbl %al,%eax
140a702d6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a702db:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140a702e0:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a702e5:	c1 e8 1f             	shr    $0x1f,%eax
140a702e8:	48 83 c4 20          	add    $0x20,%rsp
140a702ec:	5f                   	pop    %rdi
140a702ed:	c3                   	ret
140a702ee:	90                   	nop
140a702ef:	90                   	nop
140a702f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a702f5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140a702fa:	57                   	push   %rdi
140a702fb:	48 83 ec 20          	sub    $0x20,%rsp
140a702ff:	48 8b 01             	mov    (%rcx),%rax
140a70302:	48 8b f1             	mov    %rcx,%rsi
140a70305:	48 8b 78 08          	mov    0x8(%rax),%rdi
140a70309:	eb 27                	jmp    0x140a70332
140a7030b:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140a7030f:	48 8b d6             	mov    %rsi,%rdx
140a70312:	48 8b ce             	mov    %rsi,%rcx
140a70315:	e8 de 35 00 00       	call   0x140a738f8
140a7031a:	48 8b df             	mov    %rdi,%rbx
140a7031d:	48 8b 3f             	mov    (%rdi),%rdi
140a70320:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140a70324:	e8 77 3a 00 00       	call   0x140a73da0
140a70329:	48 8b cb             	mov    %rbx,%rcx
140a7032c:	ff 15 8e c5 09 00    	call   *0x9c58e(%rip)        # 0x140b0c8c0
140a70332:	80 7f 19 00          	cmpb   $0x0,0x19(%rdi)
140a70336:	74 d3                	je     0x140a7030b
140a70338:	48 8b 0e             	mov    (%rsi),%rcx
140a7033b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a70340:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140a70345:	48 83 c4 20          	add    $0x20,%rsp
140a70349:	5f                   	pop    %rdi
140a7034a:	48 ff 25 6f c5 09 00 	rex.W jmp *0x9c56f(%rip)        # 0x140b0c8c0
140a70351:	cc                   	int3
140a70352:	90                   	nop
140a70353:	90                   	nop
140a70354:	48 83 ec 28          	sub    $0x28,%rsp
140a70358:	48 8b 02             	mov    (%rdx),%rax
140a7035b:	4c 8b ca             	mov    %rdx,%r9
140a7035e:	49 3b 00             	cmp    (%r8),%rax
140a70361:	74 0e                	je     0x140a70371
140a70363:	1a c0                	sbb    %al,%al
140a70365:	24 fe                	and    $0xfe,%al
140a70367:	04 01                	add    $0x1,%al
140a70369:	0f be d0             	movsbl %al,%edx
140a7036c:	c1 fa 07             	sar    $0x7,%edx
140a7036f:	eb 6e                	jmp    0x140a703df
140a70371:	f3 0f 10 15 a7 0c 14 	movss  0x140ca7(%rip),%xmm2        # 0x140bb1020
140a70378:	00
140a70379:	48 8d 4a 10          	lea    0x10(%rdx),%rcx
140a7037d:	f3 0f 10 01          	movss  (%rcx),%xmm0
140a70381:	f3 41 0f 10 48 10    	movss  0x10(%r8),%xmm1
140a70387:	e8 c8 13 ec ff       	call   0x140931754
140a7038c:	33 d2                	xor    %edx,%edx
140a7038e:	84 c0                	test   %al,%al
140a70390:	74 37                	je     0x140a703c9
140a70392:	f3 0f 10 15 86 0c 14 	movss  0x140c86(%rip),%xmm2        # 0x140bb1020
140a70399:	00
140a7039a:	f3 41 0f 10 48 14    	movss  0x14(%r8),%xmm1
140a703a0:	f3 0f 10 41 04       	movss  0x4(%rcx),%xmm0
140a703a5:	e8 aa 13 ec ff       	call   0x140931754
140a703aa:	84 c0                	test   %al,%al
140a703ac:	74 1b                	je     0x140a703c9
140a703ae:	41 8b 40 18          	mov    0x18(%r8),%eax
140a703b2:	41 39 41 18          	cmp    %eax,0x18(%r9)
140a703b6:	74 27                	je     0x140a703df
140a703b8:	83 c9 ff             	or     $0xffffffff,%ecx
140a703bb:	ba 01 00 00 00       	mov    $0x1,%edx
140a703c0:	41 39 41 18          	cmp    %eax,0x18(%r9)
140a703c4:	0f 4c d1             	cmovl  %ecx,%edx
140a703c7:	eb 16                	jmp    0x140a703df
140a703c9:	49 8d 50 10          	lea    0x10(%r8),%rdx
140a703cd:	e8 f2 ba e9 ff       	call   0x14090bec4
140a703d2:	0f b6 c8             	movzbl %al,%ecx
140a703d5:	83 f1 01             	xor    $0x1,%ecx
140a703d8:	8d 14 4d ff ff ff ff 	lea    -0x1(,%rcx,2),%edx
140a703df:	c1 ea 1f             	shr    $0x1f,%edx
140a703e2:	8a c2                	mov    %dl,%al
140a703e4:	48 83 c4 28          	add    $0x28,%rsp
140a703e8:	c3                   	ret
140a703e9:	90                   	nop
140a703ea:	90                   	nop
140a703eb:	90                   	nop
140a703ec:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a703f1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140a703f6:	57                   	push   %rdi
140a703f7:	48 83 ec 20          	sub    $0x20,%rsp
140a703fb:	48 8b 01             	mov    (%rcx),%rax
140a703fe:	48 8b f1             	mov    %rcx,%rsi
140a70401:	48 8b 78 08          	mov    0x8(%rax),%rdi
140a70405:	eb 27                	jmp    0x140a7042e
140a70407:	4c 8b 47 10          	mov    0x10(%rdi),%r8
140a7040b:	48 8b d6             	mov    %rsi,%rdx
140a7040e:	48 8b ce             	mov    %rsi,%rcx
140a70411:	e8 4a 35 00 00       	call   0x140a73960