14004c042:	48 89 f8             	mov    %rdi,%rax
14004c045:	48 83 c4 78          	add    $0x78,%rsp
14004c049:	5b                   	pop    %rbx
14004c04a:	5d                   	pop    %rbp
14004c04b:	5f                   	pop    %rdi
14004c04c:	5e                   	pop    %rsi
14004c04d:	41 5c                	pop    %r12
14004c04f:	41 5d                	pop    %r13
14004c051:	41 5e                	pop    %r14
14004c053:	41 5f                	pop    %r15
14004c055:	c3                   	ret
14004c056:	48 89 f9             	mov    %rdi,%rcx
14004c059:	e8 72 40 ff ff       	call   0x1400400d0
14004c05e:	31 ff                	xor    %edi,%edi
14004c060:	eb c9                	jmp    0x14004c02b
14004c062:	49 8b 47 10          	mov    0x10(%r15),%rax
14004c066:	4d 8b 77 20          	mov    0x20(%r15),%r14
14004c06a:	e9 e7 fd ff ff       	jmp    0x14004be56
14004c06f:	48 83 fb 01          	cmp    $0x1,%rbx
14004c073:	44 8b 76 18          	mov    0x18(%rsi),%r14d
14004c077:	49 11 de             	adc    %rbx,%r14
14004c07a:	49 39 de             	cmp    %rbx,%r14
14004c07d:	0f 82 1f 08 00 00    	jb     0x14004c8a2
14004c083:	49 0f bd c6          	bsr    %r14,%rax
14004c087:	ba 7f 00 00 00       	mov    $0x7f,%edx
14004c08c:	48 0f 45 d0          	cmovne %rax,%rdx
14004c090:	48 83 f2 c0          	xor    $0xffffffffffffffc0,%rdx
14004c094:	48 8d 05 0d 4a 0a 00 	lea    0xa4a0d(%rip),%rax        # 0x1400f0aa8
14004c09b:	0f b6 4c 02 41       	movzbl 0x41(%rdx,%rax,1),%ecx
14004c0a0:	4c 89 f0             	mov    %r14,%rax
14004c0a3:	48 d3 e8             	shr    %cl,%rax
14004c0a6:	48 83 c2 41          	add    $0x41,%rdx
14004c0aa:	83 e0 07             	and    $0x7,%eax
14004c0ad:	8d 0c d5 00 00 00 00 	lea    0x0(,%rdx,8),%ecx
14004c0b4:	4c 8d 05 35 4a 0a 00 	lea    0xa4a35(%rip),%r8        # 0x1400f0af0
14004c0bb:	4a 8b 0c 01          	mov    (%rcx,%r8,1),%rcx
14004c0bf:	4c 21 f1             	and    %r14,%rcx
14004c0c2:	8d 04 d0             	lea    (%rax,%rdx,8),%eax
14004c0c5:	48 83 f9 01          	cmp    $0x1,%rcx
14004c0c9:	83 d8 ff             	sbb    $0xffffffff,%eax
14004c0cc:	01 c0                	add    %eax,%eax
14004c0ce:	80 3e 00             	cmpb   $0x0,(%rsi)
14004c0d1:	48 8d 0d b8 41 0a 00 	lea    0xa41b8(%rip),%rcx        # 0x1400f0290
14004c0d8:	0f b7 bc 08 00 04 00 	movzwl 0x400(%rax,%rcx,1),%edi
14004c0df:	00
14004c0e0:	75 1a                	jne    0x14004c0fc
14004c0e2:	49 81 fe 81 00 00 00 	cmp    $0x81,%r14
14004c0e9:	0f 93 c0             	setae  %al
14004c0ec:	66 83 ff 6e          	cmp    $0x6e,%di
14004c0f0:	0f 92 c1             	setb   %cl
14004c0f3:	20 c1                	and    %al,%cl
14004c0f5:	0f b6 c1             	movzbl %cl,%eax
14004c0f8:	09 f8                	or     %edi,%eax
14004c0fa:	89 c7                	mov    %eax,%edi
14004c0fc:	c6 44 24 67 00       	movb   $0x0,0x67(%rsp)
14004c101:	80 7e 01 01          	cmpb   $0x1,0x1(%rsi)
14004c105:	0f 85 ec 04 00 00    	jne    0x14004c5f7
14004c10b:	8b 05 07 36 0c 00    	mov    0xc3607(%rip),%eax        # 0x14010f718
14004c111:	65 48 8b 0c 25 58 00 	mov    %gs:0x58,%rcx
14004c118:	00 00
14004c11a:	48 8b 04 c1          	mov    (%rcx,%rax,8),%rax
14004c11e:	80 b8 20 01 00 00 00 	cmpb   $0x0,0x120(%rax)
14004c125:	75 05                	jne    0x14004c12c
14004c127:	e8 6c 22 02 00       	call   0x14006e398
14004c12c:	8b 05 e6 35 0c 00    	mov    0xc35e6(%rip),%eax        # 0x14010f718
14004c132:	65 48 8b 0c 25 58 00 	mov    %gs:0x58,%rcx
14004c139:	00 00
14004c13b:	48 8b 04 c1          	mov    (%rcx,%rax,8),%rax
14004c13f:	48 8b 98 68 01 00 00 	mov    0x168(%rax),%rbx
14004c146:	48 83 fb 01          	cmp    $0x1,%rbx
14004c14a:	0f 86 92 04 00 00    	jbe    0x14004c5e2
14004c150:	48 83 fb 02          	cmp    $0x2,%rbx
14004c154:	0f 82 9d 04 00 00    	jb     0x14004c5f7
14004c15a:	48 ff 43 08          	incq   0x8(%rbx)
14004c15e:	44 0f b7 ff          	movzwl %di,%r15d
14004c162:	66 3b 3d 17 75 0b 00 	cmp    0xb7517(%rip),%di        # 0x140103680
14004c169:	0f 87 71 03 00 00    	ja     0x14004c4e0
14004c16f:	44 89 f8             	mov    %r15d,%eax
14004c172:	c1 e0 04             	shl    $0x4,%eax
14004c175:	4c 8d 24 03          	lea    (%rbx,%rax,1),%r12
14004c179:	49 83 c4 78          	add    $0x78,%r12
14004c17d:	48 8b 7c 03 78       	mov    0x78(%rbx,%rax,1),%rdi
14004c182:	48 85 ff             	test   %rdi,%rdi
14004c185:	0f 84 33 03 00 00    	je     0x14004c4be
14004c18b:	48 ff 43 10          	incq   0x10(%rbx)
14004c18f:	48 89 d9             	mov    %rbx,%rcx
14004c192:	e8 99 43 ff ff       	call   0x140040530
14004c197:	45 0f b7 44 24 0a    	movzwl 0xa(%r12),%r8d
14004c19d:	48 8b 08             	mov    (%rax),%rcx
14004c1a0:	4c 8b 49 28          	mov    0x28(%rcx),%r9
14004c1a4:	48 89 c1             	mov    %rax,%rcx
14004c1a7:	48 89 fa             	mov    %rdi,%rdx
14004c1aa:	4c 89 c8             	mov    %r9,%rax
14004c1ad:	ff 15 55 ab 0a 00    	call   *0xaab55(%rip)        # 0x1400f6d08
14004c1b3:	41 fe 4c 24 08       	decb   0x8(%r12)
14004c1b8:	49 89 04 24          	mov    %rax,(%r12)
14004c1bc:	45 0f b7 64 24 0a    	movzwl 0xa(%r12),%r12d
14004c1c2:	44 29 23             	sub    %r12d,(%rbx)
14004c1c5:	8b 46 18             	mov    0x18(%rsi),%eax
14004c1c8:	4d 89 e6             	mov    %r12,%r14
14004c1cb:	49 29 c6             	sub    %rax,%r14
14004c1ce:	48 ff 43 58          	incq   0x58(%rbx)
14004c1d2:	4c 01 73 60          	add    %r14,0x60(%rbx)
14004c1d6:	80 7e 02 01          	cmpb   $0x1,0x2(%rsi)
14004c1da:	0f 85 4b fe ff ff    	jne    0x14004c02b
14004c1e0:	48 89 f8             	mov    %rdi,%rax
14004c1e3:	48 c1 e0 34          	shl    $0x34,%rax
14004c1e7:	0f 84 a9 02 00 00    	je     0x14004c496
14004c1ed:	49 8d 04 3c          	lea    (%r12,%rdi,1),%rax
14004c1f1:	48 83 c0 fc          	add    $0xfffffffffffffffc,%rax
14004c1f5:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
14004c1fb:	e9 2b fe ff ff       	jmp    0x14004c02b
14004c200:	4c 89 e9             	mov    %r13,%rcx
14004c203:	4c 89 fa             	mov    %r15,%rdx
14004c206:	49 89 d8             	mov    %rbx,%r8
14004c209:	e8 42 39 ff ff       	call   0x14003fb50
14004c20e:	49 89 ef             	mov    %rbp,%r15
14004c211:	89 c5                	mov    %eax,%ebp
14004c213:	4c 89 e1             	mov    %r12,%rcx
14004c216:	ff 15 1c b6 0a 00    	call   *0xab61c(%rip)        # 0x1400f7838
14004c21c:	40 84 ed             	test   %bpl,%bpl
14004c21f:	4c 89 fd             	mov    %r15,%rbp
14004c222:	0f 84 5e fc ff ff    	je     0x14004be86
14004c228:	e9 fe fd ff ff       	jmp    0x14004c02b
14004c22d:	4c 89 f8             	mov    %r15,%rax
14004c230:	48 25 00 00 e0 ff    	and    $0xffffffffffe00000,%rax
14004c236:	44 89 f9             	mov    %r15d,%ecx
14004c239:	c1 e9 09             	shr    $0x9,%ecx
14004c23c:	81 e1 f8 0f 00 00    	and    $0xff8,%ecx
14004c242:	48 01 c8             	add    %rcx,%rax
14004c245:	48 05 00 20 00 00    	add    $0x2000,%rax
14004c24b:	e9 b1 fd ff ff       	jmp    0x14004c001
14004c250:	48 89 f1             	mov    %rsi,%rcx
14004c253:	e8 88 3d ff ff       	call   0x14003ffe0
14004c258:	49 89 c5             	mov    %rax,%r13
14004c25b:	49 83 fd 02          	cmp    $0x2,%r13
14004c25f:	0f 83 f6 fc ff ff    	jae    0x14004bf5b
14004c265:	41 0f b7 c7          	movzwl %r15w,%eax
14004c269:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
14004c26d:	c1 e0 04             	shl    $0x4,%eax
14004c270:	4c 8d 2c 06          	lea    (%rsi,%rax,1),%r13
14004c274:	49 83 c5 48          	add    $0x48,%r13
14004c278:	48 8d 4e 40          	lea    0x40(%rsi),%rcx
14004c27c:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
14004c281:	ff 15 89 b6 0a 00    	call   *0xab689(%rip)        # 0x1400f7910
14004c287:	84 c0                	test   %al,%al
14004c289:	75 0a                	jne    0x14004c295
14004c28b:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14004c290:	e8 eb 56 ff ff       	call   0x140041980
14004c295:	4d 8b 65 00          	mov    0x0(%r13),%r12
14004c299:	4c 89 64 24 68       	mov    %r12,0x68(%rsp)
14004c29e:	4d 8b 3c 24          	mov    (%r12),%r15
14004c2a2:	4d 85 ff             	test   %r15,%r15
14004c2a5:	0f 84 b8 04 00 00    	je     0x14004c763
14004c2ab:	c6 44 24 67 00       	movb   $0x0,0x67(%rsp)
14004c2b0:	4c 89 e1             	mov    %r12,%rcx
14004c2b3:	e8 78 78 ff ff       	call   0x140043b30
14004c2b8:	84 c0                	test   %al,%al
14004c2ba:	0f 84 fc 05 00 00    	je     0x14004c8bc
14004c2c0:	4c 89 e0             	mov    %r12,%rax
14004c2c3:	48 25 00 f0 ff ff    	and    $0xfffffffffffff000,%rax
14004c2c9:	48 8b 00             	mov    (%rax),%rax
14004c2cc:	48 8d 15 e5 7f 0a 00 	lea    0xa7fe5(%rip),%rdx        # 0x1400f42b8
14004c2d3:	48 8d 0d d6 7f 0a 00 	lea    0xa7fd6(%rip),%rcx        # 0x1400f42b0
14004c2da:	80 78 14 00          	cmpb   $0x0,0x14(%rax)
14004c2de:	48 0f 45 ca          	cmovne %rdx,%rcx
14004c2e2:	45 8b 45 18          	mov    0x18(%r13),%r8d
14004c2e6:	49 8b 14 24          	mov    (%r12),%rdx
14004c2ea:	48 8b 01             	mov    (%rcx),%rax
14004c2ed:	48 8b 40 40          	mov    0x40(%rax),%rax
14004c2f1:	ff 15 11 aa 0a 00    	call   *0xaaa11(%rip)        # 0x1400f6d08
14004c2f7:	49 89 04 24          	mov    %rax,(%r12)
14004c2fb:	41 8b 44 24 18       	mov    0x18(%r12),%eax
14004c300:	8d 48 01             	lea    0x1(%rax),%ecx
14004c303:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
14004c309:	25 00 80 ff ff       	and    $0xffff8000,%eax
14004c30e:	09 c8                	or     %ecx,%eax
14004c310:	41 89 44 24 18       	mov    %eax,0x18(%r12)
14004c315:	4c 8b 6c 24 50       	mov    0x50(%rsp),%r13
14004c31a:	49 8b 44 24 10       	mov    0x10(%r12),%rax
14004c31f:	8b 40 18             	mov    0x18(%rax),%eax
14004c322:	48 03 86 a0 18 00 00 	add    0x18a0(%rsi),%rax
14004c329:	48 89 86 a0 18 00 00 	mov    %rax,0x18a0(%rsi)
14004c330:	48 8b 8e a8 18 00 00 	mov    0x18a8(%rsi),%rcx
14004c337:	48 39 c1             	cmp    %rax,%rcx
14004c33a:	48 0f 47 c1          	cmova  %rcx,%rax
14004c33e:	48 89 86 a8 18 00 00 	mov    %rax,0x18a8(%rsi)
14004c345:	49 8b 44 24 10       	mov    0x10(%r12),%rax
14004c34a:	44 8b 60 18          	mov    0x18(%rax),%r12d
14004c34e:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14004c353:	ff 15 df b4 0a 00    	call   *0xab4df(%rip)        # 0x1400f7838
14004c359:	e9 85 fc ff ff       	jmp    0x14004bfe3
14004c35e:	49 ff 45 20          	incq   0x20(%r13)
14004c362:	49 ff 45 18          	incq   0x18(%r13)
14004c366:	4c 89 e9             	mov    %r13,%rcx
14004c369:	4c 89 e2             	mov    %r12,%rdx
14004c36c:	e8 4f 4f ff ff       	call   0x1400412c0
14004c371:	4c 8b 3e             	mov    (%rsi),%r15
14004c374:	4d 85 ff             	test   %r15,%r15
14004c377:	0f 85 19 fc ff ff    	jne    0x14004bf96
14004c37d:	eb 08                	jmp    0x14004c387
14004c37f:	49 ff 45 28          	incq   0x28(%r13)
14004c383:	49 ff 45 18          	incq   0x18(%r13)
14004c387:	4b 8d 04 64          	lea    (%r12,%r12,2),%rax
14004c38b:	c1 e0 04             	shl    $0x4,%eax
14004c38e:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14004c393:	4c 8d 3c 06          	lea    (%rsi,%rax,1),%r15
14004c397:	49 83 c7 48          	add    $0x48,%r15
14004c39b:	48 8d 4e 40          	lea    0x40(%rsi),%rcx
14004c39f:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
14004c3a4:	ff 15 66 b5 0a 00    	call   *0xab566(%rip)        # 0x1400f7910
14004c3aa:	84 c0                	test   %al,%al
14004c3ac:	75 0a                	jne    0x14004c3b8
14004c3ae:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14004c3b3:	e8 c8 55 ff ff       	call   0x140041980
14004c3b8:	4d 8b 27             	mov    (%r15),%r12
14004c3bb:	4c 89 64 24 68       	mov    %r12,0x68(%rsp)
14004c3c0:	4c 89 f9             	mov    %r15,%rcx
14004c3c3:	4d 8b 3c 24          	mov    (%r12),%r15
14004c3c7:	4d 85 ff             	test   %r15,%r15
14004c3ca:	0f 84 1e 03 00 00    	je     0x14004c6ee
14004c3d0:	c6 44 24 67 00       	movb   $0x0,0x67(%rsp)
14004c3d5:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
14004c3da:	8b 69 18             	mov    0x18(%rcx),%ebp
14004c3dd:	8b 76 18             	mov    0x18(%rsi),%esi
14004c3e0:	4c 89 e1             	mov    %r12,%rcx
14004c3e3:	e8 48 77 ff ff       	call   0x140043b30
14004c3e8:	84 c0                	test   %al,%al
14004c3ea:	0f 84 cf 04 00 00    	je     0x14004c8bf
14004c3f0:	48 29 f5             	sub    %rsi,%rbp
14004c3f3:	4c 89 e0             	mov    %r12,%rax
14004c3f6:	48 25 00 f0 ff ff    	and    $0xfffffffffffff000,%rax
14004c3fc:	48 8b 00             	mov    (%rax),%rax
14004c3ff:	48 8d 15 b2 7e 0a 00 	lea    0xa7eb2(%rip),%rdx        # 0x1400f42b8
14004c406:	48 8d 0d a3 7e 0a 00 	lea    0xa7ea3(%rip),%rcx        # 0x1400f42b0
14004c40d:	80 78 14 00          	cmpb   $0x0,0x14(%rax)
14004c411:	48 0f 45 ca          	cmovne %rdx,%rcx
14004c415:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
14004c41a:	44 8b 40 18          	mov    0x18(%rax),%r8d
14004c41e:	49 8b 14 24          	mov    (%r12),%rdx
14004c422:	48 8b 01             	mov    (%rcx),%rax
14004c425:	48 8b 40 40          	mov    0x40(%rax),%rax
14004c429:	ff 15 d9 a8 0a 00    	call   *0xaa8d9(%rip)        # 0x1400f6d08
14004c42f:	49 89 04 24          	mov    %rax,(%r12)
14004c433:	41 8b 44 24 18       	mov    0x18(%r12),%eax
14004c438:	8d 48 01             	lea    0x1(%rax),%ecx
14004c43b:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
14004c441:	25 00 80 ff ff       	and    $0xffff8000,%eax
14004c446:	09 c8                	or     %ecx,%eax
14004c448:	41 89 44 24 18       	mov    %eax,0x18(%r12)
14004c44d:	49 8b 44 24 10       	mov    0x10(%r12),%rax
14004c452:	8b 40 18             	mov    0x18(%rax),%eax
14004c455:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14004c45a:	48 03 86 a0 18 00 00 	add    0x18a0(%rsi),%rax
14004c461:	48 89 86 a0 18 00 00 	mov    %rax,0x18a0(%rsi)
14004c468:	48 8b 8e a8 18 00 00 	mov    0x18a8(%rsi),%rcx
14004c46f:	48 39 c1             	cmp    %rax,%rcx
14004c472:	48 0f 47 c1          	cmova  %rcx,%rax
14004c476:	48 89 86 a8 18 00 00 	mov    %rax,0x18a8(%rsi)
14004c47d:	49 8b 44 24 10       	mov    0x10(%r12),%rax
14004c482:	44 8b 60 18          	mov    0x18(%rax),%r12d
14004c486:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14004c48b:	ff 15 a7 b3 0a 00    	call   *0xab3a7(%rip)        # 0x1400f7838
14004c491:	e9 40 fb ff ff       	jmp    0x14004bfd6
14004c496:	48 89 f8             	mov    %rdi,%rax
14004c499:	48 25 00 00 e0 ff    	and    $0xffffffffffe00000,%rax
14004c49f:	89 f9                	mov    %edi,%ecx
14004c4a1:	c1 e9 09             	shr    $0x9,%ecx
14004c4a4:	81 e1 f8 0f 00 00    	and    $0xff8,%ecx
14004c4aa:	48 01 c8             	add    %rcx,%rax
14004c4ad:	48 05 00 20 00 00    	add    $0x2000,%rax
14004c4b3:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
14004c4b9:	e9 6d fb ff ff       	jmp    0x14004c02b
14004c4be:	48 ff 43 20          	incq   0x20(%rbx)
14004c4c2:	48 ff 43 18          	incq   0x18(%rbx)
14004c4c6:	48 89 d9             	mov    %rbx,%rcx
14004c4c9:	4c 89 fa             	mov    %r15,%rdx
14004c4cc:	e8 ef 4d ff ff       	call   0x1400412c0
14004c4d1:	49 8b 3c 24          	mov    (%r12),%rdi
14004c4d5:	48 85 ff             	test   %rdi,%rdi
14004c4d8:	0f 85 b1 fc ff ff    	jne    0x14004c18f
14004c4de:	eb 08                	jmp    0x14004c4e8
14004c4e0:	48 ff 43 28          	incq   0x28(%rbx)
14004c4e4:	48 ff 43 18          	incq   0x18(%rbx)
14004c4e8:	4b 8d 04 7f          	lea    (%r15,%r15,2),%rax
14004c4ec:	c1 e0 04             	shl    $0x4,%eax
14004c4ef:	4c 8d 2c 06          	lea    (%rsi,%rax,1),%r13
14004c4f3:	49 83 c5 48          	add    $0x48,%r13
14004c4f7:	48 89 f5             	mov    %rsi,%rbp
14004c4fa:	4c 8d 7e 40          	lea    0x40(%rsi),%r15
14004c4fe:	4c 89 f9             	mov    %r15,%rcx
14004c501:	ff 15 09 b4 0a 00    	call   *0xab409(%rip)        # 0x1400f7910
14004c507:	84 c0                	test   %al,%al
14004c509:	75 08                	jne    0x14004c513
14004c50b:	4c 89 f9             	mov    %r15,%rcx
14004c50e:	e8 6d 54 ff ff       	call   0x140041980
14004c513:	4d 8b 65 00          	mov    0x0(%r13),%r12
14004c517:	4c 89 64 24 68       	mov    %r12,0x68(%rsp)
14004c51c:	49 8b 3c 24          	mov    (%r12),%rdi
14004c520:	48 85 ff             	test   %rdi,%rdi
14004c523:	0f 84 aa 02 00 00    	je     0x14004c7d3
14004c529:	c6 44 24 67 00       	movb   $0x0,0x67(%rsp)
14004c52e:	45 8b 75 18          	mov    0x18(%r13),%r14d
14004c532:	8b 75 18             	mov    0x18(%rbp),%esi
14004c535:	4c 89 e1             	mov    %r12,%rcx
14004c538:	e8 f3 75 ff ff       	call   0x140043b30
14004c53d:	84 c0                	test   %al,%al
14004c53f:	0f 84 80 03 00 00    	je     0x14004c8c5
14004c545:	49 29 f6             	sub    %rsi,%r14
14004c548:	4c 89 e0             	mov    %r12,%rax
14004c54b:	48 25 00 f0 ff ff    	and    $0xfffffffffffff000,%rax
14004c551:	48 8b 00             	mov    (%rax),%rax
14004c554:	48 8d 15 5d 7d 0a 00 	lea    0xa7d5d(%rip),%rdx        # 0x1400f42b8
14004c55b:	48 8d 0d 4e 7d 0a 00 	lea    0xa7d4e(%rip),%rcx        # 0x1400f42b0
14004c562:	80 78 14 00          	cmpb   $0x0,0x14(%rax)
14004c566:	48 0f 45 ca          	cmovne %rdx,%rcx
14004c56a:	45 8b 45 18          	mov    0x18(%r13),%r8d
14004c56e:	49 8b 14 24          	mov    (%r12),%rdx
14004c572:	48 8b 01             	mov    (%rcx),%rax
14004c575:	48 8b 40 40          	mov    0x40(%rax),%rax
14004c579:	ff 15 89 a7 0a 00    	call   *0xaa789(%rip)        # 0x1400f6d08
14004c57f:	49 89 04 24          	mov    %rax,(%r12)
14004c583:	41 8b 44 24 18       	mov    0x18(%r12),%eax
14004c588:	8d 48 01             	lea    0x1(%rax),%ecx
14004c58b:	81 e1 ff 7f 00 00    	and    $0x7fff,%ecx
14004c591:	25 00 80 ff ff       	and    $0xffff8000,%eax
14004c596:	09 c8                	or     %ecx,%eax
14004c598:	41 89 44 24 18       	mov    %eax,0x18(%r12)
14004c59d:	49 8b 44 24 10       	mov    0x10(%r12),%rax
14004c5a2:	8b 40 18             	mov    0x18(%rax),%eax
14004c5a5:	48 89 ee             	mov    %rbp,%rsi
14004c5a8:	48 03 85 a0 18 00 00 	add    0x18a0(%rbp),%rax
14004c5af:	48 89 85 a0 18 00 00 	mov    %rax,0x18a0(%rbp)
14004c5b6:	48 8b 8d a8 18 00 00 	mov    0x18a8(%rbp),%rcx
14004c5bd:	48 39 c1             	cmp    %rax,%rcx
14004c5c0:	48 0f 47 c1          	cmova  %rcx,%rax
14004c5c4:	48 89 85 a8 18 00 00 	mov    %rax,0x18a8(%rbp)
14004c5cb:	49 8b 44 24 10       	mov    0x10(%r12),%rax
14004c5d0:	44 8b 60 18          	mov    0x18(%rax),%r12d
14004c5d4:	4c 89 f9             	mov    %r15,%rcx
14004c5d7:	ff 15 5b b2 0a 00    	call   *0xab25b(%rip)        # 0x1400f7838
14004c5dd:	e9 ec fb ff ff       	jmp    0x14004c1ce
14004c5e2:	48 89 f1             	mov    %rsi,%rcx
14004c5e5:	e8 f6 39 ff ff       	call   0x14003ffe0
14004c5ea:	48 89 c3             	mov    %rax,%rbx
14004c5ed:	48 83 fb 02          	cmp    $0x2,%rbx
14004c5f1:	0f 83 63 fb ff ff    	jae    0x14004c15a
14004c5f7:	0f b7 c7             	movzwl %di,%eax
14004c5fa:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
14004c5fe:	c1 e0 04             	shl    $0x4,%eax