14003972a:	76 05                	jbe    0x140039731
14003972c:	d1 eb                	shr    $1,%ebx
14003972e:	44 8b f3             	mov    %ebx,%r14d
140039731:	44 8b c9             	mov    %ecx,%r9d
140039734:	45 8d 04 3e          	lea    (%r14,%rdi,1),%r8d
140039738:	44 3b 44 24 40       	cmp    0x40(%rsp),%r8d
14003973d:	73 56                	jae    0x140039795
14003973f:	41 8b c0             	mov    %r8d,%eax
140039742:	41 0f af c4          	imul   %r12d,%eax
140039746:	41 80 fd 04          	cmp    $0x4,%r13b
14003974a:	75 06                	jne    0x140039752
14003974c:	42 8b 0c 18          	mov    (%rax,%r11,1),%ecx
140039750:	eb 05                	jmp    0x140039757
140039752:	41 0f b7 0c 03       	movzwl (%r11,%rax,1),%ecx
140039757:	41 3b ca             	cmp    %r10d,%ecx
14003975a:	0f 85 10 ff ff ff    	jne    0x140039670
140039760:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140039765:	48 85 c9             	test   %rcx,%rcx
140039768:	74 0d                	je     0x140039777
14003976a:	45 0f af c4          	imul   %r12d,%r8d
14003976e:	41 8b c0             	mov    %r8d,%eax
140039771:	49 03 c3             	add    %r11,%rax
140039774:	48 89 01             	mov    %rax,(%rcx)
140039777:	b8 01 00 00 00       	mov    $0x1,%eax
14003977c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140039781:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140039786:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14003978b:	41 5f                	pop    %r15
14003978d:	41 5e                	pop    %r14
14003978f:	41 5d                	pop    %r13
140039791:	41 5c                	pop    %r12
140039793:	5f                   	pop    %rdi
140039794:	c3                   	ret
140039795:	33 c0                	xor    %eax,%eax
140039797:	eb e3                	jmp    0x14003977c
140039799:	cc                   	int3
14003979a:	90                   	nop
14003979b:	90                   	nop
14003979c:	48 8b c4             	mov    %rsp,%rax
14003979f:	48 89 58 10          	mov    %rbx,0x10(%rax)
1400397a3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400397a7:	57                   	push   %rdi
1400397a8:	41 56                	push   %r14
1400397aa:	41 57                	push   %r15
1400397ac:	48 83 ec 30          	sub    $0x30,%rsp
1400397b0:	4c 8b 7c 24 78       	mov    0x78(%rsp),%r15
1400397b5:	33 db                	xor    %ebx,%ebx
1400397b7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400397bb:	44 8b da             	mov    %edx,%r11d
1400397be:	0f b6 51 2d          	movzbl 0x2d(%rcx),%edx
1400397c2:	45 8b d1             	mov    %r9d,%r10d
1400397c5:	48 8b f9             	mov    %rcx,%rdi
1400397c8:	4d 85 ff             	test   %r15,%r15
1400397cb:	0f 84 ed 00 00 00    	je     0x1400398be
1400397d1:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1400397d6:	48 85 f6             	test   %rsi,%rsi
1400397d9:	0f 84 df 00 00 00    	je     0x1400398be
1400397df:	4c 8b b4 24 80 00 00 	mov    0x80(%rsp),%r14
1400397e6:	00
1400397e7:	4d 85 f6             	test   %r14,%r14
1400397ea:	0f 84 ce 00 00 00    	je     0x1400398be
1400397f0:	44 0f b6 49 2c       	movzbl 0x2c(%rcx),%r9d
1400397f5:	48 8d 40 08          	lea    0x8(%rax),%rax
1400397f9:	41 83 c1 05          	add    $0x5,%r9d
1400397fd:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140039802:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140039807:	44 03 ca             	add    %edx,%r9d
14003980a:	45 8b c2             	mov    %r10d,%r8d
14003980d:	41 8b cb             	mov    %r11d,%ecx
140039810:	e8 d3 fd ff ff       	call   0x1400395e8
140039815:	85 c0                	test   %eax,%eax
140039817:	0f 84 a1 00 00 00    	je     0x1400398be
14003981d:	44 0f b6 47 2d       	movzbl 0x2d(%rdi),%r8d
140039822:	4c 8b 4c 24 50       	mov    0x50(%rsp),%r9
140039827:	38 5f 2c             	cmp    %bl,0x2c(%rdi)
14003982a:	75 07                	jne    0x140039833
14003982c:	43 0f b7 0c 08       	movzwl (%r8,%r9,1),%ecx
140039831:	eb 10                	jmp    0x140039843
140039833:	43 0f b6 0c 08       	movzbl (%r8,%r9,1),%ecx
140039838:	43 0f b7 44 08 01    	movzwl 0x1(%r8,%r9,1),%eax
14003983e:	c1 e1 10             	shl    $0x10,%ecx
140039841:	0b c8                	or     %eax,%ecx
140039843:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
140039849:	75 05                	jne    0x140039850
14003984b:	38 5f 2c             	cmp    %bl,0x2c(%rdi)
14003984e:	74 0b                	je     0x14003985b
140039850:	41 bb ff ff ff 00    	mov    $0xffffff,%r11d
140039856:	41 3b cb             	cmp    %r11d,%ecx
140039859:	75 10                	jne    0x14003986b
14003985b:	41 89 1e             	mov    %ebx,(%r14)
14003985e:	49 89 1f             	mov    %rbx,(%r15)
140039861:	48 89 1e             	mov    %rbx,(%rsi)
140039864:	b8 01 00 00 00       	mov    $0x1,%eax
140039869:	eb 55                	jmp    0x1400398c0
14003986b:	4c 8b 57 08          	mov    0x8(%rdi),%r10
14003986f:	8b 47 20             	mov    0x20(%rdi),%eax
140039872:	49 03 c2             	add    %r10,%rax
140039875:	8b d1                	mov    %ecx,%edx
140039877:	48 03 d0             	add    %rax,%rdx
14003987a:	0f b6 47 2c          	movzbl 0x2c(%rdi),%eax
14003987e:	49 03 c0             	add    %r8,%rax
140039881:	0f b7 0a             	movzwl (%rdx),%ecx
140039884:	46 0f b6 44 08 02    	movzbl 0x2(%rax,%r9,1),%r8d
14003988a:	42 0f b7 44 08 03    	movzwl 0x3(%rax,%r9,1),%eax
140039890:	41 c1 e0 10          	shl    $0x10,%r8d
140039894:	44 0b c0             	or     %eax,%r8d
140039897:	41 89 0e             	mov    %ecx,(%r14)
14003989a:	48 8d 42 02          	lea    0x2(%rdx),%rax
14003989e:	49 89 07             	mov    %rax,(%r15)
1400398a1:	83 f9 01             	cmp    $0x1,%ecx
1400398a4:	74 05                	je     0x1400398ab
1400398a6:	8b 47 24             	mov    0x24(%rdi),%eax
1400398a9:	eb 08                	jmp    0x1400398b3
1400398ab:	45 3b c3             	cmp    %r11d,%r8d
1400398ae:	74 b1                	je     0x140039861
1400398b0:	8b 47 28             	mov    0x28(%rdi),%eax
1400398b3:	49 03 c2             	add    %r10,%rax
1400398b6:	41 8b d8             	mov    %r8d,%ebx
1400398b9:	48 03 d8             	add    %rax,%rbx
1400398bc:	eb a3                	jmp    0x140039861
1400398be:	33 c0                	xor    %eax,%eax
1400398c0:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1400398c5:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1400398ca:	48 83 c4 30          	add    $0x30,%rsp
1400398ce:	41 5f                	pop    %r15
1400398d0:	41 5e                	pop    %r14
1400398d2:	5f                   	pop    %rdi
1400398d3:	c3                   	ret
1400398d4:	40 55                	rex push %rbp
1400398d6:	53                   	push   %rbx
1400398d7:	56                   	push   %rsi
1400398d8:	57                   	push   %rdi
1400398d9:	41 55                	push   %r13
1400398db:	41 56                	push   %r14
1400398dd:	41 57                	push   %r15
1400398df:	48 8d ac 24 70 ff ff 	lea    -0x90(%rsp),%rbp
1400398e6:	ff
1400398e7:	48 81 ec 90 01 00 00 	sub    $0x190,%rsp
1400398ee:	48 8b 05 8b 78 2c 00 	mov    0x2c788b(%rip),%rax        # 0x140301180
1400398f5:	48 33 c4             	xor    %rsp,%rax
1400398f8:	48 89 85 80 00 00 00 	mov    %rax,0x80(%rbp)
1400398ff:	4c 8b ad f0 00 00 00 	mov    0xf0(%rbp),%r13
140039906:	83 ce ff             	or     $0xffffffff,%esi
140039909:	48 8b 9d 00 01 00 00 	mov    0x100(%rbp),%rbx
140039910:	45 33 d2             	xor    %r10d,%r10d
140039913:	4c 89 4c 24 70       	mov    %r9,0x70(%rsp)
140039918:	48 8b f9             	mov    %rcx,%rdi
14003991b:	4c 89 44 24 68       	mov    %r8,0x68(%rsp)
140039920:	89 74 24 60          	mov    %esi,0x60(%rsp)
140039924:	4d 85 ed             	test   %r13,%r13
140039927:	0f 84 30 02 00 00    	je     0x140039b5d
14003992d:	44 39 95 f8 00 00 00 	cmp    %r10d,0xf8(%rbp)
140039934:	0f 8e 23 02 00 00    	jle    0x140039b5d
14003993a:	48 85 d2             	test   %rdx,%rdx
14003993d:	75 05                	jne    0x140039944
14003993f:	83 c9 ff             	or     $0xffffffff,%ecx
140039942:	eb 5f                	jmp    0x1400399a3
140039944:	4d 8b c2             	mov    %r10,%r8
140039947:	66 44 39 12          	cmp    %r10w,(%rdx)
14003994b:	74 35                	je     0x140039982
14003994d:	4c 8d 4d 80          	lea    -0x80(%rbp),%r9
140039951:	4c 2b ca             	sub    %rdx,%r9
140039954:	49 83 f8 7f          	cmp    $0x7f,%r8
140039958:	73 28                	jae    0x140039982
14003995a:	0f b7 02             	movzwl (%rdx),%eax
14003995d:	0f b7 0a             	movzwl (%rdx),%ecx
140039960:	66 83 e8 41          	sub    $0x41,%ax
140039964:	66 83 c1 20          	add    $0x20,%cx
140039968:	66 83 f8 19          	cmp    $0x19,%ax
14003996c:	66 0f 47 0a          	cmova  (%rdx),%cx
140039970:	49 ff c0             	inc    %r8
140039973:	66 41 89 0c 11       	mov    %cx,(%r9,%rdx,1)
140039978:	48 83 c2 02          	add    $0x2,%rdx
14003997c:	66 44 39 12          	cmp    %r10w,(%rdx)
140039980:	75 d2                	jne    0x140039954
140039982:	4d 03 c0             	add    %r8,%r8
140039985:	49 81 f8 00 01 00 00 	cmp    $0x100,%r8
14003998c:	0f 83 ee 01 00 00    	jae    0x140039b80
140039992:	48 8d 4d 80          	lea    -0x80(%rbp),%rcx
140039996:	66 46 89 54 05 80    	mov    %r10w,-0x80(%rbp,%r8,1)
14003999c:	e8 8b fb ff ff       	call   0x14003952c
1400399a1:	8b c8                	mov    %eax,%ecx
1400399a3:	66 45 89 55 00       	mov    %r10w,0x0(%r13)
1400399a8:	4d 8b f2             	mov    %r10,%r14
1400399ab:	0f b6 57 2e          	movzbl 0x2e(%rdi),%edx
1400399af:	45 8b fa             	mov    %r10d,%r15d
1400399b2:	8b 47 18             	mov    0x18(%rdi),%eax
1400399b5:	48 03 47 08          	add    0x8(%rdi),%rax
1400399b9:	44 0f b7 47 14       	movzwl 0x14(%rdi),%r8d
1400399be:	4c 89 54 24 50       	mov    %r10,0x50(%rsp)
1400399c3:	44 8d 4a 04          	lea    0x4(%rdx),%r9d
1400399c7:	4c 8d 54 24 50       	lea    0x50(%rsp),%r10
1400399cc:	4c 89 54 24 28       	mov    %r10,0x28(%rsp)
1400399d1:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400399d6:	e8 0d fc ff ff       	call   0x1400395e8
1400399db:	45 33 d2             	xor    %r10d,%r10d
1400399de:	85 c0                	test   %eax,%eax
1400399e0:	74 30                	je     0x140039a12
1400399e2:	0f b6 47 2d          	movzbl 0x2d(%rdi),%eax
1400399e6:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1400399eb:	48 03 c8             	add    %rax,%rcx
1400399ee:	0f b6 01             	movzbl (%rcx),%eax
1400399f1:	44 0f b7 71 01       	movzwl 0x1(%rcx),%r14d
1400399f6:	44 0f b6 79 03       	movzbl 0x3(%rcx),%r15d
1400399fb:	48 c1 e0 10          	shl    $0x10,%rax
1400399ff:	4c 0b f0             	or     %rax,%r14
140039a02:	8b 47 1c             	mov    0x1c(%rdi),%eax
140039a05:	4c 03 f0             	add    %rax,%r14
140039a08:	41 8d 42 01          	lea    0x1(%r10),%eax
140039a0c:	4c 03 77 08          	add    0x8(%rdi),%r14
140039a10:	eb 03                	jmp    0x140039a15
140039a12:	41 8b c2             	mov    %r10d,%eax
140039a15:	85 c0                	test   %eax,%eax
140039a17:	74 60                	je     0x140039a79
140039a19:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
140039a1e:	e8 09 fb ff ff       	call   0x14003952c
140039a23:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140039a28:	4c 89 54 24 50       	mov    %r10,0x50(%rsp)
140039a2d:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
140039a32:	45 8b cf             	mov    %r15d,%r9d
140039a35:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140039a3a:	4c 89 54 24 68       	mov    %r10,0x68(%rsp)
140039a3f:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140039a44:	4d 8b c6             	mov    %r14,%r8
140039a47:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140039a4c:	44 89 54 24 58       	mov    %r10d,0x58(%rsp)
140039a51:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140039a56:	8b d0                	mov    %eax,%edx
140039a58:	48 8b cf             	mov    %rdi,%rcx
140039a5b:	e8 3c fd ff ff       	call   0x14003979c
140039a60:	85 c0                	test   %eax,%eax
140039a62:	74 15                	je     0x140039a79
140039a64:	44 8b 74 24 58       	mov    0x58(%rsp),%r14d
140039a69:	45 85 f6             	test   %r14d,%r14d
140039a6c:	75 12                	jne    0x140039a80
140039a6e:	48 85 db             	test   %rbx,%rbx
140039a71:	74 06                	je     0x140039a79
140039a73:	c7 03 01 00 00 00    	movl   $0x1,(%rbx)
140039a79:	8b c6                	mov    %esi,%eax
140039a7b:	e9 df 00 00 00       	jmp    0x140039b5f
140039a80:	48 85 db             	test   %rbx,%rbx
140039a83:	74 06                	je     0x140039a8b
140039a85:	c7 03 01 00 00 00    	movl   $0x1,(%rbx)
140039a8b:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
140039a90:	e8 97 fa ff ff       	call   0x14003952c
140039a95:	4c 8b 7c 24 68       	mov    0x68(%rsp),%r15
140039a9a:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140039a9f:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140039aa4:	33 db                	xor    %ebx,%ebx
140039aa6:	48 21 5c 24 58       	and    %rbx,0x58(%rsp)
140039aab:	45 8b c6             	mov    %r14d,%r8d
140039aae:	8b c8                	mov    %eax,%ecx
140039ab0:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140039ab5:	44 8d 4b 04          	lea    0x4(%rbx),%r9d
140039ab9:	41 8a d1             	mov    %r9b,%dl
140039abc:	e8 27 fb ff ff       	call   0x1400395e8
140039ac1:	45 33 c0             	xor    %r8d,%r8d
140039ac4:	85 c0                	test   %eax,%eax
140039ac6:	74 10                	je     0x140039ad8
140039ac8:	8b 5c 24 58          	mov    0x58(%rsp),%ebx
140039acc:	41 8d 40 01          	lea    0x1(%r8),%eax
140039ad0:	41 2b df             	sub    %r15d,%ebx
140039ad3:	c1 eb 02             	shr    $0x2,%ebx
140039ad6:	eb 03                	jmp    0x140039adb
140039ad8:	41 8b c0             	mov    %r8d,%eax
140039adb:	85 c0                	test   %eax,%eax
140039add:	74 9a                	je     0x140039a79
140039adf:	41 83 fe 01          	cmp    $0x1,%r14d
140039ae3:	76 2a                	jbe    0x140039b0f
140039ae5:	8d 0c 5b             	lea    (%rbx,%rbx,2),%ecx
140039ae8:	48 03 4c 24 50       	add    0x50(%rsp),%rcx
140039aed:	0f b6 11             	movzbl (%rcx),%edx
140039af0:	0f b7 41 01          	movzwl 0x1(%rcx),%eax
140039af4:	c1 e2 10             	shl    $0x10,%edx
140039af7:	0b d0                	or     %eax,%edx
140039af9:	81 fa ff ff ff 00    	cmp    $0xffffff,%edx
140039aff:	74 5c                	je     0x140039b5d
140039b01:	8b 4f 28             	mov    0x28(%rdi),%ecx
140039b04:	8b c2                	mov    %edx,%eax
140039b06:	48 03 c8             	add    %rax,%rcx
140039b09:	48 03 4f 08          	add    0x8(%rdi),%rcx
140039b0d:	eb 0a                	jmp    0x140039b19
140039b0f:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140039b14:	48 85 c9             	test   %rcx,%rcx
140039b17:	74 44                	je     0x140039b5d
140039b19:	0f ae e8             	lfence
140039b1c:	8a 47 30             	mov    0x30(%rdi),%al
140039b1f:	4c 8d 4c 24 60       	lea    0x60(%rsp),%r9
140039b24:	4c 89 44 24 48       	mov    %r8,0x48(%rsp)
140039b29:	49 8b d5             	mov    %r13,%rdx
140039b2c:	44 88 44 24 40       	mov    %r8b,0x40(%rsp)
140039b31:	44 88 44 24 38       	mov    %r8b,0x38(%rsp)
140039b36:	44 8b 85 f8 00 00 00 	mov    0xf8(%rbp),%r8d
140039b3d:	88 44 24 30          	mov    %al,0x30(%rsp)
140039b41:	8a 47 2f             	mov    0x2f(%rdi),%al
140039b44:	88 44 24 28          	mov    %al,0x28(%rsp)
140039b48:	8a 47 31             	mov    0x31(%rdi),%al
140039b4b:	88 44 24 20          	mov    %al,0x20(%rsp)
140039b4f:	e8 e8 f4 ff ff       	call   0x14003903c
140039b54:	8b 74 24 60          	mov    0x60(%rsp),%esi
140039b58:	e9 1c ff ff ff       	jmp    0x140039a79
140039b5d:	33 c0                	xor    %eax,%eax
140039b5f:	48 8b 8d 80 00 00 00 	mov    0x80(%rbp),%rcx
140039b66:	48 33 cc             	xor    %rsp,%rcx
140039b69:	e8 02 ac 1c 00       	call   0x140204770
140039b6e:	48 81 c4 90 01 00 00 	add    $0x190,%rsp
140039b75:	41 5f                	pop    %r15
140039b77:	41 5e                	pop    %r14
140039b79:	41 5d                	pop    %r13
140039b7b:	5f                   	pop    %rdi
140039b7c:	5e                   	pop    %rsi
140039b7d:	5b                   	pop    %rbx
140039b7e:	5d                   	pop    %rbp
140039b7f:	c3                   	ret
140039b80:	e8 e3 b2 1c 00       	call   0x140204e68
140039b85:	cc                   	int3
140039b86:	90                   	nop
140039b87:	90                   	nop
140039b88:	90                   	nop
140039b89:	90                   	nop
140039b8a:	90                   	nop
140039b8b:	90                   	nop
140039b8c:	90                   	nop
140039b8d:	90                   	nop
140039b8e:	90                   	nop
140039b8f:	90                   	nop
140039b90:	8b 41 10             	mov    0x10(%rcx),%eax
140039b93:	c3                   	ret
140039b94:	90                   	nop
140039b95:	90                   	nop
140039b96:	90                   	nop
140039b97:	90                   	nop
140039b98:	90                   	nop
140039b99:	90                   	nop
140039b9a:	90                   	nop
140039b9b:	90                   	nop
140039b9c:	90                   	nop
140039b9d:	90                   	nop
140039b9e:	90                   	nop
140039b9f:	90                   	nop
140039ba0:	48 8b 41 38          	mov    0x38(%rcx),%rax
140039ba4:	c3                   	ret
140039ba5:	90                   	nop
140039ba6:	90                   	nop
140039ba7:	90                   	nop
140039ba8:	90                   	nop
140039ba9:	90                   	nop
140039baa:	90                   	nop
140039bab:	90                   	nop
140039bac:	90                   	nop