14003beea:	f6 41 08 10          	testb  $0x10,0x8(%rcx)
14003beee:	74 05                	je     0x14003bef5
14003bef0:	48 0f ba 33 07       	btrq   $0x7,(%rbx)
14003bef5:	f6 41 08 08          	testb  $0x8,0x8(%rcx)
14003bef9:	74 05                	je     0x14003bf00
14003befb:	48 0f ba 33 09       	btrq   $0x9,(%rbx)
14003bf00:	f6 41 08 04          	testb  $0x4,0x8(%rcx)
14003bf04:	74 05                	je     0x14003bf0b
14003bf06:	48 0f ba 33 0a       	btrq   $0xa,(%rbx)
14003bf0b:	f6 41 08 02          	testb  $0x2,0x8(%rcx)
14003bf0f:	74 05                	je     0x14003bf16
14003bf11:	48 0f ba 33 0b       	btrq   $0xb,(%rbx)
14003bf16:	f6 41 08 01          	testb  $0x1,0x8(%rcx)
14003bf1a:	74 05                	je     0x14003bf21
14003bf1c:	48 0f ba 33 0c       	btrq   $0xc,(%rbx)
14003bf21:	8b 01                	mov    (%rcx),%eax
14003bf23:	83 e0 03             	and    $0x3,%eax
14003bf26:	74 30                	je     0x14003bf58
14003bf28:	83 e8 01             	sub    $0x1,%eax
14003bf2b:	74 1f                	je     0x14003bf4c
14003bf2d:	83 e8 01             	sub    $0x1,%eax
14003bf30:	74 0e                	je     0x14003bf40
14003bf32:	83 f8 01             	cmp    $0x1,%eax
14003bf35:	75 28                	jne    0x14003bf5f
14003bf37:	48 81 0b 00 60 00 00 	orq    $0x6000,(%rbx)
14003bf3e:	eb 1f                	jmp    0x14003bf5f
14003bf40:	48 0f ba 33 0d       	btrq   $0xd,(%rbx)
14003bf45:	48 0f ba 2b 0e       	btsq   $0xe,(%rbx)
14003bf4a:	eb 13                	jmp    0x14003bf5f
14003bf4c:	48 0f ba 33 0e       	btrq   $0xe,(%rbx)
14003bf51:	48 0f ba 2b 0d       	btsq   $0xd,(%rbx)
14003bf56:	eb 07                	jmp    0x14003bf5f
14003bf58:	48 81 23 ff 9f ff ff 	andq   $0xffffffffffff9fff,(%rbx)
14003bf5f:	83 7d 40 00          	cmpl   $0x0,0x40(%rbp)
14003bf63:	74 07                	je     0x14003bf6c
14003bf65:	8b 41 50             	mov    0x50(%rcx),%eax
14003bf68:	89 06                	mov    %eax,(%rsi)
14003bf6a:	eb 07                	jmp    0x14003bf73
14003bf6c:	48 8b 41 50          	mov    0x50(%rcx),%rax
14003bf70:	48 89 06             	mov    %rax,(%rsi)
14003bf73:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
14003bf78:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
14003bf7d:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
14003bf82:	48 83 c4 20          	add    $0x20,%rsp
14003bf86:	5d                   	pop    %rbp
14003bf87:	c3                   	ret
14003bf88:	48 83 ec 48          	sub    $0x48,%rsp
14003bf8c:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
14003bf91:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%rsp)
14003bf98:	00
14003bf99:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14003bf9e:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
14003bfa3:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14003bfa8:	e8 d3 fc ff ff       	call   0x14003bc80
14003bfad:	48 83 c4 48          	add    $0x48,%rsp
14003bfb1:	c3                   	ret
14003bfb2:	cc                   	int3
14003bfb3:	cc                   	int3
14003bfb4:	48 83 ec 28          	sub    $0x28,%rsp
14003bfb8:	83 e9 01             	sub    $0x1,%ecx
14003bfbb:	74 17                	je     0x14003bfd4
14003bfbd:	83 e9 01             	sub    $0x1,%ecx
14003bfc0:	74 05                	je     0x14003bfc7
14003bfc2:	83 f9 01             	cmp    $0x1,%ecx
14003bfc5:	75 18                	jne    0x14003bfdf
14003bfc7:	e8 6c fa fe ff       	call   0x14002ba38
14003bfcc:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
14003bfd2:	eb 0b                	jmp    0x14003bfdf
14003bfd4:	e8 5f fa fe ff       	call   0x14002ba38
14003bfd9:	c7 00 21 00 00 00    	movl   $0x21,(%rax)
14003bfdf:	48 83 c4 28          	add    $0x28,%rsp
14003bfe3:	c3                   	ret
14003bfe4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14003bfe9:	f2 0f 11 5c 24 20    	movsd  %xmm3,0x20(%rsp)
14003bfef:	f2 0f 11 54 24 18    	movsd  %xmm2,0x18(%rsp)
14003bff5:	55                   	push   %rbp
14003bff6:	48 8b ec             	mov    %rsp,%rbp
14003bff9:	48 83 ec 50          	sub    $0x50,%rsp
14003bffd:	8b d9                	mov    %ecx,%ebx
14003bfff:	4c 8d 0d 2a 78 01 00 	lea    0x1782a(%rip),%r9        # 0x140053830
14003c006:	48 8d 0d 53 76 01 00 	lea    0x17653(%rip),%rcx        # 0x140053660
14003c00d:	45 33 c0             	xor    %r8d,%r8d
14003c010:	48 8b c1             	mov    %rcx,%rax
14003c013:	39 10                	cmp    %edx,(%rax)
14003c015:	74 36                	je     0x14003c04d
14003c017:	41 ff c0             	inc    %r8d
14003c01a:	48 83 c0 10          	add    $0x10,%rax
14003c01e:	49 3b c1             	cmp    %r9,%rax
14003c021:	7c f0                	jl     0x14003c013
14003c023:	48 83 65 d8 00       	andq   $0x0,-0x28(%rbp)
14003c028:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
14003c02c:	ba c0 ff 00 00       	mov    $0xffc0,%edx
14003c031:	e8 46 02 00 00       	call   0x14003c27c
14003c036:	8b cb                	mov    %ebx,%ecx
14003c038:	e8 77 ff ff ff       	call   0x14003bfb4
14003c03d:	f2 0f 10 45 30       	movsd  0x30(%rbp),%xmm0
14003c042:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14003c047:	48 83 c4 50          	add    $0x50,%rsp
14003c04b:	5d                   	pop    %rbp
14003c04c:	c3                   	ret
14003c04d:	49 63 c0             	movslq %r8d,%rax
14003c050:	48 03 c0             	add    %rax,%rax
14003c053:	48 8b 44 c1 08       	mov    0x8(%rcx,%rax,8),%rax
14003c058:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
14003c05c:	48 85 c0             	test   %rax,%rax
14003c05f:	74 c7                	je     0x14003c028
14003c061:	8b 45 20             	mov    0x20(%rbp),%eax
14003c064:	ba c0 ff 00 00       	mov    $0xffc0,%edx
14003c069:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
14003c06d:	89 45 e0             	mov    %eax,-0x20(%rbp)
14003c070:	8b 45 24             	mov    0x24(%rbp),%eax
14003c073:	89 45 e4             	mov    %eax,-0x1c(%rbp)
14003c076:	8b 45 28             	mov    0x28(%rbp),%eax
14003c079:	89 45 e8             	mov    %eax,-0x18(%rbp)
14003c07c:	8b 45 2c             	mov    0x2c(%rbp),%eax
14003c07f:	89 45 ec             	mov    %eax,-0x14(%rbp)
14003c082:	8b 45 30             	mov    0x30(%rbp),%eax
14003c085:	89 45 f0             	mov    %eax,-0x10(%rbp)
14003c088:	8b 45 34             	mov    0x34(%rbp),%eax
14003c08b:	89 45 f4             	mov    %eax,-0xc(%rbp)
14003c08e:	89 5d d0             	mov    %ebx,-0x30(%rbp)
14003c091:	e8 e6 01 00 00       	call   0x14003c27c
14003c096:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14003c09a:	e8 31 a1 ff ff       	call   0x1400361d0
14003c09f:	85 c0                	test   %eax,%eax
14003c0a1:	75 07                	jne    0x14003c0aa
14003c0a3:	8b cb                	mov    %ebx,%ecx
14003c0a5:	e8 0a ff ff ff       	call   0x14003bfb4
14003c0aa:	f2 0f 10 45 f0       	movsd  -0x10(%rbp),%xmm0
14003c0af:	eb 91                	jmp    0x14003c042
14003c0b1:	cc                   	int3
14003c0b2:	cc                   	int3
14003c0b3:	cc                   	int3
14003c0b4:	0f 28 c8             	movaps %xmm0,%xmm1
14003c0b7:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14003c0bd:	0f 57 c0             	xorps  %xmm0,%xmm0
14003c0c0:	4c 8b d2             	mov    %rdx,%r10
14003c0c3:	66 0f 2e c8          	ucomisd %xmm0,%xmm1
14003c0c7:	7a 09                	jp     0x14003c0d2
14003c0c9:	75 07                	jne    0x14003c0d2
14003c0cb:	33 c9                	xor    %ecx,%ecx
14003c0cd:	e9 0c 01 00 00       	jmp    0x14003c1de
14003c0d2:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
14003c0d7:	b9 f0 7f 00 00       	mov    $0x7ff0,%ecx
14003c0dc:	4c 8b c0             	mov    %rax,%r8
14003c0df:	49 c1 e8 30          	shr    $0x30,%r8
14003c0e3:	66 44 85 c1          	test   %r8w,%cx
14003c0e7:	0f 85 ad 00 00 00    	jne    0x14003c19a
14003c0ed:	8b 54 24 08          	mov    0x8(%rsp),%edx
14003c0f1:	48 c1 e8 20          	shr    $0x20,%rax
14003c0f5:	a9 ff ff 0f 00       	test   $0xfffff,%eax
14003c0fa:	75 08                	jne    0x14003c104
14003c0fc:	85 d2                	test   %edx,%edx
14003c0fe:	0f 84 96 00 00 00    	je     0x14003c19a
14003c104:	45 33 c9             	xor    %r9d,%r9d
14003c107:	b9 03 fc ff ff       	mov    $0xfffffc03,%ecx
14003c10c:	66 0f 2f c1          	comisd %xmm1,%xmm0
14003c110:	41 0f 97 c1          	seta   %r9b
14003c114:	41 f6 c0 10          	test   $0x10,%r8b
14003c118:	75 24                	jne    0x14003c13e
14003c11a:	8b 44 24 0c          	mov    0xc(%rsp),%eax
14003c11e:	03 c0                	add    %eax,%eax
14003c120:	89 44 24 0c          	mov    %eax,0xc(%rsp)
14003c124:	85 d2                	test   %edx,%edx
14003c126:	79 07                	jns    0x14003c12f
14003c128:	83 c8 01             	or     $0x1,%eax
14003c12b:	89 44 24 0c          	mov    %eax,0xc(%rsp)
14003c12f:	03 d2                	add    %edx,%edx
14003c131:	ff c9                	dec    %ecx
14003c133:	f6 44 24 0e 10       	testb  $0x10,0xe(%rsp)
14003c138:	74 e4                	je     0x14003c11e
14003c13a:	89 54 24 08          	mov    %edx,0x8(%rsp)
14003c13e:	0f b7 44 24 0e       	movzwl 0xe(%rsp),%eax
14003c143:	ba ef ff 00 00       	mov    $0xffef,%edx
14003c148:	66 23 c2             	and    %dx,%ax
14003c14b:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
14003c150:	45 85 c9             	test   %r9d,%r9d
14003c153:	74 0d                	je     0x14003c162
14003c155:	ba 00 80 00 00       	mov    $0x8000,%edx
14003c15a:	66 0b c2             	or     %dx,%ax
14003c15d:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
14003c162:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
14003c168:	ba ef bf 00 00       	mov    $0xbfef,%edx
14003c16d:	f2 0f 11 44 24 10    	movsd  %xmm0,0x10(%rsp)
14003c173:	48 8b 44 24 10       	mov    0x10(%rsp),%rax
14003c178:	48 c1 e8 30          	shr    $0x30,%rax
14003c17c:	66 23 c2             	and    %dx,%ax
14003c17f:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14003c185:	ba e0 3f 00 00       	mov    $0x3fe0,%edx
14003c18a:	66 0b c2             	or     %dx,%ax
14003c18d:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
14003c192:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
14003c198:	eb 44                	jmp    0x14003c1de
14003c19a:	0f b7 4c 24 0e       	movzwl 0xe(%rsp),%ecx
14003c19f:	ba ef bf 00 00       	mov    $0xbfef,%edx
14003c1a4:	c1 e9 04             	shr    $0x4,%ecx
14003c1a7:	f2 0f 11 4c 24 10    	movsd  %xmm1,0x10(%rsp)
14003c1ad:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
14003c1b3:	f2 0f 11 4c 24 18    	movsd  %xmm1,0x18(%rsp)
14003c1b9:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
14003c1be:	48 c1 e8 30          	shr    $0x30,%rax
14003c1c2:	66 23 c2             	and    %dx,%ax
14003c1c5:	ba e0 3f 00 00       	mov    $0x3fe0,%edx
14003c1ca:	66 0b c2             	or     %dx,%ax
14003c1cd:	66 89 44 24 16       	mov    %ax,0x16(%rsp)
14003c1d2:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
14003c1d8:	f2 0f 10 44 24 10    	movsd  0x10(%rsp),%xmm0
14003c1de:	41 89 0a             	mov    %ecx,(%r10)
14003c1e1:	c3                   	ret
14003c1e2:	cc                   	int3
14003c1e3:	cc                   	int3
14003c1e4:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14003c1ea:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
14003c1ef:	48 8b c8             	mov    %rax,%rcx
14003c1f2:	48 c1 e9 20          	shr    $0x20,%rcx
14003c1f6:	81 f9 00 00 f0 7f    	cmp    $0x7ff00000,%ecx
14003c1fc:	75 0a                	jne    0x14003c208
14003c1fe:	85 c0                	test   %eax,%eax
14003c200:	75 18                	jne    0x14003c21a
14003c202:	b8 01 00 00 00       	mov    $0x1,%eax
14003c207:	c3                   	ret
14003c208:	81 f9 00 00 f0 ff    	cmp    $0xfff00000,%ecx
14003c20e:	75 0a                	jne    0x14003c21a
14003c210:	85 c0                	test   %eax,%eax
14003c212:	75 06                	jne    0x14003c21a
14003c214:	b8 02 00 00 00       	mov    $0x2,%eax
14003c219:	c3                   	ret
14003c21a:	41 b8 f8 7f 00 00    	mov    $0x7ff8,%r8d
14003c220:	48 8b d0             	mov    %rax,%rdx
14003c223:	48 c1 ea 30          	shr    $0x30,%rdx
14003c227:	66 41 23 d0          	and    %r8w,%dx
14003c22b:	66 41 3b d0          	cmp    %r8w,%dx
14003c22f:	75 06                	jne    0x14003c237
14003c231:	b8 03 00 00 00       	mov    $0x3,%eax
14003c236:	c3                   	ret
14003c237:	41 b8 f0 7f 00 00    	mov    $0x7ff0,%r8d
14003c23d:	66 41 3b d0          	cmp    %r8w,%dx
14003c241:	75 16                	jne    0x14003c259
14003c243:	f7 c1 ff ff 07 00    	test   $0x7ffff,%ecx
14003c249:	75 08                	jne    0x14003c253
14003c24b:	f7 d8                	neg    %eax
14003c24d:	1b c0                	sbb    %eax,%eax
14003c24f:	83 e0 04             	and    $0x4,%eax
14003c252:	c3                   	ret
14003c253:	b8 04 00 00 00       	mov    $0x4,%eax
14003c258:	c3                   	ret
14003c259:	33 c0                	xor    %eax,%eax
14003c25b:	c3                   	ret
14003c25c:	40 53                	rex push %rbx
14003c25e:	48 83 ec 20          	sub    $0x20,%rsp
14003c262:	e8 c9 88 00 00       	call   0x140044b30
14003c267:	8b d8                	mov    %eax,%ebx
14003c269:	83 e3 3f             	and    $0x3f,%ebx
14003c26c:	e8 d9 88 00 00       	call   0x140044b4a
14003c271:	8b c3                	mov    %ebx,%eax
14003c273:	48 83 c4 20          	add    $0x20,%rsp
14003c277:	5b                   	pop    %rbx
14003c278:	c3                   	ret
14003c279:	cc                   	int3
14003c27a:	cc                   	int3
14003c27b:	cc                   	int3
14003c27c:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14003c281:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14003c286:	57                   	push   %rdi
14003c287:	48 83 ec 20          	sub    $0x20,%rsp
14003c28b:	48 8b da             	mov    %rdx,%rbx
14003c28e:	48 8b f9             	mov    %rcx,%rdi
14003c291:	e8 9a 88 00 00       	call   0x140044b30
14003c296:	8b f0                	mov    %eax,%esi
14003c298:	89 44 24 38          	mov    %eax,0x38(%rsp)
14003c29c:	8b cb                	mov    %ebx,%ecx
14003c29e:	f7 d1                	not    %ecx
14003c2a0:	81 c9 7f 80 ff ff    	or     $0xffff807f,%ecx
14003c2a6:	23 c8                	and    %eax,%ecx
14003c2a8:	23 fb                	and    %ebx,%edi
14003c2aa:	0b cf                	or     %edi,%ecx
14003c2ac:	89 4c 24 30          	mov    %ecx,0x30(%rsp)
14003c2b0:	80 3d 19 61 03 00 00 	cmpb   $0x0,0x36119(%rip)        # 0x1400723d0
14003c2b7:	74 25                	je     0x14003c2de
14003c2b9:	f6 c1 40             	test   $0x40,%cl
14003c2bc:	74 20                	je     0x14003c2de
14003c2be:	e8 7d 88 00 00       	call   0x140044b40
14003c2c3:	eb 21                	jmp    0x14003c2e6
14003c2c5:	c6 05 04 61 03 00 00 	movb   $0x0,0x36104(%rip)        # 0x1400723d0
14003c2cc:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
14003c2d0:	83 e1 bf             	and    $0xffffffbf,%ecx
14003c2d3:	e8 68 88 00 00       	call   0x140044b40
14003c2d8:	8b 74 24 38          	mov    0x38(%rsp),%esi
14003c2dc:	eb 08                	jmp    0x14003c2e6
14003c2de:	83 e1 bf             	and    $0xffffffbf,%ecx
14003c2e1:	e8 5a 88 00 00       	call   0x140044b40
14003c2e6:	8b c6                	mov    %esi,%eax
14003c2e8:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14003c2ed:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14003c2f2:	48 83 c4 20          	add    $0x20,%rsp
14003c2f6:	5f                   	pop    %rdi
14003c2f7:	c3                   	ret
14003c2f8:	40 53                	rex push %rbx
14003c2fa:	48 83 ec 20          	sub    $0x20,%rsp
14003c2fe:	48 8b d9             	mov    %rcx,%rbx
14003c301:	e8 2a 88 00 00       	call   0x140044b30
14003c306:	83 e3 3f             	and    $0x3f,%ebx
14003c309:	0b c3                	or     %ebx,%eax
14003c30b:	8b c8                	mov    %eax,%ecx
14003c30d:	48 83 c4 20          	add    $0x20,%rsp
14003c311:	5b                   	pop    %rbx
14003c312:	e9 29 88 00 00       	jmp    0x140044b40
14003c317:	cc                   	int3
14003c318:	48 83 ec 28          	sub    $0x28,%rsp
14003c31c:	e8 0f 88 00 00       	call   0x140044b30
14003c321:	83 e0 3f             	and    $0x3f,%eax
14003c324:	48 83 c4 28          	add    $0x28,%rsp
14003c328:	c3                   	ret
14003c329:	cc                   	int3
14003c32a:	cc                   	int3
14003c32b:	cc                   	int3
14003c32c:	40 53                	rex push %rbx
14003c32e:	48 83 ec 20          	sub    $0x20,%rsp
14003c332:	4c 8b c2             	mov    %rdx,%r8
14003c335:	48 8b d9             	mov    %rcx,%rbx
14003c338:	48 85 c9             	test   %rcx,%rcx
14003c33b:	74 0e                	je     0x14003c34b
14003c33d:	33 d2                	xor    %edx,%edx
14003c33f:	48 8d 42 e0          	lea    -0x20(%rdx),%rax
14003c343:	48 f7 f3             	div    %rbx
14003c346:	49 3b c0             	cmp    %r8,%rax
14003c349:	72 43                	jb     0x14003c38e
14003c34b:	49 0f af d8          	imul   %r8,%rbx
14003c34f:	b8 01 00 00 00       	mov    $0x1,%eax
14003c354:	48 85 db             	test   %rbx,%rbx
14003c357:	48 0f 44 d8          	cmove  %rax,%rbx
14003c35b:	eb 15                	jmp    0x14003c372
14003c35d:	e8 ca b8 ff ff       	call   0x140037c2c
14003c362:	85 c0                	test   %eax,%eax
14003c364:	74 28                	je     0x14003c38e
14003c366:	48 8b cb             	mov    %rbx,%rcx
14003c369:	e8 b2 9d ff ff       	call   0x140036120
14003c36e:	85 c0                	test   %eax,%eax
14003c370:	74 1c                	je     0x14003c38e
14003c372:	48 8b 0d 77 c3 03 00 	mov    0x3c377(%rip),%rcx        # 0x1400786f0
14003c379:	4c 8b c3             	mov    %rbx,%r8
14003c37c:	ba 08 00 00 00       	mov    $0x8,%edx
14003c381:	ff 15 a1 fc 00 00    	call   *0xfca1(%rip)        # 0x14004c028
14003c387:	48 85 c0             	test   %rax,%rax
14003c38a:	74 d1                	je     0x14003c35d
14003c38c:	eb 0d                	jmp    0x14003c39b
14003c38e:	e8 a5 f6 fe ff       	call   0x14002ba38
14003c393:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
14003c399:	33 c0                	xor    %eax,%eax
14003c39b:	48 83 c4 20          	add    $0x20,%rsp