180021e38:	48 8d 05 49 fe ff ff 	lea    -0x1b7(%rip),%rax        # 0x180021c88
180021e3f:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
180021e44:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180021e49:	e8 da 9c 10 00       	call   0x18012bb28
180021e4e:	48 85 c0             	test   %rax,%rax
180021e51:	74 37                	je     0x180021e8a
180021e53:	8b 4c 03 08          	mov    0x8(%rbx,%rax,1),%ecx
180021e57:	48 85 ff             	test   %rdi,%rdi
180021e5a:	74 07                	je     0x180021e63
180021e5c:	48 8b 04 03          	mov    (%rbx,%rax,1),%rax
180021e60:	48 89 07             	mov    %rax,(%rdi)
180021e63:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
180021e68:	48 85 d2             	test   %rdx,%rdx
180021e6b:	74 07                	je     0x180021e74
180021e6d:	8b c1                	mov    %ecx,%eax
180021e6f:	c1 e8 1f             	shr    $0x1f,%eax
180021e72:	88 02                	mov    %al,(%rdx)
180021e74:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
180021e79:	48 85 c0             	test   %rax,%rax
180021e7c:	74 08                	je     0x180021e86
180021e7e:	81 e1 ff ff ff 0f    	and    $0xfffffff,%ecx
180021e84:	89 08                	mov    %ecx,(%rax)
180021e86:	b0 01                	mov    $0x1,%al
180021e88:	eb 02                	jmp    0x180021e8c
180021e8a:	32 c0                	xor    %al,%al
180021e8c:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180021e91:	48 83 c4 30          	add    $0x30,%rsp
180021e95:	5f                   	pop    %rdi
180021e96:	c3                   	ret
180021e97:	cc                   	int3
180021e98:	48 83 ec 48          	sub    $0x48,%rsp
180021e9c:	83 64 24 34 00       	andl   $0x0,0x34(%rsp)
180021ea1:	8b 05 b1 33 17 00    	mov    0x1733b1(%rip),%eax        # 0x180195258
180021ea7:	85 c0                	test   %eax,%eax
180021ea9:	74 3a                	je     0x180021ee5
180021eab:	4c 8b c0             	mov    %rax,%r8
180021eae:	48 89 4c 24 38       	mov    %rcx,0x38(%rsp)
180021eb3:	41 b9 10 00 00 00    	mov    $0x10,%r9d
180021eb9:	89 54 24 30          	mov    %edx,0x30(%rsp)
180021ebd:	48 8b 15 ac 34 17 00 	mov    0x1734ac(%rip),%rdx        # 0x180195370
180021ec4:	48 8d 05 11 fe ff ff 	lea    -0x1ef(%rip),%rax        # 0x180021cdc
180021ecb:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
180021ed0:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
180021ed5:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180021eda:	e8 49 9c 10 00       	call   0x18012bb28
180021edf:	48 85 c0             	test   %rax,%rax
180021ee2:	0f 95 c0             	setne  %al
180021ee5:	48 83 c4 48          	add    $0x48,%rsp
180021ee9:	c3                   	ret
180021eea:	cc                   	int3
180021eeb:	cc                   	int3
180021eec:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180021ef1:	57                   	push   %rdi
180021ef2:	48 83 ec 20          	sub    $0x20,%rsp
180021ef6:	45 33 c9             	xor    %r9d,%r9d
180021ef9:	41 8b d8             	mov    %r8d,%ebx
180021efc:	48 8b fa             	mov    %rdx,%rdi
180021eff:	e8 f0 fd ff ff       	call   0x180021cf4
180021f04:	48 85 c0             	test   %rax,%rax
180021f07:	75 12                	jne    0x180021f1b
180021f09:	8b d3                	mov    %ebx,%edx
180021f0b:	48 8b cf             	mov    %rdi,%rcx
180021f0e:	e8 85 ff ff ff       	call   0x180021e98
180021f13:	84 c0                	test   %al,%al
180021f15:	75 04                	jne    0x180021f1b
180021f17:	33 c0                	xor    %eax,%eax
180021f19:	eb 05                	jmp    0x180021f20
180021f1b:	b8 03 06 00 c0       	mov    $0xc0000603,%eax
180021f20:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180021f25:	48 83 c4 20          	add    $0x20,%rsp
180021f29:	5f                   	pop    %rdi
180021f2a:	c3                   	ret
180021f2b:	cc                   	int3
180021f2c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180021f31:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
180021f36:	56                   	push   %rsi
180021f37:	57                   	push   %rdi
180021f38:	41 55                	push   %r13
180021f3a:	41 56                	push   %r14
180021f3c:	41 57                	push   %r15
180021f3e:	48 83 ec 20          	sub    $0x20,%rsp
180021f42:	4c 8b fa             	mov    %rdx,%r15
180021f45:	85 c9                	test   %ecx,%ecx
180021f47:	74 7d                	je     0x180021fc6
180021f49:	83 3d 00 34 17 00 00 	cmpl   $0x0,0x173400(%rip)        # 0x180195350
180021f50:	74 74                	je     0x180021fc6
180021f52:	8b 6a 30             	mov    0x30(%rdx),%ebp
180021f55:	33 ff                	xor    %edi,%edi
180021f57:	8b d9                	mov    %ecx,%ebx
180021f59:	48 03 1d f8 33 17 00 	add    0x1733f8(%rip),%rbx        # 0x180195358
180021f60:	44 8b 33             	mov    (%rbx),%r14d
180021f63:	85 ed                	test   %ebp,%ebp
180021f65:	74 5f                	je     0x180021fc6
180021f67:	33 f6                	xor    %esi,%esi
180021f69:	45 85 f6             	test   %r14d,%r14d
180021f6c:	74 52                	je     0x180021fc0
180021f6e:	49 8b 57 28          	mov    0x28(%r15),%rdx
180021f72:	8b c7                	mov    %edi,%eax
180021f74:	4c 6b e8 78          	imul   $0x78,%rax,%r13
180021f78:	48 89 54 24 60       	mov    %rdx,0x60(%rsp)
180021f7d:	46 8b 04 2a          	mov    (%rdx,%r13,1),%r8d
180021f81:	44 89 44 24 50       	mov    %r8d,0x50(%rsp)
180021f86:	8b 4c b3 04          	mov    0x4(%rbx,%rsi,4),%ecx
180021f8a:	48 03 0d c7 33 17 00 	add    0x1733c7(%rip),%rcx        # 0x180195358
180021f91:	44 39 01             	cmp    %r8d,(%rcx)
180021f94:	75 23                	jne    0x180021fb9
180021f96:	46 8b 44 2a 04       	mov    0x4(%rdx,%r13,1),%r8d
180021f9b:	48 83 c1 04          	add    $0x4,%rcx
180021f9f:	48 83 c2 08          	add    $0x8,%rdx
180021fa3:	49 03 d5             	add    %r13,%rdx
180021fa6:	e8 d5 91 10 00       	call   0x18012b180
180021fab:	85 c0                	test   %eax,%eax
180021fad:	74 31                	je     0x180021fe0
180021faf:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
180021fb4:	44 8b 44 24 50       	mov    0x50(%rsp),%r8d
180021fb9:	ff c6                	inc    %esi
180021fbb:	41 3b f6             	cmp    %r14d,%esi
180021fbe:	72 c6                	jb     0x180021f86
180021fc0:	ff c7                	inc    %edi
180021fc2:	3b fd                	cmp    %ebp,%edi
180021fc4:	72 a1                	jb     0x180021f67
180021fc6:	32 c0                	xor    %al,%al
180021fc8:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180021fcd:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180021fd2:	48 83 c4 20          	add    $0x20,%rsp
180021fd6:	41 5f                	pop    %r15
180021fd8:	41 5e                	pop    %r14
180021fda:	41 5d                	pop    %r13
180021fdc:	5f                   	pop    %rdi
180021fdd:	5e                   	pop    %rsi
180021fde:	c3                   	ret
180021fdf:	cc                   	int3
180021fe0:	b0 01                	mov    $0x1,%al
180021fe2:	eb e4                	jmp    0x180021fc8
180021fe4:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
180021fe9:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180021fee:	55                   	push   %rbp
180021fef:	53                   	push   %rbx
180021ff0:	57                   	push   %rdi
180021ff1:	41 54                	push   %r12
180021ff3:	41 55                	push   %r13
180021ff5:	41 56                	push   %r14
180021ff7:	41 57                	push   %r15
180021ff9:	48 8b ec             	mov    %rsp,%rbp
180021ffc:	48 83 ec 40          	sub    $0x40,%rsp
180022000:	49 8b c0             	mov    %r8,%rax
180022003:	41 b9 03 06 00 c0    	mov    $0xc0000603,%r9d
180022009:	45 33 c0             	xor    %r8d,%r8d
18002200c:	48 8b d9             	mov    %rcx,%rbx
18002200f:	44 39 05 3a 33 17 00 	cmp    %r8d,0x17333a(%rip)        # 0x180195350
180022016:	40 b7 01             	mov    $0x1,%dil
180022019:	45 8b f0             	mov    %r8d,%r14d
18002201c:	4c 89 45 f8          	mov    %r8,-0x8(%rbp)
180022020:	44 88 45 58          	mov    %r8b,0x58(%rbp)
180022024:	45 8b f9             	mov    %r9d,%r15d
180022027:	44 89 45 f0          	mov    %r8d,-0x10(%rbp)
18002202b:	75 33                	jne    0x180022060
18002202d:	8b 40 08             	mov    0x8(%rax),%eax
180022030:	8b 49 08             	mov    0x8(%rcx),%ecx
180022033:	33 c1                	xor    %ecx,%eax
180022035:	0f b7 c0             	movzwl %ax,%eax
180022038:	85 c0                	test   %eax,%eax
18002203a:	75 15                	jne    0x180022051
18002203c:	48 8b 02             	mov    (%rdx),%rax
18002203f:	48 85 c0             	test   %rax,%rax
180022042:	74 0d                	je     0x180022051
180022044:	48 3b 43 18          	cmp    0x18(%rbx),%rax
180022048:	7d 07                	jge    0x180022051
18002204a:	33 c0                	xor    %eax,%eax
18002204c:	e9 db 00 00 00       	jmp    0x18002212c
180022051:	0f ba e9 19          	bts    $0x19,%ecx
180022055:	41 8b c1             	mov    %r9d,%eax
180022058:	89 4b 08             	mov    %ecx,0x8(%rbx)
18002205b:	e9 cc 00 00 00       	jmp    0x18002212c
180022060:	48 8b 51 10          	mov    0x10(%rcx),%rdx
180022064:	45 8b e0             	mov    %r8d,%r12d
180022067:	44 39 42 30          	cmp    %r8d,0x30(%rdx)
18002206b:	0f 86 b8 00 00 00    	jbe    0x180022129
180022071:	41 8b c4             	mov    %r12d,%eax
180022074:	4c 8d 4d f8          	lea    -0x8(%rbp),%r9
180022078:	48 6b c8 78          	imul   $0x78,%rax,%rcx
18002207c:	48 8d 45 f0          	lea    -0x10(%rbp),%rax
180022080:	45 8b ee             	mov    %r14d,%r13d
180022083:	48 03 4a 28          	add    0x28(%rdx),%rcx
180022087:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18002208c:	48 8d 45 58          	lea    0x58(%rbp),%rax
180022090:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180022095:	44 8b 41 04          	mov    0x4(%rcx),%r8d
180022099:	48 8d 51 08          	lea    0x8(%rcx),%rdx
18002209d:	8b 09                	mov    (%rcx),%ecx
18002209f:	e8 00 fd ff ff       	call   0x180021da4
1800220a4:	84 c0                	test   %al,%al
1800220a6:	74 5b                	je     0x180022103
1800220a8:	48 8b 45 48          	mov    0x48(%rbp),%rax
1800220ac:	41 ff c6             	inc    %r14d
1800220af:	48 8b 00             	mov    (%rax),%rax
1800220b2:	48 85 c0             	test   %rax,%rax
1800220b5:	75 07                	jne    0x1800220be
1800220b7:	0f ba 6b 08 1a       	btsl   $0x1a,0x8(%rbx)
1800220bc:	eb 32                	jmp    0x1800220f0
1800220be:	48 3b 45 f8          	cmp    -0x8(%rbp),%rax
1800220c2:	7c 07                	jl     0x1800220cb
1800220c4:	0f ba 6b 08 18       	btsl   $0x18,0x8(%rbx)
1800220c9:	eb 25                	jmp    0x1800220f0
1800220cb:	8b 4d f0             	mov    -0x10(%rbp),%ecx
1800220ce:	85 c9                	test   %ecx,%ecx
1800220d0:	74 19                	je     0x1800220eb
1800220d2:	48 8b 45 50          	mov    0x50(%rbp),%rax
1800220d6:	48 8b 50 10          	mov    0x10(%rax),%rdx
1800220da:	e8 4d fe ff ff       	call   0x180021f2c
1800220df:	84 c0                	test   %al,%al
1800220e1:	74 08                	je     0x1800220eb
1800220e3:	45 8b f5             	mov    %r13d,%r14d
1800220e6:	45 33 ff             	xor    %r15d,%r15d
1800220e9:	eb 18                	jmp    0x180022103
1800220eb:	0f ba 6b 08 19       	btsl   $0x19,0x8(%rbx)
1800220f0:	40 84 ff             	test   %dil,%dil
1800220f3:	74 0b                	je     0x180022100
1800220f5:	80 7d 58 00          	cmpb   $0x0,0x58(%rbp)
1800220f9:	74 05                	je     0x180022100
1800220fb:	40 b7 01             	mov    $0x1,%dil
1800220fe:	eb 03                	jmp    0x180022103
180022100:	40 32 ff             	xor    %dil,%dil
180022103:	48 8b 53 10          	mov    0x10(%rbx),%rdx
180022107:	41 ff c4             	inc    %r12d
18002210a:	44 3b 62 30          	cmp    0x30(%rdx),%r12d
18002210e:	0f 82 5d ff ff ff    	jb     0x180022071
180022114:	45 85 f6             	test   %r14d,%r14d
180022117:	74 10                	je     0x180022129
180022119:	41 bf 03 06 00 c0    	mov    $0xc0000603,%r15d
18002211f:	40 84 ff             	test   %dil,%dil
180022122:	74 05                	je     0x180022129
180022124:	0f ba 6b 08 17       	btsl   $0x17,0x8(%rbx)
180022129:	41 8b c7             	mov    %r15d,%eax
18002212c:	48 83 c4 40          	add    $0x40,%rsp
180022130:	41 5f                	pop    %r15
180022132:	41 5e                	pop    %r14
180022134:	41 5d                	pop    %r13
180022136:	41 5c                	pop    %r12
180022138:	5f                   	pop    %rdi
180022139:	5b                   	pop    %rbx
18002213a:	5d                   	pop    %rbp
18002213b:	c3                   	ret
18002213c:	cc                   	int3
18002213d:	cc                   	int3
18002213e:	cc                   	int3
18002213f:	cc                   	int3
180022140:	40 55                	rex push %rbp
180022142:	53                   	push   %rbx
180022143:	56                   	push   %rsi
180022144:	57                   	push   %rdi
180022145:	41 54                	push   %r12
180022147:	41 55                	push   %r13
180022149:	41 57                	push   %r15
18002214b:	48 8d 6c 24 f1       	lea    -0xf(%rsp),%rbp
180022150:	48 81 ec f0 00 00 00 	sub    $0xf0,%rsp
180022157:	48 8b 05 12 a8 14 00 	mov    0x14a812(%rip),%rax        # 0x18016c970
18002215e:	48 33 c4             	xor    %rsp,%rax
180022161:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
180022165:	48 8b 45 7f          	mov    0x7f(%rbp),%rax
180022169:	45 33 ed             	xor    %r13d,%r13d
18002216c:	83 3d 21 32 17 00 01 	cmpl   $0x1,0x173221(%rip)        # 0x180195394
180022173:	44 8b e2             	mov    %edx,%r12d
180022176:	48 8b 7d 6f          	mov    0x6f(%rbp),%rdi
18002217a:	4c 8b f9             	mov    %rcx,%r15
18002217d:	48 8b 75 77          	mov    0x77(%rbp),%rsi
180022181:	0f 57 c0             	xorps  %xmm0,%xmm0
180022184:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
180022189:	49 8b c9             	mov    %r9,%rcx
18002218c:	41 8b c5             	mov    %r13d,%eax
18002218f:	4c 89 44 24 58       	mov    %r8,0x58(%rsp)
180022194:	0f 94 c0             	sete   %al
180022197:	c7 44 24 38 0a 00 00 	movl   $0xa,0x38(%rsp)
18002219e:	00
18002219f:	33 d2                	xor    %edx,%edx
1800221a1:	89 44 24 48          	mov    %eax,0x48(%rsp)
1800221a5:	45 8d 45 50          	lea    0x50(%r13),%r8d
1800221a9:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
1800221ae:	49 8b d9             	mov    %r9,%rbx
1800221b1:	44 89 6c 24 3c       	mov    %r13d,0x3c(%rsp)
1800221b6:	0f 11 44 24 60       	movups %xmm0,0x60(%rsp)
1800221bb:	44 89 6c 24 34       	mov    %r13d,0x34(%rsp)
1800221c0:	e8 bb 3a 11 00       	call   0x180135c80
1800221c5:	4c 8d 05 54 bf 14 00 	lea    0x14bf54(%rip),%r8        # 0x18016e120
1800221cc:	41 8b d4             	mov    %r12d,%edx
1800221cf:	49 8b cf             	mov    %r15,%rcx
1800221d2:	e8 81 e1 ff ff       	call   0x180020358
1800221d7:	85 c0                	test   %eax,%eax
1800221d9:	0f 88 69 04 00 00    	js     0x180022648
1800221df:	83 3d 5a bf 14 00 09 	cmpl   $0x9,0x14bf5a(%rip)        # 0x18016e140
1800221e6:	0f 85 5c 04 00 00    	jne    0x180022648
1800221ec:	48 8b 15 55 bf 14 00 	mov    0x14bf55(%rip),%rdx        # 0x18016e148
1800221f3:	45 8d 45 09          	lea    0x9(%r13),%r8d
1800221f7:	48 8d 0d 1a 7c 12 00 	lea    0x127c1a(%rip),%rcx        # 0x180149e18
1800221fe:	e8 5d 1c 11 00       	call   0x180133e60
180022203:	48 83 f8 09          	cmp    $0x9,%rax
180022207:	0f 85 3b 04 00 00    	jne    0x180022648
18002220d:	44 39 2d 5c bf 14 00 	cmp    %r13d,0x14bf5c(%rip)        # 0x18016e170
180022214:	0f 84 2e 04 00 00    	je     0x180022648
18002221a:	44 39 2d 5f bf 14 00 	cmp    %r13d,0x14bf5f(%rip)        # 0x18016e180
180022221:	0f 84 21 04 00 00    	je     0x180022648
180022227:	0f 28 05 42 bf 14 00 	movaps 0x14bf42(%rip),%xmm0        # 0x18016e170
18002222e:	f3 0f 7f 03          	movdqu %xmm0,(%rbx)
180022232:	0f 28 0d 47 bf 14 00 	movaps 0x14bf47(%rip),%xmm1        # 0x18016e180
180022239:	f3 0f 7f 4b 10       	movdqu %xmm1,0x10(%rbx)
18002223e:	44 39 2d 7b bf 14 00 	cmp    %r13d,0x14bf7b(%rip)        # 0x18016e1c0
180022245:	0f 84 fd 03 00 00    	je     0x180022648
18002224b:	4c 8d 05 de b1 14 00 	lea    0x14b1de(%rip),%r8        # 0x18016d430
180022252:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
180022257:	48 8d 0d 32 bf 14 00 	lea    0x14bf32(%rip),%rcx        # 0x18016e190
18002225e:	e8 31 e1 ff ff       	call   0x180020394
180022263:	85 c0                	test   %eax,%eax
180022265:	0f 88 dd 03 00 00    	js     0x180022648
18002226b:	44 39 6c 24 38       	cmp    %r13d,0x38(%rsp)
180022270:	0f 84 d2 03 00 00    	je     0x180022648
180022276:	44 8b 44 24 38       	mov    0x38(%rsp),%r8d
18002227b:	4c 8d 0d ae b1 14 00 	lea    0x14b1ae(%rip),%r9        # 0x18016d430
180022282:	48 8d 15 67 bf 14 00 	lea    0x14bf67(%rip),%rdx        # 0x18016e1f0
180022289:	48 8d 0d 50 bf 14 00 	lea    0x14bf50(%rip),%rcx        # 0x18016e1e0
180022290:	e8 d7 03 00 00       	call   0x18002266c
180022295:	4c 8b e8             	mov    %rax,%r13
180022298:	48 85 c0             	test   %rax,%rax
18002229b:	0f 84 a7 03 00 00    	je     0x180022648
1800222a1:	0f 10 40 10          	movups 0x10(%rax),%xmm0
1800222a5:	4c 8b 4c 24 58       	mov    0x58(%rsp),%r9
1800222aa:	4c 8d 05 7f b1 14 00 	lea    0x14b17f(%rip),%r8        # 0x18016d430
1800222b1:	8b 54 24 38          	mov    0x38(%rsp),%edx
1800222b5:	48 8b c8             	mov    %rax,%rcx
1800222b8:	f3 0f 7f 43 20       	movdqu %xmm0,0x20(%rbx)
1800222bd:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1800222c2:	0f 28 0d 47 bf 14 00 	movaps 0x14bf47(%rip),%xmm1        # 0x18016e210
1800222c9:	f3 0f 7f 4b 30       	movdqu %xmm1,0x30(%rbx)
1800222ce:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1800222d3:	0f 28 05 66 bf 14 00 	movaps 0x14bf66(%rip),%xmm0        # 0x18016e240
1800222da:	f3 0f 7f 43 40       	movdqu %xmm0,0x40(%rbx)
1800222df:	e8 84 13 00 00       	call   0x180023668
1800222e4:	48 85 f6             	test   %rsi,%rsi
1800222e7:	74 07                	je     0x1800222f0
1800222e9:	4c 89 7e 08          	mov    %r15,0x8(%rsi)
1800222ed:	44 89 26             	mov    %r12d,(%rsi)
1800222f0:	45 33 e4             	xor    %r12d,%r12d
1800222f3:	85 c0                	test   %eax,%eax
1800222f5:	79 12                	jns    0x180022309
1800222f7:	3d 03 06 00 c0       	cmp    $0xc0000603,%eax
1800222fc:	0f 85 4b 03 00 00    	jne    0x18002264d
180022302:	45 8d 7c 24 01       	lea    0x1(%r12),%r15d
180022307:	eb 03                	jmp    0x18002230c
180022309:	45 8b fc             	mov    %r12d,%r15d
18002230c:	44 39 25 fd be 14 00 	cmp    %r12d,0x14befd(%rip)        # 0x18016e210
180022313:	74 17                	je     0x18002232c