140882e58:	48 85 c0             	test   %rax,%rax
140882e5b:	48 0f 45 d0          	cmovne %rax,%rdx
140882e5f:	33 f6                	xor    %esi,%esi
140882e61:	49 8b ca             	mov    %r10,%rcx
140882e64:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140882e69:	49 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%r8
140882e70:	41 b1 01             	mov    $0x1,%r9b
140882e73:	e8 c8 3e 04 00       	call   0x1408c6d40
140882e78:	33 c0                	xor    %eax,%eax
140882e7a:	48 8b 4d 17          	mov    0x17(%rbp),%rcx
140882e7e:	48 33 cc             	xor    %rsp,%rcx
140882e81:	e8 7a 86 59 00       	call   0x140e1b500
140882e86:	48 81 c4 e0 00 00 00 	add    $0xe0,%rsp
140882e8d:	41 5e                	pop    %r14
140882e8f:	5f                   	pop    %rdi
140882e90:	5e                   	pop    %rsi
140882e91:	5b                   	pop    %rbx
140882e92:	5d                   	pop    %rbp
140882e93:	c3                   	ret
140882e94:	89 2a                	mov    %ebp,(%rdx)
140882e96:	88 00                	mov    %al,(%rax)
140882e98:	f7 2a                	imull  (%rdx)
140882e9a:	88 00                	mov    %al,(%rax)
140882e9c:	14 2b                	adc    $0x2b,%al
140882e9e:	88 00                	mov    %al,(%rax)
140882ea0:	31 2b                	xor    %ebp,(%rbx)
140882ea2:	88 00                	mov    %al,(%rax)
140882ea4:	57                   	push   %rdi
140882ea5:	2b 88 00 91 2b 88    	sub    -0x77d46f00(%rax),%ecx
140882eab:	00 c9                	add    %cl,%cl
140882ead:	2b 88 00 cd 2d 88    	sub    -0x77d23300(%rax),%ecx
140882eb3:	00 47 2e             	add    %al,0x2e(%rdi)
140882eb6:	88 00                	mov    %al,(%rax)
140882eb8:	cc                   	int3
140882eb9:	cc                   	int3
140882eba:	cc                   	int3
140882ebb:	cc                   	int3
140882ebc:	cc                   	int3
140882ebd:	cc                   	int3
140882ebe:	cc                   	int3
140882ebf:	cc                   	int3
140882ec0:	8b 41 08             	mov    0x8(%rcx),%eax
140882ec3:	48 89 02             	mov    %rax,(%rdx)
140882ec6:	33 c0                	xor    %eax,%eax
140882ec8:	c3                   	ret
140882ec9:	cc                   	int3
140882eca:	cc                   	int3
140882ecb:	cc                   	int3
140882ecc:	cc                   	int3
140882ecd:	cc                   	int3
140882ece:	cc                   	int3
140882ecf:	cc                   	int3
140882ed0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140882ed5:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140882eda:	4c 8b da             	mov    %rdx,%r11
140882edd:	48 c7 44 24 10 ff ff 	movq   $0xffffffffffffffff,0x10(%rsp)
140882ee4:	ff ff
140882ee6:	33 db                	xor    %ebx,%ebx
140882ee8:	45 33 d2             	xor    %r10d,%r10d
140882eeb:	45 33 c9             	xor    %r9d,%r9d
140882eee:	ba ff ff ff ff       	mov    $0xffffffff,%edx
140882ef3:	8b c2                	mov    %edx,%eax
140882ef5:	41 8b 3b             	mov    (%r11),%edi
140882ef8:	4d 8b 43 08          	mov    0x8(%r11),%r8
140882efc:	85 ff                	test   %edi,%edi
140882efe:	7e 5b                	jle    0x140882f5b
140882f00:	41 8b 00             	mov    (%r8),%eax
140882f03:	83 f8 08             	cmp    $0x8,%eax
140882f06:	7c 27                	jl     0x140882f2f
140882f08:	8d 48 f8             	lea    -0x8(%rax),%ecx
140882f0b:	ba 01 00 00 00       	mov    $0x1,%edx
140882f10:	d3 e2                	shl    %cl,%edx
140882f12:	41 80 78 05 00       	cmpb   $0x0,0x5(%r8)
140882f17:	75 04                	jne    0x140882f1d
140882f19:	0b da                	or     %edx,%ebx
140882f1b:	eb 12                	jmp    0x140882f2f
140882f1d:	41 80 78 04 02       	cmpb   $0x2,0x4(%r8)
140882f22:	75 0b                	jne    0x140882f2f
140882f24:	48 63 c1             	movslq %ecx,%rax
140882f27:	44 0b d2             	or     %edx,%r10d
140882f2a:	44 89 4c 84 10       	mov    %r9d,0x10(%rsp,%rax,4)
140882f2f:	41 ff c1             	inc    %r9d
140882f32:	49 83 c0 0c          	add    $0xc,%r8
140882f36:	44 3b cf             	cmp    %edi,%r9d
140882f39:	7c c5                	jl     0x140882f00
140882f3b:	41 f7 d2             	not    %r10d
140882f3e:	44 85 d3             	test   %r10d,%ebx
140882f41:	74 10                	je     0x140882f53
140882f43:	b8 13 00 00 00       	mov    $0x13,%eax
140882f48:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140882f4d:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140882f52:	c3                   	ret
140882f53:	8b 54 24 14          	mov    0x14(%rsp),%edx
140882f57:	8b 44 24 10          	mov    0x10(%rsp),%eax
140882f5b:	85 c0                	test   %eax,%eax
140882f5d:	79 15                	jns    0x140882f74
140882f5f:	41 c7 43 28 00 00 00 	movl   $0x0,0x28(%r11)
140882f66:	00
140882f67:	33 c0                	xor    %eax,%eax
140882f69:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140882f6e:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140882f73:	c3                   	ret
140882f74:	48 b9 00 00 00 00 00 	movabs $0x3ff0000000000000,%rcx
140882f7b:	00 f0 3f
140882f7e:	49 89 4b 40          	mov    %rcx,0x40(%r11)
140882f82:	48 63 c8             	movslq %eax,%rcx
140882f85:	49 8b 43 20          	mov    0x20(%r11),%rax
140882f89:	c7 04 c8 01 00 00 00 	movl   $0x1,(%rax,%rcx,8)
140882f90:	49 8b 43 20          	mov    0x20(%r11),%rax
140882f94:	c6 44 c8 04 01       	movb   $0x1,0x4(%rax,%rcx,8)
140882f99:	85 d2                	test   %edx,%edx
140882f9b:	79 15                	jns    0x140882fb2
140882f9d:	41 c7 43 28 01 00 00 	movl   $0x1,0x28(%r11)
140882fa4:	00
140882fa5:	33 c0                	xor    %eax,%eax
140882fa7:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140882fac:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140882fb1:	c3                   	ret
140882fb2:	49 8b 43 20          	mov    0x20(%r11),%rax
140882fb6:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140882fbb:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
140882fc0:	48 63 ca             	movslq %edx,%rcx
140882fc3:	c7 04 c8 02 00 00 00 	movl   $0x2,(%rax,%rcx,8)
140882fca:	49 8b 43 20          	mov    0x20(%r11),%rax
140882fce:	c6 44 c8 04 01       	movb   $0x1,0x4(%rax,%rcx,8)
140882fd3:	33 c0                	xor    %eax,%eax
140882fd5:	41 c7 43 28 03 00 00 	movl   $0x3,0x28(%r11)
140882fdc:	00
140882fdd:	c3                   	ret
140882fde:	cc                   	int3
140882fdf:	cc                   	int3
140882fe0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140882fe5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140882fea:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140882fef:	57                   	push   %rdi
140882ff0:	41 54                	push   %r12
140882ff2:	41 55                	push   %r13
140882ff4:	41 56                	push   %r14
140882ff6:	41 57                	push   %r15
140882ff8:	48 83 ec 30          	sub    $0x30,%rsp
140882ffc:	48 8b d9             	mov    %rcx,%rbx
140882fff:	44 8b e2             	mov    %edx,%r12d
140883002:	48 8b 49 20          	mov    0x20(%rcx),%rcx
140883006:	e8 45 8b 00 00       	call   0x14088bb50
14088300b:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
14088300f:	e8 3c 8b 00 00       	call   0x14088bb50
140883014:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140883018:	e8 33 8b 00 00       	call   0x14088bb50
14088301d:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
140883021:	45 33 ed             	xor    %r13d,%r13d
140883024:	4c 89 6b 38          	mov    %r13,0x38(%rbx)
140883028:	4c 89 6b 30          	mov    %r13,0x30(%rbx)
14088302c:	e8 1f 8b 00 00       	call   0x14088bb50
140883031:	4c 89 6b 48          	mov    %r13,0x48(%rbx)
140883035:	44 89 6b 08          	mov    %r13d,0x8(%rbx)
140883039:	4c 89 6b 10          	mov    %r13,0x10(%rbx)
14088303d:	44 88 6b 18          	mov    %r13b,0x18(%rbx)
140883041:	4c 89 6b 20          	mov    %r13,0x20(%rbx)
140883045:	4c 89 6b 28          	mov    %r13,0x28(%rbx)
140883049:	45 85 e4             	test   %r12d,%r12d
14088304c:	0f 84 b6 02 00 00    	je     0x140883308
140883052:	4c 8b bc 24 80 00 00 	mov    0x80(%rsp),%r15
140883059:	00
14088305a:	49 8b 0f             	mov    (%r15),%rcx
14088305d:	48 85 c9             	test   %rcx,%rcx
140883060:	0f 84 a2 02 00 00    	je     0x140883308
140883066:	0f b7 51 14          	movzwl 0x14(%rcx),%edx
14088306a:	41 b8 02 02 00 00    	mov    $0x202,%r8d
140883070:	0f b7 c2             	movzwl %dx,%eax
140883073:	66 41 23 c0          	and    %r8w,%ax
140883077:	66 41 3b c0          	cmp    %r8w,%ax
14088307b:	75 0c                	jne    0x140883089
14088307d:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
140883081:	75 06                	jne    0x140883089
140883083:	48 8b 69 08          	mov    0x8(%rcx),%rbp
140883087:	eb 13                	jmp    0x14088309c
140883089:	f6 c2 01             	test   $0x1,%dl
14088308c:	0f 85 76 02 00 00    	jne    0x140883308
140883092:	b2 01                	mov    $0x1,%dl
140883094:	e8 b7 4c 0a 00       	call   0x140927d50
140883099:	48 8b e8             	mov    %rax,%rbp
14088309c:	48 85 ed             	test   %rbp,%rbp
14088309f:	0f 84 63 02 00 00    	je     0x140883308
1408830a5:	4d 8b 07             	mov    (%r15),%r8
1408830a8:	41 0f b7 50 14       	movzwl 0x14(%r8),%edx
1408830ad:	f6 c2 02             	test   $0x2,%dl
1408830b0:	74 0d                	je     0x1408830bf
1408830b2:	41 80 78 16 01       	cmpb   $0x1,0x16(%r8)
1408830b7:	75 06                	jne    0x1408830bf
1408830b9:	41 8b 48 10          	mov    0x10(%r8),%ecx
1408830bd:	eb 2b                	jmp    0x1408830ea
1408830bf:	f6 c2 10             	test   $0x10,%dl
1408830c2:	74 10                	je     0x1408830d4
1408830c4:	66 0f ba e2 0a       	bt     $0xa,%dx
1408830c9:	41 8b 48 10          	mov    0x10(%r8),%ecx
1408830cd:	73 1b                	jae    0x1408830ea
1408830cf:	41 03 08             	add    (%r8),%ecx
1408830d2:	eb 16                	jmp    0x1408830ea
1408830d4:	f6 c2 01             	test   $0x1,%dl
1408830d7:	74 05                	je     0x1408830de
1408830d9:	41 8b cd             	mov    %r13d,%ecx
1408830dc:	eb 0c                	jmp    0x1408830ea
1408830de:	b2 01                	mov    $0x1,%dl
1408830e0:	49 8b c8             	mov    %r8,%rcx
1408830e3:	e8 e8 42 0a 00       	call   0x1409273d0
1408830e8:	8b c8                	mov    %eax,%ecx
1408830ea:	48 63 f1             	movslq %ecx,%rsi
1408830ed:	e8 7e 08 0a 00       	call   0x140923970
1408830f2:	85 c0                	test   %eax,%eax
1408830f4:	74 0e                	je     0x140883104
1408830f6:	4c 89 6b 20          	mov    %r13,0x20(%rbx)
1408830fa:	b8 07 00 00 00       	mov    $0x7,%eax
1408830ff:	e9 06 02 00 00       	jmp    0x14088330a
140883104:	48 8d 4e 01          	lea    0x1(%rsi),%rcx
140883108:	e8 53 a6 06 00       	call   0x1408ed760
14088310d:	48 89 43 20          	mov    %rax,0x20(%rbx)
140883111:	48 85 c0             	test   %rax,%rax
140883114:	0f 84 c6 00 00 00    	je     0x1408831e0
14088311a:	4c 8d 46 01          	lea    0x1(%rsi),%r8
14088311e:	48 8b d5             	mov    %rbp,%rdx
140883121:	48 8b c8             	mov    %rax,%rcx
140883124:	e8 e7 be 65 00       	call   0x140edf010
140883129:	48 8b 73 20          	mov    0x20(%rbx),%rsi
14088312d:	0f 57 c0             	xorps  %xmm0,%xmm0
140883130:	0f 11 43 30          	movups %xmm0,0x30(%rbx)
140883134:	0f 11 43 40          	movups %xmm0,0x40(%rbx)
140883138:	0f 11 43 50          	movups %xmm0,0x50(%rbx)
14088313c:	48 85 f6             	test   %rsi,%rsi
14088313f:	0f 84 6e 03 00 00    	je     0x1408834b3
140883145:	33 d2                	xor    %edx,%edx
140883147:	48 89 73 40          	mov    %rsi,0x40(%rbx)
14088314b:	48 8d 4b 30          	lea    0x30(%rbx),%rcx
14088314f:	e8 8c d9 02 00       	call   0x1408b0ae0
140883154:	4c 63 c0             	movslq %eax,%r8
140883157:	44 38 6b 50          	cmp    %r13b,0x50(%rbx)
14088315b:	0f 85 44 02 00 00    	jne    0x1408833a5
140883161:	85 c0                	test   %eax,%eax
140883163:	0f 8e 3c 02 00 00    	jle    0x1408833a5
140883169:	42 0f b6 0c 06       	movzbl (%rsi,%r8,1),%ecx
14088316e:	4a 8d 14 06          	lea    (%rsi,%r8,1),%rdx
140883172:	4c 8d 0d 77 35 7c 00 	lea    0x7c3577(%rip),%r9        # 0x1410466f0
140883179:	46 38 2c 09          	cmp    %r13b,(%rcx,%r9,1)
14088317d:	74 12                	je     0x140883191
14088317f:	90                   	nop
140883180:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140883184:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140883188:	41 ff c0             	inc    %r8d
14088318b:	46 38 2c 08          	cmp    %r13b,(%rax,%r9,1)
14088318f:	75 ef                	jne    0x140883180
140883191:	49 63 c0             	movslq %r8d,%rax
140883194:	44 38 2c 30          	cmp    %r13b,(%rax,%rsi,1)
140883198:	0f 85 07 02 00 00    	jne    0x1408833a5
14088319e:	45 85 c0             	test   %r8d,%r8d
1408831a1:	0f 8e fe 01 00 00    	jle    0x1408833a5
1408831a7:	44 38 6b 19          	cmp    %r13b,0x19(%rbx)
1408831ab:	74 4b                	je     0x1408831f8
1408831ad:	8b 73 30             	mov    0x30(%rbx),%esi
1408831b0:	48 c1 e6 02          	shl    $0x2,%rsi
1408831b4:	e8 b7 07 0a 00       	call   0x140923970
1408831b9:	85 c0                	test   %eax,%eax
1408831bb:	74 06                	je     0x1408831c3
1408831bd:	4c 89 6b 48          	mov    %r13,0x48(%rbx)
1408831c1:	eb 11                	jmp    0x1408831d4
1408831c3:	48 8b ce             	mov    %rsi,%rcx
1408831c6:	e8 95 a5 06 00       	call   0x1408ed760
1408831cb:	48 89 43 48          	mov    %rax,0x48(%rbx)
1408831cf:	48 85 c0             	test   %rax,%rax
1408831d2:	75 16                	jne    0x1408831ea
1408831d4:	48 8b cb             	mov    %rbx,%rcx
1408831d7:	c6 43 50 01          	movb   $0x1,0x50(%rbx)
1408831db:	e8 00 c5 02 00       	call   0x1408af6e0
1408831e0:	b8 07 00 00 00       	mov    $0x7,%eax
1408831e5:	e9 20 01 00 00       	jmp    0x14088330a
1408831ea:	45 33 c0             	xor    %r8d,%r8d
1408831ed:	48 8d 4b 30          	lea    0x30(%rbx),%rcx
1408831f1:	33 d2                	xor    %edx,%edx
1408831f3:	e8 b8 d7 02 00       	call   0x1408b09b0
1408831f8:	4d 8b f5             	mov    %r13,%r14
1408831fb:	41 83 fc 03          	cmp    $0x3,%r12d
1408831ff:	0f 85 22 01 00 00    	jne    0x140883327
140883205:	49 8b 4f 08          	mov    0x8(%r15),%rcx
140883209:	4c 89 6c 24 60       	mov    %r13,0x60(%rsp)
14088320e:	48 85 c9             	test   %rcx,%rcx
140883211:	0f 84 f1 00 00 00    	je     0x140883308
140883217:	0f b7 51 14          	movzwl 0x14(%rcx),%edx
14088321b:	41 b8 02 02 00 00    	mov    $0x202,%r8d
140883221:	0f b7 c2             	movzwl %dx,%eax
140883224:	66 41 23 c0          	and    %r8w,%ax
140883228:	66 41 3b c0          	cmp    %r8w,%ax
14088322c:	75 0c                	jne    0x14088323a
14088322e:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
140883232:	75 06                	jne    0x14088323a
140883234:	48 8b 71 08          	mov    0x8(%rcx),%rsi
140883238:	eb 13                	jmp    0x14088324d
14088323a:	f6 c2 01             	test   $0x1,%dl
14088323d:	0f 85 c5 00 00 00    	jne    0x140883308
140883243:	b2 01                	mov    $0x1,%dl
140883245:	e8 06 4b 0a 00       	call   0x140927d50
14088324a:	48 8b f0             	mov    %rax,%rsi
14088324d:	48 85 f6             	test   %rsi,%rsi
140883250:	0f 84 b2 00 00 00    	je     0x140883308
140883256:	49 8b 4f 08          	mov    0x8(%r15),%rcx
14088325a:	e8 31 c1 fe ff       	call   0x14086f390
14088325f:	48 63 e8             	movslq %eax,%rbp
140883262:	48 8d 4d 01          	lea    0x1(%rbp),%rcx
140883266:	e8 25 88 00 00       	call   0x14088ba90
14088326b:	48 89 43 28          	mov    %rax,0x28(%rbx)
14088326f:	48 85 c0             	test   %rax,%rax
140883272:	0f 84 68 ff ff ff    	je     0x1408831e0
140883278:	4c 8d 45 01          	lea    0x1(%rbp),%r8
14088327c:	48 8b d6             	mov    %rsi,%rdx
14088327f:	48 8b c8             	mov    %rax,%rcx
140883282:	e8 89 bd 65 00       	call   0x140edf010
140883287:	80 3e 24             	cmpb   $0x24,(%rsi)
14088328a:	74 07                	je     0x140883293
14088328c:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
140883291:	eb 27                	jmp    0x1408832ba
140883293:	4c 8b 43 28          	mov    0x28(%rbx),%r8
140883297:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
14088329c:	49 ff c0             	inc    %r8
14088329f:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1408832a4:	45 33 c9             	xor    %r9d,%r9d
1408832a7:	48 8d 4b 30          	lea    0x30(%rbx),%rcx
1408832ab:	33 d2                	xor    %edx,%edx
1408832ad:	e8 0e c8 02 00       	call   0x1408afac0
1408832b2:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1408832b7:	4c 8b f0             	mov    %rax,%r14
1408832ba:	48 85 f6             	test   %rsi,%rsi
1408832bd:	74 44                	je     0x140883303
1408832bf:	48 8b 0b             	mov    (%rbx),%rcx
1408832c2:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1408832c6:	e8 85 88 00 00       	call   0x14088bb50
1408832cb:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
1408832d0:	48 8d 0d 31 06 7d 00 	lea    0x7d0631(%rip),%rcx        # 0x141053908
1408832d7:	e8 f4 84 00 00       	call   0x14088b7d0
1408832dc:	48 8b 0b             	mov    (%rbx),%rcx
1408832df:	48 89 41 10          	mov    %rax,0x10(%rcx)
1408832e3:	48 8b cb             	mov    %rbx,%rcx
1408832e6:	e8 f5 c3 02 00       	call   0x1408af6e0
1408832eb:	48 8b 03             	mov    (%rbx),%rax
1408832ee:	bf 07 00 00 00       	mov    $0x7,%edi
1408832f3:	ba 01 00 00 00       	mov    $0x1,%edx
1408832f8:	4c 39 68 10          	cmp    %r13,0x10(%rax)
1408832fc:	0f 45 fa             	cmovne %edx,%edi
1408832ff:	8b c7                	mov    %edi,%eax
140883301:	eb 07                	jmp    0x14088330a
140883303:	4d 85 f6             	test   %r14,%r14
140883306:	75 23                	jne    0x14088332b
140883308:	33 c0                	xor    %eax,%eax
14088330a:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx