140d59856:	48 89 03             	mov    %rax,(%rbx)
140d59859:	48 85 c0             	test   %rax,%rax
140d5985c:	75 35                	jne    0x140d59893
140d5985e:	4c 8d 0d 33 7c 42 00 	lea    0x427c33(%rip),%r9        # 0x141181498
140d59865:	c7 44 24 20 94 00 00 	movl   $0x94,0x20(%rsp)
140d5986c:	00
140d5986d:	8d 50 73             	lea    0x73(%rax),%edx
140d59870:	8d 48 0d             	lea    0xd(%rax),%ecx
140d59873:	44 8d 40 41          	lea    0x41(%rax),%r8d
140d59877:	e8 04 74 f7 ff       	call   0x140cd0c80
140d5987c:	33 c0                	xor    %eax,%eax
140d5987e:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140d59883:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140d59888:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d5988d:	48 83 c4 30          	add    $0x30,%rsp
140d59891:	5f                   	pop    %rdi
140d59892:	c3                   	ret
140d59893:	4c 8b c7             	mov    %rdi,%r8
140d59896:	48 8b d5             	mov    %rbp,%rdx
140d59899:	48 8b c8             	mov    %rax,%rcx
140d5989c:	e8 6f 57 18 00       	call   0x140edf010
140d598a1:	b8 01 00 00 00       	mov    $0x1,%eax
140d598a6:	89 7b 08             	mov    %edi,0x8(%rbx)
140d598a9:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%rbx)
140d598b0:	eb cc                	jmp    0x140d5987e
140d598b2:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140d598b7:	b8 01 00 00 00       	mov    $0x1,%eax
140d598bc:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140d598c1:	48 83 c4 30          	add    $0x30,%rsp
140d598c5:	5f                   	pop    %rdi
140d598c6:	c3                   	ret
140d598c7:	cc                   	int3
140d598c8:	cc                   	int3
140d598c9:	cc                   	int3
140d598ca:	cc                   	int3
140d598cb:	cc                   	int3
140d598cc:	cc                   	int3
140d598cd:	cc                   	int3
140d598ce:	cc                   	int3
140d598cf:	cc                   	int3
140d598d0:	48 63 52 04          	movslq 0x4(%rdx),%rdx
140d598d4:	48 8b 01             	mov    (%rcx),%rax
140d598d7:	8b 04 02             	mov    (%rdx,%rax,1),%eax
140d598da:	c3                   	ret
140d598db:	cc                   	int3
140d598dc:	cc                   	int3
140d598dd:	cc                   	int3
140d598de:	cc                   	int3
140d598df:	cc                   	int3
140d598e0:	8b 42 08             	mov    0x8(%rdx),%eax
140d598e3:	48 03 01             	add    (%rcx),%rax
140d598e6:	c3                   	ret
140d598e7:	cc                   	int3
140d598e8:	cc                   	int3
140d598e9:	cc                   	int3
140d598ea:	cc                   	int3
140d598eb:	cc                   	int3
140d598ec:	cc                   	int3
140d598ed:	cc                   	int3
140d598ee:	cc                   	int3
140d598ef:	cc                   	int3
140d598f0:	4d 63 48 04          	movslq 0x4(%r8),%r9
140d598f4:	4c 03 09             	add    (%rcx),%r9
140d598f7:	41 8b 01             	mov    (%r9),%eax
140d598fa:	41 89 11             	mov    %edx,(%r9)
140d598fd:	c3                   	ret
140d598fe:	cc                   	int3
140d598ff:	cc                   	int3
140d59900:	44 8b ca             	mov    %edx,%r9d
140d59903:	48 85 c9             	test   %rcx,%rcx
140d59906:	74 3f                	je     0x140d59947
140d59908:	8b c2                	mov    %edx,%eax
140d5990a:	99                   	cltd
140d5990b:	83 e2 07             	and    $0x7,%edx
140d5990e:	03 c2                	add    %edx,%eax
140d59910:	c1 f8 03             	sar    $0x3,%eax
140d59913:	44 8d 40 01          	lea    0x1(%rax),%r8d
140d59917:	44 39 01             	cmp    %r8d,(%rcx)
140d5991a:	7c 2b                	jl     0x140d59947
140d5991c:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140d59920:	4d 85 c0             	test   %r8,%r8
140d59923:	74 22                	je     0x140d59947
140d59925:	48 98                	cltq
140d59927:	41 83 e1 07          	and    $0x7,%r9d
140d5992b:	b9 07 00 00 00       	mov    $0x7,%ecx
140d59930:	ba 01 00 00 00       	mov    $0x1,%edx
140d59935:	41 2b c9             	sub    %r9d,%ecx
140d59938:	d3 e2                	shl    %cl,%edx
140d5993a:	42 84 14 00          	test   %dl,(%rax,%r8,1)
140d5993e:	b8 00 00 00 00       	mov    $0x0,%eax
140d59943:	0f 95 c0             	setne  %al
140d59946:	c3                   	ret
140d59947:	33 c0                	xor    %eax,%eax
140d59949:	c3                   	ret
140d5994a:	cc                   	int3
140d5994b:	cc                   	int3
140d5994c:	cc                   	int3
140d5994d:	cc                   	int3
140d5994e:	cc                   	int3
140d5994f:	cc                   	int3
140d59950:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140d59955:	55                   	push   %rbp
140d59956:	41 56                	push   %r14
140d59958:	41 57                	push   %r15
140d5995a:	b8 30 00 00 00       	mov    $0x30,%eax
140d5995f:	e8 3c 1b 0c 00       	call   0x140e1b4a0
140d59964:	48 2b e0             	sub    %rax,%rsp
140d59967:	44 8b ca             	mov    %edx,%r9d
140d5996a:	8b c2                	mov    %edx,%eax
140d5996c:	99                   	cltd
140d5996d:	48 8b d9             	mov    %rcx,%rbx
140d59970:	83 e2 07             	and    $0x7,%edx
140d59973:	41 83 e1 07          	and    $0x7,%r9d
140d59977:	03 c2                	add    %edx,%eax
140d59979:	45 33 ff             	xor    %r15d,%r15d
140d5997c:	c1 f8 03             	sar    $0x3,%eax
140d5997f:	b9 07 00 00 00       	mov    $0x7,%ecx
140d59984:	41 2b c9             	sub    %r9d,%ecx
140d59987:	4c 63 f0             	movslq %eax,%r14
140d5998a:	ba 01 00 00 00       	mov    $0x1,%edx
140d5998f:	d3 e2                	shl    %cl,%edx
140d59991:	45 85 c0             	test   %r8d,%r8d
140d59994:	8b ea                	mov    %edx,%ebp
140d59996:	f7 d5                	not    %ebp
140d59998:	44 0f 45 fa          	cmovne %edx,%r15d
140d5999c:	48 85 db             	test   %rbx,%rbx
140d5999f:	75 11                	jne    0x140d599b2
140d599a1:	33 c0                	xor    %eax,%eax
140d599a3:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140d599a8:	48 83 c4 30          	add    $0x30,%rsp
140d599ac:	41 5f                	pop    %r15
140d599ae:	41 5e                	pop    %r14
140d599b0:	5d                   	pop    %rbp
140d599b1:	c3                   	ret
140d599b2:	83 63 10 f0          	andl   $0xfffffff0,0x10(%rbx)
140d599b6:	41 8d 46 01          	lea    0x1(%r14),%eax
140d599ba:	48 63 0b             	movslq (%rbx),%rcx
140d599bd:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140d599c2:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
140d599c7:	3b c8                	cmp    %eax,%ecx
140d599c9:	7c 09                	jl     0x140d599d4
140d599cb:	48 8b 73 08          	mov    0x8(%rbx),%rsi
140d599cf:	48 85 f6             	test   %rsi,%rsi
140d599d2:	75 78                	jne    0x140d59a4c
140d599d4:	45 85 c0             	test   %r8d,%r8d
140d599d7:	0f 84 96 00 00 00    	je     0x140d59a73
140d599dd:	48 8b d1             	mov    %rcx,%rdx
140d599e0:	4c 63 c0             	movslq %eax,%r8
140d599e3:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140d599e7:	4c 8d 0d c2 7a 42 00 	lea    0x427ac2(%rip),%r9        # 0x1411814b0
140d599ee:	c7 44 24 20 a5 00 00 	movl   $0xa5,0x20(%rsp)
140d599f5:	00
140d599f6:	e8 b5 81 f6 ff       	call   0x140cc1bb0
140d599fb:	48 8b f0             	mov    %rax,%rsi
140d599fe:	48 85 c0             	test   %rax,%rax
140d59a01:	75 24                	jne    0x140d59a27
140d59a03:	4c 8d 0d a6 7a 42 00 	lea    0x427aa6(%rip),%r9        # 0x1411814b0
140d59a0a:	c7 44 24 20 a7 00 00 	movl   $0xa7,0x20(%rsp)
140d59a11:	00
140d59a12:	ba b7 00 00 00       	mov    $0xb7,%edx
140d59a17:	8d 48 0d             	lea    0xd(%rax),%ecx
140d59a1a:	44 8d 40 41          	lea    0x41(%rax),%r8d
140d59a1e:	e8 5d 72 f7 ff       	call   0x140cd0c80
140d59a23:	33 c0                	xor    %eax,%eax
140d59a25:	eb 51                	jmp    0x140d59a78
140d59a27:	48 63 0b             	movslq (%rbx),%rcx
140d59a2a:	41 8b c6             	mov    %r14d,%eax
140d59a2d:	2b c1                	sub    %ecx,%eax
140d59a2f:	ff c0                	inc    %eax
140d59a31:	85 c0                	test   %eax,%eax
140d59a33:	7e 0d                	jle    0x140d59a42
140d59a35:	4c 63 c0             	movslq %eax,%r8
140d59a38:	48 03 ce             	add    %rsi,%rcx
140d59a3b:	33 d2                	xor    %edx,%edx
140d59a3d:	e8 6e 5c 18 00       	call   0x140edf6b0
140d59a42:	41 8d 46 01          	lea    0x1(%r14),%eax
140d59a46:	48 89 73 08          	mov    %rsi,0x8(%rbx)
140d59a4a:	89 03                	mov    %eax,(%rbx)
140d59a4c:	41 22 2c 36          	and    (%r14,%rsi,1),%bpl
140d59a50:	41 0a ef             	or     %r15b,%bpl
140d59a53:	41 88 2c 36          	mov    %bpl,(%r14,%rsi,1)
140d59a57:	8b 0b                	mov    (%rbx),%ecx
140d59a59:	85 c9                	test   %ecx,%ecx
140d59a5b:	7e 16                	jle    0x140d59a73
140d59a5d:	4c 8b 43 08          	mov    0x8(%rbx),%r8
140d59a61:	8b d1                	mov    %ecx,%edx
140d59a63:	42 80 7c 02 ff 00    	cmpb   $0x0,-0x1(%rdx,%r8,1)
140d59a69:	75 08                	jne    0x140d59a73
140d59a6b:	ff c9                	dec    %ecx
140d59a6d:	89 0b                	mov    %ecx,(%rbx)
140d59a6f:	85 c9                	test   %ecx,%ecx
140d59a71:	7f ee                	jg     0x140d59a61
140d59a73:	b8 01 00 00 00       	mov    $0x1,%eax
140d59a78:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140d59a7d:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140d59a82:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140d59a87:	48 83 c4 30          	add    $0x30,%rsp
140d59a8b:	41 5f                	pop    %r15
140d59a8d:	41 5e                	pop    %r14
140d59a8f:	5d                   	pop    %rbp
140d59a90:	c3                   	ret
140d59a91:	cc                   	int3
140d59a92:	cc                   	int3
140d59a93:	cc                   	int3
140d59a94:	cc                   	int3
140d59a95:	cc                   	int3
140d59a96:	cc                   	int3
140d59a97:	cc                   	int3
140d59a98:	cc                   	int3
140d59a99:	cc                   	int3
140d59a9a:	cc                   	int3
140d59a9b:	cc                   	int3
140d59a9c:	cc                   	int3
140d59a9d:	cc                   	int3
140d59a9e:	cc                   	int3
140d59a9f:	cc                   	int3
140d59aa0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140d59aa5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140d59aaa:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140d59aaf:	57                   	push   %rdi
140d59ab0:	41 54                	push   %r12
140d59ab2:	41 55                	push   %r13
140d59ab4:	41 56                	push   %r14
140d59ab6:	41 57                	push   %r15
140d59ab8:	b8 30 00 00 00       	mov    $0x30,%eax
140d59abd:	e8 de 19 0c 00       	call   0x140e1b4a0
140d59ac2:	48 2b e0             	sub    %rax,%rsp
140d59ac5:	49 63 e8             	movslq %r8d,%rbp
140d59ac8:	45 33 f6             	xor    %r14d,%r14d
140d59acb:	89 6c 24 70          	mov    %ebp,0x70(%rsp)
140d59acf:	4c 8b ea             	mov    %rdx,%r13
140d59ad2:	48 8b f9             	mov    %rcx,%rdi
140d59ad5:	4c 8b e5             	mov    %rbp,%r12
140d59ad8:	41 8b de             	mov    %r14d,%ebx
140d59adb:	83 fd 01             	cmp    $0x1,%ebp
140d59ade:	7d 06                	jge    0x140d59ae6
140d59ae0:	44 8d 40 68          	lea    0x68(%rax),%r8d
140d59ae4:	eb 73                	jmp    0x140d59b59
140d59ae6:	48 85 ff             	test   %rdi,%rdi
140d59ae9:	74 08                	je     0x140d59af3
140d59aeb:	48 8b 19             	mov    (%rcx),%rbx
140d59aee:	48 85 db             	test   %rbx,%rbx
140d59af1:	75 11                	jne    0x140d59b04
140d59af3:	e8 58 7a f7 ff       	call   0x140cd1550
140d59af8:	48 8b d8             	mov    %rax,%rbx
140d59afb:	48 85 c0             	test   %rax,%rax
140d59afe:	0f 84 85 00 00 00    	je     0x140d59b89
140d59b04:	49 8b 75 00          	mov    0x0(%r13),%rsi
140d59b08:	44 0f b6 3e          	movzbl (%rsi),%r15d
140d59b0c:	48 ff c6             	inc    %rsi
140d59b0f:	41 83 ff 07          	cmp    $0x7,%r15d
140d59b13:	76 08                	jbe    0x140d59b1d
140d59b15:	41 b8 dc 00 00 00    	mov    $0xdc,%r8d
140d59b1b:	eb 3c                	jmp    0x140d59b59
140d59b1d:	8b 43 10             	mov    0x10(%rbx),%eax
140d59b20:	83 e0 f8             	and    $0xfffffff8,%eax
140d59b23:	41 0b c7             	or     %r15d,%eax
140d59b26:	83 c8 08             	or     $0x8,%eax
140d59b29:	89 43 10             	mov    %eax,0x10(%rbx)
140d59b2c:	8b c5                	mov    %ebp,%eax
140d59b2e:	ff cd                	dec    %ebp
140d59b30:	83 f8 01             	cmp    $0x1,%eax
140d59b33:	7e 7d                	jle    0x140d59bb2
140d59b35:	49 ff cc             	dec    %r12
140d59b38:	48 8d 15 71 79 42 00 	lea    0x427971(%rip),%rdx        # 0x1411814b0
140d59b3f:	49 8b cc             	mov    %r12,%rcx
140d59b42:	41 b8 75 00 00 00    	mov    $0x75,%r8d
140d59b48:	e8 63 7e f6 ff       	call   0x140cc19b0
140d59b4d:	4c 8b f0             	mov    %rax,%r14
140d59b50:	48 85 c0             	test   %rax,%rax
140d59b53:	75 38                	jne    0x140d59b8d
140d59b55:	44 8d 40 41          	lea    0x41(%rax),%r8d
140d59b59:	4c 8d 0d 50 79 42 00 	lea    0x427950(%rip),%r9        # 0x1411814b0
140d59b60:	c7 44 24 20 89 00 00 	movl   $0x89,0x20(%rsp)
140d59b67:	00
140d59b68:	ba bd 00 00 00       	mov    $0xbd,%edx
140d59b6d:	b9 0d 00 00 00       	mov    $0xd,%ecx
140d59b72:	e8 09 71 f7 ff       	call   0x140cd0c80
140d59b77:	48 85 ff             	test   %rdi,%rdi
140d59b7a:	74 05                	je     0x140d59b81
140d59b7c:	48 39 1f             	cmp    %rbx,(%rdi)
140d59b7f:	74 08                	je     0x140d59b89
140d59b81:	48 8b cb             	mov    %rbx,%rcx
140d59b84:	e8 97 79 f7 ff       	call   0x140cd1520
140d59b89:	33 c0                	xor    %eax,%eax
140d59b8b:	eb 57                	jmp    0x140d59be4
140d59b8d:	4d 8b c4             	mov    %r12,%r8
140d59b90:	48 8b d6             	mov    %rsi,%rdx
140d59b93:	49 8b ce             	mov    %r14,%rcx
140d59b96:	e8 75 54 18 00       	call   0x140edf010
140d59b9b:	48 63 54 24 70       	movslq 0x70(%rsp),%rdx
140d59ba0:	41 8b cf             	mov    %r15d,%ecx
140d59ba3:	b8 ff 00 00 00       	mov    $0xff,%eax
140d59ba8:	d2 e0                	shl    %cl,%al
140d59baa:	42 20 44 32 fe       	and    %al,-0x2(%rdx,%r14,1)
140d59baf:	49 03 f4             	add    %r12,%rsi
140d59bb2:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140d59bb6:	48 8d 15 f3 78 42 00 	lea    0x4278f3(%rip),%rdx        # 0x1411814b0
140d59bbd:	41 b8 81 00 00 00    	mov    $0x81,%r8d
140d59bc3:	89 2b                	mov    %ebp,(%rbx)
140d59bc5:	e8 46 7e f6 ff       	call   0x140cc1a10
140d59bca:	4c 89 73 08          	mov    %r14,0x8(%rbx)
140d59bce:	c7 43 04 03 00 00 00 	movl   $0x3,0x4(%rbx)
140d59bd5:	48 85 ff             	test   %rdi,%rdi
140d59bd8:	74 03                	je     0x140d59bdd
140d59bda:	48 89 1f             	mov    %rbx,(%rdi)
140d59bdd:	49 89 75 00          	mov    %rsi,0x0(%r13)
140d59be1:	48 8b c3             	mov    %rbx,%rax
140d59be4:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140d59be9:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140d59bee:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
140d59bf3:	48 83 c4 30          	add    $0x30,%rsp
140d59bf7:	41 5f                	pop    %r15
140d59bf9:	41 5e                	pop    %r14
140d59bfb:	41 5d                	pop    %r13
140d59bfd:	41 5c                	pop    %r12
140d59bff:	5f                   	pop    %rdi
140d59c00:	c3                   	ret
140d59c01:	cc                   	int3
140d59c02:	cc                   	int3
140d59c03:	cc                   	int3
140d59c04:	cc                   	int3
140d59c05:	cc                   	int3
140d59c06:	cc                   	int3
140d59c07:	cc                   	int3
140d59c08:	cc                   	int3
140d59c09:	cc                   	int3
140d59c0a:	cc                   	int3
140d59c0b:	cc                   	int3
140d59c0c:	cc                   	int3
140d59c0d:	cc                   	int3
140d59c0e:	cc                   	int3
140d59c0f:	cc                   	int3
140d59c10:	41 56                	push   %r14
140d59c12:	b8 20 00 00 00       	mov    $0x20,%eax
140d59c17:	e8 84 18 0c 00       	call   0x140e1b4a0
140d59c1c:	48 2b e0             	sub    %rax,%rsp
140d59c1f:	4c 8b f2             	mov    %rdx,%r14
140d59c22:	48 85 c9             	test   %rcx,%rcx
140d59c25:	75 09                	jne    0x140d59c30
140d59c27:	33 c0                	xor    %eax,%eax
140d59c29:	48 83 c4 20          	add    $0x20,%rsp
140d59c2d:	41 5e                	pop    %r14
140d59c2f:	c3                   	ret
140d59c30:	4c 63 01             	movslq (%rcx),%r8
140d59c33:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140d59c38:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
140d59c3d:	45 85 c0             	test   %r8d,%r8d
140d59c40:	0f 8e f1 00 00 00    	jle    0x140d59d37
140d59c46:	8b 79 10             	mov    0x10(%rcx),%edi