1401cad76:	c1 e9 1f             	shr    $0x1f,%ecx
1401cad79:	c1 e8 1f             	shr    $0x1f,%eax
1401cad7c:	23 c1                	and    %ecx,%eax
1401cad7e:	8d 4a ff             	lea    -0x1(%rdx),%ecx
1401cad81:	c1 e9 1f             	shr    $0x1f,%ecx
1401cad84:	f7 d8                	neg    %eax
1401cad86:	83 e0 01             	and    $0x1,%eax
1401cad89:	f7 d2                	not    %edx
1401cad8b:	c1 ea 1f             	shr    $0x1f,%edx
1401cad8e:	48 f7 d8             	neg    %rax
1401cad91:	23 ca                	and    %edx,%ecx
1401cad93:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401cad98:	f7 d9                	neg    %ecx
1401cad9a:	83 e1 01             	and    $0x1,%ecx
1401cad9d:	48 f7 d9             	neg    %rcx
1401cada0:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1401cada5:	45 85 f6             	test   %r14d,%r14d
1401cada8:	0f 8e 1e 01 00 00    	jle    0x1401caecc
1401cadae:	4c 89 a4 24 b8 00 00 	mov    %r12,0xb8(%rsp)
1401cadb5:	00
1401cadb6:	4c 89 7c 24 60       	mov    %r15,0x60(%rsp)
1401cadbb:	45 33 ff             	xor    %r15d,%r15d
1401cadbe:	48 63 c3             	movslq %ebx,%rax
1401cadc1:	48 c1 e0 03          	shl    $0x3,%rax
1401cadc5:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1401cadca:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1401cadcf:	90                   	nop
1401cadd0:	33 db                	xor    %ebx,%ebx
1401cadd2:	45 33 d2             	xor    %r10d,%r10d
1401cadd5:	48 85 ed             	test   %rbp,%rbp
1401cadd8:	0f 8e b0 00 00 00    	jle    0x1401cae8e
1401cadde:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
1401cade3:	48 8b c5             	mov    %rbp,%rax
1401cade6:	4c 8b 7c 24 38       	mov    0x38(%rsp),%r15
1401cadeb:	48 f7 d8             	neg    %rax
1401cadee:	4c 8b cd             	mov    %rbp,%r9
1401cadf1:	4c 8b dd             	mov    %rbp,%r11
1401cadf4:	49 c1 e1 04          	shl    $0x4,%r9
1401cadf8:	49 f7 db             	neg    %r11
1401cadfb:	4c 03 cf             	add    %rdi,%r9
1401cadfe:	4c 8b f5             	mov    %rbp,%r14
1401cae01:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1401cae06:	4c 8d 24 c5 00 00 00 	lea    0x0(,%rax,8),%r12
1401cae0d:	00
1401cae0e:	4d 03 db             	add    %r11,%r11
1401cae11:	49 8b 04 e9          	mov    (%r9,%rbp,8),%rax
1401cae15:	4d 8d 49 08          	lea    0x8(%r9),%r9
1401cae19:	48 23 c1             	and    %rcx,%rax
1401cae1c:	45 8b c2             	mov    %r10d,%r8d
1401cae1f:	49 8b 49 f8          	mov    -0x8(%r9),%rcx
1401cae23:	44 33 c6             	xor    %esi,%r8d
1401cae26:	4b 8b 54 0c f8       	mov    -0x8(%r12,%r9,1),%rdx
1401cae2b:	48 23 cf             	and    %rdi,%rcx
1401cae2e:	48 0b c8             	or     %rax,%rcx
1401cae31:	49 23 d7             	and    %r15,%rdx
1401cae34:	4b 8b 44 d9 f8       	mov    -0x8(%r9,%r11,8),%rax
1401cae39:	48 0b d1             	or     %rcx,%rdx
1401cae3c:	41 8d 48 ff          	lea    -0x1(%r8),%ecx
1401cae40:	49 23 c5             	and    %r13,%rax
1401cae43:	c1 e9 1f             	shr    $0x1f,%ecx
1401cae46:	48 0b c2             	or     %rdx,%rax
1401cae49:	41 f7 d0             	not    %r8d
1401cae4c:	41 ff c2             	inc    %r10d
1401cae4f:	41 c1 e8 1f          	shr    $0x1f,%r8d
1401cae53:	41 23 c8             	and    %r8d,%ecx
1401cae56:	f7 d9                	neg    %ecx
1401cae58:	83 e1 01             	and    $0x1,%ecx
1401cae5b:	48 f7 d9             	neg    %rcx
1401cae5e:	48 23 c8             	and    %rax,%rcx
1401cae61:	48 0b d9             	or     %rcx,%rbx
1401cae64:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
1401cae69:	49 83 ee 01          	sub    $0x1,%r14
1401cae6d:	75 a2                	jne    0x1401cae11
1401cae6f:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
1401cae76:	00
1401cae77:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
1401cae7c:	4c 8b ac 24 a0 00 00 	mov    0xa0(%rsp),%r13
1401cae83:	00
1401cae84:	4c 8b 5c 24 48       	mov    0x48(%rsp),%r11
1401cae89:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1401cae8e:	49 8b 4d 00          	mov    0x0(%r13),%rcx
1401cae92:	48 03 f8             	add    %rax,%rdi
1401cae95:	48 89 bc 24 b0 00 00 	mov    %rdi,0xb0(%rsp)
1401cae9c:	00
1401cae9d:	4a 89 1c f9          	mov    %rbx,(%rcx,%r15,8)
1401caea1:	49 ff c7             	inc    %r15
1401caea4:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
1401caea9:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1401caeae:	4d 3b fb             	cmp    %r11,%r15
1401caeb1:	0f 8c 19 ff ff ff    	jl     0x1401cadd0
1401caeb7:	44 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14d
1401caebe:	00
1401caebf:	4c 8b 7c 24 60       	mov    0x60(%rsp),%r15
1401caec4:	4c 8b a4 24 b8 00 00 	mov    0xb8(%rsp),%r12
1401caecb:	00
1401caecc:	45 89 75 08          	mov    %r14d,0x8(%r13)
1401caed0:	b8 01 00 00 00       	mov    $0x1,%eax
1401caed5:	48 83 c4 68          	add    $0x68,%rsp
1401caed9:	41 5e                	pop    %r14
1401caedb:	41 5d                	pop    %r13
1401caedd:	5f                   	pop    %rdi
1401caede:	5e                   	pop    %rsi
1401caedf:	5d                   	pop    %rbp
1401caee0:	5b                   	pop    %rbx
1401caee1:	c3                   	ret
1401caee2:	cc                   	int3
1401caee3:	cc                   	int3
1401caee4:	cc                   	int3
1401caee5:	cc                   	int3
1401caee6:	cc                   	int3
1401caee7:	cc                   	int3
1401caee8:	cc                   	int3
1401caee9:	cc                   	int3
1401caeea:	cc                   	int3
1401caeeb:	cc                   	int3
1401caeec:	cc                   	int3
1401caeed:	cc                   	int3
1401caeee:	cc                   	int3
1401caeef:	cc                   	int3
1401caef0:	8b c2                	mov    %edx,%eax
1401caef2:	4c 8b d9             	mov    %rcx,%r11
1401caef5:	99                   	cltd
1401caef6:	83 e2 3f             	and    $0x3f,%edx
1401caef9:	03 c2                	add    %edx,%eax
1401caefb:	44 8b c0             	mov    %eax,%r8d
1401caefe:	83 e0 3f             	and    $0x3f,%eax
1401caf01:	2b c2                	sub    %edx,%eax
1401caf03:	41 c1 f8 06          	sar    $0x6,%r8d
1401caf07:	8b c8                	mov    %eax,%ecx
1401caf09:	45 85 c0             	test   %r8d,%r8d
1401caf0c:	78 3d                	js     0x1401caf4b
1401caf0e:	45 8b 4b 08          	mov    0x8(%r11),%r9d
1401caf12:	45 3b c1             	cmp    %r9d,%r8d
1401caf15:	7d 34                	jge    0x1401caf4b
1401caf17:	4d 8b 1b             	mov    (%r11),%r11
1401caf1a:	4d 63 d0             	movslq %r8d,%r10
1401caf1d:	4b 8b 14 d3          	mov    (%r11,%r10,8),%rdx
1401caf21:	85 c0                	test   %eax,%eax
1401caf23:	74 22                	je     0x1401caf47
1401caf25:	48 d3 ea             	shr    %cl,%rdx
1401caf28:	41 8d 40 01          	lea    0x1(%r8),%eax
1401caf2c:	41 3b c1             	cmp    %r9d,%eax
1401caf2f:	7d 16                	jge    0x1401caf47
1401caf31:	b8 40 00 00 00       	mov    $0x40,%eax
1401caf36:	2b c1                	sub    %ecx,%eax
1401caf38:	0f b6 c8             	movzbl %al,%ecx
1401caf3b:	4b 8b 44 d3 08       	mov    0x8(%r11,%r10,8),%rax
1401caf40:	48 d3 e0             	shl    %cl,%rax
1401caf43:	48 0b c2             	or     %rdx,%rax
1401caf46:	c3                   	ret
1401caf47:	48 8b c2             	mov    %rdx,%rax
1401caf4a:	c3                   	ret
1401caf4b:	33 c0                	xor    %eax,%eax
1401caf4d:	c3                   	ret
1401caf4e:	cc                   	int3
1401caf4f:	cc                   	int3
1401caf50:	85 c9                	test   %ecx,%ecx
1401caf52:	7e 1d                	jle    0x1401caf71
1401caf54:	33 c0                	xor    %eax,%eax
1401caf56:	48 8d 15 cb 32 16 00 	lea    0x1632cb(%rip),%rdx        # 0x14032e228
1401caf5d:	0f 1f 00             	nopl   (%rax)
1401caf60:	39 0a                	cmp    %ecx,(%rdx)
1401caf62:	74 10                	je     0x1401caf74
1401caf64:	48 ff c0             	inc    %rax
1401caf67:	48 83 c2 10          	add    $0x10,%rdx
1401caf6b:	48 83 f8 52          	cmp    $0x52,%rax
1401caf6f:	72 ef                	jb     0x1401caf60
1401caf71:	33 c0                	xor    %eax,%eax
1401caf73:	c3                   	ret
1401caf74:	48 03 c0             	add    %rax,%rax
1401caf77:	48 8d 0d a2 32 16 00 	lea    0x1632a2(%rip),%rcx        # 0x14032e220
1401caf7e:	48 8b 04 c1          	mov    (%rcx,%rax,8),%rax
1401caf82:	c3                   	ret
1401caf83:	cc                   	int3
1401caf84:	cc                   	int3
1401caf85:	cc                   	int3
1401caf86:	cc                   	int3
1401caf87:	cc                   	int3
1401caf88:	cc                   	int3
1401caf89:	cc                   	int3
1401caf8a:	cc                   	int3
1401caf8b:	cc                   	int3
1401caf8c:	cc                   	int3
1401caf8d:	cc                   	int3
1401caf8e:	cc                   	int3
1401caf8f:	cc                   	int3
1401caf90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401caf95:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401caf9a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401caf9f:	57                   	push   %rdi
1401cafa0:	b8 20 00 00 00       	mov    $0x20,%eax
1401cafa5:	e8 86 5b 0e 00       	call   0x1402b0b30
1401cafaa:	48 2b e0             	sub    %rax,%rsp
1401cafad:	48 8b f1             	mov    %rcx,%rsi
1401cafb0:	48 85 c9             	test   %rcx,%rcx
1401cafb3:	74 77                	je     0x1401cb02c
1401cafb5:	33 ff                	xor    %edi,%edi
1401cafb7:	4c 8d 1d 82 37 16 00 	lea    0x163782(%rip),%r11        # 0x14032e740
1401cafbe:	44 8b cf             	mov    %edi,%r9d
1401cafc1:	4d 8b d3             	mov    %r11,%r10
1401cafc4:	49 8b 02             	mov    (%r10),%rax
1401cafc7:	4c 8b c6             	mov    %rsi,%r8
1401cafca:	4c 2b c0             	sub    %rax,%r8
1401cafcd:	0f 1f 00             	nopl   (%rax)
1401cafd0:	0f b6 10             	movzbl (%rax),%edx
1401cafd3:	42 0f b6 0c 00       	movzbl (%rax,%r8,1),%ecx
1401cafd8:	2b d1                	sub    %ecx,%edx
1401cafda:	75 07                	jne    0x1401cafe3
1401cafdc:	48 ff c0             	inc    %rax
1401cafdf:	85 c9                	test   %ecx,%ecx
1401cafe1:	75 ed                	jne    0x1401cafd0
1401cafe3:	85 d2                	test   %edx,%edx
1401cafe5:	74 0f                	je     0x1401caff6
1401cafe7:	49 ff c1             	inc    %r9
1401cafea:	49 83 c2 10          	add    $0x10,%r10
1401cafee:	49 83 f9 0f          	cmp    $0xf,%r9
1401caff2:	72 d0                	jb     0x1401cafc4
1401caff4:	eb 0c                	jmp    0x1401cb002
1401caff6:	4d 03 c9             	add    %r9,%r9
1401caff9:	43 8b 44 cb 08       	mov    0x8(%r11,%r9,8),%eax
1401caffe:	85 c0                	test   %eax,%eax
1401cb000:	75 2c                	jne    0x1401cb02e
1401cb002:	48 8d 2d 17 32 16 00 	lea    0x163217(%rip),%rbp        # 0x14032e220
1401cb009:	48 8b dd             	mov    %rbp,%rbx
1401cb00c:	0f 1f 40 00          	nopl   0x0(%rax)
1401cb010:	48 8b 0b             	mov    (%rbx),%rcx
1401cb013:	48 8b d6             	mov    %rsi,%rdx
1401cb016:	e8 a5 f5 f5 ff       	call   0x14012a5c0
1401cb01b:	85 c0                	test   %eax,%eax
1401cb01d:	74 24                	je     0x1401cb043
1401cb01f:	48 ff c7             	inc    %rdi
1401cb022:	48 83 c3 10          	add    $0x10,%rbx
1401cb026:	48 83 ff 52          	cmp    $0x52,%rdi
1401cb02a:	72 e4                	jb     0x1401cb010
1401cb02c:	33 c0                	xor    %eax,%eax
1401cb02e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401cb033:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1401cb038:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1401cb03d:	48 83 c4 20          	add    $0x20,%rsp
1401cb041:	5f                   	pop    %rdi
1401cb042:	c3                   	ret
1401cb043:	48 03 ff             	add    %rdi,%rdi
1401cb046:	8b 44 fd 08          	mov    0x8(%rbp,%rdi,8),%eax
1401cb04a:	eb e2                	jmp    0x1401cb02e
1401cb04c:	cc                   	int3
1401cb04d:	cc                   	int3
1401cb04e:	cc                   	int3
1401cb04f:	cc                   	int3
1401cb050:	33 c0                	xor    %eax,%eax
1401cb052:	48 8d 15 ef 36 16 00 	lea    0x1636ef(%rip),%rdx        # 0x14032e748
1401cb059:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401cb060:	39 0a                	cmp    %ecx,(%rdx)
1401cb062:	74 10                	je     0x1401cb074
1401cb064:	48 ff c0             	inc    %rax
1401cb067:	48 83 c2 10          	add    $0x10,%rdx
1401cb06b:	48 83 f8 0f          	cmp    $0xf,%rax
1401cb06f:	72 ef                	jb     0x1401cb060
1401cb071:	33 c0                	xor    %eax,%eax
1401cb073:	c3                   	ret
1401cb074:	48 03 c0             	add    %rax,%rax
1401cb077:	48 8d 0d c2 36 16 00 	lea    0x1636c2(%rip),%rcx        # 0x14032e740
1401cb07e:	48 8b 04 c1          	mov    (%rcx,%rax,8),%rax
1401cb082:	c3                   	ret
1401cb083:	cc                   	int3
1401cb084:	cc                   	int3
1401cb085:	cc                   	int3
1401cb086:	cc                   	int3
1401cb087:	cc                   	int3
1401cb088:	cc                   	int3
1401cb089:	cc                   	int3
1401cb08a:	cc                   	int3
1401cb08b:	cc                   	int3
1401cb08c:	cc                   	int3
1401cb08d:	cc                   	int3
1401cb08e:	cc                   	int3
1401cb08f:	cc                   	int3
1401cb090:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401cb095:	48 8d 1d a4 36 16 00 	lea    0x1636a4(%rip),%rbx        # 0x14032e740
1401cb09c:	4c 8b d9             	mov    %rcx,%r11
1401cb09f:	4c 8b d3             	mov    %rbx,%r10
1401cb0a2:	45 33 c9             	xor    %r9d,%r9d
1401cb0a5:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
1401cb0ac:	00 00 00 00
1401cb0b0:	49 8b 02             	mov    (%r10),%rax
1401cb0b3:	4d 8b c3             	mov    %r11,%r8
1401cb0b6:	4c 2b c0             	sub    %rax,%r8
1401cb0b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401cb0c0:	0f b6 10             	movzbl (%rax),%edx
1401cb0c3:	42 0f b6 0c 00       	movzbl (%rax,%r8,1),%ecx
1401cb0c8:	2b d1                	sub    %ecx,%edx
1401cb0ca:	75 07                	jne    0x1401cb0d3
1401cb0cc:	48 ff c0             	inc    %rax
1401cb0cf:	85 c9                	test   %ecx,%ecx
1401cb0d1:	75 ed                	jne    0x1401cb0c0
1401cb0d3:	85 d2                	test   %edx,%edx
1401cb0d5:	74 15                	je     0x1401cb0ec
1401cb0d7:	49 ff c1             	inc    %r9
1401cb0da:	49 83 c2 10          	add    $0x10,%r10
1401cb0de:	49 83 f9 0f          	cmp    $0xf,%r9
1401cb0e2:	72 cc                	jb     0x1401cb0b0
1401cb0e4:	33 c0                	xor    %eax,%eax
1401cb0e6:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1401cb0eb:	c3                   	ret
1401cb0ec:	4d 03 c9             	add    %r9,%r9
1401cb0ef:	42 8b 44 cb 08       	mov    0x8(%rbx,%r9,8),%eax
1401cb0f4:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1401cb0f9:	c3                   	ret
1401cb0fa:	cc                   	int3
1401cb0fb:	cc                   	int3
1401cb0fc:	cc                   	int3
1401cb0fd:	cc                   	int3
1401cb0fe:	cc                   	int3
1401cb0ff:	cc                   	int3
1401cb100:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401cb105:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1401cb10a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401cb10f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401cb114:	41 56                	push   %r14
1401cb116:	b8 30 00 00 00       	mov    $0x30,%eax
1401cb11b:	e8 10 5a 0e 00       	call   0x1402b0b30
1401cb120:	48 2b e0             	sub    %rax,%rsp
1401cb123:	49 8b f9             	mov    %r9,%rdi
1401cb126:	49 8b f0             	mov    %r8,%rsi
1401cb129:	48 8b ea             	mov    %rdx,%rbp
1401cb12c:	4c 8b f1             	mov    %rcx,%r14
1401cb12f:	e8 9c 30 06 00       	call   0x14022e1d0
1401cb134:	48 8b cf             	mov    %rdi,%rcx
1401cb137:	48 8b d8             	mov    %rax,%rbx
1401cb13a:	e8 71 00 f9 ff       	call   0x14015b1b0
1401cb13f:	48 8b c8             	mov    %rax,%rcx
1401cb142:	4c 8b c3             	mov    %rbx,%r8
1401cb145:	33 d2                	xor    %edx,%edx
1401cb147:	e8 c4 07 f8 ff       	call   0x14014b910
1401cb14c:	48 8b d8             	mov    %rax,%rbx
1401cb14f:	48 85 c0             	test   %rax,%rax
1401cb152:	74 22                	je     0x1401cb176
1401cb154:	4c 8b ce             	mov    %rsi,%r9
1401cb157:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401cb15c:	4c 8b c5             	mov    %rbp,%r8
1401cb15f:	49 8b d6             	mov    %r14,%rdx
1401cb162:	48 8b c8             	mov    %rax,%rcx
1401cb165:	e8 c6 f0 f7 ff       	call   0x14014a230
1401cb16a:	85 c0                	test   %eax,%eax
1401cb16c:	75 0c                	jne    0x1401cb17a
1401cb16e:	48 8b cb             	mov    %rbx,%rcx
1401cb171:	e8 fa e3 f7 ff       	call   0x140149570
1401cb176:	33 c0                	xor    %eax,%eax
1401cb178:	eb 03                	jmp    0x1401cb17d
1401cb17a:	48 8b c3             	mov    %rbx,%rax
1401cb17d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx