180047038:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004703d:	57                   	push   %rdi
18004703e:	48 83 ec 20          	sub    $0x20,%rsp
180047042:	48 8d 05 df c3 0f 00 	lea    0xfc3df(%rip),%rax        # 0x180143428
180047049:	48 8b f9             	mov    %rcx,%rdi
18004704c:	48 89 01             	mov    %rax,(%rcx)
18004704f:	48 8d 59 50          	lea    0x50(%rcx),%rbx
180047053:	eb 32                	jmp    0x180047087
180047055:	48 39 58 08          	cmp    %rbx,0x8(%rax)
180047059:	75 49                	jne    0x1800470a4
18004705b:	48 8b 08             	mov    (%rax),%rcx
18004705e:	48 39 41 08          	cmp    %rax,0x8(%rcx)
180047062:	75 40                	jne    0x1800470a4
180047064:	48 89 0b             	mov    %rcx,(%rbx)
180047067:	48 89 59 08          	mov    %rbx,0x8(%rcx)
18004706b:	48 8d 88 50 ff ff ff 	lea    -0xb0(%rax),%rcx
180047072:	48 85 c9             	test   %rcx,%rcx
180047075:	74 10                	je     0x180047087
180047077:	48 8b 01             	mov    (%rcx),%rax
18004707a:	ba 01 00 00 00       	mov    $0x1,%edx
18004707f:	48 8b 00             	mov    (%rax),%rax
180047082:	ff d0                	call   *%rax
180047084:	0f 1f 00             	nopl   (%rax)
180047087:	48 8b 03             	mov    (%rbx),%rax
18004708a:	48 3b c3             	cmp    %rbx,%rax
18004708d:	75 c6                	jne    0x180047055
18004708f:	48 8d 4f 60          	lea    0x60(%rdi),%rcx
180047093:	e8 f4 fd ff ff       	call   0x180046e8c
180047098:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004709d:	48 83 c4 20          	add    $0x20,%rsp
1800470a1:	5f                   	pop    %rdi
1800470a2:	c3                   	ret
1800470a3:	cc                   	int3
1800470a4:	b9 03 00 00 00       	mov    $0x3,%ecx
1800470a9:	cd 29                	int    $0x29
1800470ab:	cc                   	int3
1800470ac:	48 8b 41 08          	mov    0x8(%rcx),%rax
1800470b0:	48 89 42 08          	mov    %rax,0x8(%rdx)
1800470b4:	48 8d 41 18          	lea    0x18(%rcx),%rax
1800470b8:	48 89 4a 10          	mov    %rcx,0x10(%rdx)
1800470bc:	48 83 c2 28          	add    $0x28,%rdx
1800470c0:	4c 8b 40 08          	mov    0x8(%rax),%r8
1800470c4:	49 39 00             	cmp    %rax,(%r8)
1800470c7:	74 07                	je     0x1800470d0
1800470c9:	b9 03 00 00 00       	mov    $0x3,%ecx
1800470ce:	cd 29                	int    $0x29
1800470d0:	48 89 02             	mov    %rax,(%rdx)
1800470d3:	4c 89 42 08          	mov    %r8,0x8(%rdx)
1800470d7:	49 89 10             	mov    %rdx,(%r8)
1800470da:	48 89 50 08          	mov    %rdx,0x8(%rax)
1800470de:	ff 41 38             	incl   0x38(%rcx)
1800470e1:	c3                   	ret
1800470e2:	cc                   	int3
1800470e3:	cc                   	int3
1800470e4:	40 53                	rex push %rbx
1800470e6:	48 83 ec 20          	sub    $0x20,%rsp
1800470ea:	83 61 38 00          	andl   $0x0,0x38(%rcx)
1800470ee:	48 8d 59 18          	lea    0x18(%rcx),%rbx
1800470f2:	eb 2f                	jmp    0x180047123
1800470f4:	48 39 58 08          	cmp    %rbx,0x8(%rax)
1800470f8:	75 38                	jne    0x180047132
1800470fa:	48 8b 08             	mov    (%rax),%rcx
1800470fd:	48 39 41 08          	cmp    %rax,0x8(%rcx)
180047101:	75 2f                	jne    0x180047132
180047103:	48 89 0b             	mov    %rcx,(%rbx)
180047106:	48 89 59 08          	mov    %rbx,0x8(%rcx)
18004710a:	48 8d 48 d8          	lea    -0x28(%rax),%rcx
18004710e:	48 85 c9             	test   %rcx,%rcx
180047111:	74 10                	je     0x180047123
180047113:	48 8b 01             	mov    (%rcx),%rax
180047116:	ba 01 00 00 00       	mov    $0x1,%edx
18004711b:	48 8b 00             	mov    (%rax),%rax
18004711e:	ff d0                	call   *%rax
180047120:	0f 1f 00             	nopl   (%rax)
180047123:	48 8b 03             	mov    (%rbx),%rax
180047126:	48 3b c3             	cmp    %rbx,%rax
180047129:	75 c9                	jne    0x1800470f4
18004712b:	48 83 c4 20          	add    $0x20,%rsp
18004712f:	5b                   	pop    %rbx
180047130:	c3                   	ret
180047131:	cc                   	int3
180047132:	b9 03 00 00 00       	mov    $0x3,%ecx
180047137:	cd 29                	int    $0x29
180047139:	cc                   	int3
18004713a:	cc                   	int3
18004713b:	cc                   	int3
18004713c:	80 7c 24 28 00       	cmpb   $0x0,0x28(%rsp)
180047141:	4c 8b da             	mov    %rdx,%r11
180047144:	4c 8b d1             	mov    %rcx,%r10
180047147:	75 34                	jne    0x18004717d
180047149:	44 3b 8a 80 00 00 00 	cmp    0x80(%rdx),%r9d
180047150:	75 2b                	jne    0x18004717d
180047152:	8b 42 3c             	mov    0x3c(%rdx),%eax
180047155:	83 e0 02             	and    $0x2,%eax
180047158:	c7 41 60 01 00 00 00 	movl   $0x1,0x60(%rcx)
18004715f:	09 41 3c             	or     %eax,0x3c(%rcx)
180047162:	48 8b 42 68          	mov    0x68(%rdx),%rax
180047166:	48 89 41 68          	mov    %rax,0x68(%rcx)
18004716a:	8b 82 94 00 00 00    	mov    0x94(%rdx),%eax
180047170:	83 f8 ff             	cmp    $0xffffffff,%eax
180047173:	74 3f                	je     0x1800471b4
180047175:	89 81 94 00 00 00    	mov    %eax,0x94(%rcx)
18004717b:	eb 37                	jmp    0x1800471b4
18004717d:	49 8b 4b 68          	mov    0x68(%r11),%rcx
180047181:	41 8b d0             	mov    %r8d,%edx
180047184:	48 03 ca             	add    %rdx,%rcx
180047187:	41 c7 42 60 02 00 00 	movl   $0x2,0x60(%r10)
18004718e:	00
18004718f:	49 89 4a 68          	mov    %rcx,0x68(%r10)
180047193:	49 8b 4b 68          	mov    0x68(%r11),%rcx
180047197:	48 03 ca             	add    %rdx,%rcx
18004719a:	49 89 4a 68          	mov    %rcx,0x68(%r10)
18004719e:	41 8b 83 94 00 00 00 	mov    0x94(%r11),%eax
1800471a5:	83 f8 ff             	cmp    $0xffffffff,%eax
1800471a8:	74 0a                	je     0x1800471b4
1800471aa:	41 03 c0             	add    %r8d,%eax
1800471ad:	41 89 82 94 00 00 00 	mov    %eax,0x94(%r10)
1800471b4:	33 c0                	xor    %eax,%eax
1800471b6:	c3                   	ret
1800471b7:	cc                   	int3
1800471b8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800471bd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800471c2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800471c7:	57                   	push   %rdi
1800471c8:	48 83 ec 20          	sub    $0x20,%rsp
1800471cc:	8b 41 3c             	mov    0x3c(%rcx),%eax
1800471cf:	48 8b d9             	mov    %rcx,%rbx
1800471d2:	a8 04                	test   $0x4,%al
1800471d4:	75 75                	jne    0x18004724b
1800471d6:	48 39 49 08          	cmp    %rcx,0x8(%rcx)
1800471da:	75 5f                	jne    0x18004723b
1800471dc:	48 8b b1 d0 00 00 00 	mov    0xd0(%rcx),%rsi
1800471e3:	40 8a f8             	mov    %al,%dil
1800471e6:	40 8a a9 99 00 00 00 	mov    0x99(%rcx),%bpl
1800471ed:	48 8b d1             	mov    %rcx,%rdx
1800471f0:	48 8b ce             	mov    %rsi,%rcx
1800471f3:	40 80 e7 01          	and    $0x1,%dil
1800471f7:	48 8b 06             	mov    (%rsi),%rax
1800471fa:	48 8b 40 40          	mov    0x40(%rax),%rax
1800471fe:	ff d0                	call   *%rax
180047200:	0f 1f 00             	nopl   (%rax)
180047203:	3d 16 00 00 c0       	cmp    $0xc0000016,%eax
180047208:	74 41                	je     0x18004724b
18004720a:	3d 2d 02 00 c0       	cmp    $0xc000022d,%eax
18004720f:	75 10                	jne    0x180047221
180047211:	44 8a c5             	mov    %bpl,%r8b
180047214:	48 8b d3             	mov    %rbx,%rdx
180047217:	48 8b ce             	mov    %rsi,%rcx
18004721a:	e8 e1 02 00 00       	call   0x180047500
18004721f:	eb 2a                	jmp    0x18004724b
180047221:	40 84 ff             	test   %dil,%dil
180047224:	75 25                	jne    0x18004724b
180047226:	48 8b 03             	mov    (%rbx),%rax
180047229:	ba 01 00 00 00       	mov    $0x1,%edx
18004722e:	48 8b cb             	mov    %rbx,%rcx
180047231:	48 8b 00             	mov    (%rax),%rax
180047234:	ff d0                	call   *%rax
180047236:	0f 1f 00             	nopl   (%rax)
180047239:	eb 10                	jmp    0x18004724b
18004723b:	a8 01                	test   $0x1,%al
18004723d:	74 07                	je     0x180047246
18004723f:	e8 20 00 00 00       	call   0x180047264
180047244:	eb 05                	jmp    0x18004724b
180047246:	e8 61 01 00 00       	call   0x1800473ac
18004724b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180047250:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180047255:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18004725a:	48 83 c4 20          	add    $0x20,%rsp
18004725e:	5f                   	pop    %rdi
18004725f:	c3                   	ret
180047260:	cc                   	int3
180047261:	cc                   	int3
180047262:	cc                   	int3
180047263:	cc                   	int3
180047264:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180047269:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004726e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180047273:	57                   	push   %rdi
180047274:	48 83 ec 20          	sub    $0x20,%rsp
180047278:	48 8b b9 d0 00 00 00 	mov    0xd0(%rcx),%rdi
18004727f:	48 8b d9             	mov    %rcx,%rbx
180047282:	40 8a a9 99 00 00 00 	mov    0x99(%rcx),%bpl
180047289:	48 8b d1             	mov    %rcx,%rdx
18004728c:	48 8b 71 10          	mov    0x10(%rcx),%rsi
180047290:	48 8b cf             	mov    %rdi,%rcx
180047293:	48 8b 07             	mov    (%rdi),%rax
180047296:	48 8b 40 40          	mov    0x40(%rax),%rax
18004729a:	ff d0                	call   *%rax
18004729c:	0f 1f 00             	nopl   (%rax)
18004729f:	3d 16 00 00 c0       	cmp    $0xc0000016,%eax
1800472a4:	74 1c                	je     0x1800472c2
1800472a6:	3d 2d 02 00 c0       	cmp    $0xc000022d,%eax
1800472ab:	75 2b                	jne    0x1800472d8
1800472ad:	48 8b 07             	mov    (%rdi),%rax
1800472b0:	44 8a c5             	mov    %bpl,%r8b
1800472b3:	48 8b d3             	mov    %rbx,%rdx
1800472b6:	48 8b cf             	mov    %rdi,%rcx
1800472b9:	48 8b 40 38          	mov    0x38(%rax),%rax
1800472bd:	ff d0                	call   *%rax
1800472bf:	0f 1f 00             	nopl   (%rax)
1800472c2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800472c7:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800472cc:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800472d1:	48 83 c4 20          	add    $0x20,%rsp
1800472d5:	5f                   	pop    %rdi
1800472d6:	c3                   	ret
1800472d7:	cc                   	int3
1800472d8:	ff 4e 38             	decl   0x38(%rsi)
1800472db:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
1800472df:	4c 8b 01             	mov    (%rcx),%r8
1800472e2:	49 39 48 08          	cmp    %rcx,0x8(%r8)
1800472e6:	0f 85 b9 00 00 00    	jne    0x1800473a5
1800472ec:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1800472f0:	48 39 0a             	cmp    %rcx,(%rdx)
1800472f3:	0f 85 ac 00 00 00    	jne    0x1800473a5
1800472f9:	4c 89 02             	mov    %r8,(%rdx)
1800472fc:	49 89 50 08          	mov    %rdx,0x8(%r8)
180047300:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
180047305:	83 63 3c 00          	andl   $0x0,0x3c(%rbx)
180047309:	83 8b 94 00 00 00 ff 	orl    $0xffffffff,0x94(%rbx)
180047310:	48 89 5b 08          	mov    %rbx,0x8(%rbx)
180047314:	85 c0                	test   %eax,%eax
180047316:	78 2a                	js     0x180047342
180047318:	48 8b 07             	mov    (%rdi),%rax
18004731b:	40 8a d5             	mov    %bpl,%dl
18004731e:	48 8b cf             	mov    %rdi,%rcx
180047321:	48 8b 40 28          	mov    0x28(%rax),%rax
180047325:	ff d0                	call   *%rax
180047327:	0f 1f 00             	nopl   (%rax)
18004732a:	4c 8b c8             	mov    %rax,%r9
18004732d:	44 8a c5             	mov    %bpl,%r8b
180047330:	48 8b d6             	mov    %rsi,%rdx
180047333:	48 8b cf             	mov    %rdi,%rcx
180047336:	e8 71 03 00 00       	call   0x1800476ac
18004733b:	3d 03 01 00 00       	cmp    $0x103,%eax
180047340:	74 80                	je     0x1800472c2
180047342:	89 86 a0 00 00 00    	mov    %eax,0xa0(%rsi)
180047348:	41 b1 01             	mov    $0x1,%r9b
18004734b:	48 8b 07             	mov    (%rdi),%rax
18004734e:	44 8a c5             	mov    %bpl,%r8b
180047351:	48 8b d6             	mov    %rsi,%rdx
180047354:	48 8b cf             	mov    %rdi,%rcx
180047357:	48 8b 40 48          	mov    0x48(%rax),%rax
18004735b:	ff d0                	call   *%rax
18004735d:	0f 1f 00             	nopl   (%rax)
180047360:	3d 16 00 00 c0       	cmp    $0xc0000016,%eax
180047365:	0f 84 57 ff ff ff    	je     0x1800472c2
18004736b:	3d 2d 02 00 c0       	cmp    $0xc000022d,%eax
180047370:	75 13                	jne    0x180047385
180047372:	44 8a c5             	mov    %bpl,%r8b
180047375:	48 8b d6             	mov    %rsi,%rdx
180047378:	48 8b cf             	mov    %rdi,%rcx
18004737b:	e8 80 01 00 00       	call   0x180047500
180047380:	e9 3d ff ff ff       	jmp    0x1800472c2
180047385:	48 8b ce             	mov    %rsi,%rcx
180047388:	89 86 a0 00 00 00    	mov    %eax,0xa0(%rsi)
18004738e:	e8 25 fe ff ff       	call   0x1800471b8
180047393:	44 8a c5             	mov    %bpl,%r8b
180047396:	33 d2                	xor    %edx,%edx
180047398:	48 8b cf             	mov    %rdi,%rcx
18004739b:	e8 0c 02 00 00       	call   0x1800475ac
1800473a0:	e9 1d ff ff ff       	jmp    0x1800472c2
1800473a5:	b9 03 00 00 00       	mov    $0x3,%ecx
1800473aa:	cd 29                	int    $0x29
1800473ac:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1800473b1:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1800473b6:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1800473bb:	57                   	push   %rdi
1800473bc:	48 83 ec 20          	sub    $0x20,%rsp
1800473c0:	48 8b b9 d0 00 00 00 	mov    0xd0(%rcx),%rdi
1800473c7:	48 8b f1             	mov    %rcx,%rsi
1800473ca:	40 8a a9 99 00 00 00 	mov    0x99(%rcx),%bpl
1800473d1:	48 8b d1             	mov    %rcx,%rdx
1800473d4:	48 8b 59 10          	mov    0x10(%rcx),%rbx
1800473d8:	48 8b cf             	mov    %rdi,%rcx
1800473db:	48 8b 07             	mov    (%rdi),%rax
1800473de:	48 8b 40 40          	mov    0x40(%rax),%rax
1800473e2:	ff d0                	call   *%rax
1800473e4:	0f 1f 00             	nopl   (%rax)
1800473e7:	44 8b d8             	mov    %eax,%r11d
1800473ea:	3d 16 00 00 c0       	cmp    $0xc0000016,%eax
1800473ef:	0f 84 a3 00 00 00    	je     0x180047498
1800473f5:	3d 2d 02 00 c0       	cmp    $0xc000022d,%eax
1800473fa:	75 1a                	jne    0x180047416
1800473fc:	48 8b 07             	mov    (%rdi),%rax
1800473ff:	44 8a c5             	mov    %bpl,%r8b
180047402:	48 8b d6             	mov    %rsi,%rdx
180047405:	48 8b cf             	mov    %rdi,%rcx
180047408:	48 8b 40 38          	mov    0x38(%rax),%rax
18004740c:	ff d0                	call   *%rax
18004740e:	0f 1f 00             	nopl   (%rax)
180047411:	e9 82 00 00 00       	jmp    0x180047498
180047416:	45 85 db             	test   %r11d,%r11d
180047419:	eb 0d                	jmp    0x180047428
18004741b:	8b c2                	mov    %edx,%eax
18004741d:	f0 44 0f b1 9b a0 00 	lock cmpxchg %r11d,0xa0(%rbx)
180047424:	00 00
180047426:	3b d0                	cmp    %eax,%edx
180047428:	74 12                	je     0x18004743c
18004742a:	8b 93 a0 00 00 00    	mov    0xa0(%rbx),%edx
180047430:	41 8b cb             	mov    %r11d,%ecx
180047433:	e8 48 8b ff ff       	call   0x18003ff80
180047438:	84 c0                	test   %al,%al
18004743a:	75 df                	jne    0x18004741b
18004743c:	83 c8 ff             	or     $0xffffffff,%eax
18004743f:	f0 0f c1 43 38       	lock xadd %eax,0x38(%rbx)
180047444:	83 f8 01             	cmp    $0x1,%eax
180047447:	75 4f                	jne    0x180047498
180047449:	48 8b 07             	mov    (%rdi),%rax
18004744c:	45 33 c9             	xor    %r9d,%r9d
18004744f:	44 8a c5             	mov    %bpl,%r8b
180047452:	48 8b d3             	mov    %rbx,%rdx
180047455:	48 8b cf             	mov    %rdi,%rcx
180047458:	48 8b 40 48          	mov    0x48(%rax),%rax
18004745c:	ff d0                	call   *%rax
18004745e:	0f 1f 00             	nopl   (%rax)
180047461:	8b f0                	mov    %eax,%esi
180047463:	3d 16 00 00 c0       	cmp    $0xc0000016,%eax
180047468:	74 2e                	je     0x180047498
18004746a:	48 8b cb             	mov    %rbx,%rcx
18004746d:	e8 72 fc ff ff       	call   0x1800470e4
180047472:	81 fe 2d 02 00 c0    	cmp    $0xc000022d,%esi
180047478:	75 10                	jne    0x18004748a
18004747a:	44 8a c5             	mov    %bpl,%r8b
18004747d:	48 8b d3             	mov    %rbx,%rdx
180047480:	48 8b cf             	mov    %rdi,%rcx
180047483:	e8 78 00 00 00       	call   0x180047500
180047488:	eb 0e                	jmp    0x180047498
18004748a:	48 8b cb             	mov    %rbx,%rcx
18004748d:	89 b3 a0 00 00 00    	mov    %esi,0xa0(%rbx)
180047493:	e8 20 fd ff ff       	call   0x1800471b8
180047498:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
18004749d:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1800474a2:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1800474a7:	48 83 c4 20          	add    $0x20,%rsp
1800474ab:	5f                   	pop    %rdi
1800474ac:	c3                   	ret
1800474ad:	cc                   	int3
1800474ae:	cc                   	int3
1800474af:	cc                   	int3
1800474b0:	40 53                	rex push %rbx
1800474b2:	48 83 ec 20          	sub    $0x20,%rsp
1800474b6:	48 8b d9             	mov    %rcx,%rbx
1800474b9:	48 8b 09             	mov    (%rcx),%rcx
1800474bc:	48 85 c9             	test   %rcx,%rcx
1800474bf:	74 10                	je     0x1800474d1
1800474c1:	48 8b 01             	mov    (%rcx),%rax
1800474c4:	ba 01 00 00 00       	mov    $0x1,%edx
1800474c9:	48 8b 00             	mov    (%rax),%rax
1800474cc:	ff d0                	call   *%rax