180106e87:	41 5e                	pop    %r14
180106e89:	41 5d                	pop    %r13
180106e8b:	41 5c                	pop    %r12
180106e8d:	5f                   	pop    %rdi
180106e8e:	5e                   	pop    %rsi
180106e8f:	5d                   	pop    %rbp
180106e90:	c3                   	ret
180106e91:	cc                   	int3
180106e92:	cc                   	int3
180106e93:	cc                   	int3
180106e94:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180106e99:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180106e9e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180106ea3:	57                   	push   %rdi
180106ea4:	41 56                	push   %r14
180106ea6:	41 57                	push   %r15
180106ea8:	48 83 ec 50          	sub    $0x50,%rsp
180106eac:	4d 8b f0             	mov    %r8,%r14
180106eaf:	4c 8b fa             	mov    %rdx,%r15
180106eb2:	8b e9                	mov    %ecx,%ebp
180106eb4:	e8 5f fa f7 ff       	call   0x180086918
180106eb9:	8b d8                	mov    %eax,%ebx
180106ebb:	85 c0                	test   %eax,%eax
180106ebd:	78 6e                	js     0x180106f2d
180106ebf:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180106ec4:	8b cd                	mov    %ebp,%ecx
180106ec6:	e8 4d 1e f6 ff       	call   0x180068d18
180106ecb:	8b d8                	mov    %eax,%ebx
180106ecd:	85 c0                	test   %eax,%eax
180106ecf:	78 5c                	js     0x180106f2d
180106ed1:	8b 74 24 30          	mov    0x30(%rsp),%esi
180106ed5:	8b ce                	mov    %esi,%ecx
180106ed7:	e8 74 2f f9 ff       	call   0x180099e50
180106edc:	48 8b f8             	mov    %rax,%rdi
180106edf:	48 85 c0             	test   %rax,%rax
180106ee2:	75 07                	jne    0x180106eeb
180106ee4:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180106ee9:	eb 42                	jmp    0x180106f2d
180106eeb:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
180106ef0:	4c 8b cf             	mov    %rdi,%r9
180106ef3:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
180106ef9:	45 33 c0             	xor    %r8d,%r8d
180106efc:	8b d6                	mov    %esi,%edx
180106efe:	8b cd                	mov    %ebp,%ecx
180106f00:	e8 4b 20 f6 ff       	call   0x180068f50
180106f05:	8b d8                	mov    %eax,%ebx
180106f07:	85 c0                	test   %eax,%eax
180106f09:	78 1a                	js     0x180106f25
180106f0b:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180106f10:	8b cd                	mov    %ebp,%ecx
180106f12:	e8 51 1e f6 ff       	call   0x180068d68
180106f17:	8b d8                	mov    %eax,%ebx
180106f19:	85 c0                	test   %eax,%eax
180106f1b:	78 08                	js     0x180106f25
180106f1d:	49 89 3f             	mov    %rdi,(%r15)
180106f20:	41 89 36             	mov    %esi,(%r14)
180106f23:	eb 08                	jmp    0x180106f2d
180106f25:	48 8b cf             	mov    %rdi,%rcx
180106f28:	e8 cf 30 f9 ff       	call   0x180099ffc
180106f2d:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
180106f32:	8b c3                	mov    %ebx,%eax
180106f34:	49 8b 5b 20          	mov    0x20(%r11),%rbx
180106f38:	49 8b 6b 28          	mov    0x28(%r11),%rbp
180106f3c:	49 8b 73 30          	mov    0x30(%r11),%rsi
180106f40:	49 8b e3             	mov    %r11,%rsp
180106f43:	41 5f                	pop    %r15
180106f45:	41 5e                	pop    %r14
180106f47:	5f                   	pop    %rdi
180106f48:	c3                   	ret
180106f49:	cc                   	int3
180106f4a:	cc                   	int3
180106f4b:	cc                   	int3
180106f4c:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
180106f51:	55                   	push   %rbp
180106f52:	56                   	push   %rsi
180106f53:	57                   	push   %rdi
180106f54:	48 8b ec             	mov    %rsp,%rbp
180106f57:	48 83 ec 60          	sub    $0x60,%rsp
180106f5b:	83 4d 20 ff          	orl    $0xffffffff,0x20(%rbp)
180106f5f:	0f 57 c0             	xorps  %xmm0,%xmm0
180106f62:	48 8b 71 08          	mov    0x8(%rcx),%rsi
180106f66:	33 db                	xor    %ebx,%ebx
180106f68:	38 1d 2e ea 08 00    	cmp    %bl,0x8ea2e(%rip)        # 0x18019599c
180106f6e:	48 8b f9             	mov    %rcx,%rdi
180106f71:	0f 11 45 e0          	movups %xmm0,-0x20(%rbp)
180106f75:	0f 11 45 f0          	movups %xmm0,-0x10(%rbp)
180106f79:	74 31                	je     0x180106fac
180106f7b:	44 8b 01             	mov    (%rcx),%r8d
180106f7e:	4c 8d 4d 28          	lea    0x28(%rbp),%r9
180106f82:	48 8b 0d 17 ea 08 00 	mov    0x8ea17(%rip),%rcx        # 0x1801959a0
180106f89:	8b 15 09 ea 08 00    	mov    0x8ea09(%rip),%edx        # 0x180195998
180106f8f:	e8 24 38 f8 ff       	call   0x18008a7b8
180106f94:	48 8b d8             	mov    %rax,%rbx
180106f97:	48 85 c0             	test   %rax,%rax
180106f9a:	0f 85 27 01 00 00    	jne    0x1801070c7
180106fa0:	81 3f c9 00 00 00    	cmpl   $0xc9,(%rdi)
180106fa6:	0f 83 1b 01 00 00    	jae    0x1801070c7
180106fac:	8b 0d 86 5b 06 00    	mov    0x65b86(%rip),%ecx        # 0x18016cb38
180106fb2:	4c 8d 4d 20          	lea    0x20(%rbp),%r9
180106fb6:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180106fbc:	48 8b d6             	mov    %rsi,%rdx
180106fbf:	e8 58 14 f6 ff       	call   0x18006841c
180106fc4:	8b 75 20             	mov    0x20(%rbp),%esi
180106fc7:	8b f8                	mov    %eax,%edi
180106fc9:	85 c0                	test   %eax,%eax
180106fcb:	0f 88 d4 00 00 00    	js     0x1801070a5
180106fd1:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
180106fd5:	8b ce                	mov    %esi,%ecx
180106fd7:	e8 3c 1d f6 ff       	call   0x180068d18
180106fdc:	8b f8                	mov    %eax,%edi
180106fde:	85 c0                	test   %eax,%eax
180106fe0:	0f 88 bf 00 00 00    	js     0x1801070a5
180106fe6:	8b 1d 44 ea 08 00    	mov    0x8ea44(%rip),%ebx        # 0x180195a30
180106fec:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
180106ff0:	c1 eb 1b             	shr    $0x1b,%ebx
180106ff3:	83 e3 01             	and    $0x1,%ebx
180106ff6:	c1 e3 11             	shl    $0x11,%ebx
180106ff9:	3d 00 10 00 00       	cmp    $0x1000,%eax
180106ffe:	77 0c                	ja     0x18010700c
180107000:	8b c8                	mov    %eax,%ecx
180107002:	e8 49 2e f9 ff       	call   0x180099e50
180107007:	48 8b d8             	mov    %rax,%rbx
18010700a:	eb 6d                	jmp    0x180107079
18010700c:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
180107011:	8d b8 ff 0f 00 00    	lea    0xfff(%rax),%edi
180107017:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
18010701d:	48 8d 4d 20          	lea    0x20(%rbp),%rcx
180107021:	b8 00 f0 ff ff       	mov    $0xfffff000,%eax
180107026:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
18010702d:	00
18010702e:	48 23 f8             	and    %rax,%rdi
180107031:	44 8b cb             	mov    %ebx,%r9d
180107034:	48 8b d7             	mov    %rdi,%rdx
180107037:	41 b8 0e 00 00 d0    	mov    $0xd000000e,%r8d
18010703d:	48 c1 ea 0c          	shr    $0xc,%rdx
180107041:	e8 a6 08 f9 ff       	call   0x1800978ec
180107046:	85 c0                	test   %eax,%eax
180107048:	79 04                	jns    0x18010704e
18010704a:	33 db                	xor    %ebx,%ebx
18010704c:	eb 30                	jmp    0x18010707e
18010704e:	48 8b 55 20          	mov    0x20(%rbp),%rdx
180107052:	48 8d 4d 28          	lea    0x28(%rbp),%rcx
180107056:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18010705b:	44 8b cb             	mov    %ebx,%r9d
18010705e:	4c 8b c7             	mov    %rdi,%r8
180107061:	e8 ba 34 f9 ff       	call   0x18009a520
180107066:	85 c0                	test   %eax,%eax
180107068:	79 0b                	jns    0x180107075
18010706a:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18010706e:	e8 e9 0a f9 ff       	call   0x180097b5c
180107073:	eb d5                	jmp    0x18010704a
180107075:	48 8b 5d 28          	mov    0x28(%rbp),%rbx
180107079:	48 85 db             	test   %rbx,%rbx
18010707c:	75 07                	jne    0x180107085
18010707e:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
180107083:	eb 20                	jmp    0x1801070a5
180107085:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18010708a:	48 8d 45 30          	lea    0x30(%rbp),%rax
18010708e:	8b 55 e0             	mov    -0x20(%rbp),%edx
180107091:	4c 8b cb             	mov    %rbx,%r9
180107094:	45 33 c0             	xor    %r8d,%r8d
180107097:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18010709c:	8b ce                	mov    %esi,%ecx
18010709e:	e8 ad 1e f6 ff       	call   0x180068f50
1801070a3:	8b f8                	mov    %eax,%edi
1801070a5:	83 fe ff             	cmp    $0xffffffff,%esi
1801070a8:	74 07                	je     0x1801070b1
1801070aa:	8b ce                	mov    %esi,%ecx
1801070ac:	e8 4f 14 f6 ff       	call   0x180068500
1801070b1:	85 ff                	test   %edi,%edi
1801070b3:	79 12                	jns    0x1801070c7
1801070b5:	48 85 db             	test   %rbx,%rbx
1801070b8:	74 0d                	je     0x1801070c7
1801070ba:	8b 55 e0             	mov    -0x20(%rbp),%edx
1801070bd:	48 8b cb             	mov    %rbx,%rcx
1801070c0:	e8 47 fb ff ff       	call   0x180106c0c
1801070c5:	33 db                	xor    %ebx,%ebx
1801070c7:	48 8b c3             	mov    %rbx,%rax
1801070ca:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
1801070d1:	00
1801070d2:	48 83 c4 60          	add    $0x60,%rsp
1801070d6:	5f                   	pop    %rdi
1801070d7:	5e                   	pop    %rsi
1801070d8:	5d                   	pop    %rbp
1801070d9:	c3                   	ret
1801070da:	cc                   	int3
1801070db:	cc                   	int3
1801070dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801070e1:	57                   	push   %rdi
1801070e2:	48 83 ec 30          	sub    $0x30,%rsp
1801070e6:	4c 8b d9             	mov    %rcx,%r11
1801070e9:	48 8b 09             	mov    (%rcx),%rcx
1801070ec:	48 85 c9             	test   %rcx,%rcx
1801070ef:	75 0a                	jne    0x1801070fb
1801070f1:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
1801070f6:	e9 c4 00 00 00       	jmp    0x1801071bf
1801070fb:	4d 8d 43 10          	lea    0x10(%r11),%r8
1801070ff:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180107104:	e8 4f 07 00 00       	call   0x180107858
180107109:	85 c0                	test   %eax,%eax
18010710b:	0f 88 ae 00 00 00    	js     0x1801071bf
180107111:	44 8b 0d b0 e8 08 00 	mov    0x8e8b0(%rip),%r9d        # 0x1801959c8
180107118:	48 bf 77 be 9f 1a 2f 	movabs $0x624dd2f1a9fbe77,%rdi
18010711f:	dd 24 06
180107122:	49 69 c9 90 01 00 00 	imul   $0x190,%r9,%rcx
180107129:	48 8b c7             	mov    %rdi,%rax
18010712c:	48 f7 e1             	mul    %rcx
18010712f:	8b 44 24 20          	mov    0x20(%rsp),%eax
180107133:	48 2b ca             	sub    %rdx,%rcx
180107136:	48 d1 e9             	shr    $1,%rcx
180107139:	48 03 ca             	add    %rdx,%rcx
18010713c:	48 c1 e9 09          	shr    $0x9,%rcx
180107140:	48 3b c8             	cmp    %rax,%rcx
180107143:	72 75                	jb     0x1801071ba
180107145:	8b 1d 79 e8 08 00    	mov    0x8e879(%rip),%ebx        # 0x1801959c4
18010714b:	48 8b c7             	mov    %rdi,%rax
18010714e:	44 8b 54 24 24       	mov    0x24(%rsp),%r10d
180107153:	4c 69 c3 90 01 00 00 	imul   $0x190,%rbx,%r8
18010715a:	49 f7 e0             	mul    %r8
18010715d:	4c 2b c2             	sub    %rdx,%r8
180107160:	49 d1 e8             	shr    $1,%r8
180107163:	4c 03 c2             	add    %rdx,%r8
180107166:	49 c1 e8 09          	shr    $0x9,%r8
18010716a:	4d 3b c2             	cmp    %r10,%r8
18010716d:	72 4b                	jb     0x1801071ba
18010716f:	44 2b 4c 24 20       	sub    0x20(%rsp),%r9d
180107174:	48 8b c7             	mov    %rdi,%rax
180107177:	f2 0f 10 44 24 20    	movsd  0x20(%rsp),%xmm0
18010717d:	41 d1 e9             	shr    $1,%r9d
180107180:	45 89 4b 14          	mov    %r9d,0x14(%r11)
180107184:	8b 0d ae e8 08 00    	mov    0x8e8ae(%rip),%ecx        # 0x180195a38
18010718a:	48 0f af cb          	imul   %rbx,%rcx
18010718e:	f2 41 0f 11 43 1c    	movsd  %xmm0,0x1c(%r11)
180107194:	41 d1 ea             	shr    $1,%r10d
180107197:	48 f7 e1             	mul    %rcx
18010719a:	8b 44 24 28          	mov    0x28(%rsp),%eax
18010719e:	48 2b ca             	sub    %rdx,%rcx
1801071a1:	41 89 43 24          	mov    %eax,0x24(%r11)
1801071a5:	48 d1 e9             	shr    $1,%rcx
1801071a8:	48 03 ca             	add    %rdx,%rcx
1801071ab:	48 c1 e9 09          	shr    $0x9,%rcx
1801071af:	41 2b ca             	sub    %r10d,%ecx
1801071b2:	41 89 4b 18          	mov    %ecx,0x18(%r11)
1801071b6:	33 c0                	xor    %eax,%eax
1801071b8:	eb 05                	jmp    0x1801071bf
1801071ba:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
1801071bf:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1801071c4:	48 83 c4 30          	add    $0x30,%rsp
1801071c8:	5f                   	pop    %rdi
1801071c9:	c3                   	ret
1801071ca:	cc                   	int3
1801071cb:	cc                   	int3
1801071cc:	4c 8b dc             	mov    %rsp,%r11
1801071cf:	49 89 5b 18          	mov    %rbx,0x18(%r11)
1801071d3:	49 89 73 20          	mov    %rsi,0x20(%r11)
1801071d7:	49 89 4b 08          	mov    %rcx,0x8(%r11)
1801071db:	55                   	push   %rbp
1801071dc:	57                   	push   %rdi
1801071dd:	41 56                	push   %r14
1801071df:	48 8b ec             	mov    %rsp,%rbp
1801071e2:	48 83 ec 60          	sub    $0x60,%rsp
1801071e6:	8b 35 dc e7 08 00    	mov    0x8e7dc(%rip),%esi        # 0x1801959c8
1801071ec:	4c 8d 4d 20          	lea    0x20(%rbp),%r9
1801071f0:	8b 3d ce e7 08 00    	mov    0x8e7ce(%rip),%edi        # 0x1801959c4
1801071f6:	4c 8d 05 3f 59 06 00 	lea    0x6593f(%rip),%r8        # 0x18016cb3c
1801071fd:	b8 52 e0 00 00       	mov    $0xe052,%eax
180107202:	3b fe                	cmp    %esi,%edi
180107204:	66 89 05 31 59 06 00 	mov    %ax,0x65931(%rip)        # 0x18016cb3c
18010720b:	44 8b f6             	mov    %esi,%r14d
18010720e:	44 0f 46 f7          	cmovbe %edi,%r14d
180107212:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
180107217:	41 8b ce             	mov    %r14d,%ecx
18010721a:	0f af 0d 1f e8 08 00 	imul   0x8e81f(%rip),%ecx        # 0x180195a40
180107221:	f7 e1                	mul    %ecx
180107223:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
180107227:	8b ca                	mov    %edx,%ecx
180107229:	49 89 43 b0          	mov    %rax,-0x50(%r11)
18010722d:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
180107231:	c1 e9 06             	shr    $0x6,%ecx
180107234:	33 d2                	xor    %edx,%edx
180107236:	49 89 43 a8          	mov    %rax,-0x58(%r11)
18010723a:	e8 11 11 00 00       	call   0x180108350
18010723f:	85 c0                	test   %eax,%eax
180107241:	0f 88 f9 00 00 00    	js     0x180107340
180107247:	8b 05 5f e9 08 00    	mov    0x8e95f(%rip),%eax        # 0x180195bac
18010724d:	bb 01 00 00 00       	mov    $0x1,%ebx
180107252:	89 45 e0             	mov    %eax,-0x20(%rbp)
180107255:	8b 05 55 e9 08 00    	mov    0x8e955(%rip),%eax        # 0x180195bb0
18010725b:	89 45 e4             	mov    %eax,-0x1c(%rbp)
18010725e:	89 5d f4             	mov    %ebx,-0xc(%rbp)
180107261:	3b f7                	cmp    %edi,%esi
180107263:	72 04                	jb     0x180107269
180107265:	33 ff                	xor    %edi,%edi
180107267:	eb 04                	jmp    0x18010726d
180107269:	2b fe                	sub    %esi,%edi
18010726b:	d1 ef                	shr    $1,%edi
18010726d:	44 0f af 35 c7 e7 08 	imul   0x8e7c7(%rip),%r14d        # 0x180195a3c
180107274:	00
180107275:	4c 8d 4d 20          	lea    0x20(%rbp),%r9
180107279:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18010727e:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
180107282:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
180107287:	d1 ee                	shr    $1,%esi
180107289:	c7 44 24 20 0a 00 00 	movl   $0xa,0x20(%rsp)
180107290:	00
180107291:	41 f7 e6             	mul    %r14d
180107294:	48 8b 45 20          	mov    0x20(%rbp),%rax
180107298:	8b c8                	mov    %eax,%ecx
18010729a:	c1 ea 06             	shr    $0x6,%edx
18010729d:	d1 e9                	shr    $1,%ecx
18010729f:	03 fa                	add    %edx,%edi
1801072a1:	2b f1                	sub    %ecx,%esi
1801072a3:	89 7d 2c             	mov    %edi,0x2c(%rbp)
1801072a6:	8b 4d 24             	mov    0x24(%rbp),%ecx
1801072a9:	48 8d 55 d0          	lea    -0x30(%rbp),%rdx
1801072ad:	48 83 65 20 00       	andq   $0x0,0x20(%rbp)
1801072b2:	89 4d d4             	mov    %ecx,-0x2c(%rbp)
1801072b5:	48 8d 4d 28          	lea    0x28(%rbp),%rcx
1801072b9:	89 75 28             	mov    %esi,0x28(%rbp)
1801072bc:	89 45 d0             	mov    %eax,-0x30(%rbp)
1801072bf:	e8 b4 20 00 00       	call   0x180109378
1801072c4:	85 c0                	test   %eax,%eax
1801072c6:	78 78                	js     0x180107340
1801072c8:	f7 05 5e e7 08 00 00 	testl  $0x4000,0x8e75e(%rip)        # 0x180195a30
1801072cf:	40 00 00
1801072d2:	74 66                	je     0x18010733a
1801072d4:	8b 05 f6 e6 08 00    	mov    0x8e6f6(%rip),%eax        # 0x1801959d0
1801072da:	83 f8 04             	cmp    $0x4,%eax
1801072dd:	75 05                	jne    0x1801072e4
1801072df:	8d 58 14             	lea    0x14(%rax),%ebx
1801072e2:	eb 0b                	jmp    0x1801072ef
1801072e4:	83 f8 05             	cmp    $0x5,%eax
1801072e7:	b9 20 00 00 00       	mov    $0x20,%ecx
1801072ec:	0f 44 d9             	cmove  %ecx,%ebx
1801072ef:	0f af 5d d0          	imul   -0x30(%rbp),%ebx
1801072f3:	0f af 5d d4          	imul   -0x2c(%rbp),%ebx
1801072f7:	83 c3 07             	add    $0x7,%ebx
1801072fa:	c1 eb 03             	shr    $0x3,%ebx
1801072fd:	83 c3 48             	add    $0x48,%ebx
180107300:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
180107306:	72 0c                	jb     0x180107314
180107308:	81 c3 ff 0f 00 00    	add    $0xfff,%ebx
18010730e:	81 e3 00 f0 ff ff    	and    $0xfffff000,%ebx
180107314:	8d 43 38             	lea    0x38(%rbx),%eax
180107317:	6b c8 7a             	imul   $0x7a,%eax,%ecx
18010731a:	e8 31 2b f9 ff       	call   0x180099e50
18010731f:	48 85 c0             	test   %rax,%rax
180107322:	75 0e                	jne    0x180107332
180107324:	48 8d 0d e5 5a 05 00 	lea    0x55ae5(%rip),%rcx        # 0x18015ce10
18010732b:	e8 b8 91 f8 ff       	call   0x1800904e8