180045fd9:	48 8b d0             	mov    %rax,%rdx
180045fdc:	e8 3f d9 ff ff       	call   0x180043920
180045fe1:	49 03 fc             	add    %r12,%rdi
180045fe4:	49 3b fe             	cmp    %r14,%rdi
180045fe7:	0f 82 50 ff ff ff    	jb     0x180045f3d
180045fed:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180045ff2:	8b c6                	mov    %esi,%eax
180045ff4:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180045ff9:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
180045ffe:	48 83 c4 20          	add    $0x20,%rsp
180046002:	41 5f                	pop    %r15
180046004:	41 5e                	pop    %r14
180046006:	41 5d                	pop    %r13
180046008:	41 5c                	pop    %r12
18004600a:	5f                   	pop    %rdi
18004600b:	c3                   	ret
18004600c:	cc                   	int3
18004600d:	cc                   	int3
18004600e:	cc                   	int3
18004600f:	cc                   	int3
180046010:	40 53                	rex push %rbx
180046012:	48 83 ec 20          	sub    $0x20,%rsp
180046016:	48 8d 05 13 d4 0f 00 	lea    0xfd413(%rip),%rax        # 0x180143430
18004601d:	48 8b d9             	mov    %rcx,%rbx
180046020:	48 89 01             	mov    %rax,(%rcx)
180046023:	f6 c2 01             	test   $0x1,%dl
180046026:	74 05                	je     0x18004602d
180046028:	e8 2f 09 00 00       	call   0x18004695c
18004602d:	48 8b c3             	mov    %rbx,%rax
180046030:	48 83 c4 20          	add    $0x20,%rsp
180046034:	5b                   	pop    %rbx
180046035:	c3                   	ret
180046036:	cc                   	int3
180046037:	cc                   	int3
180046038:	48 83 ec 28          	sub    $0x28,%rsp
18004603c:	41 b0 21             	mov    $0x21,%r8b
18004603f:	e8 cc 14 00 00       	call   0x180047510
180046044:	48 83 c4 28          	add    $0x28,%rsp
180046048:	c3                   	ret
180046049:	cc                   	int3
18004604a:	cc                   	int3
18004604b:	cc                   	int3
18004604c:	48 83 ec 28          	sub    $0x28,%rsp
180046050:	45 0f b6 d0          	movzbl %r8b,%r10d
180046054:	41 83 ea 21          	sub    $0x21,%r10d
180046058:	74 17                	je     0x180046071
18004605a:	41 83 fa 01          	cmp    $0x1,%r10d
18004605e:	74 07                	je     0x180046067
180046060:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180046065:	eb 12                	jmp    0x180046079
180046067:	4d 8b c1             	mov    %r9,%r8
18004606a:	e8 21 07 00 00       	call   0x180046790
18004606f:	eb 08                	jmp    0x180046079
180046071:	4d 8b c1             	mov    %r9,%r8
180046074:	e8 7b 00 00 00       	call   0x1800460f4
180046079:	48 83 c4 28          	add    $0x28,%rsp
18004607d:	c3                   	ret
18004607e:	cc                   	int3
18004607f:	cc                   	int3
180046080:	48 83 ec 28          	sub    $0x28,%rsp
180046084:	45 0f b6 c8          	movzbl %r8b,%r9d
180046088:	41 83 e9 21          	sub    $0x21,%r9d
18004608c:	74 1f                	je     0x1800460ad
18004608e:	41 83 f9 01          	cmp    $0x1,%r9d
180046092:	75 13                	jne    0x1800460a7
180046094:	48 8b 8a d8 00 00 00 	mov    0xd8(%rdx),%rcx
18004609b:	48 8b 01             	mov    (%rcx),%rax
18004609e:	48 8b 40 08          	mov    0x8(%rax),%rax
1800460a2:	ff d0                	call   *%rax
1800460a4:	0f 1f 00             	nopl   (%rax)
1800460a7:	48 83 c4 28          	add    $0x28,%rsp
1800460ab:	c3                   	ret
1800460ac:	cc                   	int3
1800460ad:	48 8b 42 70          	mov    0x70(%rdx),%rax
1800460b1:	48 85 c0             	test   %rax,%rax
1800460b4:	74 de                	je     0x180046094
1800460b6:	83 38 03             	cmpl   $0x3,(%rax)
1800460b9:	75 d9                	jne    0x180046094
1800460bb:	41 b0 22             	mov    $0x22,%r8b
1800460be:	48 89 8a d8 00 00 00 	mov    %rcx,0xd8(%rdx)
1800460c5:	e8 46 14 00 00       	call   0x180047510
1800460ca:	eb db                	jmp    0x1800460a7
1800460cc:	48 83 ec 28          	sub    $0x28,%rsp
1800460d0:	44 8b 82 a0 00 00 00 	mov    0xa0(%rdx),%r8d
1800460d7:	8a 82 99 00 00 00    	mov    0x99(%rdx),%al
1800460dd:	2c 21                	sub    $0x21,%al
1800460df:	3c 01                	cmp    $0x1,%al
1800460e1:	77 08                	ja     0x1800460eb
1800460e3:	e8 34 05 00 00       	call   0x18004661c
1800460e8:	44 8b c0             	mov    %eax,%r8d
1800460eb:	41 8b c0             	mov    %r8d,%eax
1800460ee:	48 83 c4 28          	add    $0x28,%rsp
1800460f2:	c3                   	ret
1800460f3:	cc                   	int3
1800460f4:	48 8b c4             	mov    %rsp,%rax
1800460f7:	48 89 58 10          	mov    %rbx,0x10(%rax)
1800460fb:	48 89 68 18          	mov    %rbp,0x18(%rax)
1800460ff:	48 89 70 20          	mov    %rsi,0x20(%rax)
180046103:	48 89 48 08          	mov    %rcx,0x8(%rax)
180046107:	57                   	push   %rdi
180046108:	41 54                	push   %r12
18004610a:	41 55                	push   %r13
18004610c:	41 56                	push   %r14
18004610e:	41 57                	push   %r15
180046110:	48 83 ec 60          	sub    $0x60,%rsp
180046114:	4c 8b aa e0 00 00 00 	mov    0xe0(%rdx),%r13
18004611b:	33 db                	xor    %ebx,%ebx
18004611d:	48 89 58 a8          	mov    %rbx,-0x58(%rax)
180046121:	0f 57 c0             	xorps  %xmm0,%xmm0
180046124:	89 58 d4             	mov    %ebx,-0x2c(%rax)
180046127:	4c 8b f2             	mov    %rdx,%r14
18004612a:	4c 8b d1             	mov    %rcx,%r10
18004612d:	f3 0f 7f 40 c4       	movdqu %xmm0,-0x3c(%rax)
180046132:	4d 85 c0             	test   %r8,%r8
180046135:	74 0a                	je     0x180046141
180046137:	bf 02 00 00 c0       	mov    $0xc0000002,%edi
18004613c:	e9 3c 02 00 00       	jmp    0x18004637d
180046141:	48 8b 8a e8 00 00 00 	mov    0xe8(%rdx),%rcx
180046148:	44 8b e3             	mov    %ebx,%r12d
18004614b:	4c 8b ba a8 00 00 00 	mov    0xa8(%rdx),%r15
180046152:	8b aa 80 00 00 00    	mov    0x80(%rdx),%ebp
180046158:	4c 03 f9             	add    %rcx,%r15
18004615b:	2b aa a8 00 00 00    	sub    0xa8(%rdx),%ebp
180046161:	89 8a 84 00 00 00    	mov    %ecx,0x84(%rdx)
180046167:	48 89 54 24 38       	mov    %rdx,0x38(%rsp)
18004616c:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
180046171:	89 4c 24 48          	mov    %ecx,0x48(%rsp)
180046175:	41 39 5d 04          	cmp    %ebx,0x4(%r13)
180046179:	0f 86 22 01 00 00    	jbe    0x1800462a1
18004617f:	41 8b c4             	mov    %r12d,%eax
180046182:	4c 6b f0 38          	imul   $0x38,%rax,%r14
180046186:	49 8b 42 10          	mov    0x10(%r10),%rax
18004618a:	4d 03 f5             	add    %r13,%r14
18004618d:	48 8b 48 68          	mov    0x68(%rax),%rcx
180046191:	49 8b 56 28          	mov    0x28(%r14),%rdx
180046195:	48 3b d1             	cmp    %rcx,%rdx
180046198:	0f 83 fa 00 00 00    	jae    0x180046298
18004619e:	41 8b 46 1c          	mov    0x1c(%r14),%eax
1800461a2:	48 2b ca             	sub    %rdx,%rcx
1800461a5:	48 3b c8             	cmp    %rax,%rcx
1800461a8:	0f 82 d5 00 00 00    	jb     0x180046283
1800461ae:	41 8b 76 24          	mov    0x24(%r14),%esi
1800461b2:	49 3b f7             	cmp    %r15,%rsi
1800461b5:	76 53                	jbe    0x18004620a
1800461b7:	49 2b f7             	sub    %r15,%rsi
1800461ba:	8b c5                	mov    %ebp,%eax
1800461bc:	48 3b f0             	cmp    %rax,%rsi
1800461bf:	0f 83 d3 00 00 00    	jae    0x180046298
1800461c5:	45 33 c0             	xor    %r8d,%r8d
1800461c8:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
1800461cd:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1800461d2:	44 8b ce             	mov    %esi,%r9d
1800461d5:	49 8b ca             	mov    %r10,%rcx
1800461d8:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1800461dd:	41 8d 50 01          	lea    0x1(%r8),%edx
1800461e1:	e8 c2 01 00 00       	call   0x1800463a8
1800461e6:	8b f8                	mov    %eax,%edi
1800461e8:	85 c0                	test   %eax,%eax
1800461ea:	0f 88 8d 01 00 00    	js     0x18004637d
1800461f0:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
1800461f5:	0f 84 82 01 00 00    	je     0x18004637d
1800461fb:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
180046202:	00
180046203:	2b ee                	sub    %esi,%ebp
180046205:	8b c6                	mov    %esi,%eax
180046207:	4c 03 f8             	add    %rax,%r15
18004620a:	85 ed                	test   %ebp,%ebp
18004620c:	0f 84 69 01 00 00    	je     0x18004637b
180046212:	41 8b 46 24          	mov    0x24(%r14),%eax
180046216:	49 3b c7             	cmp    %r15,%rax
180046219:	77 60                	ja     0x18004627b
18004621b:	41 8b 76 1c          	mov    0x1c(%r14),%esi
18004621f:	49 8b d7             	mov    %r15,%rdx
180046222:	48 2b d0             	sub    %rax,%rdx
180046225:	48 3b d6             	cmp    %rsi,%rdx
180046228:	73 59                	jae    0x180046283
18004622a:	8b ce                	mov    %esi,%ecx
18004622c:	8b c5                	mov    %ebp,%eax
18004622e:	48 2b ca             	sub    %rdx,%rcx
180046231:	48 3b c8             	cmp    %rax,%rcx
180046234:	73 04                	jae    0x18004623a
180046236:	2b f2                	sub    %edx,%esi
180046238:	eb 02                	jmp    0x18004623c
18004623a:	8b f5                	mov    %ebp,%esi
18004623c:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
180046241:	44 8b ce             	mov    %esi,%r9d
180046244:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180046249:	4d 8d 46 18          	lea    0x18(%r14),%r8
18004624d:	ba 02 00 00 00       	mov    $0x2,%edx
180046252:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
180046257:	49 8b ca             	mov    %r10,%rcx
18004625a:	e8 49 01 00 00       	call   0x1800463a8
18004625f:	8b f8                	mov    %eax,%edi
180046261:	85 c0                	test   %eax,%eax
180046263:	0f 88 14 01 00 00    	js     0x18004637d
180046269:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
18004626e:	0f 84 09 01 00 00    	je     0x18004637d
180046274:	2b ee                	sub    %esi,%ebp
180046276:	8b c6                	mov    %esi,%eax
180046278:	4c 03 f8             	add    %rax,%r15
18004627b:	85 ed                	test   %ebp,%ebp
18004627d:	0f 84 f8 00 00 00    	je     0x18004637b
180046283:	4c 8b 94 24 90 00 00 	mov    0x90(%rsp),%r10
18004628a:	00
18004628b:	41 ff c4             	inc    %r12d
18004628e:	45 3b 65 04          	cmp    0x4(%r13),%r12d
180046292:	0f 82 e7 fe ff ff    	jb     0x18004617f
180046298:	8b 4c 24 48          	mov    0x48(%rsp),%ecx
18004629c:	4c 8b 74 24 38       	mov    0x38(%rsp),%r14
1800462a1:	85 ed                	test   %ebp,%ebp
1800462a3:	0f 84 d2 00 00 00    	je     0x18004637b
1800462a9:	45 8b e7             	mov    %r15d,%r12d
1800462ac:	8b fb                	mov    %ebx,%edi
1800462ae:	44 2b e1             	sub    %ecx,%r12d
1800462b1:	b9 e0 00 00 00       	mov    $0xe0,%ecx
1800462b6:	45 8b ec             	mov    %r12d,%r13d
1800462b9:	4d 03 6e 78          	add    0x78(%r14),%r13
1800462bd:	e8 52 06 00 00       	call   0x180046914
1800462c2:	48 85 c0             	test   %rax,%rax
1800462c5:	74 0d                	je     0x1800462d4
1800462c7:	48 8b c8             	mov    %rax,%rcx
1800462ca:	e8 99 0c 00 00       	call   0x180046f68
1800462cf:	48 8b f0             	mov    %rax,%rsi
1800462d2:	eb 03                	jmp    0x1800462d7
1800462d4:	48 8b f3             	mov    %rbx,%rsi
1800462d7:	48 85 f6             	test   %rsi,%rsi
1800462da:	75 0a                	jne    0x1800462e6
1800462dc:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
1800462e1:	e9 97 00 00 00       	jmp    0x18004637d
1800462e6:	39 5e 60             	cmp    %ebx,0x60(%rsi)
1800462e9:	75 1b                	jne    0x180046306
1800462eb:	44 8b cd             	mov    %ebp,%r9d
1800462ee:	88 5c 24 20          	mov    %bl,0x20(%rsp)
1800462f2:	45 8b c4             	mov    %r12d,%r8d
1800462f5:	49 8b d6             	mov    %r14,%rdx
1800462f8:	48 8b ce             	mov    %rsi,%rcx
1800462fb:	e8 3c 0e 00 00       	call   0x18004713c
180046300:	8b f8                	mov    %eax,%edi
180046302:	85 c0                	test   %eax,%eax
180046304:	78 51                	js     0x180046357
180046306:	4c 89 6e 78          	mov    %r13,0x78(%rsi)
18004630a:	48 8b d6             	mov    %rsi,%rdx
18004630d:	89 ae 80 00 00 00    	mov    %ebp,0x80(%rsi)
180046313:	49 8b ce             	mov    %r14,%rcx
180046316:	44 89 be 84 00 00 00 	mov    %r15d,0x84(%rsi)
18004631d:	48 89 5e 70          	mov    %rbx,0x70(%rsi)
180046321:	41 8a 86 98 00 00 00 	mov    0x98(%r14),%al
180046328:	88 86 98 00 00 00    	mov    %al,0x98(%rsi)
18004632e:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
180046335:	00
180046336:	c6 86 9a 00 00 00 01 	movb   $0x1,0x9a(%rsi)
18004633d:	48 8b 40 08          	mov    0x8(%rax),%rax
180046341:	4c 8b 80 60 01 00 00 	mov    0x160(%rax),%r8
180046348:	4c 89 86 d8 00 00 00 	mov    %r8,0xd8(%rsi)
18004634f:	e8 58 0d 00 00       	call   0x1800470ac
180046354:	48 8b f3             	mov    %rbx,%rsi
180046357:	48 85 f6             	test   %rsi,%rsi
18004635a:	74 13                	je     0x18004636f
18004635c:	48 8b 06             	mov    (%rsi),%rax
18004635f:	ba 01 00 00 00       	mov    $0x1,%edx
180046364:	48 8b ce             	mov    %rsi,%rcx
180046367:	48 8b 00             	mov    (%rax),%rax
18004636a:	ff d0                	call   *%rax
18004636c:	0f 1f 00             	nopl   (%rax)
18004636f:	85 ff                	test   %edi,%edi
180046371:	78 0a                	js     0x18004637d
180046373:	81 ff 02 00 e7 00    	cmp    $0xe70002,%edi
180046379:	74 08                	je     0x180046383
18004637b:	8b fb                	mov    %ebx,%edi
18004637d:	81 ff 02 00 e7 00    	cmp    $0xe70002,%edi
180046383:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
180046388:	0f 45 df             	cmovne %edi,%ebx
18004638b:	49 8b 6b 40          	mov    0x40(%r11),%rbp
18004638f:	8b c3                	mov    %ebx,%eax
180046391:	49 8b 5b 38          	mov    0x38(%r11),%rbx
180046395:	49 8b 73 48          	mov    0x48(%r11),%rsi
180046399:	49 8b e3             	mov    %r11,%rsp
18004639c:	41 5f                	pop    %r15
18004639e:	41 5e                	pop    %r14
1800463a0:	41 5d                	pop    %r13
1800463a2:	41 5c                	pop    %r12
1800463a4:	5f                   	pop    %rdi
1800463a5:	c3                   	ret
1800463a6:	cc                   	int3
1800463a7:	cc                   	int3
1800463a8:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1800463ad:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1800463b2:	55                   	push   %rbp
1800463b3:	56                   	push   %rsi
1800463b4:	57                   	push   %rdi
1800463b5:	41 54                	push   %r12
1800463b7:	41 55                	push   %r13
1800463b9:	41 56                	push   %r14
1800463bb:	41 57                	push   %r15
1800463bd:	48 83 ec 30          	sub    $0x30,%rsp
1800463c1:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
1800463c8:	00
1800463c9:	33 ff                	xor    %edi,%edi
1800463cb:	4c 8b a4 24 90 00 00 	mov    0x90(%rsp),%r12
1800463d2:	00
1800463d3:	49 8b f0             	mov    %r8,%rsi
1800463d6:	41 8b cc             	mov    %r12d,%ecx
1800463d9:	45 8b f1             	mov    %r9d,%r14d
1800463dc:	44 8b fa             	mov    %edx,%r15d
1800463df:	c6 44 24 78 01       	movb   $0x1,0x78(%rsp)
1800463e4:	2b 48 18             	sub    0x18(%rax),%ecx
1800463e7:	4c 8b 68 08          	mov    0x8(%rax),%r13
1800463eb:	8b e9                	mov    %ecx,%ebp
1800463ed:	89 8c 24 98 00 00 00 	mov    %ecx,0x98(%rsp)
1800463f4:	8b ca                	mov    %edx,%ecx
1800463f6:	49 03 6d 78          	add    0x78(%r13),%rbp
1800463fa:	83 e9 01             	sub    $0x1,%ecx
1800463fd:	74 45                	je     0x180046444
1800463ff:	83 e9 01             	sub    $0x1,%ecx
180046402:	74 18                	je     0x18004641c
180046404:	83 e9 01             	sub    $0x1,%ecx
180046407:	74 3b                	je     0x180046444
180046409:	83 f9 01             	cmp    $0x1,%ecx
18004640c:	0f 84 ed 01 00 00    	je     0x1800465ff
180046412:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
180046417:	e9 e3 01 00 00       	jmp    0x1800465ff
18004641c:	41 8b 00             	mov    (%r8),%eax
18004641f:	83 f8 01             	cmp    $0x1,%eax
180046422:	74 0a                	je     0x18004642e
180046424:	83 c0 fe             	add    $0xfffffffe,%eax
180046427:	83 f8 01             	cmp    $0x1,%eax
18004642a:	76 18                	jbe    0x180046444
18004642c:	eb e4                	jmp    0x180046412
18004642e:	41 8b 40 0c          	mov    0xc(%r8),%eax
180046432:	49 8b 68 10          	mov    0x10(%r8),%rbp
180046436:	48 2b e8             	sub    %rax,%rbp
180046439:	c6 44 24 78 16       	movb   $0x16,0x78(%rsp)
18004643e:	41 8b c4             	mov    %r12d,%eax
180046441:	48 03 e8             	add    %rax,%rbp
180046444:	b9 e0 00 00 00       	mov    $0xe0,%ecx
180046449:	e8 c6 04 00 00       	call   0x180046914
18004644e:	45 33 db             	xor    %r11d,%r11d
180046451:	48 85 c0             	test   %rax,%rax
180046454:	74 0d                	je     0x180046463
180046456:	48 8b c8             	mov    %rax,%rcx
180046459:	e8 0a 0b 00 00       	call   0x180046f68
18004645e:	48 8b d8             	mov    %rax,%rbx
180046461:	eb 03                	jmp    0x180046466
180046463:	49 8b db             	mov    %r11,%rbx
180046466:	48 85 db             	test   %rbx,%rbx
180046469:	75 0a                	jne    0x180046475
18004646b:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180046470:	e9 8a 01 00 00       	jmp    0x1800465ff
180046475:	41 83 ff 02          	cmp    $0x2,%r15d
180046479:	0f 85 df 00 00 00    	jne    0x18004655e