140195a83:	49 23 cc             	and    %r12,%rcx
140195a86:	48 81 c1 ff ff 7f 00 	add    $0x7fffff,%rcx
140195a8d:	48 3b f9             	cmp    %rcx,%rdi
140195a90:	0f 86 39 01 00 00    	jbe    0x140195bcf
140195a96:	41 8b f3             	mov    %r11d,%esi
140195a99:	41 2b f1             	sub    %r9d,%esi
140195a9c:	41 2b f5             	sub    %r13d,%esi
140195a9f:	41 2b f7             	sub    %r15d,%esi
140195aa2:	e9 28 01 00 00       	jmp    0x140195bcf
140195aa7:	49 8b 06             	mov    (%r14),%rax
140195aaa:	41 38 5e 08          	cmp    %bl,0x8(%r14)
140195aae:	74 0f                	je     0x140195abf
140195ab0:	40 84 ed             	test   %bpl,%bpl
140195ab3:	0f 95 c3             	setne  %bl
140195ab6:	48 c1 e3 3f          	shl    $0x3f,%rbx
140195aba:	48 89 18             	mov    %rbx,(%rax)
140195abd:	eb 0b                	jmp    0x140195aca
140195abf:	40 84 ed             	test   %bpl,%bpl
140195ac2:	0f 95 c3             	setne  %bl
140195ac5:	c1 e3 1f             	shl    $0x1f,%ebx
140195ac8:	89 18                	mov    %ebx,(%rax)
140195aca:	b8 02 00 00 00       	mov    $0x2,%eax
140195acf:	e9 67 01 00 00       	jmp    0x140195c3b
140195ad4:	45 85 ed             	test   %r13d,%r13d
140195ad7:	0f 89 ea 00 00 00    	jns    0x140195bc7
140195add:	41 f7 dd             	neg    %r13d
140195ae0:	41 83 fd 40          	cmp    $0x40,%r13d
140195ae4:	72 08                	jb     0x140195aee
140195ae6:	48 8b fb             	mov    %rbx,%rdi
140195ae9:	e9 98 00 00 00       	jmp    0x140195b86
140195aee:	41 8b c5             	mov    %r13d,%eax
140195af1:	41 8d 4d ff          	lea    -0x1(%r13),%ecx
140195af5:	48 0f a3 c7          	bt     %rax,%rdi
140195af9:	41 bf 01 00 00 00    	mov    $0x1,%r15d
140195aff:	41 8b c7             	mov    %r15d,%eax
140195b02:	0f 92 84 24 90 00 00 	setb   0x90(%rsp)
140195b09:	00
140195b0a:	48 d3 e0             	shl    %cl,%rax
140195b0d:	48 85 c7             	test   %rax,%rdi
140195b10:	0f 95 c1             	setne  %cl
140195b13:	88 4c 24 78          	mov    %cl,0x78(%rsp)
140195b17:	45 84 d2             	test   %r10b,%r10b
140195b1a:	74 0b                	je     0x140195b27
140195b1c:	48 ff c8             	dec    %rax
140195b1f:	44 8a e3             	mov    %bl,%r12b
140195b22:	48 85 c7             	test   %rax,%rdi
140195b25:	74 03                	je     0x140195b2a
140195b27:	45 8a e7             	mov    %r15b,%r12b
140195b2a:	84 c9                	test   %cl,%cl
140195b2c:	75 05                	jne    0x140195b33
140195b2e:	45 84 e4             	test   %r12b,%r12b
140195b31:	74 39                	je     0x140195b6c
140195b33:	e8 a8 67 01 00       	call   0x1401ac2e0
140195b38:	85 c0                	test   %eax,%eax
140195b3a:	74 1c                	je     0x140195b58
140195b3c:	3d 00 01 00 00       	cmp    $0x100,%eax
140195b41:	74 0c                	je     0x140195b4f
140195b43:	3d 00 02 00 00       	cmp    $0x200,%eax
140195b48:	75 22                	jne    0x140195b6c
140195b4a:	44 8a fd             	mov    %bpl,%r15b
140195b4d:	eb 20                	jmp    0x140195b6f
140195b4f:	40 84 ed             	test   %bpl,%bpl
140195b52:	41 0f 94 c7          	sete   %r15b
140195b56:	eb 17                	jmp    0x140195b6f
140195b58:	38 5c 24 78          	cmp    %bl,0x78(%rsp)
140195b5c:	74 0e                	je     0x140195b6c
140195b5e:	45 84 e4             	test   %r12b,%r12b
140195b61:	75 0c                	jne    0x140195b6f
140195b63:	38 9c 24 90 00 00 00 	cmp    %bl,0x90(%rsp)
140195b6a:	75 03                	jne    0x140195b6f
140195b6c:	44 8a fb             	mov    %bl,%r15b
140195b6f:	41 8b cd             	mov    %r13d,%ecx
140195b72:	41 0f b6 c7          	movzbl %r15b,%eax
140195b76:	48 d3 ef             	shr    %cl,%rdi
140195b79:	49 bc 00 00 80 ff ff 	movabs $0xfffffff800000,%r12
140195b80:	ff 0f 00
140195b83:	48 03 f8             	add    %rax,%rdi
140195b86:	41 8a 56 08          	mov    0x8(%r14),%dl
140195b8a:	8a c2                	mov    %dl,%al
140195b8c:	f6 d8                	neg    %al
140195b8e:	48 b8 00 00 00 ff ff 	movabs $0x1fffffff000000,%rax
140195b95:	ff 1f 00
140195b98:	48 1b c9             	sbb    %rcx,%rcx
140195b9b:	48 23 c8             	and    %rax,%rcx
140195b9e:	48 81 c1 ff ff ff 00 	add    $0xffffff,%rcx
140195ba5:	48 3b f9             	cmp    %rcx,%rdi
140195ba8:	76 25                	jbe    0x140195bcf
140195baa:	48 d1 ef             	shr    $1,%rdi
140195bad:	8a c2                	mov    %dl,%al
140195baf:	ff c6                	inc    %esi
140195bb1:	f6 d8                	neg    %al
140195bb3:	1b c9                	sbb    %ecx,%ecx
140195bb5:	81 e1 80 03 00 00    	and    $0x380,%ecx
140195bbb:	83 c1 7f             	add    $0x7f,%ecx
140195bbe:	3b f1                	cmp    %ecx,%esi
140195bc0:	7e 0d                	jle    0x140195bcf
140195bc2:	e9 6a fd ff ff       	jmp    0x140195931
140195bc7:	7e 06                	jle    0x140195bcf
140195bc9:	41 8b cd             	mov    %r13d,%ecx
140195bcc:	48 d3 e7             	shl    %cl,%rdi
140195bcf:	8a c2                	mov    %dl,%al
140195bd1:	f6 d8                	neg    %al
140195bd3:	48 1b c9             	sbb    %rcx,%rcx
140195bd6:	49 23 cc             	and    %r12,%rcx
140195bd9:	48 81 c1 ff ff 7f 00 	add    $0x7fffff,%rcx
140195be0:	48 23 f9             	and    %rcx,%rdi
140195be3:	84 d2                	test   %dl,%dl
140195be5:	49 8b 16             	mov    (%r14),%rdx
140195be8:	74 30                	je     0x140195c1a
140195bea:	8d 8e ff 03 00 00    	lea    0x3ff(%rsi),%ecx
140195bf0:	40 0f b6 c5          	movzbl %bpl,%eax
140195bf4:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
140195bfa:	48 c1 e0 0b          	shl    $0xb,%rax
140195bfe:	48 0b c8             	or     %rax,%rcx
140195c01:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
140195c08:	ff 0f 00
140195c0b:	48 23 f8             	and    %rax,%rdi
140195c0e:	48 c1 e1 34          	shl    $0x34,%rcx
140195c12:	48 0b cf             	or     %rdi,%rcx
140195c15:	48 89 0a             	mov    %rcx,(%rdx)
140195c18:	eb 1f                	jmp    0x140195c39
140195c1a:	8d 4e 7f             	lea    0x7f(%rsi),%ecx
140195c1d:	40 0f b6 c5          	movzbl %bpl,%eax
140195c21:	c1 e1 17             	shl    $0x17,%ecx
140195c24:	81 e7 ff ff 7f 00    	and    $0x7fffff,%edi
140195c2a:	81 e1 00 00 80 7f    	and    $0x7f800000,%ecx
140195c30:	c1 e0 1f             	shl    $0x1f,%eax
140195c33:	0b c8                	or     %eax,%ecx
140195c35:	0b cf                	or     %edi,%ecx
140195c37:	89 0a                	mov    %ecx,(%rdx)
140195c39:	33 c0                	xor    %eax,%eax
140195c3b:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
140195c42:	00
140195c43:	48 83 c4 30          	add    $0x30,%rsp
140195c47:	41 5f                	pop    %r15
140195c49:	41 5e                	pop    %r14
140195c4b:	41 5d                	pop    %r13
140195c4d:	41 5c                	pop    %r12
140195c4f:	5f                   	pop    %rdi
140195c50:	5e                   	pop    %rsi
140195c51:	5d                   	pop    %rbp
140195c52:	c3                   	ret
140195c53:	cc                   	int3
140195c54:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140195c59:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140195c5e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140195c63:	57                   	push   %rdi
140195c64:	41 54                	push   %r12
140195c66:	41 55                	push   %r13
140195c68:	41 56                	push   %r14
140195c6a:	41 57                	push   %r15
140195c6c:	48 83 ec 30          	sub    $0x30,%rsp
140195c70:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
140195c77:	00
140195c78:	44 8b da             	mov    %edx,%r11d
140195c7b:	41 bc 01 00 00 00    	mov    $0x1,%r12d
140195c81:	45 8a f1             	mov    %r9b,%r14b
140195c84:	41 8a e8             	mov    %r8b,%bpl
140195c87:	4c 8b d1             	mov    %rcx,%r10
140195c8a:	8a 46 08             	mov    0x8(%rsi),%al
140195c8d:	f6 d8                	neg    %al
140195c8f:	41 8d 5c 24 3f       	lea    0x3f(%r12),%ebx
140195c94:	1b d2                	sbb    %edx,%edx
140195c96:	83 e2 1d             	and    $0x1d,%edx
140195c99:	83 c2 18             	add    $0x18,%edx
140195c9c:	41 2b d4             	sub    %r12d,%edx
140195c9f:	44 3b db             	cmp    %ebx,%r11d
140195ca2:	77 32                	ja     0x140195cd6
140195ca4:	83 39 00             	cmpl   $0x0,(%rcx)
140195ca7:	76 06                	jbe    0x140195caf
140195ca9:	44 8b 41 04          	mov    0x4(%rcx),%r8d
140195cad:	eb 03                	jmp    0x140195cb2
140195caf:	45 33 c0             	xor    %r8d,%r8d
140195cb2:	44 39 21             	cmp    %r12d,(%rcx)
140195cb5:	76 05                	jbe    0x140195cbc
140195cb7:	8b 41 08             	mov    0x8(%rcx),%eax
140195cba:	eb 02                	jmp    0x140195cbe
140195cbc:	33 c0                	xor    %eax,%eax
140195cbe:	45 84 f6             	test   %r14b,%r14b
140195cc1:	8b c8                	mov    %eax,%ecx
140195cc3:	41 8b c0             	mov    %r8d,%eax
140195cc6:	41 0f 94 c1          	sete   %r9b
140195cca:	48 c1 e1 20          	shl    $0x20,%rcx
140195cce:	48 03 c8             	add    %rax,%rcx
140195cd1:	e9 dc 00 00 00       	jmp    0x140195db2
140195cd6:	45 8b cb             	mov    %r11d,%r9d
140195cd9:	41 c1 eb 05          	shr    $0x5,%r11d
140195cdd:	45 8d 7b ff          	lea    -0x1(%r11),%r15d
140195ce1:	45 8d 43 fe          	lea    -0x2(%r11),%r8d
140195ce5:	41 83 e1 1f          	and    $0x1f,%r9d
140195ce9:	75 46                	jne    0x140195d31
140195ceb:	42 8b 7c b9 04       	mov    0x4(%rcx,%r15,4),%edi
140195cf0:	41 8b d8             	mov    %r8d,%ebx
140195cf3:	42 8b 4c 81 04       	mov    0x4(%rcx,%r8,4),%ecx
140195cf8:	c1 e3 05             	shl    $0x5,%ebx
140195cfb:	48 c1 e7 20          	shl    $0x20,%rdi
140195cff:	03 da                	add    %edx,%ebx
140195d01:	48 03 f9             	add    %rcx,%rdi
140195d04:	45 84 f6             	test   %r14b,%r14b
140195d07:	41 0f 94 c1          	sete   %r9b
140195d0b:	45 33 db             	xor    %r11d,%r11d
140195d0e:	45 85 c0             	test   %r8d,%r8d
140195d11:	74 14                	je     0x140195d27
140195d13:	43 83 7c 9a 04 00    	cmpl   $0x0,0x4(%r10,%r11,4)
140195d19:	0f 94 c0             	sete   %al
140195d1c:	45 03 dc             	add    %r12d,%r11d
140195d1f:	44 22 c8             	and    %al,%r9b
140195d22:	45 3b d8             	cmp    %r8d,%r11d
140195d25:	75 ec                	jne    0x140195d13
140195d27:	8b d3                	mov    %ebx,%edx
140195d29:	48 8b cf             	mov    %rdi,%rcx
140195d2c:	e9 81 00 00 00       	jmp    0x140195db2
140195d31:	47 8b 7c ba 04       	mov    0x4(%r10,%r15,4),%r15d
140195d36:	41 8b fc             	mov    %r12d,%edi
140195d39:	47 8b 6c 82 04       	mov    0x4(%r10,%r8,4),%r13d
140195d3e:	41 2b d9             	sub    %r9d,%ebx
140195d41:	41 8b c9             	mov    %r9d,%ecx
140195d44:	d3 e7                	shl    %cl,%edi
140195d46:	41 2b fc             	sub    %r12d,%edi
140195d49:	45 8b e0             	mov    %r8d,%r12d
140195d4c:	41 c1 e4 05          	shl    $0x5,%r12d
140195d50:	8d 4b e0             	lea    -0x20(%rbx),%ecx
140195d53:	49 d3 e7             	shl    %cl,%r15
140195d56:	45 03 e1             	add    %r9d,%r12d
140195d59:	44 03 e2             	add    %edx,%r12d
140195d5c:	8b c7                	mov    %edi,%eax
140195d5e:	43 8b 54 9a 04       	mov    0x4(%r10,%r11,4),%edx
140195d63:	8b cb                	mov    %ebx,%ecx
140195d65:	48 23 d0             	and    %rax,%rdx
140195d68:	48 d3 e2             	shl    %cl,%rdx
140195d6b:	41 8b c9             	mov    %r9d,%ecx
140195d6e:	4c 03 fa             	add    %rdx,%r15
140195d71:	8b d7                	mov    %edi,%edx
140195d73:	f7 d2                	not    %edx
140195d75:	49 23 d5             	and    %r13,%rdx
140195d78:	48 d3 ea             	shr    %cl,%rdx
140195d7b:	4c 03 fa             	add    %rdx,%r15
140195d7e:	45 84 f6             	test   %r14b,%r14b
140195d81:	75 0a                	jne    0x140195d8d
140195d83:	44 85 ef             	test   %r13d,%edi
140195d86:	75 05                	jne    0x140195d8d
140195d88:	41 b1 01             	mov    $0x1,%r9b
140195d8b:	eb 03                	jmp    0x140195d90
140195d8d:	45 32 c9             	xor    %r9b,%r9b
140195d90:	45 33 db             	xor    %r11d,%r11d
140195d93:	45 85 c0             	test   %r8d,%r8d
140195d96:	74 14                	je     0x140195dac
140195d98:	43 83 7c 9a 04 00    	cmpl   $0x0,0x4(%r10,%r11,4)
140195d9e:	0f 94 c0             	sete   %al
140195da1:	41 ff c3             	inc    %r11d
140195da4:	44 22 c8             	and    %al,%r9b
140195da7:	45 3b d8             	cmp    %r8d,%r11d
140195daa:	75 ec                	jne    0x140195d98
140195dac:	41 8b d4             	mov    %r12d,%edx
140195daf:	49 8b cf             	mov    %r15,%rcx
140195db2:	44 8a c5             	mov    %bpl,%r8b
140195db5:	48 89 b4 24 80 00 00 	mov    %rsi,0x80(%rsp)
140195dbc:	00
140195dbd:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140195dc2:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140195dc7:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140195dcc:	48 83 c4 30          	add    $0x30,%rsp
140195dd0:	41 5f                	pop    %r15
140195dd2:	41 5e                	pop    %r14
140195dd4:	41 5d                	pop    %r13
140195dd6:	41 5c                	pop    %r12
140195dd8:	5f                   	pop    %rdi
140195dd9:	e9 c2 fa ff ff       	jmp    0x1401958a0
140195dde:	cc                   	int3
140195ddf:	cc                   	int3
140195de0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140195de5:	55                   	push   %rbp
140195de6:	56                   	push   %rsi
140195de7:	57                   	push   %rdi
140195de8:	41 54                	push   %r12
140195dea:	41 55                	push   %r13
140195dec:	41 56                	push   %r14
140195dee:	41 57                	push   %r15
140195df0:	48 8d ac 24 90 f5 ff 	lea    -0xa70(%rsp),%rbp
140195df7:	ff
140195df8:	48 81 ec 70 0b 00 00 	sub    $0xb70,%rsp
140195dff:	48 8b 05 6a 54 11 00 	mov    0x11546a(%rip),%rax        # 0x1402ab270
140195e06:	48 33 c4             	xor    %rsp,%rax
140195e09:	48 89 85 60 0a 00 00 	mov    %rax,0xa60(%rbp)
140195e10:	44 8b 11             	mov    (%rcx),%r10d
140195e13:	4c 8d 1d e6 a1 e6 ff 	lea    -0x195e1a(%rip),%r11        # 0x140000000
140195e1a:	8a 42 08             	mov    0x8(%rdx),%al
140195e1d:	f6 d8                	neg    %al
140195e1f:	48 89 4c 24 58       	mov    %rcx,0x58(%rsp)
140195e24:	48 89 54 24 70       	mov    %rdx,0x70(%rsp)
140195e29:	48 8b d1             	mov    %rcx,%rdx
140195e2c:	8b 49 04             	mov    0x4(%rcx),%ecx
140195e2f:	1b c0                	sbb    %eax,%eax
140195e31:	83 e0 1d             	and    $0x1d,%eax
140195e34:	45 33 f6             	xor    %r14d,%r14d
140195e37:	83 c0 19             	add    $0x19,%eax
140195e3a:	44 89 b5 50 01 00 00 	mov    %r14d,0x150(%rbp)
140195e41:	45 85 d2             	test   %r10d,%r10d
140195e44:	89 44 24 54          	mov    %eax,0x54(%rsp)
140195e48:	8b c1                	mov    %ecx,%eax
140195e4a:	4c 8d 4a 08          	lea    0x8(%rdx),%r9
140195e4e:	45 0f 48 d6          	cmovs  %r14d,%r10d
140195e52:	41 8d 5e 26          	lea    0x26(%r14),%ebx
140195e56:	44 3b d1             	cmp    %ecx,%r10d
140195e59:	45 8b fe             	mov    %r14d,%r15d
140195e5c:	45 8b e6             	mov    %r14d,%r12d
140195e5f:	45 8b ee             	mov    %r14d,%r13d
140195e62:	41 0f 42 c2          	cmovb  %r10d,%eax
140195e66:	44 2b d0             	sub    %eax,%r10d
140195e69:	4c 03 c8             	add    %rax,%r9
140195e6c:	48 8d 42 08          	lea    0x8(%rdx),%rax
140195e70:	44 89 54 24 50       	mov    %r10d,0x50(%rsp)
140195e75:	48 03 c1             	add    %rcx,%rax
140195e78:	4c 89 4c 24 78       	mov    %r9,0x78(%rsp)
140195e7d:	8b c8                	mov    %eax,%ecx
140195e7f:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140195e84:	41 2b c9             	sub    %r9d,%ecx
140195e87:	4c 8d 52 08          	lea    0x8(%rdx),%r10
140195e8b:	89 4c 24 30          	mov    %ecx,0x30(%rsp)
140195e8f:	4d 3b d1             	cmp    %r9,%r10
140195e92:	0f 84 3a 06 00 00    	je     0x1401964d2
140195e98:	41 83 fd 09          	cmp    $0x9,%r13d
140195e9c:	0f 85 f2 00 00 00    	jne    0x140195f94
140195ea2:	45 85 ff             	test   %r15d,%r15d
140195ea5:	74 7a                	je     0x140195f21
140195ea7:	45 8b c6             	mov    %r14d,%r8d
140195eaa:	45 8b ce             	mov    %r14d,%r9d
140195ead:	41 8b d1             	mov    %r9d,%edx
140195eb0:	41 ff c1             	inc    %r9d
140195eb3:	8b 84 95 54 01 00 00 	mov    0x154(%rbp,%rdx,4),%eax
140195eba:	48 69 c8 00 ca 9a 3b 	imul   $0x3b9aca00,%rax,%rcx
140195ec1:	41 8b c0             	mov    %r8d,%eax
140195ec4:	48 03 c8             	add    %rax,%rcx
140195ec7:	4c 8b c1             	mov    %rcx,%r8
140195eca:	89 8c 95 54 01 00 00 	mov    %ecx,0x154(%rbp,%rdx,4)
140195ed1:	49 c1 e8 20          	shr    $0x20,%r8
140195ed5:	45 3b cf             	cmp    %r15d,%r9d
140195ed8:	75 d3                	jne    0x140195ead
140195eda:	4c 8b 4c 24 78       	mov    0x78(%rsp),%r9
140195edf:	45 85 c0             	test   %r8d,%r8d
140195ee2:	74 36                	je     0x140195f1a
140195ee4:	83 bd 50 01 00 00 73 	cmpl   $0x73,0x150(%rbp)
140195eeb:	73 21                	jae    0x140195f0e
140195eed:	8b 85 50 01 00 00    	mov    0x150(%rbp),%eax
140195ef3:	44 89 84 85 54 01 00 	mov    %r8d,0x154(%rbp,%rax,4)
140195efa:	00
140195efb:	44 8b bd 50 01 00 00 	mov    0x150(%rbp),%r15d
140195f02:	41 ff c7             	inc    %r15d
140195f05:	44 89 bd 50 01 00 00 	mov    %r15d,0x150(%rbp)
140195f0c:	eb 13                	jmp    0x140195f21