14003699b:	41 83 e8 01          	sub    $0x1,%r8d
14003699f:	74 2d                	je     0x1400369ce
1400369a1:	41 83 f8 01          	cmp    $0x1,%r8d
1400369a5:	74 1b                	je     0x1400369c2
1400369a7:	80 e9 64             	sub    $0x64,%cl
1400369aa:	80 f9 31             	cmp    $0x31,%cl
1400369ad:	77 5a                	ja     0x140036a09
1400369af:	f7 da                	neg    %edx
1400369b1:	0f b6 c9             	movzbl %cl,%ecx
1400369b4:	1b c0                	sbb    %eax,%eax
1400369b6:	83 e0 ce             	and    $0xffffffce,%eax
1400369b9:	05 96 00 00 00       	add    $0x96,%eax
1400369be:	03 c1                	add    %ecx,%eax
1400369c0:	c3                   	ret
1400369c1:	cc                   	int3
1400369c2:	f7 da                	neg    %edx
1400369c4:	1b c0                	sbb    %eax,%eax
1400369c6:	83 e0 fe             	and    $0xfffffffe,%eax
1400369c9:	83 c0 0b             	add    $0xb,%eax
1400369cc:	c3                   	ret
1400369cd:	cc                   	int3
1400369ce:	f7 da                	neg    %edx
1400369d0:	1b c0                	sbb    %eax,%eax
1400369d2:	83 e0 fe             	and    $0xfffffffe,%eax
1400369d5:	83 c0 0a             	add    $0xa,%eax
1400369d8:	c3                   	ret
1400369d9:	cc                   	int3
1400369da:	f7 da                	neg    %edx
1400369dc:	1b c0                	sbb    %eax,%eax
1400369de:	83 e0 fc             	and    $0xfffffffc,%eax
1400369e1:	83 c0 07             	add    $0x7,%eax
1400369e4:	c3                   	ret
1400369e5:	cc                   	int3
1400369e6:	f7 da                	neg    %edx
1400369e8:	1b c0                	sbb    %eax,%eax
1400369ea:	83 e0 fc             	and    $0xfffffffc,%eax
1400369ed:	83 c0 06             	add    $0x6,%eax
1400369f0:	c3                   	ret
1400369f1:	cc                   	int3
1400369f2:	f7 da                	neg    %edx
1400369f4:	1b c0                	sbb    %eax,%eax
1400369f6:	83 e0 fc             	and    $0xfffffffc,%eax
1400369f9:	83 c0 05             	add    $0x5,%eax
1400369fc:	c3                   	ret
1400369fd:	cc                   	int3
1400369fe:	f7 da                	neg    %edx
140036a00:	1b c0                	sbb    %eax,%eax
140036a02:	f7 d0                	not    %eax
140036a04:	83 e0 04             	and    $0x4,%eax
140036a07:	c3                   	ret
140036a08:	cc                   	int3
140036a09:	b8 ff 00 00 00       	mov    $0xff,%eax
140036a0e:	c3                   	ret
140036a0f:	cc                   	int3
140036a10:	cc                   	int3
140036a11:	cc                   	int3
140036a12:	cc                   	int3
140036a13:	cc                   	int3
140036a14:	cc                   	int3
140036a15:	cc                   	int3
140036a16:	cc                   	int3
140036a17:	cc                   	int3
140036a18:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140036a1d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140036a22:	55                   	push   %rbp
140036a23:	48 8d 6c 24 a9       	lea    -0x57(%rsp),%rbp
140036a28:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
140036a2f:	48 8b 05 8a 87 06 00 	mov    0x6878a(%rip),%rax        # 0x14009f1c0
140036a36:	48 33 c4             	xor    %rsp,%rax
140036a39:	48 89 45 47          	mov    %rax,0x47(%rbp)
140036a3d:	83 65 87 00          	andl   $0x0,-0x79(%rbp)
140036a41:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
140036a45:	83 65 8b 00          	andl   $0x0,-0x75(%rbp)
140036a49:	33 d2                	xor    %edx,%edx
140036a4b:	83 65 8f 00          	andl   $0x0,-0x71(%rbp)
140036a4f:	41 b8 a8 00 00 00    	mov    $0xa8,%r8d
140036a55:	e8 e1 19 00 00       	call   0x14003843b
140036a5a:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140036a60:	48 8d 45 8b          	lea    -0x75(%rbp),%rax
140036a64:	48 89 45 af          	mov    %rax,-0x51(%rbp)
140036a68:	48 8d 35 21 1f 05 00 	lea    0x51f21(%rip),%rsi        # 0x140088990
140036a6f:	b9 04 00 00 00       	mov    $0x4,%ecx
140036a74:	48 89 75 a7          	mov    %rsi,-0x59(%rbp)
140036a78:	41 b8 20 01 00 00    	mov    $0x120,%r8d
140036a7e:	89 4d c7             	mov    %ecx,-0x39(%rbp)
140036a81:	ba 04 00 00 04       	mov    $0x4000004,%edx
140036a86:	44 89 45 9f          	mov    %r8d,-0x61(%rbp)
140036a8a:	48 8d 45 87          	lea    -0x79(%rbp),%rax
140036a8e:	89 55 b7             	mov    %edx,-0x49(%rbp)
140036a91:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
140036a95:	45 33 c9             	xor    %r9d,%r9d
140036a98:	48 8d 05 21 1f 05 00 	lea    0x51f21(%rip),%rax        # 0x1400889c0
140036a9f:	44 89 45 d7          	mov    %r8d,-0x29(%rbp)
140036aa3:	48 89 45 df          	mov    %rax,-0x21(%rbp)
140036aa7:	4c 8d 45 97          	lea    -0x69(%rbp),%r8
140036aab:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140036aaf:	89 55 ef             	mov    %edx,-0x11(%rbp)
140036ab2:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
140036ab6:	48 8d 15 3b 1f 05 00 	lea    0x51f3b(%rip),%rdx        # 0x1400889f8
140036abd:	48 8d 45 87          	lea    -0x79(%rbp),%rax
140036ac1:	89 4d ff             	mov    %ecx,-0x1(%rbp)
140036ac4:	41 8d 49 02          	lea    0x2(%r9),%ecx
140036ac8:	48 89 45 f7          	mov    %rax,-0x9(%rbp)
140036acc:	48 ff 15 bd eb 04 00 	rex.W call *0x4ebbd(%rip)        # 0x140085690
140036ad3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140036ad8:	83 7d 8b 00          	cmpl   $0x0,-0x75(%rbp)
140036adc:	74 76                	je     0x140036b54
140036ade:	83 7d 8f 00          	cmpl   $0x0,-0x71(%rbp)
140036ae2:	75 70                	jne    0x140036b54
140036ae4:	48 8d 0d 2d 20 05 00 	lea    0x5202d(%rip),%rcx        # 0x140088b18
140036aeb:	e8 2c 07 00 00       	call   0x14003721c
140036af0:	33 c9                	xor    %ecx,%ecx
140036af2:	48 ff 15 2f dc 04 00 	rex.W call *0x4dc2f(%rip)        # 0x140084728
140036af9:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140036afe:	8b d8                	mov    %eax,%ebx
140036b00:	85 c0                	test   %eax,%eax
140036b02:	74 35                	je     0x140036b39
140036b04:	48 8b 0d f5 84 06 00 	mov    0x684f5(%rip),%rcx        # 0x14009f000
140036b0b:	48 8d 05 ee 84 06 00 	lea    0x684ee(%rip),%rax        # 0x14009f000
140036b12:	48 3b c8             	cmp    %rax,%rcx
140036b15:	74 1e                	je     0x140036b35
140036b17:	f6 41 1c 01          	testb  $0x1,0x1c(%rcx)
140036b1b:	74 18                	je     0x140036b35
140036b1d:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140036b21:	4c 8d 05 f8 1e 05 00 	lea    0x51ef8(%rip),%r8        # 0x140088a20
140036b28:	ba 51 00 00 00       	mov    $0x51,%edx
140036b2d:	44 8b cb             	mov    %ebx,%r9d
140036b30:	e8 e7 0d 02 00       	call   0x14005791c
140036b35:	8b c3                	mov    %ebx,%eax
140036b37:	eb 1d                	jmp    0x140036b56
140036b39:	4c 8b c6             	mov    %rsi,%r8
140036b3c:	48 8d 15 b5 1e 05 00 	lea    0x51eb5(%rip),%rdx        # 0x1400889f8
140036b43:	b9 02 00 00 00       	mov    $0x2,%ecx
140036b48:	48 ff 15 39 eb 04 00 	rex.W call *0x4eb39(%rip)        # 0x140085688
140036b4f:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140036b54:	33 c0                	xor    %eax,%eax
140036b56:	48 8b 4d 47          	mov    0x47(%rbp),%rcx
140036b5a:	48 33 cc             	xor    %rsp,%rcx
140036b5d:	e8 4e d0 ff ff       	call   0x140033bb0
140036b62:	4c 8d 9c 24 00 01 00 	lea    0x100(%rsp),%r11
140036b69:	00
140036b6a:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140036b6e:	49 8b 73 18          	mov    0x18(%r11),%rsi
140036b72:	49 8b e3             	mov    %r11,%rsp
140036b75:	5d                   	pop    %rbp
140036b76:	c3                   	ret
140036b77:	cc                   	int3
140036b78:	cc                   	int3
140036b79:	cc                   	int3
140036b7a:	cc                   	int3
140036b7b:	cc                   	int3
140036b7c:	cc                   	int3
140036b7d:	cc                   	int3
140036b7e:	cc                   	int3
140036b7f:	cc                   	int3
140036b80:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140036b85:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140036b8a:	56                   	push   %rsi
140036b8b:	57                   	push   %rdi
140036b8c:	41 56                	push   %r14
140036b8e:	48 83 ec 30          	sub    $0x30,%rsp
140036b92:	45 33 f6             	xor    %r14d,%r14d
140036b95:	49 8b f1             	mov    %r9,%rsi
140036b98:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
140036b9d:	49 8b d8             	mov    %r8,%rbx
140036ba0:	48 8b ea             	mov    %rdx,%rbp
140036ba3:	48 8b f9             	mov    %rcx,%rdi
140036ba6:	49 3b c8             	cmp    %r8,%rcx
140036ba9:	75 0f                	jne    0x140036bba
140036bab:	41 8b fe             	mov    %r14d,%edi
140036bae:	41 c7 01 01 00 00 00 	movl   $0x1,(%r9)
140036bb5:	e9 67 01 00 00       	jmp    0x140036d21
140036bba:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140036bbf:	48 8b cb             	mov    %rbx,%rcx
140036bc2:	e8 69 00 fe ff       	call   0x140016c30
140036bc7:	48 8b 03             	mov    (%rbx),%rax
140036bca:	48 8b cb             	mov    %rbx,%rcx
140036bcd:	48 8b 80 a0 00 00 00 	mov    0xa0(%rax),%rax
140036bd4:	ff 15 ee ea 04 00    	call   *0x4eaee(%rip)        # 0x1400856c8
140036bda:	48 85 c0             	test   %rax,%rax
140036bdd:	74 47                	je     0x140036c26
140036bdf:	48 8b 03             	mov    (%rbx),%rax
140036be2:	48 8b cb             	mov    %rbx,%rcx
140036be5:	48 8b 80 a0 00 00 00 	mov    0xa0(%rax),%rax
140036bec:	ff 15 d6 ea 04 00    	call   *0x4ead6(%rip)        # 0x1400856c8
140036bf2:	f6 40 68 02          	testb  $0x2,0x68(%rax)
140036bf6:	75 19                	jne    0x140036c11
140036bf8:	48 8b 03             	mov    (%rbx),%rax
140036bfb:	48 8b cb             	mov    %rbx,%rcx
140036bfe:	48 8b 80 a0 00 00 00 	mov    0xa0(%rax),%rax
140036c05:	ff 15 bd ea 04 00    	call   *0x4eabd(%rip)        # 0x1400856c8
140036c0b:	4c 39 70 38          	cmp    %r14,0x38(%rax)
140036c0f:	74 15                	je     0x140036c26
140036c11:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140036c16:	44 89 36             	mov    %r14d,(%rsi)
140036c19:	41 8b fe             	mov    %r14d,%edi
140036c1c:	e8 6f b7 fc ff       	call   0x140002390
140036c21:	e9 fb 00 00 00       	jmp    0x140036d21
140036c26:	48 8b 07             	mov    (%rdi),%rax
140036c29:	48 8b cf             	mov    %rdi,%rcx
140036c2c:	48 8b 80 c8 00 00 00 	mov    0xc8(%rax),%rax
140036c33:	ff 15 8f ea 04 00    	call   *0x4ea8f(%rip)        # 0x1400856c8
140036c39:	66 85 c0             	test   %ax,%ax
140036c3c:	74 46                	je     0x140036c84
140036c3e:	48 8b 03             	mov    (%rbx),%rax
140036c41:	48 8b cb             	mov    %rbx,%rcx
140036c44:	48 8b 80 c8 00 00 00 	mov    0xc8(%rax),%rax
140036c4b:	ff 15 77 ea 04 00    	call   *0x4ea77(%rip)        # 0x1400856c8
140036c51:	66 85 c0             	test   %ax,%ax
140036c54:	74 2e                	je     0x140036c84
140036c56:	48 8b 03             	mov    (%rbx),%rax
140036c59:	48 8b cb             	mov    %rbx,%rcx
140036c5c:	48 8b 80 c8 00 00 00 	mov    0xc8(%rax),%rax
140036c63:	ff 15 5f ea 04 00    	call   *0x4ea5f(%rip)        # 0x1400856c8
140036c69:	0f b7 d8             	movzwl %ax,%ebx
140036c6c:	48 8b cf             	mov    %rdi,%rcx
140036c6f:	48 8b 07             	mov    (%rdi),%rax
140036c72:	48 8b 80 c8 00 00 00 	mov    0xc8(%rax),%rax
140036c79:	ff 15 49 ea 04 00    	call   *0x4ea49(%rip)        # 0x1400856c8
140036c7f:	66 3b c3             	cmp    %bx,%ax
140036c82:	eb 61                	jmp    0x140036ce5
140036c84:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140036c89:	48 8b cb             	mov    %rbx,%rcx
140036c8c:	e8 f7 b5 fd ff       	call   0x140012288
140036c91:	8b f8                	mov    %eax,%edi
140036c93:	85 c0                	test   %eax,%eax
140036c95:	74 38                	je     0x140036ccf
140036c97:	48 8b 0d 62 83 06 00 	mov    0x68362(%rip),%rcx        # 0x14009f000
140036c9e:	48 8d 05 5b 83 06 00 	lea    0x6835b(%rip),%rax        # 0x14009f000
140036ca5:	48 3b c8             	cmp    %rax,%rcx
140036ca8:	74 46                	je     0x140036cf0
140036caa:	f6 41 1c 02          	testb  $0x2,0x1c(%rcx)
140036cae:	74 40                	je     0x140036cf0
140036cb0:	4c 8b 4b 38          	mov    0x38(%rbx),%r9
140036cb4:	4c 8d 05 1d 1e 05 00 	lea    0x51e1d(%rip),%r8        # 0x140088ad8
140036cbb:	48 8b 49 10          	mov    0x10(%rcx),%rcx
140036cbf:	ba 86 00 00 00       	mov    $0x86,%edx
140036cc4:	89 7c 24 20          	mov    %edi,0x20(%rsp)
140036cc8:	e8 ab 0e 02 00       	call   0x140057b78
140036ccd:	eb 21                	jmp    0x140036cf0
140036ccf:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140036cd4:	48 8b d5             	mov    %rbp,%rdx
140036cd7:	48 ff 15 ca dc 04 00 	rex.W call *0x4dcca(%rip)        # 0x1400849a8
140036cde:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140036ce3:	85 c0                	test   %eax,%eax
140036ce5:	41 8b ce             	mov    %r14d,%ecx
140036ce8:	41 8b fe             	mov    %r14d,%edi
140036ceb:	0f 94 c1             	sete   %cl
140036cee:	89 0e                	mov    %ecx,(%rsi)
140036cf0:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140036cf5:	e8 96 b6 fc ff       	call   0x140002390
140036cfa:	4c 39 74 24 50       	cmp    %r14,0x50(%rsp)
140036cff:	74 20                	je     0x140036d21
140036d01:	65 48 8b 0c 25 60 00 	mov    %gs:0x60,%rcx
140036d08:	00 00
140036d0a:	33 d2                	xor    %edx,%edx
140036d0c:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
140036d11:	48 8b 49 30          	mov    0x30(%rcx),%rcx
140036d15:	48 ff 15 9c e6 04 00 	rex.W call *0x4e69c(%rip)        # 0x1400853b8
140036d1c:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140036d21:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140036d26:	8b c7                	mov    %edi,%eax
140036d28:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140036d2d:	48 83 c4 30          	add    $0x30,%rsp
140036d31:	41 5e                	pop    %r14
140036d33:	5f                   	pop    %rdi
140036d34:	5e                   	pop    %rsi
140036d35:	c3                   	ret
140036d36:	cc                   	int3
140036d37:	cc                   	int3
140036d38:	cc                   	int3
140036d39:	cc                   	int3
140036d3a:	cc                   	int3
140036d3b:	cc                   	int3
140036d3c:	cc                   	int3
140036d3d:	cc                   	int3
140036d3e:	cc                   	int3
140036d3f:	cc                   	int3
140036d40:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140036d45:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140036d4a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140036d4f:	41 56                	push   %r14
140036d51:	48 83 ec 20          	sub    $0x20,%rsp
140036d55:	48 8b 01             	mov    (%rcx),%rax
140036d58:	4d 8b f0             	mov    %r8,%r14
140036d5b:	8b fa                	mov    %edx,%edi
140036d5d:	48 8b f1             	mov    %rcx,%rsi
140036d60:	48 8b 80 e0 00 00 00 	mov    0xe0(%rax),%rax
140036d67:	ff 15 5b e9 04 00    	call   *0x4e95b(%rip)        # 0x1400856c8
140036d6d:	bb 02 00 00 00       	mov    $0x2,%ebx
140036d72:	83 f8 01             	cmp    $0x1,%eax
140036d75:	74 0c                	je     0x140036d83
140036d77:	f7 df                	neg    %edi
140036d79:	1b ff                	sbb    %edi,%edi
140036d7b:	f7 df                	neg    %edi
140036d7d:	ff c7                	inc    %edi
140036d7f:	3b c3                	cmp    %ebx,%eax
140036d81:	75 02                	jne    0x140036d85
140036d83:	8b fb                	mov    %ebx,%edi
140036d85:	48 8b ce             	mov    %rsi,%rcx
140036d88:	e8 37 02 00 00       	call   0x140036fc4
140036d8d:	a8 01                	test   $0x1,%al
140036d8f:	75 10                	jne    0x140036da1
140036d91:	84 c3                	test   %al,%bl
140036d93:	75 0c                	jne    0x140036da1
140036d95:	a8 04                	test   $0x4,%al
140036d97:	8b df                	mov    %edi,%ebx
140036d99:	b9 00 00 00 00       	mov    $0x0,%ecx
140036d9e:	0f 45 d9             	cmovne %ecx,%ebx
140036da1:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140036da6:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140036dab:	c1 e8 03             	shr    $0x3,%eax
140036dae:	83 e0 01             	and    $0x1,%eax
140036db1:	41 89 06             	mov    %eax,(%r14)
140036db4:	8b c3                	mov    %ebx,%eax
140036db6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140036dbb:	48 83 c4 20          	add    $0x20,%rsp
140036dbf:	41 5e                	pop    %r14
140036dc1:	c3                   	ret
140036dc2:	cc                   	int3
140036dc3:	cc                   	int3
140036dc4:	cc                   	int3
140036dc5:	cc                   	int3
140036dc6:	cc                   	int3
140036dc7:	cc                   	int3
140036dc8:	cc                   	int3
140036dc9:	cc                   	int3
140036dca:	cc                   	int3
140036dcb:	cc                   	int3
140036dcc:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140036dd1:	55                   	push   %rbp
140036dd2:	56                   	push   %rsi
140036dd3:	57                   	push   %rdi
140036dd4:	41 54                	push   %r12
140036dd6:	41 55                	push   %r13
140036dd8:	41 56                	push   %r14
140036dda:	41 57                	push   %r15
140036ddc:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
140036de1:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
140036de8:	48 8b 05 d1 83 06 00 	mov    0x683d1(%rip),%rax        # 0x14009f1c0
140036def:	48 33 c4             	xor    %rsp,%rax
140036df2:	48 89 45 17          	mov    %rax,0x17(%rbp)
140036df6:	33 db                	xor    %ebx,%ebx
140036df8:	4d 8b f0             	mov    %r8,%r14
140036dfb:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140036e00:	48 8b f2             	mov    %rdx,%rsi
140036e03:	4c 8b e1             	mov    %rcx,%r12
140036e06:	44 8b fb             	mov    %ebx,%r15d
140036e09:	44 8b eb             	mov    %ebx,%r13d
140036e0c:	8b fb                	mov    %ebx,%edi