140d8f8ab:	41 3b c4             	cmp    %r12d,%eax
140d8f8ae:	0f 8c fe 01 00 00    	jl     0x140d8fab2
140d8f8b4:	4c 8b cd             	mov    %rbp,%r9
140d8f8b7:	4c 8b c3             	mov    %rbx,%r8
140d8f8ba:	48 8b d7             	mov    %rdi,%rdx
140d8f8bd:	48 8b cf             	mov    %rdi,%rcx
140d8f8c0:	e8 6b 02 00 00       	call   0x140d8fb30
140d8f8c5:	85 c0                	test   %eax,%eax
140d8f8c7:	0f 84 ab 01 00 00    	je     0x140d8fa78
140d8f8cd:	4c 8b cd             	mov    %rbp,%r9
140d8f8d0:	4c 8b c3             	mov    %rbx,%r8
140d8f8d3:	48 8b d7             	mov    %rdi,%rdx
140d8f8d6:	48 8b cf             	mov    %rdi,%rcx
140d8f8d9:	e8 52 02 00 00       	call   0x140d8fb30
140d8f8de:	85 c0                	test   %eax,%eax
140d8f8e0:	0f 84 92 01 00 00    	je     0x140d8fa78
140d8f8e6:	4d 8b c6             	mov    %r14,%r8
140d8f8e9:	48 8b d7             	mov    %rdi,%rdx
140d8f8ec:	48 8b cf             	mov    %rdi,%rcx
140d8f8ef:	e8 8c ef ff ff       	call   0x140d8e880
140d8f8f4:	85 c0                	test   %eax,%eax
140d8f8f6:	0f 84 7c 01 00 00    	je     0x140d8fa78
140d8f8fc:	8b 03                	mov    (%rbx),%eax
140d8f8fe:	ff c6                	inc    %esi
140d8f900:	ff c8                	dec    %eax
140d8f902:	99                   	cltd
140d8f903:	2b c2                	sub    %edx,%eax
140d8f905:	d1 f8                	sar    $1,%eax
140d8f907:	3b f0                	cmp    %eax,%esi
140d8f909:	7e a9                	jle    0x140d8f8b4
140d8f90b:	e9 a2 01 00 00       	jmp    0x140d8fab2
140d8f910:	48 8b cd             	mov    %rbp,%rcx
140d8f913:	e8 88 e7 f8 ff       	call   0x140d1e0a0
140d8f918:	48 8b cd             	mov    %rbp,%rcx
140d8f91b:	4c 8b e0             	mov    %rax,%r12
140d8f91e:	e8 7d e7 f8 ff       	call   0x140d1e0a0
140d8f923:	48 8b cd             	mov    %rbp,%rcx
140d8f926:	4c 8b f0             	mov    %rax,%r14
140d8f929:	e8 72 e7 f8 ff       	call   0x140d1e0a0
140d8f92e:	4c 8b e8             	mov    %rax,%r13
140d8f931:	48 85 c0             	test   %rax,%rax
140d8f934:	0f 84 3e 01 00 00    	je     0x140d8fa78
140d8f93a:	be 01 00 00 00       	mov    $0x1,%esi
140d8f93f:	90                   	nop
140d8f940:	8b 13                	mov    (%rbx),%edx
140d8f942:	45 33 c9             	xor    %r9d,%r9d
140d8f945:	45 33 c0             	xor    %r8d,%r8d
140d8f948:	49 8b cc             	mov    %r12,%rcx
140d8f94b:	e8 40 4a f9 ff       	call   0x140d24390
140d8f950:	85 c0                	test   %eax,%eax
140d8f952:	0f 84 20 01 00 00    	je     0x140d8fa78
140d8f958:	4c 8b c3             	mov    %rbx,%r8
140d8f95b:	49 8b d4             	mov    %r12,%rdx
140d8f95e:	49 8b cc             	mov    %r12,%rcx
140d8f961:	e8 fa ef ff ff       	call   0x140d8e960
140d8f966:	85 c0                	test   %eax,%eax
140d8f968:	0f 84 0a 01 00 00    	je     0x140d8fa78
140d8f96e:	33 d2                	xor    %edx,%edx
140d8f970:	48 8b cf             	mov    %rdi,%rcx
140d8f973:	e8 b8 6b f4 ff       	call   0x140cd6530
140d8f978:	49 8b d4             	mov    %r12,%rdx
140d8f97b:	49 8b cf             	mov    %r15,%rcx
140d8f97e:	e8 3d 64 f4 ff       	call   0x140cd5dc0
140d8f983:	48 85 c0             	test   %rax,%rax
140d8f986:	0f 84 ec 00 00 00    	je     0x140d8fa78
140d8f98c:	8b 03                	mov    (%rbx),%eax
140d8f98e:	ff c8                	dec    %eax
140d8f990:	83 f8 01             	cmp    $0x1,%eax
140d8f993:	0f 8c 87 00 00 00    	jl     0x140d8fa20
140d8f999:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140d8f9a0:	4c 8b cd             	mov    %rbp,%r9
140d8f9a3:	4c 8b c3             	mov    %rbx,%r8
140d8f9a6:	48 8b d7             	mov    %rdi,%rdx
140d8f9a9:	48 8b cf             	mov    %rdi,%rcx
140d8f9ac:	e8 7f 01 00 00       	call   0x140d8fb30
140d8f9b1:	85 c0                	test   %eax,%eax
140d8f9b3:	0f 84 bf 00 00 00    	je     0x140d8fa78
140d8f9b9:	4c 8b cd             	mov    %rbp,%r9
140d8f9bc:	4c 8b c3             	mov    %rbx,%r8
140d8f9bf:	49 8b d7             	mov    %r15,%rdx
140d8f9c2:	49 8b ce             	mov    %r14,%rcx
140d8f9c5:	e8 66 01 00 00       	call   0x140d8fb30
140d8f9ca:	85 c0                	test   %eax,%eax
140d8f9cc:	0f 84 a6 00 00 00    	je     0x140d8fa78
140d8f9d2:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140d8f9d7:	4c 8b cb             	mov    %rbx,%r9
140d8f9da:	49 8b d6             	mov    %r14,%rdx
140d8f9dd:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140d8f9e2:	49 8b cd             	mov    %r13,%rcx
140d8f9e5:	e8 e6 fa ff ff       	call   0x140d8f4d0
140d8f9ea:	85 c0                	test   %eax,%eax
140d8f9ec:	0f 84 86 00 00 00    	je     0x140d8fa78
140d8f9f2:	4d 8b c5             	mov    %r13,%r8
140d8f9f5:	48 8b d7             	mov    %rdi,%rdx
140d8f9f8:	48 8b cf             	mov    %rdi,%rcx
140d8f9fb:	e8 80 ee ff ff       	call   0x140d8e880
140d8fa00:	85 c0                	test   %eax,%eax
140d8fa02:	74 74                	je     0x140d8fa78
140d8fa04:	4d 8b c4             	mov    %r12,%r8
140d8fa07:	49 8b d6             	mov    %r14,%rdx
140d8fa0a:	49 8b cf             	mov    %r15,%rcx
140d8fa0d:	e8 6e ee ff ff       	call   0x140d8e880
140d8fa12:	85 c0                	test   %eax,%eax
140d8fa14:	74 62                	je     0x140d8fa78
140d8fa16:	8b 03                	mov    (%rbx),%eax
140d8fa18:	ff c6                	inc    %esi
140d8fa1a:	ff c8                	dec    %eax
140d8fa1c:	3b f0                	cmp    %eax,%esi
140d8fa1e:	7e 80                	jle    0x140d8f9a0
140d8fa20:	8b b4 24 90 00 00 00 	mov    0x90(%rsp),%esi
140d8fa27:	49 8b cf             	mov    %r15,%rcx
140d8fa2a:	ff c6                	inc    %esi
140d8fa2c:	89 b4 24 90 00 00 00 	mov    %esi,0x90(%rsp)
140d8fa33:	e8 88 66 f4 ff       	call   0x140cd60c0
140d8fa38:	85 c0                	test   %eax,%eax
140d8fa3a:	74 0e                	je     0x140d8fa4a
140d8fa3c:	83 fe 32             	cmp    $0x32,%esi
140d8fa3f:	be 01 00 00 00       	mov    $0x1,%esi
140d8fa44:	0f 8c f6 fe ff ff    	jl     0x140d8f940
140d8fa4a:	49 8b cf             	mov    %r15,%rcx
140d8fa4d:	e8 6e 66 f4 ff       	call   0x140cd60c0
140d8fa52:	85 c0                	test   %eax,%eax
140d8fa54:	74 4e                	je     0x140d8faa4
140d8fa56:	ba 87 00 00 00       	mov    $0x87,%edx
140d8fa5b:	c7 44 24 20 20 04 00 	movl   $0x420,0x20(%rsp)
140d8fa62:	00
140d8fa63:	4c 8d 0d ee 3a 41 00 	lea    0x413aee(%rip),%r9        # 0x1411a3558
140d8fa6a:	b9 03 00 00 00       	mov    $0x3,%ecx
140d8fa6f:	44 8d 42 ea          	lea    -0x16(%rdx),%r8d
140d8fa73:	e8 08 12 f4 ff       	call   0x140cd0c80
140d8fa78:	45 33 e4             	xor    %r12d,%r12d
140d8fa7b:	48 8b cd             	mov    %rbp,%rcx
140d8fa7e:	e8 dd e4 f8 ff       	call   0x140d1df60
140d8fa83:	4c 8b 7c 24 40       	mov    0x40(%rsp),%r15
140d8fa88:	41 8b c4             	mov    %r12d,%eax
140d8fa8b:	4c 8b 74 24 48       	mov    0x48(%rsp),%r14
140d8fa90:	48 8b bc 24 88 00 00 	mov    0x88(%rsp),%rdi
140d8fa97:	00
140d8fa98:	48 83 c4 50          	add    $0x50,%rsp
140d8fa9c:	41 5d                	pop    %r13
140d8fa9e:	41 5c                	pop    %r12
140d8faa0:	5e                   	pop    %rsi
140d8faa1:	5d                   	pop    %rbp
140d8faa2:	5b                   	pop    %rbx
140d8faa3:	c3                   	ret
140d8faa4:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
140d8faa9:	41 bc 01 00 00 00    	mov    $0x1,%r12d
140d8faaf:	45 33 ed             	xor    %r13d,%r13d
140d8fab2:	4c 8b cd             	mov    %rbp,%r9
140d8fab5:	4c 8b c3             	mov    %rbx,%r8
140d8fab8:	48 8b d7             	mov    %rdi,%rdx
140d8fabb:	49 8b cf             	mov    %r15,%rcx
140d8fabe:	e8 6d 00 00 00       	call   0x140d8fb30
140d8fac3:	85 c0                	test   %eax,%eax
140d8fac5:	74 b1                	je     0x140d8fa78
140d8fac7:	4d 8b c7             	mov    %r15,%r8
140d8faca:	48 8b d7             	mov    %rdi,%rdx
140d8facd:	49 8b cf             	mov    %r15,%rcx
140d8fad0:	e8 ab ed ff ff       	call   0x140d8e880
140d8fad5:	85 c0                	test   %eax,%eax
140d8fad7:	74 9f                	je     0x140d8fa78
140d8fad9:	49 8b d6             	mov    %r14,%rdx
140d8fadc:	49 8b cf             	mov    %r15,%rcx
140d8fadf:	e8 ec 6a f4 ff       	call   0x140cd65d0
140d8fae4:	85 c0                	test   %eax,%eax
140d8fae6:	74 22                	je     0x140d8fb0a
140d8fae8:	ba 87 00 00 00       	mov    $0x87,%edx
140d8faed:	c7 44 24 20 2a 04 00 	movl   $0x42a,0x20(%rsp)
140d8faf4:	00
140d8faf5:	4c 8d 0d 5c 3a 41 00 	lea    0x413a5c(%rip),%r9        # 0x1411a3558
140d8fafc:	b9 03 00 00 00       	mov    $0x3,%ecx
140d8fb01:	44 8d 42 ed          	lea    -0x13(%rdx),%r8d
140d8fb05:	e9 69 ff ff ff       	jmp    0x140d8fa73
140d8fb0a:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
140d8fb11:	00
140d8fb12:	48 8b d7             	mov    %rdi,%rdx
140d8fb15:	e8 a6 62 f4 ff       	call   0x140cd5dc0
140d8fb1a:	48 85 c0             	test   %rax,%rax
140d8fb1d:	45 0f 45 ec          	cmovne %r12d,%r13d
140d8fb21:	45 8b e5             	mov    %r13d,%r12d
140d8fb24:	e9 52 ff ff ff       	jmp    0x140d8fa7b
140d8fb29:	cc                   	int3
140d8fb2a:	cc                   	int3
140d8fb2b:	cc                   	int3
140d8fb2c:	cc                   	int3
140d8fb2d:	cc                   	int3
140d8fb2e:	cc                   	int3
140d8fb2f:	cc                   	int3
140d8fb30:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140d8fb35:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140d8fb3a:	55                   	push   %rbp
140d8fb3b:	56                   	push   %rsi
140d8fb3c:	57                   	push   %rdi
140d8fb3d:	41 56                	push   %r14
140d8fb3f:	41 57                	push   %r15
140d8fb41:	b8 00 01 00 00       	mov    $0x100,%eax
140d8fb46:	e8 55 b9 08 00       	call   0x140e1b4a0
140d8fb4b:	48 2b e0             	sub    %rax,%rsp
140d8fb4e:	4c 8b f9             	mov    %rcx,%r15
140d8fb51:	49 8b e9             	mov    %r9,%rbp
140d8fb54:	49 8b c9             	mov    %r9,%rcx
140d8fb57:	4d 8b f0             	mov    %r8,%r14
140d8fb5a:	48 8b f2             	mov    %rdx,%rsi
140d8fb5d:	33 ff                	xor    %edi,%edi
140d8fb5f:	e8 dc e7 f8 ff       	call   0x140d1e340
140d8fb64:	48 8b cd             	mov    %rbp,%rcx
140d8fb67:	e8 34 e5 f8 ff       	call   0x140d1e0a0
140d8fb6c:	48 8b d8             	mov    %rax,%rbx
140d8fb6f:	48 85 c0             	test   %rax,%rax
140d8fb72:	0f 84 28 06 00 00    	je     0x140d901a0
140d8fb78:	8b 56 08             	mov    0x8(%rsi),%edx
140d8fb7b:	48 8b c8             	mov    %rax,%rcx
140d8fb7e:	03 d2                	add    %edx,%edx
140d8fb80:	e8 4b 6f f4 ff       	call   0x140cd6ad0
140d8fb85:	48 85 c0             	test   %rax,%rax
140d8fb88:	0f 84 12 06 00 00    	je     0x140d901a0
140d8fb8e:	8b 46 08             	mov    0x8(%rsi),%eax
140d8fb91:	83 e8 01             	sub    $0x1,%eax
140d8fb94:	4c 63 c0             	movslq %eax,%r8
140d8fb97:	0f 88 db 05 00 00    	js     0x140d90178
140d8fb9d:	48 b8 00 00 00 00 10 	movabs $0x1000000000,%rax
140d8fba4:	00 00 00
140d8fba7:	4c 89 a4 24 30 01 00 	mov    %r12,0x130(%rsp)
140d8fbae:	00
140d8fbaf:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140d8fbb4:	4d 8b c8             	mov    %r8,%r9
140d8fbb7:	48 b8 00 00 00 00 20 	movabs $0x2000000000,%rax
140d8fbbe:	00 00 00
140d8fbc1:	4c 89 ac 24 38 01 00 	mov    %r13,0x138(%rsp)
140d8fbc8:	00
140d8fbc9:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140d8fbce:	41 ba 00 00 00 80    	mov    $0x80000000,%r10d
140d8fbd4:	48 b8 00 00 00 00 40 	movabs $0x4000000000,%rax
140d8fbdb:	00 00 00
140d8fbde:	49 c1 e1 04          	shl    $0x4,%r9
140d8fbe2:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140d8fbe7:	49 bb 00 00 00 00 02 	movabs $0x200000000,%r11
140d8fbee:	00 00 00
140d8fbf1:	48 b8 00 00 00 00 80 	movabs $0x8000000000,%rax
140d8fbf8:	00 00 00
140d8fbfb:	49 bc 00 00 00 00 04 	movabs $0x400000000,%r12
140d8fc02:	00 00 00
140d8fc05:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140d8fc0a:	49 bd 00 00 00 00 08 	movabs $0x800000000,%r13
140d8fc11:	00 00 00
140d8fc14:	48 b8 00 00 00 00 00 	movabs $0x10000000000,%rax
140d8fc1b:	01 00 00
140d8fc1e:	48 bd 01 00 00 00 00 	movabs $0x8000000000000001,%rbp
140d8fc25:	00 00 80
140d8fc28:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140d8fc2d:	48 b8 00 00 00 00 00 	movabs $0x20000000000,%rax
140d8fc34:	02 00 00
140d8fc37:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140d8fc3c:	48 b8 00 00 00 00 00 	movabs $0x40000000000,%rax
140d8fc43:	04 00 00
140d8fc46:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140d8fc4b:	48 b8 00 00 00 00 00 	movabs $0x80000000000,%rax
140d8fc52:	08 00 00
140d8fc55:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140d8fc5a:	48 b8 00 00 00 00 00 	movabs $0x100000000000,%rax
140d8fc61:	10 00 00
140d8fc64:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140d8fc69:	48 b8 00 00 00 00 00 	movabs $0x200000000000,%rax
140d8fc70:	20 00 00
140d8fc73:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140d8fc78:	48 b8 00 00 00 00 00 	movabs $0x400000000000,%rax
140d8fc7f:	40 00 00
140d8fc82:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140d8fc87:	48 b8 00 00 00 00 00 	movabs $0x800000000000,%rax
140d8fc8e:	80 00 00
140d8fc91:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140d8fc96:	48 b8 00 00 00 00 00 	movabs $0x1000000000000,%rax
140d8fc9d:	00 01 00
140d8fca0:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
140d8fca7:	00
140d8fca8:	48 b8 00 00 00 00 00 	movabs $0x2000000000000,%rax
140d8fcaf:	00 02 00
140d8fcb2:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140d8fcb9:	00
140d8fcba:	48 b8 00 00 00 00 00 	movabs $0x4000000000000,%rax
140d8fcc1:	00 04 00
140d8fcc4:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
140d8fccb:	00
140d8fccc:	48 b8 00 00 00 00 00 	movabs $0x8000000000000,%rax
140d8fcd3:	00 08 00
140d8fcd6:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140d8fcdd:	00
140d8fcde:	48 b8 00 00 00 00 00 	movabs $0x10000000000000,%rax
140d8fce5:	00 10 00
140d8fce8:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
140d8fcef:	00
140d8fcf0:	48 b8 00 00 00 00 00 	movabs $0x20000000000000,%rax
140d8fcf7:	00 20 00
140d8fcfa:	48 89 84 24 a8 00 00 	mov    %rax,0xa8(%rsp)
140d8fd01:	00
140d8fd02:	48 b8 00 00 00 00 00 	movabs $0x40000000000000,%rax
140d8fd09:	00 40 00
140d8fd0c:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
140d8fd13:	00
140d8fd14:	48 b8 00 00 00 00 00 	movabs $0x80000000000000,%rax
140d8fd1b:	00 80 00
140d8fd1e:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
140d8fd25:	00
140d8fd26:	48 b8 00 00 00 00 00 	movabs $0x100000000000000,%rax
140d8fd2d:	00 00 01
140d8fd30:	48 89 84 24 c0 00 00 	mov    %rax,0xc0(%rsp)
140d8fd37:	00
140d8fd38:	48 b8 00 00 00 00 00 	movabs $0x200000000000000,%rax
140d8fd3f:	00 00 02
140d8fd42:	48 89 84 24 c8 00 00 	mov    %rax,0xc8(%rsp)
140d8fd49:	00
140d8fd4a:	48 b8 00 00 00 00 00 	movabs $0x400000000000000,%rax
140d8fd51:	00 00 04
140d8fd54:	48 89 84 24 d0 00 00 	mov    %rax,0xd0(%rsp)
140d8fd5b:	00
140d8fd5c:	48 b8 00 00 00 00 00 	movabs $0x800000000000000,%rax
140d8fd63:	00 00 08
140d8fd66:	48 89 84 24 d8 00 00 	mov    %rax,0xd8(%rsp)
140d8fd6d:	00
140d8fd6e:	48 b8 00 00 00 00 00 	movabs $0x1000000000000000,%rax
140d8fd75:	00 00 10
140d8fd78:	48 89 84 24 e0 00 00 	mov    %rax,0xe0(%rsp)
140d8fd7f:	00
140d8fd80:	48 b8 00 00 00 00 00 	movabs $0x2000000000000000,%rax
140d8fd87:	00 00 20
140d8fd8a:	48 89 84 24 e8 00 00 	mov    %rax,0xe8(%rsp)
140d8fd91:	00
140d8fd92:	48 b8 00 00 00 00 00 	movabs $0x4000000000000000,%rax
140d8fd99:	00 00 40
140d8fd9c:	48 89 84 24 f0 00 00 	mov    %rax,0xf0(%rsp)
140d8fda3:	00
140d8fda4:	0f 1f 40 00          	nopl   0x0(%rax)
140d8fda8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140d8fdaf:	00
140d8fdb0:	48 8b 06             	mov    (%rsi),%rax
140d8fdb3:	4a 8b 0c c0          	mov    (%rax,%r8,8),%rcx
140d8fdb7:	48 8b d1             	mov    %rcx,%rdx
140d8fdba:	48 8b c1             	mov    %rcx,%rax
140d8fdbd:	48 d1 ea             	shr    $1,%rdx
140d8fdc0:	49 23 c3             	and    %r11,%rax
140d8fdc3:	49 23 d2             	and    %r10,%rdx
140d8fdc6:	48 0b d0             	or     %rax,%rdx
140d8fdc9:	48 8b c1             	mov    %rcx,%rax
140d8fdcc:	49 23 c4             	and    %r12,%rax
140d8fdcf:	48 d1 ea             	shr    $1,%rdx
140d8fdd2:	48 0b d0             	or     %rax,%rdx
140d8fdd5:	48 8b c1             	mov    %rcx,%rax
140d8fdd8:	49 23 c5             	and    %r13,%rax
140d8fddb:	48 d1 ea             	shr    $1,%rdx
140d8fdde:	48 0b d0             	or     %rax,%rdx