1405247d6:	41 b8 04 00 00 00    	mov    $0x4,%r8d
1405247dc:	48 8d 15 45 6a ae 00 	lea    0xae6a45(%rip),%rdx        # 0x14100b228
1405247e3:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1405247e8:	e8 03 49 c8 ff       	call   0x1401a90f0
1405247ed:	48 8d 15 dc c1 e7 00 	lea    0xe7c1dc(%rip),%rdx        # 0x1413a09d0
1405247f4:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1405247f9:	e8 1a 80 8f 00       	call   0x140e1c818
1405247fe:	cc                   	int3
1405247ff:	2b ee                	sub    %esi,%ebp
140524801:	44 8b cd             	mov    %ebp,%r9d
140524804:	45 8b c7             	mov    %r15d,%r8d
140524807:	48 8d 15 32 6a ae 00 	lea    0xae6a32(%rip),%rdx        # 0x14100b240
14052480e:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140524813:	e8 d8 48 c8 ff       	call   0x1401a90f0
140524818:	48 8d 15 b1 c1 e7 00 	lea    0xe7c1b1(%rip),%rdx        # 0x1413a09d0
14052481f:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140524824:	e8 ef 7f 8f 00       	call   0x140e1c818
140524829:	cc                   	int3
14052482a:	cc                   	int3
14052482b:	cc                   	int3
14052482c:	cc                   	int3
14052482d:	cc                   	int3
14052482e:	cc                   	int3
14052482f:	cc                   	int3
140524830:	40 53                	rex push %rbx
140524832:	56                   	push   %rsi
140524833:	57                   	push   %rdi
140524834:	41 54                	push   %r12
140524836:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
14052483d:	48 8b 05 bc 46 e9 00 	mov    0xe946bc(%rip),%rax        # 0x1413b8f00
140524844:	48 33 c4             	xor    %rsp,%rax
140524847:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
14052484c:	48 8b da             	mov    %rdx,%rbx
14052484f:	4d 8b e1             	mov    %r9,%r12
140524852:	48 83 c2 0a          	add    $0xa,%rdx
140524856:	49 8b f0             	mov    %r8,%rsi
140524859:	48 8b f9             	mov    %rcx,%rdi
14052485c:	49 3b d0             	cmp    %r8,%rdx
14052485f:	0f 87 ad 01 00 00    	ja     0x140524a12
140524865:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140524869:	48 3b d1             	cmp    %rcx,%rdx
14052486c:	0f 82 a0 01 00 00    	jb     0x140524a12
140524872:	0f b7 03             	movzwl (%rbx),%eax
140524875:	48 89 ac 24 80 00 00 	mov    %rbp,0x80(%rsp)
14052487c:	00
14052487d:	4c 89 7c 24 68       	mov    %r15,0x68(%rsp)
140524882:	44 8b bc 24 d0 00 00 	mov    0xd0(%rsp),%r15d
140524889:	00
14052488a:	41 83 ff 01          	cmp    $0x1,%r15d
14052488e:	75 16                	jne    0x1405248a6
140524890:	66 89 07             	mov    %ax,(%rdi)
140524893:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
140524897:	66 89 47 02          	mov    %ax,0x2(%rdi)
14052489b:	8b 43 04             	mov    0x4(%rbx),%eax
14052489e:	89 47 04             	mov    %eax,0x4(%rdi)
1405248a1:	0f b7 01             	movzwl (%rcx),%eax
1405248a4:	eb 22                	jmp    0x1405248c8
1405248a6:	66 c1 c8 08          	ror    $0x8,%ax
1405248aa:	66 89 07             	mov    %ax,(%rdi)
1405248ad:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
1405248b1:	66 c1 c8 08          	ror    $0x8,%ax
1405248b5:	66 89 47 02          	mov    %ax,0x2(%rdi)
1405248b9:	8b 43 04             	mov    0x4(%rbx),%eax
1405248bc:	0f c8                	bswap  %eax
1405248be:	89 47 04             	mov    %eax,0x4(%rdi)
1405248c1:	0f b7 01             	movzwl (%rcx),%eax
1405248c4:	66 c1 c8 08          	ror    $0x8,%ax
1405248c8:	44 0f b7 c0          	movzwl %ax,%r8d
1405248cc:	48 8d 6b 0a          	lea    0xa(%rbx),%rbp
1405248d0:	49 03 e8             	add    %r8,%rbp
1405248d3:	66 89 47 08          	mov    %ax,0x8(%rdi)
1405248d7:	48 3b ee             	cmp    %rsi,%rbp
1405248da:	0f 87 06 01 00 00    	ja     0x1405249e6
1405248e0:	48 3b ea             	cmp    %rdx,%rbp
1405248e3:	0f 82 fd 00 00 00    	jb     0x1405249e6
1405248e9:	4c 89 6c 24 78       	mov    %r13,0x78(%rsp)
1405248ee:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
1405248f2:	4c 89 74 24 70       	mov    %r14,0x70(%rsp)
1405248f7:	e8 64 9a c8 ff       	call   0x1401ae360
1405248fc:	45 33 ed             	xor    %r13d,%r13d
1405248ff:	48 8b c5             	mov    %rbp,%rax
140524902:	48 2b c3             	sub    %rbx,%rax
140524905:	41 8b cd             	mov    %r13d,%ecx
140524908:	48 99                	cqto
14052490a:	83 e2 03             	and    $0x3,%edx
14052490d:	48 03 c2             	add    %rdx,%rax
140524910:	83 e0 03             	and    $0x3,%eax
140524913:	48 2b c2             	sub    %rdx,%rax
140524916:	ba 04 00 00 00       	mov    $0x4,%edx
14052491b:	2b d0                	sub    %eax,%edx
14052491d:	85 c0                	test   %eax,%eax
14052491f:	0f 45 ca             	cmovne %edx,%ecx
140524922:	4c 63 f1             	movslq %ecx,%r14
140524925:	b9 30 00 00 00       	mov    $0x30,%ecx
14052492a:	4c 03 f5             	add    %rbp,%r14
14052492d:	e8 d6 67 8f 00       	call   0x140e1b108
140524932:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140524937:	48 85 c0             	test   %rax,%rax
14052493a:	74 22                	je     0x14052495e
14052493c:	44 88 28             	mov    %r13b,(%rax)
14052493f:	c7 40 04 ff ff ff ff 	movl   $0xffffffff,0x4(%rax)
140524946:	4c 89 68 08          	mov    %r13,0x8(%rax)
14052494a:	4c 89 68 10          	mov    %r13,0x10(%rax)
14052494e:	4c 89 68 18          	mov    %r13,0x18(%rax)
140524952:	4c 89 68 20          	mov    %r13,0x20(%rax)
140524956:	66 c7 40 28 00 0f    	movw   $0xf00,0x28(%rax)
14052495c:	eb 03                	jmp    0x140524961
14052495e:	49 8b c5             	mov    %r13,%rax
140524961:	4d 8b cc             	mov    %r12,%r9
140524964:	48 89 47 20          	mov    %rax,0x20(%rdi)
140524968:	4c 8b c6             	mov    %rsi,%r8
14052496b:	44 89 7c 24 20       	mov    %r15d,0x20(%rsp)
140524970:	49 8b d6             	mov    %r14,%rdx
140524973:	48 8b c8             	mov    %rax,%rcx
140524976:	e8 15 f7 ff ff       	call   0x140524090
14052497b:	48 8b 0d fe 70 f0 00 	mov    0xf070fe(%rip),%rcx        # 0x14142ba80
140524982:	44 2b f3             	sub    %ebx,%r14d
140524985:	49 8b 1c 24          	mov    (%r12),%rbx
140524989:	4c 8b 6c 24 78       	mov    0x78(%rsp),%r13
14052498e:	41 8d 34 06          	lea    (%r14,%rax,1),%esi
140524992:	4c 8b 74 24 70       	mov    0x70(%rsp),%r14
140524997:	48 85 c9             	test   %rcx,%rcx
14052499a:	74 1a                	je     0x1405249b6
14052499c:	e8 8f 0b 2f 00       	call   0x140815530
1405249a1:	84 c0                	test   %al,%al
1405249a3:	74 11                	je     0x1405249b6
1405249a5:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
1405249a9:	4c 8b 43 18          	mov    0x18(%rbx),%r8
1405249ad:	48 8b 51 28          	mov    0x28(%rcx),%rdx
1405249b1:	e8 fa 23 00 00       	call   0x140526db0
1405249b6:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
1405249bd:	00
1405249be:	8b c6                	mov    %esi,%eax
1405249c0:	4c 8b 7c 24 68       	mov    0x68(%rsp),%r15
1405249c5:	c7 47 28 01 00 00 00 	movl   $0x1,0x28(%rdi)
1405249cc:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
1405249d1:	48 33 cc             	xor    %rsp,%rcx
1405249d4:	e8 27 6b 8f 00       	call   0x140e1b500
1405249d9:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
1405249e0:	41 5c                	pop    %r12
1405249e2:	5f                   	pop    %rdi
1405249e3:	5e                   	pop    %rsi
1405249e4:	5b                   	pop    %rbx
1405249e5:	c3                   	ret
1405249e6:	2b f3                	sub    %ebx,%esi
1405249e8:	48 8d 15 e9 6a ae 00 	lea    0xae6ae9(%rip),%rdx        # 0x14100b4d8
1405249ef:	44 8b ce             	mov    %esi,%r9d
1405249f2:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
1405249f7:	41 83 c0 0a          	add    $0xa,%r8d
1405249fb:	e8 f0 46 c8 ff       	call   0x1401a90f0
140524a00:	48 8d 15 c9 bf e7 00 	lea    0xe7bfc9(%rip),%rdx        # 0x1413a09d0
140524a07:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140524a0c:	e8 07 7e 8f 00       	call   0x140e1c818
140524a11:	cc                   	int3
140524a12:	2b f3                	sub    %ebx,%esi
140524a14:	48 8d 15 8d 6a ae 00 	lea    0xae6a8d(%rip),%rdx        # 0x14100b4a8
140524a1b:	44 8b ce             	mov    %esi,%r9d
140524a1e:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140524a23:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
140524a29:	e8 c2 46 c8 ff       	call   0x1401a90f0
140524a2e:	48 8d 15 9b bf e7 00 	lea    0xe7bf9b(%rip),%rdx        # 0x1413a09d0
140524a35:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140524a3a:	e8 d9 7d 8f 00       	call   0x140e1c818
140524a3f:	cc                   	int3
140524a40:	40 53                	rex push %rbx
140524a42:	55                   	push   %rbp
140524a43:	56                   	push   %rsi
140524a44:	57                   	push   %rdi
140524a45:	41 56                	push   %r14
140524a47:	41 57                	push   %r15
140524a49:	48 83 ec 58          	sub    $0x58,%rsp
140524a4d:	48 8b 05 ac 44 e9 00 	mov    0xe944ac(%rip),%rax        # 0x1413b8f00
140524a54:	48 33 c4             	xor    %rsp,%rax
140524a57:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140524a5c:	48 8b 41 10          	mov    0x10(%rcx),%rax
140524a60:	4d 8b f9             	mov    %r9,%r15
140524a63:	49 8b f0             	mov    %r8,%rsi
140524a66:	48 8b fa             	mov    %rdx,%rdi
140524a69:	4c 8b f1             	mov    %rcx,%r14
140524a6c:	44 0f b7 50 12       	movzwl 0x12(%rax),%r10d
140524a71:	66 44 89 11          	mov    %r10w,(%rcx)
140524a75:	66 45 85 d2          	test   %r10w,%r10w
140524a79:	0f 84 ba 00 00 00    	je     0x140524b39
140524a7f:	b9 28 00 00 00       	mov    $0x28,%ecx
140524a84:	e8 7f 66 8f 00       	call   0x140e1b108
140524a89:	33 c9                	xor    %ecx,%ecx
140524a8b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140524a90:	48 8b d8             	mov    %rax,%rbx
140524a93:	48 85 c0             	test   %rax,%rax
140524a96:	74 17                	je     0x140524aaf
140524a98:	49 8b 46 10          	mov    0x10(%r14),%rax
140524a9c:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
140524aa0:	89 4b 10             	mov    %ecx,0x10(%rbx)
140524aa3:	48 89 0b             	mov    %rcx,(%rbx)
140524aa6:	48 89 43 18          	mov    %rax,0x18(%rbx)
140524aaa:	89 4b 20             	mov    %ecx,0x20(%rbx)
140524aad:	eb 03                	jmp    0x140524ab2
140524aaf:	48 8b d9             	mov    %rcx,%rbx
140524ab2:	48 8d 57 08          	lea    0x8(%rdi),%rdx
140524ab6:	49 89 5e 08          	mov    %rbx,0x8(%r14)
140524aba:	48 3b d6             	cmp    %rsi,%rdx
140524abd:	0f 87 94 00 00 00    	ja     0x140524b57
140524ac3:	48 8d 4f 04          	lea    0x4(%rdi),%rcx
140524ac7:	48 3b d1             	cmp    %rcx,%rdx
140524aca:	0f 82 87 00 00 00    	jb     0x140524b57
140524ad0:	83 bc 24 b0 00 00 00 	cmpl   $0x1,0xb0(%rsp)
140524ad7:	01
140524ad8:	0f b6 07             	movzbl (%rdi),%eax
140524adb:	88 03                	mov    %al,(%rbx)
140524add:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
140524ae1:	88 43 01             	mov    %al,0x1(%rbx)
140524ae4:	0f b6 47 02          	movzbl 0x2(%rdi),%eax
140524ae8:	88 43 02             	mov    %al,0x2(%rbx)
140524aeb:	0f b6 47 03          	movzbl 0x3(%rdi),%eax
140524aef:	88 43 03             	mov    %al,0x3(%rbx)
140524af2:	8b 01                	mov    (%rcx),%eax
140524af4:	74 02                	je     0x140524af8
140524af6:	0f c8                	bswap  %eax
140524af8:	89 43 04             	mov    %eax,0x4(%rbx)
140524afb:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
140524aff:	48 8b 43 18          	mov    0x18(%rbx),%rax
140524b03:	0f b7 68 12          	movzwl 0x12(%rax),%ebp
140524b07:	48 03 cd             	add    %rbp,%rcx
140524b0a:	48 3b ce             	cmp    %rsi,%rcx
140524b0d:	77 76                	ja     0x140524b85
140524b0f:	48 3b ca             	cmp    %rdx,%rcx
140524b12:	72 71                	jb     0x140524b85
140524b14:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140524b18:	44 8b c5             	mov    %ebp,%r8d
140524b1b:	e8 40 98 c8 ff       	call   0x1401ae360
140524b20:	49 8b 0f             	mov    (%r15),%rcx
140524b23:	41 b0 01             	mov    $0x1,%r8b
140524b26:	48 8b d3             	mov    %rbx,%rdx
140524b29:	e8 62 12 00 00       	call   0x140525d90
140524b2e:	0f b6 c0             	movzbl %al,%eax
140524b31:	8d 4d 08             	lea    0x8(%rbp),%ecx
140524b34:	89 43 20             	mov    %eax,0x20(%rbx)
140524b37:	eb 02                	jmp    0x140524b3b
140524b39:	33 c9                	xor    %ecx,%ecx
140524b3b:	8b c1                	mov    %ecx,%eax
140524b3d:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140524b42:	48 33 cc             	xor    %rsp,%rcx
140524b45:	e8 b6 69 8f 00       	call   0x140e1b500
140524b4a:	48 83 c4 58          	add    $0x58,%rsp
140524b4e:	41 5f                	pop    %r15
140524b50:	41 5e                	pop    %r14
140524b52:	5f                   	pop    %rdi
140524b53:	5e                   	pop    %rsi
140524b54:	5d                   	pop    %rbp
140524b55:	5b                   	pop    %rbx
140524b56:	c3                   	ret
140524b57:	2b f7                	sub    %edi,%esi
140524b59:	48 8d 15 e0 69 ae 00 	lea    0xae69e0(%rip),%rdx        # 0x14100b540
140524b60:	44 8b ce             	mov    %esi,%r9d
140524b63:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140524b68:	41 b8 08 00 00 00    	mov    $0x8,%r8d
140524b6e:	e8 7d 45 c8 ff       	call   0x1401a90f0
140524b73:	48 8d 15 56 be e7 00 	lea    0xe7be56(%rip),%rdx        # 0x1413a09d0
140524b7a:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140524b7f:	e8 94 7c 8f 00       	call   0x140e1c818
140524b84:	cc                   	int3
140524b85:	2b f7                	sub    %edi,%esi
140524b87:	44 8d 45 08          	lea    0x8(%rbp),%r8d
140524b8b:	44 8b ce             	mov    %esi,%r9d
140524b8e:	48 8d 15 c3 69 ae 00 	lea    0xae69c3(%rip),%rdx        # 0x14100b558
140524b95:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140524b9a:	e8 51 45 c8 ff       	call   0x1401a90f0
140524b9f:	48 8d 15 2a be e7 00 	lea    0xe7be2a(%rip),%rdx        # 0x1413a09d0
140524ba6:	48 8d 4c 24 28       	lea    0x28(%rsp),%rcx
140524bab:	e8 68 7c 8f 00       	call   0x140e1c818
140524bb0:	cc                   	int3
140524bb1:	cc                   	int3
140524bb2:	cc                   	int3
140524bb3:	cc                   	int3
140524bb4:	cc                   	int3
140524bb5:	cc                   	int3
140524bb6:	cc                   	int3
140524bb7:	cc                   	int3
140524bb8:	cc                   	int3
140524bb9:	cc                   	int3
140524bba:	cc                   	int3
140524bbb:	cc                   	int3
140524bbc:	cc                   	int3
140524bbd:	cc                   	int3
140524bbe:	cc                   	int3
140524bbf:	cc                   	int3
140524bc0:	40 53                	rex push %rbx
140524bc2:	55                   	push   %rbp
140524bc3:	56                   	push   %rsi
140524bc4:	57                   	push   %rdi
140524bc5:	41 54                	push   %r12
140524bc7:	41 55                	push   %r13
140524bc9:	41 56                	push   %r14
140524bcb:	41 57                	push   %r15
140524bcd:	48 83 ec 78          	sub    $0x78,%rsp
140524bd1:	48 8b 05 28 43 e9 00 	mov    0xe94328(%rip),%rax        # 0x1413b8f00
140524bd8:	48 33 c4             	xor    %rsp,%rax
140524bdb:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140524be0:	4d 8b e9             	mov    %r9,%r13
140524be3:	49 8b f0             	mov    %r8,%rsi
140524be6:	48 8b da             	mov    %rdx,%rbx
140524be9:	48 8b f9             	mov    %rcx,%rdi
140524bec:	48 83 c2 0a          	add    $0xa,%rdx
140524bf0:	49 3b d0             	cmp    %r8,%rdx
140524bf3:	0f 87 0a 02 00 00    	ja     0x140524e03
140524bf9:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140524bfd:	48 3b d1             	cmp    %rcx,%rdx
140524c00:	0f 82 fd 01 00 00    	jb     0x140524e03
140524c06:	44 8b bc 24 e0 00 00 	mov    0xe0(%rsp),%r15d
140524c0d:	00
140524c0e:	0f b7 03             	movzwl (%rbx),%eax
140524c11:	41 83 ff 01          	cmp    $0x1,%r15d
140524c15:	75 16                	jne    0x140524c2d
140524c17:	66 89 07             	mov    %ax,(%rdi)
140524c1a:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
140524c1e:	66 89 47 02          	mov    %ax,0x2(%rdi)
140524c22:	8b 43 04             	mov    0x4(%rbx),%eax
140524c25:	89 47 04             	mov    %eax,0x4(%rdi)
140524c28:	0f b7 01             	movzwl (%rcx),%eax
140524c2b:	eb 22                	jmp    0x140524c4f
140524c2d:	66 c1 c8 08          	ror    $0x8,%ax
140524c31:	66 89 07             	mov    %ax,(%rdi)
140524c34:	0f b7 43 02          	movzwl 0x2(%rbx),%eax
140524c38:	66 c1 c8 08          	ror    $0x8,%ax
140524c3c:	66 89 47 02          	mov    %ax,0x2(%rdi)
140524c40:	8b 43 04             	mov    0x4(%rbx),%eax
140524c43:	0f c8                	bswap  %eax
140524c45:	89 47 04             	mov    %eax,0x4(%rdi)
140524c48:	0f b7 01             	movzwl (%rcx),%eax
140524c4b:	66 c1 c8 08          	ror    $0x8,%ax
140524c4f:	66 89 47 08          	mov    %ax,0x8(%rdi)
140524c53:	44 0f b7 c0          	movzwl %ax,%r8d
140524c57:	48 8d 6b 0a          	lea    0xa(%rbx),%rbp
140524c5b:	49 03 e8             	add    %r8,%rbp
140524c5e:	48 3b ee             	cmp    %rsi,%rbp
140524c61:	0f 87 70 01 00 00    	ja     0x140524dd7
140524c67:	48 3b ea             	cmp    %rdx,%rbp
140524c6a:	0f 82 67 01 00 00    	jb     0x140524dd7
140524c70:	48 8d 4f 10          	lea    0x10(%rdi),%rcx
140524c74:	e8 e7 96 c8 ff       	call   0x1401ae360
140524c79:	48 8b c5             	mov    %rbp,%rax
140524c7c:	48 2b c3             	sub    %rbx,%rax
140524c7f:	48 99                	cqto
140524c81:	83 e2 03             	and    $0x3,%edx
140524c84:	48 03 c2             	add    %rdx,%rax
140524c87:	83 e0 03             	and    $0x3,%eax
140524c8a:	48 2b c2             	sub    %rdx,%rax
140524c8d:	ba 04 00 00 00       	mov    $0x4,%edx
140524c92:	2b d0                	sub    %eax,%edx
140524c94:	33 c9                	xor    %ecx,%ecx