140ad8fa3:	41 03 d6             	add    %r14d,%edx
140ad8fa6:	78 24                	js     0x140ad8fcc
140ad8fa8:	45 85 c0             	test   %r8d,%r8d
140ad8fab:	78 1f                	js     0x140ad8fcc
140ad8fad:	3b 57 04             	cmp    0x4(%rdi),%edx
140ad8fb0:	73 1a                	jae    0x140ad8fcc
140ad8fb2:	44 3b 47 08          	cmp    0x8(%rdi),%r8d
140ad8fb6:	73 14                	jae    0x140ad8fcc
140ad8fb8:	48 8b cf             	mov    %rdi,%rcx
140ad8fbb:	e8 34 e0 ff ff       	call   0x140ad6ff4
140ad8fc0:	45 33 c9             	xor    %r9d,%r9d
140ad8fc3:	66 85 c0             	test   %ax,%ax
140ad8fc6:	74 04                	je     0x140ad8fcc
140ad8fc8:	66 41 03 f4          	add    %r12w,%si
140ad8fcc:	49 8b 42 10          	mov    0x10(%r10),%rax
140ad8fd0:	44 38 48 19          	cmp    %r9b,0x19(%rax)
140ad8fd4:	74 1e                	je     0x140ad8ff4
140ad8fd6:	49 8b 42 08          	mov    0x8(%r10),%rax
140ad8fda:	eb 0d                	jmp    0x140ad8fe9
140ad8fdc:	4c 3b 50 10          	cmp    0x10(%rax),%r10
140ad8fe0:	75 0d                	jne    0x140ad8fef
140ad8fe2:	4c 8b d0             	mov    %rax,%r10
140ad8fe5:	48 8b 40 08          	mov    0x8(%rax),%rax
140ad8fe9:	44 38 48 19          	cmp    %r9b,0x19(%rax)
140ad8fed:	74 ed                	je     0x140ad8fdc
140ad8fef:	4c 8b d0             	mov    %rax,%r10
140ad8ff2:	eb 1b                	jmp    0x140ad900f
140ad8ff4:	4c 8b d0             	mov    %rax,%r10
140ad8ff7:	48 8b 08             	mov    (%rax),%rcx
140ad8ffa:	44 38 49 19          	cmp    %r9b,0x19(%rcx)
140ad8ffe:	75 0f                	jne    0x140ad900f
140ad9000:	4c 8b d1             	mov    %rcx,%r10
140ad9003:	48 8b 01             	mov    (%rcx),%rax
140ad9006:	48 8b c8             	mov    %rax,%rcx
140ad9009:	44 38 48 19          	cmp    %r9b,0x19(%rax)
140ad900d:	74 f1                	je     0x140ad9000
140ad900f:	4d 3b d3             	cmp    %r11,%r10
140ad9012:	0f 85 7b ff ff ff    	jne    0x140ad8f93
140ad9018:	4c 8b 65 50          	mov    0x50(%rbp),%r12
140ad901c:	4c 8b 5f 40          	mov    0x40(%rdi),%r11
140ad9020:	4d 8b 13             	mov    (%r11),%r10
140ad9023:	4d 3b d3             	cmp    %r11,%r10
140ad9026:	0f 84 97 00 00 00    	je     0x140ad90c3
140ad902c:	41 bc 01 00 00 00    	mov    $0x1,%r12d
140ad9032:	41 0f bf 52 1c       	movswl 0x1c(%r10),%edx
140ad9037:	2b 55 70             	sub    0x70(%rbp),%edx
140ad903a:	45 0f bf 42 1a       	movswl 0x1a(%r10),%r8d
140ad903f:	44 2b 45 78          	sub    0x78(%rbp),%r8d
140ad9043:	45 03 c7             	add    %r15d,%r8d
140ad9046:	66 03 f6             	add    %si,%si
140ad9049:	41 03 d6             	add    %r14d,%edx
140ad904c:	78 25                	js     0x140ad9073
140ad904e:	45 85 c0             	test   %r8d,%r8d
140ad9051:	78 20                	js     0x140ad9073
140ad9053:	41 3b 55 04          	cmp    0x4(%r13),%edx
140ad9057:	73 1a                	jae    0x140ad9073
140ad9059:	45 3b 45 08          	cmp    0x8(%r13),%r8d
140ad905d:	73 14                	jae    0x140ad9073
140ad905f:	49 8b cd             	mov    %r13,%rcx
140ad9062:	e8 8d df ff ff       	call   0x140ad6ff4
140ad9067:	45 33 c9             	xor    %r9d,%r9d
140ad906a:	66 85 c0             	test   %ax,%ax
140ad906d:	74 04                	je     0x140ad9073
140ad906f:	66 41 03 f4          	add    %r12w,%si
140ad9073:	49 8b 42 10          	mov    0x10(%r10),%rax
140ad9077:	44 38 48 19          	cmp    %r9b,0x19(%rax)
140ad907b:	74 1e                	je     0x140ad909b
140ad907d:	49 8b 42 08          	mov    0x8(%r10),%rax
140ad9081:	eb 0d                	jmp    0x140ad9090
140ad9083:	4c 3b 50 10          	cmp    0x10(%rax),%r10
140ad9087:	75 0d                	jne    0x140ad9096
140ad9089:	4c 8b d0             	mov    %rax,%r10
140ad908c:	48 8b 40 08          	mov    0x8(%rax),%rax
140ad9090:	44 38 48 19          	cmp    %r9b,0x19(%rax)
140ad9094:	74 ed                	je     0x140ad9083
140ad9096:	4c 8b d0             	mov    %rax,%r10
140ad9099:	eb 1b                	jmp    0x140ad90b6
140ad909b:	4c 8b d0             	mov    %rax,%r10
140ad909e:	48 8b 08             	mov    (%rax),%rcx
140ad90a1:	44 38 49 19          	cmp    %r9b,0x19(%rcx)
140ad90a5:	75 0f                	jne    0x140ad90b6
140ad90a7:	4c 8b d1             	mov    %rcx,%r10
140ad90aa:	48 8b 01             	mov    (%rcx),%rax
140ad90ad:	48 8b c8             	mov    %rax,%rcx
140ad90b0:	44 38 48 19          	cmp    %r9b,0x19(%rax)
140ad90b4:	74 f1                	je     0x140ad90a7
140ad90b6:	4d 3b d3             	cmp    %r11,%r10
140ad90b9:	0f 85 73 ff ff ff    	jne    0x140ad9032
140ad90bf:	4c 8b 65 50          	mov    0x50(%rbp),%r12
140ad90c3:	83 cf ff             	or     $0xffffffff,%edi
140ad90c6:	48 85 db             	test   %rbx,%rbx
140ad90c9:	74 35                	je     0x140ad9100
140ad90cb:	8b c7                	mov    %edi,%eax
140ad90cd:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140ad90d2:	03 c7                	add    %edi,%eax
140ad90d4:	75 2a                	jne    0x140ad9100
140ad90d6:	48 8b 03             	mov    (%rbx),%rax
140ad90d9:	48 8b cb             	mov    %rbx,%rcx
140ad90dc:	48 8b 00             	mov    (%rax),%rax
140ad90df:	ff 15 53 3b 03 00    	call   *0x33b53(%rip)        # 0x140b0cc38
140ad90e5:	8b c7                	mov    %edi,%eax
140ad90e7:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140ad90ec:	03 c7                	add    %edi,%eax
140ad90ee:	75 10                	jne    0x140ad9100
140ad90f0:	48 8b 03             	mov    (%rbx),%rax
140ad90f3:	48 8b cb             	mov    %rbx,%rcx
140ad90f6:	48 8b 40 08          	mov    0x8(%rax),%rax
140ad90fa:	ff 15 38 3b 03 00    	call   *0x33b38(%rip)        # 0x140b0cc38
140ad9100:	48 8b 45 48          	mov    0x48(%rbp),%rax
140ad9104:	4c 8b 80 a8 00 00 00 	mov    0xa8(%rax),%r8
140ad910b:	0f b7 d6             	movzwl %si,%edx
140ad910e:	48 8b c8             	mov    %rax,%rcx
140ad9111:	e8 6e f5 ff ff       	call   0x140ad8684
140ad9116:	45 33 c9             	xor    %r9d,%r9d
140ad9119:	66 85 c0             	test   %ax,%ax
140ad911c:	74 16                	je     0x140ad9134
140ad911e:	44 0f b7 c8          	movzwl %ax,%r9d
140ad9122:	45 8b c7             	mov    %r15d,%r8d
140ad9125:	41 8b d6             	mov    %r14d,%edx
140ad9128:	49 8b 0c 24          	mov    (%r12),%rcx
140ad912c:	e8 8f dd ff ff       	call   0x140ad6ec0
140ad9131:	45 33 c9             	xor    %r9d,%r9d
140ad9134:	be 01 00 00 00       	mov    $0x1,%esi
140ad9139:	44 03 f6             	add    %esi,%r14d
140ad913c:	44 3b 75 58          	cmp    0x58(%rbp),%r14d
140ad9140:	0f 82 07 fe ff ff    	jb     0x140ad8f4d
140ad9146:	8b 5d 60             	mov    0x60(%rbp),%ebx
140ad9149:	44 03 fe             	add    %esi,%r15d
140ad914c:	44 3b fb             	cmp    %ebx,%r15d
140ad914f:	0f 82 eb fd ff ff    	jb     0x140ad8f40
140ad9155:	48 8b 5d 68          	mov    0x68(%rbp),%rbx
140ad9159:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140ad915d:	48 85 db             	test   %rbx,%rbx
140ad9160:	74 35                	je     0x140ad9197
140ad9162:	8b c7                	mov    %edi,%eax
140ad9164:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140ad9169:	03 c7                	add    %edi,%eax
140ad916b:	75 2a                	jne    0x140ad9197
140ad916d:	48 8b 03             	mov    (%rbx),%rax
140ad9170:	48 8b cb             	mov    %rbx,%rcx
140ad9173:	48 8b 00             	mov    (%rax),%rax
140ad9176:	ff 15 bc 3a 03 00    	call   *0x33abc(%rip)        # 0x140b0cc38
140ad917c:	8b c7                	mov    %edi,%eax
140ad917e:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140ad9183:	03 c7                	add    %edi,%eax
140ad9185:	75 10                	jne    0x140ad9197
140ad9187:	48 8b 03             	mov    (%rbx),%rax
140ad918a:	48 8b cb             	mov    %rbx,%rcx
140ad918d:	48 8b 40 08          	mov    0x8(%rax),%rax
140ad9191:	ff 15 a1 3a 03 00    	call   *0x33aa1(%rip)        # 0x140b0cc38
140ad9197:	49 8b c4             	mov    %r12,%rax
140ad919a:	48 83 c4 48          	add    $0x48,%rsp
140ad919e:	41 5f                	pop    %r15
140ad91a0:	41 5e                	pop    %r14
140ad91a2:	41 5d                	pop    %r13
140ad91a4:	41 5c                	pop    %r12
140ad91a6:	5f                   	pop    %rdi
140ad91a7:	5e                   	pop    %rsi
140ad91a8:	5b                   	pop    %rbx
140ad91a9:	5d                   	pop    %rbp
140ad91aa:	c3                   	ret
140ad91ab:	90                   	nop
140ad91ac:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140ad91b1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140ad91b6:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140ad91bb:	41 56                	push   %r14
140ad91bd:	48 83 ec 20          	sub    $0x20,%rsp
140ad91c1:	33 ff                	xor    %edi,%edi
140ad91c3:	4c 8b f2             	mov    %rdx,%r14
140ad91c6:	48 89 39             	mov    %rdi,(%rcx)
140ad91c9:	48 8b f1             	mov    %rcx,%rsi
140ad91cc:	48 89 79 08          	mov    %rdi,0x8(%rcx)
140ad91d0:	48 89 79 10          	mov    %rdi,0x10(%rcx)
140ad91d4:	48 8b 5a 08          	mov    0x8(%rdx),%rbx
140ad91d8:	48 2b 1a             	sub    (%rdx),%rbx
140ad91db:	48 d1 fb             	sar    $1,%rbx
140ad91de:	0f 84 8a 00 00 00    	je     0x140ad926e
140ad91e4:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140ad91eb:	ff ff 7f
140ad91ee:	48 3b d8             	cmp    %rax,%rbx
140ad91f1:	0f 87 96 00 00 00    	ja     0x140ad928d
140ad91f7:	48 03 db             	add    %rbx,%rbx
140ad91fa:	74 43                	je     0x140ad923f
140ad91fc:	48 81 fb 00 10 00 00 	cmp    $0x1000,%rbx
140ad9203:	72 22                	jb     0x140ad9227
140ad9205:	48 8d 4b 27          	lea    0x27(%rbx),%rcx
140ad9209:	48 3b cb             	cmp    %rbx,%rcx
140ad920c:	76 79                	jbe    0x140ad9287
140ad920e:	ff 15 b4 36 03 00    	call   *0x336b4(%rip)        # 0x140b0c8c8
140ad9214:	48 85 c0             	test   %rax,%rax
140ad9217:	74 1c                	je     0x140ad9235
140ad9219:	48 8d 78 27          	lea    0x27(%rax),%rdi
140ad921d:	48 83 e7 e0          	and    $0xffffffffffffffe0,%rdi
140ad9221:	48 89 47 f8          	mov    %rax,-0x8(%rdi)
140ad9225:	eb 18                	jmp    0x140ad923f
140ad9227:	48 8b cb             	mov    %rbx,%rcx
140ad922a:	ff 15 98 36 03 00    	call   *0x33698(%rip)        # 0x140b0c8c8
140ad9230:	48 85 c0             	test   %rax,%rax
140ad9233:	75 07                	jne    0x140ad923c
140ad9235:	ff 15 5d 32 03 00    	call   *0x3325d(%rip)        # 0x140b0c498
140ad923b:	cc                   	int3
140ad923c:	48 8b f8             	mov    %rax,%rdi
140ad923f:	48 89 3e             	mov    %rdi,(%rsi)
140ad9242:	48 8d 04 3b          	lea    (%rbx,%rdi,1),%rax
140ad9246:	48 89 7e 08          	mov    %rdi,0x8(%rsi)
140ad924a:	48 8b cf             	mov    %rdi,%rcx
140ad924d:	48 89 46 10          	mov    %rax,0x10(%rsi)
140ad9251:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140ad9255:	49 2b 1e             	sub    (%r14),%rbx
140ad9258:	49 8b 16             	mov    (%r14),%rdx
140ad925b:	4c 8b c3             	mov    %rbx,%r8
140ad925e:	e8 03 72 01 00       	call   0x140af0466
140ad9263:	48 d1 fb             	sar    $1,%rbx
140ad9266:	48 8d 04 5f          	lea    (%rdi,%rbx,2),%rax
140ad926a:	48 89 46 08          	mov    %rax,0x8(%rsi)
140ad926e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140ad9273:	48 8b c6             	mov    %rsi,%rax
140ad9276:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140ad927b:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140ad9280:	48 83 c4 20          	add    $0x20,%rsp
140ad9284:	41 5e                	pop    %r14
140ad9286:	c3                   	ret
140ad9287:	e8 44 aa 52 ff       	call   0x140003cd0
140ad928c:	cc                   	int3
140ad928d:	e8 d6 2a 54 ff       	call   0x14001bd68
140ad9292:	cc                   	int3
140ad9293:	90                   	nop
140ad9294:	90                   	nop
140ad9295:	90                   	nop
140ad9296:	90                   	nop
140ad9297:	90                   	nop
140ad9298:	90                   	nop
140ad9299:	90                   	nop
140ad929a:	90                   	nop
140ad929b:	90                   	nop
140ad929c:	90                   	nop
140ad929d:	90                   	nop
140ad929e:	90                   	nop
140ad929f:	90                   	nop
140ad92a0:	48 8b 41 18          	mov    0x18(%rcx),%rax
140ad92a4:	48 8b 50 08          	mov    0x8(%rax),%rdx
140ad92a8:	48 2b 10             	sub    (%rax),%rdx
140ad92ab:	8b 41 08             	mov    0x8(%rcx),%eax
140ad92ae:	48 3b c2             	cmp    %rdx,%rax
140ad92b1:	0f 94 c0             	sete   %al
140ad92b4:	c3                   	ret
140ad92b5:	90                   	nop
140ad92b6:	90                   	nop
140ad92b7:	90                   	nop
140ad92b8:	90                   	nop
140ad92b9:	90                   	nop
140ad92ba:	90                   	nop
140ad92bb:	90                   	nop
140ad92bc:	90                   	nop
140ad92bd:	90                   	nop
140ad92be:	90                   	nop
140ad92bf:	90                   	nop
140ad92c0:	48 83 ec 78          	sub    $0x78,%rsp
140ad92c4:	48 8b 05 75 5d 1e 00 	mov    0x1e5d75(%rip),%rax        # 0x140cbf040
140ad92cb:	48 33 c4             	xor    %rsp,%rax
140ad92ce:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140ad92d3:	48 8b 41 18          	mov    0x18(%rcx),%rax
140ad92d7:	4c 8b c1             	mov    %rcx,%r8
140ad92da:	44 8b 49 08          	mov    0x8(%rcx),%r9d
140ad92de:	48 8b 10             	mov    (%rax),%rdx
140ad92e1:	48 8b 40 08          	mov    0x8(%rax),%rax
140ad92e5:	48 2b c2             	sub    %rdx,%rax
140ad92e8:	4c 3b c8             	cmp    %rax,%r9
140ad92eb:	73 58                	jae    0x140ad9345
140ad92ed:	46 8a 14 0a          	mov    (%rdx,%r9,1),%r10b
140ad92f1:	ba 01 00 00 00       	mov    $0x1,%edx
140ad92f6:	8b 49 0c             	mov    0xc(%rcx),%ecx
140ad92f9:	d3 e2                	shl    %cl,%edx
140ad92fb:	41 84 d2             	test   %dl,%r10b
140ad92fe:	ba 00 00 00 00       	mov    $0x0,%edx
140ad9303:	0f 95 c2             	setne  %dl
140ad9306:	85 c9                	test   %ecx,%ecx
140ad9308:	75 20                	jne    0x140ad932a
140ad930a:	41 38 48 10          	cmp    %cl,0x10(%r8)
140ad930e:	74 0b                	je     0x140ad931b
140ad9310:	b9 06 00 00 00       	mov    $0x6,%ecx
140ad9315:	41 80 fa ff          	cmp    $0xff,%r10b
140ad9319:	74 05                	je     0x140ad9320
140ad931b:	b9 07 00 00 00       	mov    $0x7,%ecx
140ad9320:	41 8d 41 01          	lea    0x1(%r9),%eax
140ad9324:	41 89 40 08          	mov    %eax,0x8(%r8)
140ad9328:	eb 02                	jmp    0x140ad932c
140ad932a:	ff c9                	dec    %ecx
140ad932c:	41 89 48 0c          	mov    %ecx,0xc(%r8)
140ad9330:	0f b7 c2             	movzwl %dx,%eax
140ad9333:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140ad9338:	48 33 cc             	xor    %rsp,%rcx
140ad933b:	e8 a0 62 01 00       	call   0x140aef5e0
140ad9340:	48 83 c4 78          	add    $0x78,%rsp
140ad9344:	c3                   	ret
140ad9345:	48 8d 15 e4 70 0d 00 	lea    0xd70e4(%rip),%rdx        # 0x140bb0430
140ad934c:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad9351:	e8 76 e5 e8 ff       	call   0x1409678cc
140ad9356:	48 8d 15 83 da 15 00 	lea    0x15da83(%rip),%rdx        # 0x140c36de0
140ad935d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad9362:	e8 17 71 01 00       	call   0x140af047e
140ad9367:	cc                   	int3
140ad9368:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140ad936d:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140ad9372:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140ad9377:	57                   	push   %rdi
140ad9378:	48 83 ec 70          	sub    $0x70,%rsp
140ad937c:	48 8b 05 bd 5c 1e 00 	mov    0x1e5cbd(%rip),%rax        # 0x140cbf040
140ad9383:	48 33 c4             	xor    %rsp,%rax
140ad9386:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140ad938b:	0f b7 fa             	movzwl %dx,%edi
140ad938e:	48 8b f1             	mov    %rcx,%rsi
140ad9391:	66 83 fa 20          	cmp    $0x20,%dx
140ad9395:	77 57                	ja     0x140ad93ee
140ad9397:	33 ed                	xor    %ebp,%ebp
140ad9399:	8b cd                	mov    %ebp,%ecx
140ad939b:	66 85 d2             	test   %dx,%dx
140ad939e:	74 29                	je     0x140ad93c9
140ad93a0:	b8 ff ff 00 00       	mov    $0xffff,%eax
140ad93a5:	8d 1c 09             	lea    (%rcx,%rcx,1),%ebx
140ad93a8:	66 03 f8             	add    %ax,%di
140ad93ab:	48 8b ce             	mov    %rsi,%rcx
140ad93ae:	48 8b 06             	mov    (%rsi),%rax
140ad93b1:	48 8b 40 10          	mov    0x10(%rax),%rax
140ad93b5:	ff 15 7d 38 03 00    	call   *0x3387d(%rip)        # 0x140b0cc38
140ad93bb:	66 85 c0             	test   %ax,%ax
140ad93be:	8d 4b 01             	lea    0x1(%rbx),%ecx
140ad93c1:	0f 44 cb             	cmove  %ebx,%ecx
140ad93c4:	66 85 ff             	test   %di,%di
140ad93c7:	75 d7                	jne    0x140ad93a0
140ad93c9:	8b c1                	mov    %ecx,%eax
140ad93cb:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140ad93d0:	48 33 cc             	xor    %rsp,%rcx
140ad93d3:	e8 08 62 01 00       	call   0x140aef5e0
140ad93d8:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140ad93dd:	49 8b 5b 18          	mov    0x18(%r11),%rbx
140ad93e1:	49 8b 6b 20          	mov    0x20(%r11),%rbp
140ad93e5:	49 8b 73 28          	mov    0x28(%r11),%rsi
140ad93e9:	49 8b e3             	mov    %r11,%rsp
140ad93ec:	5f                   	pop    %rdi
140ad93ed:	c3                   	ret
140ad93ee:	48 8d 15 fb 6f 0d 00 	lea    0xd6ffb(%rip),%rdx        # 0x140bb03f0
140ad93f5:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad93fa:	e8 cd e4 e8 ff       	call   0x1409678cc
140ad93ff:	48 8d 15 da d9 15 00 	lea    0x15d9da(%rip),%rdx        # 0x140c36de0
140ad9406:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140ad940b:	e8 6e 70 01 00       	call   0x140af047e
140ad9410:	cc                   	int3
140ad9411:	90                   	nop
140ad9412:	90                   	nop