140993834:	0f 1f 40 00          	nopl   0x0(%rax)
140993838:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14099383f:	00
140993840:	8b 0b                	mov    (%rbx),%ecx
140993842:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140993847:	41 0f b6 04 3f       	movzbl (%r15,%rdi,1),%eax
14099384c:	f7 d1                	not    %ecx
14099384e:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140993854:	88 44 24 58          	mov    %al,0x58(%rsp)
140993858:	e8 33 10 46 00       	call   0x140df4890
14099385d:	f7 d0                	not    %eax
14099385f:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140993864:	89 03                	mov    %eax,(%rbx)
140993866:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14099386c:	0f b6 c0             	movzbl %al,%eax
14099386f:	03 43 04             	add    0x4(%rbx),%eax
140993872:	69 c8 05 84 08 08    	imul   $0x8088405,%eax,%ecx
140993878:	ff c1                	inc    %ecx
14099387a:	89 4b 04             	mov    %ecx,0x4(%rbx)
14099387d:	c1 e9 18             	shr    $0x18,%ecx
140993880:	88 4c 24 58          	mov    %cl,0x58(%rsp)
140993884:	8b 4b 08             	mov    0x8(%rbx),%ecx
140993887:	f7 d1                	not    %ecx
140993889:	e8 02 10 46 00       	call   0x140df4890
14099388e:	48 ff c7             	inc    %rdi
140993891:	f7 d0                	not    %eax
140993893:	89 43 08             	mov    %eax,0x8(%rbx)
140993896:	48 3b fd             	cmp    %rbp,%rdi
140993899:	72 a5                	jb     0x140993840
14099389b:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1409938a0:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1409938a5:	48 83 c4 20          	add    $0x20,%rsp
1409938a9:	41 5f                	pop    %r15
1409938ab:	41 5e                	pop    %r14
1409938ad:	5d                   	pop    %rbp
1409938ae:	c3                   	ret
1409938af:	cc                   	int3
1409938b0:	c7 01 78 56 34 12    	movl   $0x12345678,(%rcx)
1409938b6:	c7 41 04 89 67 45 23 	movl   $0x23456789,0x4(%rcx)
1409938bd:	c7 41 08 90 78 56 34 	movl   $0x34567890,0x8(%rcx)
1409938c4:	c3                   	ret
1409938c5:	cc                   	int3
1409938c6:	cc                   	int3
1409938c7:	cc                   	int3
1409938c8:	cc                   	int3
1409938c9:	cc                   	int3
1409938ca:	cc                   	int3
1409938cb:	cc                   	int3
1409938cc:	cc                   	int3
1409938cd:	cc                   	int3
1409938ce:	cc                   	int3
1409938cf:	cc                   	int3
1409938d0:	48 83 ec 58          	sub    $0x58,%rsp
1409938d4:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1409938d8:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
1409938dd:	45 33 c9             	xor    %r9d,%r9d
1409938e0:	44 89 4c 24 48       	mov    %r9d,0x48(%rsp)
1409938e5:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1409938ea:	c7 44 24 38 10 00 00 	movl   $0x10,0x38(%rsp)
1409938f1:	00
1409938f2:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
1409938f7:	45 8d 41 10          	lea    0x10(%r9),%r8d
1409938fb:	44 89 4c 24 28       	mov    %r9d,0x28(%rsp)
140993900:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140993905:	e8 35 c3 00 00       	call   0x14099fc3f
14099390a:	c1 e8 1f             	shr    $0x1f,%eax
14099390d:	34 01                	xor    $0x1,%al
14099390f:	48 83 c4 58          	add    $0x58,%rsp
140993913:	c3                   	ret
140993914:	cc                   	int3
140993915:	cc                   	int3
140993916:	cc                   	int3
140993917:	cc                   	int3
140993918:	cc                   	int3
140993919:	cc                   	int3
14099391a:	cc                   	int3
14099391b:	cc                   	int3
14099391c:	cc                   	int3
14099391d:	cc                   	int3
14099391e:	cc                   	int3
14099391f:	cc                   	int3
140993920:	48 85 c9             	test   %rcx,%rcx
140993923:	74 40                	je     0x140993965
140993925:	53                   	push   %rbx
140993926:	48 83 ec 20          	sub    $0x20,%rsp
14099392a:	48 8b d9             	mov    %rcx,%rbx
14099392d:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140993931:	48 85 c9             	test   %rcx,%rcx
140993934:	74 05                	je     0x14099393b
140993936:	e8 0a c3 00 00       	call   0x14099fc45
14099393b:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
14099393f:	48 85 c9             	test   %rcx,%rcx
140993942:	74 05                	je     0x140993949
140993944:	e8 47 d7 49 00       	call   0x140e31090
140993949:	48 8b 0b             	mov    (%rbx),%rcx
14099394c:	48 85 c9             	test   %rcx,%rcx
14099394f:	74 07                	je     0x140993958
140993951:	33 d2                	xor    %edx,%edx
140993953:	e8 db c2 00 00       	call   0x14099fc33
140993958:	48 8b cb             	mov    %rbx,%rcx
14099395b:	e8 30 d7 49 00       	call   0x140e31090
140993960:	48 83 c4 20          	add    $0x20,%rsp
140993964:	5b                   	pop    %rbx
140993965:	c3                   	ret
140993966:	cc                   	int3
140993967:	cc                   	int3
140993968:	cc                   	int3
140993969:	cc                   	int3
14099396a:	cc                   	int3
14099396b:	cc                   	int3
14099396c:	cc                   	int3
14099396d:	cc                   	int3
14099396e:	cc                   	int3
14099396f:	cc                   	int3
140993970:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140993975:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14099397a:	56                   	push   %rsi
14099397b:	57                   	push   %rdi
14099397c:	41 57                	push   %r15
14099397e:	48 83 ec 40          	sub    $0x40,%rsp
140993982:	0f b7 ea             	movzwl %dx,%ebp
140993985:	4c 8b f9             	mov    %rcx,%r15
140993988:	ba 20 00 00 00       	mov    $0x20,%edx
14099398d:	49 8b f0             	mov    %r8,%rsi
140993990:	8d 4a e1             	lea    -0x1f(%rdx),%ecx
140993993:	e8 f0 d6 49 00       	call   0x140e31088
140993998:	c1 ed 03             	shr    $0x3,%ebp
14099399b:	48 8b f8             	mov    %rax,%rdi
14099399e:	48 85 c0             	test   %rax,%rax
1409939a1:	75 15                	jne    0x1409939b8
1409939a3:	45 33 c0             	xor    %r8d,%r8d
1409939a6:	8d 50 0e             	lea    0xe(%rax),%edx
1409939a9:	48 8b ce             	mov    %rsi,%rcx
1409939ac:	e8 df 3f ff ff       	call   0x140987990
1409939b1:	33 c0                	xor    %eax,%eax
1409939b3:	e9 3b 01 00 00       	jmp    0x140993af3
1409939b8:	45 33 c9             	xor    %r9d,%r9d
1409939bb:	4c 89 74 24 60       	mov    %r14,0x60(%rsp)
1409939c0:	45 33 c0             	xor    %r8d,%r8d
1409939c3:	48 8d 15 be 27 6d 00 	lea    0x6d27be(%rip),%rdx        # 0x141066188
1409939ca:	48 8b cf             	mov    %rdi,%rcx
1409939cd:	e8 4f c2 00 00       	call   0x14099fc21
1409939d2:	85 c0                	test   %eax,%eax
1409939d4:	0f 88 da 00 00 00    	js     0x140993ab4
1409939da:	48 8b 0f             	mov    (%rdi),%rcx
1409939dd:	4c 8d 05 ac 27 6d 00 	lea    0x6d27ac(%rip),%r8        # 0x141066190
1409939e4:	41 b9 20 00 00 00    	mov    $0x20,%r9d
1409939ea:	c7 44 24 20 00 00 00 	movl   $0x0,0x20(%rsp)
1409939f1:	00
1409939f2:	48 8d 15 b7 27 6d 00 	lea    0x6d27b7(%rip),%rdx        # 0x1410661b0
1409939f9:	e8 2f c2 00 00       	call   0x14099fc2d
1409939fe:	85 c0                	test   %eax,%eax
140993a00:	0f 88 ae 00 00 00    	js     0x140993ab4
140993a06:	48 8b 0f             	mov    (%rdi),%rcx
140993a09:	48 8d 44 24 68       	lea    0x68(%rsp),%rax
140993a0e:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%rsp)
140993a15:	00
140993a16:	4c 8d 47 10          	lea    0x10(%rdi),%r8
140993a1a:	41 b9 04 00 00 00    	mov    $0x4,%r9d
140993a20:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140993a25:	48 8d 15 a4 27 6d 00 	lea    0x6d27a4(%rip),%rdx        # 0x1410661d0
140993a2c:	e8 f6 c1 00 00       	call   0x14099fc27
140993a31:	85 c0                	test   %eax,%eax
140993a33:	78 7f                	js     0x140993ab4
140993a35:	8b 4f 10             	mov    0x10(%rdi),%ecx
140993a38:	e8 ef ec 49 00       	call   0x140e3272c
140993a3d:	48 89 47 18          	mov    %rax,0x18(%rdi)
140993a41:	48 85 c0             	test   %rax,%rax
140993a44:	75 46                	jne    0x140993a8c
140993a46:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140993a4a:	48 85 c9             	test   %rcx,%rcx
140993a4d:	74 05                	je     0x140993a54
140993a4f:	e8 f1 c1 00 00       	call   0x14099fc45
140993a54:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140993a58:	48 85 c9             	test   %rcx,%rcx
140993a5b:	74 05                	je     0x140993a62
140993a5d:	e8 2e d6 49 00       	call   0x140e31090
140993a62:	48 8b 0f             	mov    (%rdi),%rcx
140993a65:	48 85 c9             	test   %rcx,%rcx
140993a68:	74 07                	je     0x140993a71
140993a6a:	33 d2                	xor    %edx,%edx
140993a6c:	e8 c2 c1 00 00       	call   0x14099fc33
140993a71:	48 8b cf             	mov    %rdi,%rcx
140993a74:	e8 17 d6 49 00       	call   0x140e31090
140993a79:	45 33 c0             	xor    %r8d,%r8d
140993a7c:	48 8b ce             	mov    %rsi,%rcx
140993a7f:	41 8d 50 0e          	lea    0xe(%r8),%edx
140993a83:	e8 08 3f ff ff       	call   0x140987990
140993a88:	33 c0                	xor    %eax,%eax
140993a8a:	eb 62                	jmp    0x140993aee
140993a8c:	44 8b 4f 10          	mov    0x10(%rdi),%r9d
140993a90:	48 8d 57 08          	lea    0x8(%rdi),%rdx
140993a94:	48 8b 0f             	mov    (%rdi),%rcx
140993a97:	4c 8b c0             	mov    %rax,%r8
140993a9a:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%rsp)
140993aa1:	00
140993aa2:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
140993aa6:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
140993aab:	e8 89 c1 00 00       	call   0x14099fc39
140993ab0:	85 c0                	test   %eax,%eax
140993ab2:	79 37                	jns    0x140993aeb
140993ab4:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140993ab8:	48 85 c9             	test   %rcx,%rcx
140993abb:	74 05                	je     0x140993ac2
140993abd:	e8 83 c1 00 00       	call   0x14099fc45
140993ac2:	48 8b 4f 18          	mov    0x18(%rdi),%rcx
140993ac6:	48 85 c9             	test   %rcx,%rcx
140993ac9:	74 05                	je     0x140993ad0
140993acb:	e8 c0 d5 49 00       	call   0x140e31090
140993ad0:	48 8b 0f             	mov    (%rdi),%rcx
140993ad3:	48 85 c9             	test   %rcx,%rcx
140993ad6:	74 07                	je     0x140993adf
140993ad8:	33 d2                	xor    %edx,%edx
140993ada:	e8 54 c1 00 00       	call   0x14099fc33
140993adf:	48 8b cf             	mov    %rdi,%rcx
140993ae2:	e8 a9 d5 49 00       	call   0x140e31090
140993ae7:	33 c0                	xor    %eax,%eax
140993ae9:	eb 03                	jmp    0x140993aee
140993aeb:	48 8b c7             	mov    %rdi,%rax
140993aee:	4c 8b 74 24 60       	mov    0x60(%rsp),%r14
140993af3:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140993af8:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140993afd:	48 83 c4 40          	add    $0x40,%rsp
140993b01:	41 5f                	pop    %r15
140993b03:	5f                   	pop    %rdi
140993b04:	5e                   	pop    %rsi
140993b05:	c3                   	ret
140993b06:	cc                   	int3
140993b07:	cc                   	int3
140993b08:	cc                   	int3
140993b09:	cc                   	int3
140993b0a:	cc                   	int3
140993b0b:	cc                   	int3
140993b0c:	cc                   	int3
140993b0d:	cc                   	int3
140993b0e:	cc                   	int3
140993b0f:	cc                   	int3
140993b10:	48 83 ec 28          	sub    $0x28,%rsp
140993b14:	48 85 c9             	test   %rcx,%rcx
140993b17:	74 20                	je     0x140993b39
140993b19:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140993b1e:	4c 3b c0             	cmp    %rax,%r8
140993b21:	77 16                	ja     0x140993b39
140993b23:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140993b27:	45 33 c9             	xor    %r9d,%r9d
140993b2a:	e8 22 c1 00 00       	call   0x14099fc51
140993b2f:	c1 e8 1f             	shr    $0x1f,%eax
140993b32:	34 01                	xor    $0x1,%al
140993b34:	48 83 c4 28          	add    $0x28,%rsp
140993b38:	c3                   	ret
140993b39:	32 c0                	xor    %al,%al
140993b3b:	48 83 c4 28          	add    $0x28,%rsp
140993b3f:	c3                   	ret
140993b40:	48 85 c9             	test   %rcx,%rcx
140993b43:	74 4e                	je     0x140993b93
140993b45:	53                   	push   %rbx
140993b46:	48 83 ec 20          	sub    $0x20,%rsp
140993b4a:	48 8b d9             	mov    %rcx,%rbx
140993b4d:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140993b51:	48 85 c9             	test   %rcx,%rcx
140993b54:	74 05                	je     0x140993b5b
140993b56:	e8 02 c1 00 00       	call   0x14099fc5d
140993b5b:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
140993b5f:	48 85 c9             	test   %rcx,%rcx
140993b62:	74 05                	je     0x140993b69
140993b64:	e8 27 d5 49 00       	call   0x140e31090
140993b69:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140993b6d:	48 85 c9             	test   %rcx,%rcx
140993b70:	74 05                	je     0x140993b77
140993b72:	e8 19 d5 49 00       	call   0x140e31090
140993b77:	48 8b 0b             	mov    (%rbx),%rcx
140993b7a:	48 85 c9             	test   %rcx,%rcx
140993b7d:	74 07                	je     0x140993b86
140993b7f:	33 d2                	xor    %edx,%edx
140993b81:	e8 ad c0 00 00       	call   0x14099fc33
140993b86:	48 8b cb             	mov    %rbx,%rcx
140993b89:	e8 02 d5 49 00       	call   0x140e31090
140993b8e:	48 83 c4 20          	add    $0x20,%rsp
140993b92:	5b                   	pop    %rbx
140993b93:	c3                   	ret
140993b94:	cc                   	int3
140993b95:	cc                   	int3
140993b96:	cc                   	int3
140993b97:	cc                   	int3
140993b98:	cc                   	int3
140993b99:	cc                   	int3
140993b9a:	cc                   	int3
140993b9b:	cc                   	int3
140993b9c:	cc                   	int3
140993b9d:	cc                   	int3
140993b9e:	cc                   	int3
140993b9f:	cc                   	int3
140993ba0:	40 56                	rex push %rsi
140993ba2:	57                   	push   %rdi
140993ba3:	41 57                	push   %r15
140993ba5:	48 83 ec 40          	sub    $0x40,%rsp
140993ba9:	49 8b f8             	mov    %r8,%rdi
140993bac:	48 8b f2             	mov    %rdx,%rsi
140993baf:	4c 8b f9             	mov    %rcx,%r15
140993bb2:	48 81 fa ff ff ff 7f 	cmp    $0x7fffffff,%rdx
140993bb9:	76 1a                	jbe    0x140993bd5
140993bbb:	45 33 c0             	xor    %r8d,%r8d
140993bbe:	48 8b cf             	mov    %rdi,%rcx
140993bc1:	41 8d 50 12          	lea    0x12(%r8),%edx
140993bc5:	e8 c6 3d ff ff       	call   0x140987990
140993bca:	33 c0                	xor    %eax,%eax
140993bcc:	48 83 c4 40          	add    $0x40,%rsp
140993bd0:	41 5f                	pop    %r15
140993bd2:	5f                   	pop    %rdi
140993bd3:	5e                   	pop    %rsi
140993bd4:	c3                   	ret
140993bd5:	ba 30 00 00 00       	mov    $0x30,%edx
140993bda:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140993bdf:	8d 4a d1             	lea    -0x2f(%rdx),%ecx
140993be2:	e8 a1 d4 49 00       	call   0x140e31088
140993be7:	48 8b d8             	mov    %rax,%rbx
140993bea:	48 85 c0             	test   %rax,%rax
140993bed:	75 1e                	jne    0x140993c0d
140993bef:	45 33 c0             	xor    %r8d,%r8d
140993bf2:	8d 50 0e             	lea    0xe(%rax),%edx
140993bf5:	48 8b cf             	mov    %rdi,%rcx
140993bf8:	e8 93 3d ff ff       	call   0x140987990
140993bfd:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140993c02:	33 c0                	xor    %eax,%eax
140993c04:	48 83 c4 40          	add    $0x40,%rsp
140993c08:	41 5f                	pop    %r15
140993c0a:	5f                   	pop    %rdi
140993c0b:	5e                   	pop    %rsi
140993c0c:	c3                   	ret
140993c0d:	41 b9 08 00 00 00    	mov    $0x8,%r9d
140993c13:	4c 89 74 24 78       	mov    %r14,0x78(%rsp)
140993c18:	45 33 c0             	xor    %r8d,%r8d
140993c1b:	48 8d 15 56 25 6d 00 	lea    0x6d2556(%rip),%rdx        # 0x141066178
140993c22:	48 8b cb             	mov    %rbx,%rcx
140993c25:	e8 f7 bf 00 00       	call   0x14099fc21
140993c2a:	85 c0                	test   %eax,%eax
140993c2c:	78 2f                	js     0x140993c5d
140993c2e:	48 8b 0b             	mov    (%rbx),%rcx
140993c31:	48 8d 44 24 68       	lea    0x68(%rsp),%rax
140993c36:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%rsp)
140993c3d:	00
140993c3e:	4c 8d 43 10          	lea    0x10(%rbx),%r8
140993c42:	41 b9 04 00 00 00    	mov    $0x4,%r9d
140993c48:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140993c4d:	48 8d 15 7c 25 6d 00 	lea    0x6d257c(%rip),%rdx        # 0x1410661d0
140993c54:	e8 ce bf 00 00       	call   0x14099fc27
140993c59:	85 c0                	test   %eax,%eax
140993c5b:	79 48                	jns    0x140993ca5
140993c5d:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140993c61:	48 85 c9             	test   %rcx,%rcx