140192c5c:	41 f7 d8             	neg    %r8d
140192c5f:	03 d6                	add    %esi,%edx
140192c61:	41 81 c0 6d 01 00 00 	add    $0x16d,%r8d
140192c68:	e8 d7 f1 ff ff       	call   0x140191e44
140192c6d:	44 8b d0             	mov    %eax,%r10d
140192c70:	eb 0c                	jmp    0x140192c7e
140192c72:	85 c0                	test   %eax,%eax
140192c74:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140192c7a:	44 0f 4f d0          	cmovg  %eax,%r10d
140192c7e:	8a 45 50             	mov    0x50(%rbp),%al
140192c81:	f6 d8                	neg    %al
140192c83:	1a c9                	sbb    %cl,%cl
140192c85:	f6 d1                	not    %cl
140192c87:	80 e1 30             	and    $0x30,%cl
140192c8a:	0f be c1             	movsbl %cl,%eax
140192c8d:	41 8b ca             	mov    %r10d,%ecx
140192c90:	66 89 44 24 20       	mov    %ax,0x20(%rsp)
140192c95:	e9 ec fd ff ff       	jmp    0x140192a86
140192c9a:	8b 4e 18             	mov    0x18(%rsi),%ecx
140192c9d:	83 f9 06             	cmp    $0x6,%ecx
140192ca0:	0f 87 ac f6 ff ff    	ja     0x140192352
140192ca6:	33 db                	xor    %ebx,%ebx
140192ca8:	66 41 83 f8 57       	cmp    $0x57,%r8w
140192cad:	75 0b                	jne    0x140192cba
140192caf:	85 c9                	test   %ecx,%ecx
140192cb1:	75 05                	jne    0x140192cb8
140192cb3:	8d 4b 06             	lea    0x6(%rbx),%ecx
140192cb6:	eb 02                	jmp    0x140192cba
140192cb8:	ff c9                	dec    %ecx
140192cba:	44 8b 46 1c          	mov    0x1c(%rsi),%r8d
140192cbe:	41 81 f8 6d 01 00 00 	cmp    $0x16d,%r8d
140192cc5:	0f 87 87 f6 ff ff    	ja     0x140192352
140192ccb:	44 3b c1             	cmp    %ecx,%r8d
140192cce:	7c 24                	jl     0x140192cf4
140192cd0:	b8 93 24 49 92       	mov    $0x92492493,%eax
140192cd5:	41 f7 e8             	imul   %r8d
140192cd8:	41 03 d0             	add    %r8d,%edx
140192cdb:	c1 fa 02             	sar    $0x2,%edx
140192cde:	8b c2                	mov    %edx,%eax
140192ce0:	c1 e8 1f             	shr    $0x1f,%eax
140192ce3:	03 d0                	add    %eax,%edx
140192ce5:	6b c2 07             	imul   $0x7,%edx,%eax
140192ce8:	8b da                	mov    %edx,%ebx
140192cea:	44 2b c0             	sub    %eax,%r8d
140192ced:	44 3b c1             	cmp    %ecx,%r8d
140192cf0:	7c 02                	jl     0x140192cf4
140192cf2:	ff c3                	inc    %ebx
140192cf4:	8a 45 50             	mov    0x50(%rbp),%al
140192cf7:	8b cb                	mov    %ebx,%ecx
140192cf9:	f6 d8                	neg    %al
140192cfb:	1a d2                	sbb    %dl,%dl
140192cfd:	f6 d2                	not    %dl
140192cff:	80 e2 30             	and    $0x30,%dl
140192d02:	0f be c2             	movsbl %dl,%eax
140192d05:	66 89 44 24 20       	mov    %ax,0x20(%rsp)
140192d0a:	e9 77 fd ff ff       	jmp    0x140192a86
140192d0f:	8a 45 50             	mov    0x50(%rbp),%al
140192d12:	ba 48 00 00 00       	mov    $0x48,%edx
140192d17:	4c 8b 45 40          	mov    0x40(%rbp),%r8
140192d1b:	88 44 24 30          	mov    %al,0x30(%rsp)
140192d1f:	48 8b 45 48          	mov    0x48(%rbp),%rax
140192d23:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140192d28:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140192d2d:	4c 8b c6             	mov    %rsi,%r8
140192d30:	e8 03 f2 ff ff       	call   0x140191f38
140192d35:	33 db                	xor    %ebx,%ebx
140192d37:	84 c0                	test   %al,%al
140192d39:	0f 84 c3 f3 ff ff    	je     0x140192102
140192d3f:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
140192d43:	48 8d 15 26 f0 08 00 	lea    0x8f026(%rip),%rdx        # 0x140221d70
140192d4a:	48 39 19             	cmp    %rbx,(%rcx)
140192d4d:	74 1f                	je     0x140192d6e
140192d4f:	44 0f b7 02          	movzwl (%rdx),%r8d
140192d53:	66 45 85 c0          	test   %r8w,%r8w
140192d57:	74 15                	je     0x140192d6e
140192d59:	48 8b 07             	mov    (%rdi),%rax
140192d5c:	48 83 c2 02          	add    $0x2,%rdx
140192d60:	66 44 89 00          	mov    %r8w,(%rax)
140192d64:	48 83 07 02          	addq   $0x2,(%rdi)
140192d68:	48 83 29 01          	subq   $0x1,(%rcx)
140192d6c:	75 e1                	jne    0x140192d4f
140192d6e:	8a 45 50             	mov    0x50(%rbp),%al
140192d71:	ba 4d 00 00 00       	mov    $0x4d,%edx
140192d76:	88 44 24 30          	mov    %al,0x30(%rsp)
140192d7a:	4c 8b cf             	mov    %rdi,%r9
140192d7d:	48 8b 45 48          	mov    0x48(%rbp),%rax
140192d81:	4c 8b c6             	mov    %rsi,%r8
140192d84:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140192d89:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140192d8e:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
140192d92:	e8 a1 f1 ff ff       	call   0x140191f38
140192d97:	84 c0                	test   %al,%al
140192d99:	0f 84 63 f3 ff ff    	je     0x140192102
140192d9f:	4c 8b 45 40          	mov    0x40(%rbp),%r8
140192da3:	49 39 18             	cmp    %rbx,(%r8)
140192da6:	74 23                	je     0x140192dcb
140192da8:	48 8d 0d c1 ef 08 00 	lea    0x8efc1(%rip),%rcx        # 0x140221d70
140192daf:	0f b7 11             	movzwl (%rcx),%edx
140192db2:	66 85 d2             	test   %dx,%dx
140192db5:	74 14                	je     0x140192dcb
140192db7:	48 8b 07             	mov    (%rdi),%rax
140192dba:	48 83 c1 02          	add    $0x2,%rcx
140192dbe:	66 89 10             	mov    %dx,(%rax)
140192dc1:	48 83 07 02          	addq   $0x2,(%rdi)
140192dc5:	49 83 28 01          	subq   $0x1,(%r8)
140192dc9:	75 e4                	jne    0x140192daf
140192dcb:	ba 53 00 00 00       	mov    $0x53,%edx
140192dd0:	e9 5b f9 ff ff       	jmp    0x140192730
140192dd5:	8b 0e                	mov    (%rsi),%ecx
140192dd7:	83 f9 3c             	cmp    $0x3c,%ecx
140192dda:	e9 a3 fd ff ff       	jmp    0x140192b82
140192ddf:	8a 45 50             	mov    0x50(%rbp),%al
140192de2:	ba 48 00 00 00       	mov    $0x48,%edx
140192de7:	88 44 24 30          	mov    %al,0x30(%rsp)
140192deb:	4c 8b c6             	mov    %rsi,%r8
140192dee:	48 8b 45 48          	mov    0x48(%rbp),%rax
140192df2:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140192df7:	48 8b 45 40          	mov    0x40(%rbp),%rax
140192dfb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140192e00:	e8 33 f1 ff ff       	call   0x140191f38
140192e05:	33 db                	xor    %ebx,%ebx
140192e07:	84 c0                	test   %al,%al
140192e09:	0f 84 f3 f2 ff ff    	je     0x140192102
140192e0f:	4c 8b 45 40          	mov    0x40(%rbp),%r8
140192e13:	48 8d 0d 56 ef 08 00 	lea    0x8ef56(%rip),%rcx        # 0x140221d70
140192e1a:	49 39 18             	cmp    %rbx,(%r8)
140192e1d:	74 1c                	je     0x140192e3b
140192e1f:	0f b7 11             	movzwl (%rcx),%edx
140192e22:	66 85 d2             	test   %dx,%dx
140192e25:	74 14                	je     0x140192e3b
140192e27:	48 8b 07             	mov    (%rdi),%rax
140192e2a:	48 83 c1 02          	add    $0x2,%rcx
140192e2e:	66 89 10             	mov    %dx,(%rax)
140192e31:	48 83 07 02          	addq   $0x2,(%rdi)
140192e35:	49 83 28 01          	subq   $0x1,(%r8)
140192e39:	75 e4                	jne    0x140192e1f
140192e3b:	ba 4d 00 00 00       	mov    $0x4d,%edx
140192e40:	e9 eb f8 ff ff       	jmp    0x140192730
140192e45:	e8 92 83 01 00       	call   0x1401ab1dc
140192e4a:	33 db                	xor    %ebx,%ebx
140192e4c:	48 89 5d f8          	mov    %rbx,-0x8(%rbp)
140192e50:	e8 33 76 01 00       	call   0x1401aa488
140192e55:	39 5e 20             	cmp    %ebx,0x20(%rsi)
140192e58:	8b cb                	mov    %ebx,%ecx
140192e5a:	4c 8b 55 20          	mov    0x20(%rbp),%r10
140192e5e:	48 8b 75 40          	mov    0x40(%rbp),%rsi
140192e62:	0f 95 c1             	setne  %cl
140192e65:	48 8b 17             	mov    (%rdi),%rdx
140192e68:	4c 89 54 24 28       	mov    %r10,0x28(%rsp)
140192e6d:	48 83 4c 24 20 ff    	orq    $0xffffffffffffffff,0x20(%rsp)
140192e73:	4c 8b 0c c8          	mov    (%rax,%rcx,8),%r9
140192e77:	48 8d 4d f8          	lea    -0x8(%rbp),%rcx
140192e7b:	4c 8b 06             	mov    (%rsi),%r8
140192e7e:	e8 a1 85 01 00       	call   0x1401ab424
140192e83:	83 f8 16             	cmp    $0x16,%eax
140192e86:	74 3a                	je     0x140192ec2
140192e88:	83 f8 22             	cmp    $0x22,%eax
140192e8b:	74 35                	je     0x140192ec2
140192e8d:	83 f8 50             	cmp    $0x50,%eax
140192e90:	75 11                	jne    0x140192ea3
140192e92:	48 8b 06             	mov    (%rsi),%rax
140192e95:	48 03 c0             	add    %rax,%rax
140192e98:	48 01 07             	add    %rax,(%rdi)
140192e9b:	48 89 1e             	mov    %rbx,(%rsi)
140192e9e:	e9 0b f5 ff ff       	jmp    0x1401923ae
140192ea3:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140192ea7:	b8 01 00 00 00       	mov    $0x1,%eax
140192eac:	48 2b c1             	sub    %rcx,%rax
140192eaf:	48 01 06             	add    %rax,(%rsi)
140192eb2:	48 8d 04 4d fe ff ff 	lea    -0x2(,%rcx,2),%rax
140192eb9:	ff
140192eba:	48 01 07             	add    %rax,(%rdi)
140192ebd:	e9 ec f4 ff ff       	jmp    0x1401923ae
140192ec2:	45 33 c9             	xor    %r9d,%r9d
140192ec5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140192eca:	45 33 c0             	xor    %r8d,%r8d
140192ecd:	33 d2                	xor    %edx,%edx
140192ecf:	33 c9                	xor    %ecx,%ecx
140192ed1:	e8 de 86 ff ff       	call   0x14018b5b4
140192ed6:	cc                   	int3
140192ed7:	cc                   	int3
140192ed8:	48 8b c4             	mov    %rsp,%rax
140192edb:	48 89 58 08          	mov    %rbx,0x8(%rax)
140192edf:	48 89 68 10          	mov    %rbp,0x10(%rax)
140192ee3:	48 89 70 18          	mov    %rsi,0x18(%rax)
140192ee7:	48 89 78 20          	mov    %rdi,0x20(%rax)
140192eeb:	0f b7 74 24 28       	movzwl 0x28(%rsp),%esi
140192ef0:	33 ed                	xor    %ebp,%ebp
140192ef2:	4d 8b d0             	mov    %r8,%r10
140192ef5:	44 8b c1             	mov    %ecx,%r8d
140192ef8:	66 85 f6             	test   %si,%si
140192efb:	0f 85 96 00 00 00    	jne    0x140192f97
140192f01:	49 8b 01             	mov    (%r9),%rax
140192f04:	4d 8b 1a             	mov    (%r10),%r11
140192f07:	48 83 f8 01          	cmp    $0x1,%rax
140192f0b:	76 69                	jbe    0x140192f76
140192f0d:	b8 67 66 66 66       	mov    $0x66666667,%eax
140192f12:	41 f7 e8             	imul   %r8d
140192f15:	c1 fa 02             	sar    $0x2,%edx
140192f18:	8b c2                	mov    %edx,%eax
140192f1a:	c1 e8 1f             	shr    $0x1f,%eax
140192f1d:	03 d0                	add    %eax,%edx
140192f1f:	0f b7 c2             	movzwl %dx,%eax
140192f22:	66 c1 e0 02          	shl    $0x2,%ax
140192f26:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
140192f29:	66 03 c9             	add    %cx,%cx
140192f2c:	66 44 2b c1          	sub    %cx,%r8w
140192f30:	66 41 83 c0 30       	add    $0x30,%r8w
140192f35:	66 45 89 03          	mov    %r8w,(%r11)
140192f39:	49 83 c3 02          	add    $0x2,%r11
140192f3d:	49 ff 09             	decq   (%r9)
140192f40:	44 8b c2             	mov    %edx,%r8d
140192f43:	85 d2                	test   %edx,%edx
140192f45:	7e 06                	jle    0x140192f4d
140192f47:	49 83 39 01          	cmpq   $0x1,(%r9)
140192f4b:	77 c0                	ja     0x140192f0d
140192f4d:	49 8b 12             	mov    (%r10),%rdx
140192f50:	4d 8d 43 fe          	lea    -0x2(%r11),%r8
140192f54:	4d 89 1a             	mov    %r11,(%r10)
140192f57:	eb 16                	jmp    0x140192f6f
140192f59:	0f b7 02             	movzwl (%rdx),%eax
140192f5c:	41 0f b7 08          	movzwl (%r8),%ecx
140192f60:	66 41 89 00          	mov    %ax,(%r8)
140192f64:	49 83 e8 02          	sub    $0x2,%r8
140192f68:	66 89 0a             	mov    %cx,(%rdx)
140192f6b:	48 83 c2 02          	add    $0x2,%rdx
140192f6f:	49 3b d0             	cmp    %r8,%rdx
140192f72:	72 e5                	jb     0x140192f59
140192f74:	eb 0c                	jmp    0x140192f82
140192f76:	48 03 c0             	add    %rax,%rax
140192f79:	4c 2b d8             	sub    %rax,%r11
140192f7c:	4d 89 1a             	mov    %r11,(%r10)
140192f7f:	49 89 29             	mov    %rbp,(%r9)
140192f82:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140192f87:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
140192f8c:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140192f91:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140192f96:	c3                   	ret
140192f97:	48 63 c2             	movslq %edx,%rax
140192f9a:	49 3b 01             	cmp    (%r9),%rax
140192f9d:	73 e0                	jae    0x140192f7f
140192f9f:	ff ca                	dec    %edx
140192fa1:	8b dd                	mov    %ebp,%ebx
140192fa3:	44 8d 5a 01          	lea    0x1(%rdx),%r11d
140192fa7:	45 85 db             	test   %r11d,%r11d
140192faa:	74 6a                	je     0x140193016
140192fac:	48 63 c2             	movslq %edx,%rax
140192faf:	48 8d 3c 00          	lea    (%rax,%rax,1),%rdi
140192fb3:	45 85 c0             	test   %r8d,%r8d
140192fb6:	74 33                	je     0x140192feb
140192fb8:	b8 67 66 66 66       	mov    $0x66666667,%eax
140192fbd:	41 0f b7 c8          	movzwl %r8w,%ecx
140192fc1:	41 f7 e8             	imul   %r8d
140192fc4:	c1 fa 02             	sar    $0x2,%edx
140192fc7:	8b c2                	mov    %edx,%eax
140192fc9:	c1 e8 1f             	shr    $0x1f,%eax
140192fcc:	03 d0                	add    %eax,%edx
140192fce:	0f b7 c2             	movzwl %dx,%eax
140192fd1:	66 c1 e0 02          	shl    $0x2,%ax
140192fd5:	66 03 d0             	add    %ax,%dx
140192fd8:	49 8b 02             	mov    (%r10),%rax
140192fdb:	66 03 d2             	add    %dx,%dx
140192fde:	66 2b ca             	sub    %dx,%cx
140192fe1:	66 83 c1 30          	add    $0x30,%cx
140192fe5:	66 89 0c 07          	mov    %cx,(%rdi,%rax,1)
140192fe9:	eb 07                	jmp    0x140192ff2
140192feb:	49 8b 02             	mov    (%r10),%rax
140192fee:	66 89 34 07          	mov    %si,(%rdi,%rax,1)
140192ff2:	b8 67 66 66 66       	mov    $0x66666667,%eax
140192ff7:	ff c3                	inc    %ebx
140192ff9:	41 f7 e8             	imul   %r8d
140192ffc:	48 83 ef 02          	sub    $0x2,%rdi
140193000:	44 8b c2             	mov    %edx,%r8d
140193003:	41 c1 f8 02          	sar    $0x2,%r8d
140193007:	41 8b c0             	mov    %r8d,%eax
14019300a:	c1 e8 1f             	shr    $0x1f,%eax
14019300d:	44 03 c0             	add    %eax,%r8d
140193010:	41 83 eb 01          	sub    $0x1,%r11d
140193014:	75 9d                	jne    0x140192fb3
140193016:	48 63 cb             	movslq %ebx,%rcx
140193019:	48 8d 04 09          	lea    (%rcx,%rcx,1),%rax
14019301d:	49 01 02             	add    %rax,(%r10)
140193020:	49 29 09             	sub    %rcx,(%r9)
140193023:	e9 5a ff ff ff       	jmp    0x140192f82
140193028:	40 55                	rex push %rbp
14019302a:	56                   	push   %rsi
14019302b:	57                   	push   %rdi
14019302c:	41 54                	push   %r12
14019302e:	41 55                	push   %r13
140193030:	41 56                	push   %r14
140193032:	41 57                	push   %r15
140193034:	48 83 ec 70          	sub    $0x70,%rsp
140193038:	48 8d 6c 24 40       	lea    0x40(%rsp),%rbp
14019303d:	48 89 5d 78          	mov    %rbx,0x78(%rbp)
140193041:	48 8b 05 28 82 11 00 	mov    0x118228(%rip),%rax        # 0x1402ab270
140193048:	48 33 c5             	xor    %rbp,%rax
14019304b:	48 89 45 20          	mov    %rax,0x20(%rbp)
14019304f:	4c 8b bd 90 00 00 00 	mov    0x90(%rbp),%r15
140193056:	4d 8b d8             	mov    %r8,%r11
140193059:	4c 8b ad 98 00 00 00 	mov    0x98(%rbp),%r13
140193060:	4d 8b e1             	mov    %r9,%r12
140193063:	4c 89 45 00          	mov    %r8,0x0(%rbp)
140193067:	4c 8b f1             	mov    %rcx,%r14
14019306a:	45 33 c0             	xor    %r8d,%r8d
14019306d:	48 89 4d 08          	mov    %rcx,0x8(%rbp)
140193071:	85 d2                	test   %edx,%edx
140193073:	74 17                	je     0x14019308c
140193075:	83 fa 01             	cmp    $0x1,%edx
140193078:	74 09                	je     0x140193083
14019307a:	49 8b bd b0 02 00 00 	mov    0x2b0(%r13),%rdi
140193081:	eb 10                	jmp    0x140193093
140193083:	49 8b bd a8 02 00 00 	mov    0x2a8(%r13),%rdi
14019308a:	eb 07                	jmp    0x140193093
14019308c:	49 8b bd a0 02 00 00 	mov    0x2a0(%r13),%rdi
140193093:	41 ba 01 00 00 00    	mov    $0x1,%r10d
140193099:	45 39 95 58 01 00 00 	cmp    %r10d,0x158(%r13)
1401930a0:	0f 84 c5 01 00 00    	je     0x14019326b
1401930a6:	41 0f b7 43 14       	movzwl 0x14(%r11),%eax
1401930ab:	83 fa 02             	cmp    $0x2,%edx
1401930ae:	b9 6c 07 00 00       	mov    $0x76c,%ecx
1401930b3:	66 44 89 45 1e       	mov    %r8w,0x1e(%rbp)
1401930b8:	41 0f 94 c6          	sete   %r14b
1401930bc:	4c 8b cf             	mov    %rdi,%r9
1401930bf:	66 03 c1             	add    %cx,%ax
1401930c2:	33 d2                	xor    %edx,%edx
1401930c4:	49 8b 8d b8 02 00 00 	mov    0x2b8(%r13),%rcx
1401930cb:	66 89 45 10          	mov    %ax,0x10(%rbp)
1401930cf:	41 0f b7 43 10       	movzwl 0x10(%r11),%eax
1401930d4:	66 41 03 c2          	add    %r10w,%ax
1401930d8:	66 89 45 12          	mov    %ax,0x12(%rbp)
1401930dc:	41 0f b7 43 0c       	movzwl 0xc(%r11),%eax
1401930e1:	66 89 45 16          	mov    %ax,0x16(%rbp)
1401930e5:	41 0f b7 43 08       	movzwl 0x8(%r11),%eax
1401930ea:	66 89 45 18          	mov    %ax,0x18(%rbp)
1401930ee:	41 0f b7 43 04       	movzwl 0x4(%r11),%eax
1401930f3:	66 89 45 1a          	mov    %ax,0x1a(%rbp)
1401930f7:	41 0f b7 03          	movzwl (%r11),%eax
1401930fb:	66 89 45 1c          	mov    %ax,0x1c(%rbp)
1401930ff:	45 84 f6             	test   %r14b,%r14b
140193102:	74 15                	je     0x140193119
140193104:	44 89 44 24 28       	mov    %r8d,0x28(%rsp)
140193109:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14019310e:	4c 8d 45 10          	lea    0x10(%rbp),%r8
140193112:	e8 89 44 01 00       	call   0x1401a75a0
140193117:	eb 18                	jmp    0x140193131
140193119:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
14019311e:	44 89 44 24 28       	mov    %r8d,0x28(%rsp)
140193123:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140193128:	4c 8d 45 10          	lea    0x10(%rbp),%r8
14019312c:	e8 b3 42 01 00       	call   0x1401a73e4