140041c3f:	48 8b c1             	mov    %rcx,%rax
140041c42:	48 c1 e8 05          	shr    $0x5,%rax
140041c46:	48 8d 1c 83          	lea    (%rbx,%rax,4),%rbx
140041c4a:	83 e1 1f             	and    $0x1f,%ecx
140041c4d:	48 8d 51 ff          	lea    -0x1(%rcx),%rdx
140041c51:	48 8b c2             	mov    %rdx,%rax
140041c54:	48 83 f9 01          	cmp    $0x1,%rcx
140041c58:	73 14                	jae    0x140041c6e
140041c5a:	48 f7 d0             	not    %rax
140041c5d:	48 c1 e8 05          	shr    $0x5,%rax
140041c61:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140041c68:	00
140041c69:	48 2b d8             	sub    %rax,%rbx
140041c6c:	eb 08                	jmp    0x140041c76
140041c6e:	48 c1 e8 05          	shr    $0x5,%rax
140041c72:	48 8d 1c 83          	lea    (%rbx,%rax,4),%rbx
140041c76:	0f b6 c2             	movzbl %dl,%eax
140041c79:	24 1f                	and    $0x1f,%al
140041c7b:	0f b6 f8             	movzbl %al,%edi
140041c7e:	8b 1b                	mov    (%rbx),%ebx
140041c80:	49 8d 4e 40          	lea    0x40(%r14),%rcx
140041c84:	e8 27 d2 ff ff       	call   0x14003eeb0
140041c89:	0f a3 fb             	bt     %edi,%ebx
140041c8c:	72 1b                	jb     0x140041ca9
140041c8e:	c6 06 00             	movb   $0x0,(%rsi)
140041c91:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
140041c98:	00
140041c99:	0f b6 55 d8          	movzbl -0x28(%rbp),%edx
140041c9d:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140041ca1:	e8 1a 47 ff ff       	call   0x1400363c0
140041ca6:	90                   	nop
140041ca7:	eb 4f                	jmp    0x140041cf8
140041ca9:	0f b6 45 d8          	movzbl -0x28(%rbp),%eax
140041cad:	4c 8b 45 e0          	mov    -0x20(%rbp),%r8
140041cb1:	c6 45 d8 00          	movb   $0x0,-0x28(%rbp)
140041cb5:	48 c7 45 e0 00 00 00 	movq   $0x0,-0x20(%rbp)
140041cbc:	00
140041cbd:	49 8b 4e 60          	mov    0x60(%r14),%rcx
140041cc1:	0f b6 11             	movzbl (%rcx),%edx
140041cc4:	88 01                	mov    %al,(%rcx)
140041cc6:	88 55 e8             	mov    %dl,-0x18(%rbp)
140041cc9:	48 8b 41 08          	mov    0x8(%rcx),%rax
140041ccd:	4c 89 41 08          	mov    %r8,0x8(%rcx)
140041cd1:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140041cd5:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
140041cd9:	e8 e2 46 ff ff       	call   0x1400363c0
140041cde:	90                   	nop
140041cdf:	c6 06 01             	movb   $0x1,(%rsi)
140041ce2:	49 8b 46 60          	mov    0x60(%r14),%rax
140041ce6:	48 89 46 08          	mov    %rax,0x8(%rsi)
140041cea:	0f b6 55 d8          	movzbl -0x28(%rbp),%edx
140041cee:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
140041cf2:	e8 c9 46 ff ff       	call   0x1400363c0
140041cf7:	90                   	nop
140041cf8:	48 8b c6             	mov    %rsi,%rax
140041cfb:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140041cff:	48 33 cc             	xor    %rsp,%rcx
140041d02:	e8 f9 7a 01 00       	call   0x140059800
140041d07:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
140041d0c:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140041d10:	49 8b 73 38          	mov    0x38(%r11),%rsi
140041d14:	49 8b e3             	mov    %r11,%rsp
140041d17:	41 5e                	pop    %r14
140041d19:	5f                   	pop    %rdi
140041d1a:	5d                   	pop    %rbp
140041d1b:	c3                   	ret
140041d1c:	cc                   	int3
140041d1d:	cc                   	int3
140041d1e:	cc                   	int3
140041d1f:	cc                   	int3
140041d20:	40 53                	rex push %rbx
140041d22:	55                   	push   %rbp
140041d23:	56                   	push   %rsi
140041d24:	48 83 ec 20          	sub    $0x20,%rsp
140041d28:	48 8b 19             	mov    (%rcx),%rbx
140041d2b:	48 8b ea             	mov    %rdx,%rbp
140041d2e:	48 8b f1             	mov    %rcx,%rsi
140041d31:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140041d35:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140041d39:	75 3b                	jne    0x140041d76
140041d3b:	48 89 7c 24 50       	mov    %rdi,0x50(%rsp)
140041d40:	4c 8b 43 10          	mov    0x10(%rbx),%r8
140041d44:	48 8b d5             	mov    %rbp,%rdx
140041d47:	48 8b ce             	mov    %rsi,%rcx
140041d4a:	e8 81 63 ff ff       	call   0x1400380d0
140041d4f:	48 8b fb             	mov    %rbx,%rdi
140041d52:	48 8b 1b             	mov    (%rbx),%rbx
140041d55:	48 8d 4f 20          	lea    0x20(%rdi),%rcx
140041d59:	e8 72 06 00 00       	call   0x1400423d0
140041d5e:	ba 50 00 00 00       	mov    $0x50,%edx
140041d63:	48 8b cf             	mov    %rdi,%rcx
140041d66:	e8 29 7f 01 00       	call   0x140059c94
140041d6b:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140041d6f:	74 cf                	je     0x140041d40
140041d71:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
140041d76:	48 8b 0e             	mov    (%rsi),%rcx
140041d79:	ba 50 00 00 00       	mov    $0x50,%edx
140041d7e:	48 83 c4 20          	add    $0x20,%rsp
140041d82:	5e                   	pop    %rsi
140041d83:	5d                   	pop    %rbp
140041d84:	5b                   	pop    %rbx
140041d85:	e9 0a 7f 01 00       	jmp    0x140059c94
140041d8a:	cc                   	int3
140041d8b:	cc                   	int3
140041d8c:	cc                   	int3
140041d8d:	cc                   	int3
140041d8e:	cc                   	int3
140041d8f:	cc                   	int3
140041d90:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140041d95:	55                   	push   %rbp
140041d96:	56                   	push   %rsi
140041d97:	57                   	push   %rdi
140041d98:	48 8d 6c 24 b9       	lea    -0x47(%rsp),%rbp
140041d9d:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
140041da4:	48 8b 05 95 62 03 00 	mov    0x36295(%rip),%rax        # 0x140078040
140041dab:	48 33 c4             	xor    %rsp,%rax
140041dae:	48 89 45 3f          	mov    %rax,0x3f(%rbp)
140041db2:	49 8b d8             	mov    %r8,%rbx
140041db5:	8b f2                	mov    %edx,%esi
140041db7:	48 8b f9             	mov    %rcx,%rdi
140041dba:	48 89 4d ff          	mov    %rcx,-0x1(%rbp)
140041dbe:	0f 57 c0             	xorps  %xmm0,%xmm0
140041dc1:	0f 11 45 bf          	movups %xmm0,-0x41(%rbp)
140041dc5:	0f 57 c9             	xorps  %xmm1,%xmm1
140041dc8:	f3 0f 7f 4d cf       	movdqu %xmm1,-0x31(%rbp)
140041dcd:	45 33 c0             	xor    %r8d,%r8d
140041dd0:	48 8d 15 73 dd 01 00 	lea    0x1dd73(%rip),%rdx        # 0x14005fb4a
140041dd7:	48 8d 4d bf          	lea    -0x41(%rbp),%rcx
140041ddb:	e8 70 ab fc ff       	call   0x14000c950
140041de0:	90                   	nop
140041de1:	0f 57 c0             	xorps  %xmm0,%xmm0
140041de4:	0f 11 45 ff          	movups %xmm0,-0x1(%rbp)
140041de8:	0f 57 c9             	xorps  %xmm1,%xmm1
140041deb:	f3 0f 7f 4d 0f       	movdqu %xmm1,0xf(%rbp)
140041df0:	41 b8 10 00 00 00    	mov    $0x10,%r8d
140041df6:	48 8d 15 eb 2a 02 00 	lea    0x22aeb(%rip),%rdx        # 0x1400648e8
140041dfd:	48 8d 4d ff          	lea    -0x1(%rbp),%rcx
140041e01:	e8 4a ab fc ff       	call   0x14000c950
140041e06:	90                   	nop
140041e07:	44 8b c6             	mov    %esi,%r8d
140041e0a:	48 8d 55 ff          	lea    -0x1(%rbp),%rdx
140041e0e:	48 8d 4d df          	lea    -0x21(%rbp),%rcx
140041e12:	e8 69 01 ff ff       	call   0x140031f80
140041e17:	90                   	nop
140041e18:	4c 8b cb             	mov    %rbx,%r9
140041e1b:	4c 8d 45 bf          	lea    -0x41(%rbp),%r8
140041e1f:	48 8b d0             	mov    %rax,%rdx
140041e22:	48 8d 4d 1f          	lea    0x1f(%rbp),%rcx
140041e26:	e8 65 9f ff ff       	call   0x14003bd90
140041e2b:	90                   	nop
140041e2c:	48 8b 55 f7          	mov    -0x9(%rbp),%rdx
140041e30:	48 83 fa 0f          	cmp    $0xf,%rdx
140041e34:	76 34                	jbe    0x140041e6a
140041e36:	48 ff c2             	inc    %rdx
140041e39:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140041e3d:	48 8b c1             	mov    %rcx,%rax
140041e40:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140041e47:	72 1c                	jb     0x140041e65
140041e49:	48 83 c2 27          	add    $0x27,%rdx
140041e4d:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140041e51:	48 2b c1             	sub    %rcx,%rax
140041e54:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140041e58:	48 83 f8 1f          	cmp    $0x1f,%rax
140041e5c:	76 07                	jbe    0x140041e65
140041e5e:	ff 15 3c d7 01 00    	call   *0x1d73c(%rip)        # 0x14005f5a0
140041e64:	cc                   	int3
140041e65:	e8 2a 7e 01 00       	call   0x140059c94
140041e6a:	66 0f 6f 05 9e 39 02 	movdqa 0x2399e(%rip),%xmm0        # 0x140065810
140041e71:	00
140041e72:	f3 0f 7f 45 ef       	movdqu %xmm0,-0x11(%rbp)
140041e77:	c6 45 df 00          	movb   $0x0,-0x21(%rbp)
140041e7b:	48 8b 55 17          	mov    0x17(%rbp),%rdx
140041e7f:	48 83 fa 0f          	cmp    $0xf,%rdx
140041e83:	76 35                	jbe    0x140041eba
140041e85:	48 ff c2             	inc    %rdx
140041e88:	48 8b 4d ff          	mov    -0x1(%rbp),%rcx
140041e8c:	48 8b c1             	mov    %rcx,%rax
140041e8f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140041e96:	72 1c                	jb     0x140041eb4
140041e98:	48 83 c2 27          	add    $0x27,%rdx
140041e9c:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140041ea0:	48 2b c1             	sub    %rcx,%rax
140041ea3:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140041ea7:	48 83 f8 1f          	cmp    $0x1f,%rax
140041eab:	76 07                	jbe    0x140041eb4
140041ead:	ff 15 ed d6 01 00    	call   *0x1d6ed(%rip)        # 0x14005f5a0
140041eb3:	cc                   	int3
140041eb4:	e8 db 7d 01 00       	call   0x140059c94
140041eb9:	90                   	nop
140041eba:	48 8b 55 d7          	mov    -0x29(%rbp),%rdx
140041ebe:	48 83 fa 0f          	cmp    $0xf,%rdx
140041ec2:	76 34                	jbe    0x140041ef8
140041ec4:	48 ff c2             	inc    %rdx
140041ec7:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
140041ecb:	48 8b c1             	mov    %rcx,%rax
140041ece:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140041ed5:	72 1c                	jb     0x140041ef3
140041ed7:	48 83 c2 27          	add    $0x27,%rdx
140041edb:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140041edf:	48 2b c1             	sub    %rcx,%rax
140041ee2:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140041ee6:	48 83 f8 1f          	cmp    $0x1f,%rax
140041eea:	76 07                	jbe    0x140041ef3
140041eec:	ff 15 ae d6 01 00    	call   *0x1d6ae(%rip)        # 0x14005f5a0
140041ef2:	cc                   	int3
140041ef3:	e8 9c 7d 01 00       	call   0x140059c94
140041ef8:	48 8d 45 1f          	lea    0x1f(%rbp),%rax
140041efc:	48 83 7d 37 0f       	cmpq   $0xf,0x37(%rbp)
140041f01:	48 0f 47 45 1f       	cmova  0x1f(%rbp),%rax
140041f06:	0f 57 c0             	xorps  %xmm0,%xmm0
140041f09:	0f 11 47 08          	movups %xmm0,0x8(%rdi)
140041f0d:	48 8d 0d 5c 17 02 00 	lea    0x2175c(%rip),%rcx        # 0x140063670
140041f14:	48 89 0f             	mov    %rcx,(%rdi)
140041f17:	89 77 18             	mov    %esi,0x18(%rdi)
140041f1a:	48 8d 0d 17 da 01 00 	lea    0x1da17(%rip),%rcx        # 0x14005f938
140041f21:	48 89 4f 20          	mov    %rcx,0x20(%rdi)
140041f25:	48 8d 57 28          	lea    0x28(%rdi),%rdx
140041f29:	0f 11 02             	movups %xmm0,(%rdx)
140041f2c:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
140041f30:	c6 45 07 01          	movb   $0x1,0x7(%rbp)
140041f34:	48 8d 4d ff          	lea    -0x1(%rbp),%rcx
140041f38:	ff 15 8a d4 01 00    	call   *0x1d48a(%rip)        # 0x14005f3c8
140041f3e:	48 8d 05 03 fd 01 00 	lea    0x1fd03(%rip),%rax        # 0x140061c48
140041f45:	48 89 47 20          	mov    %rax,0x20(%rdi)
140041f49:	48 8d 05 f0 0f 02 00 	lea    0x20ff0(%rip),%rax        # 0x140062f40
140041f50:	48 89 07             	mov    %rax,(%rdi)
140041f53:	48 8b 55 37          	mov    0x37(%rbp),%rdx
140041f57:	48 83 fa 0f          	cmp    $0xf,%rdx
140041f5b:	76 34                	jbe    0x140041f91
140041f5d:	48 ff c2             	inc    %rdx
140041f60:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
140041f64:	48 8b c1             	mov    %rcx,%rax
140041f67:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140041f6e:	72 1c                	jb     0x140041f8c
140041f70:	48 83 c2 27          	add    $0x27,%rdx
140041f74:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140041f78:	48 2b c1             	sub    %rcx,%rax
140041f7b:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140041f7f:	48 83 f8 1f          	cmp    $0x1f,%rax
140041f83:	76 07                	jbe    0x140041f8c
140041f85:	ff 15 15 d6 01 00    	call   *0x1d615(%rip)        # 0x14005f5a0
140041f8b:	cc                   	int3
140041f8c:	e8 03 7d 01 00       	call   0x140059c94
140041f91:	48 8b c7             	mov    %rdi,%rax
140041f94:	48 8b 4d 3f          	mov    0x3f(%rbp),%rcx
140041f98:	48 33 cc             	xor    %rsp,%rcx
140041f9b:	e8 60 78 01 00       	call   0x140059800
140041fa0:	48 8b 9c 24 e8 00 00 	mov    0xe8(%rsp),%rbx
140041fa7:	00
140041fa8:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
140041faf:	5f                   	pop    %rdi
140041fb0:	5e                   	pop    %rsi
140041fb1:	5d                   	pop    %rbp
140041fb2:	c3                   	ret
140041fb3:	cc                   	int3
140041fb4:	cc                   	int3
140041fb5:	cc                   	int3
140041fb6:	cc                   	int3
140041fb7:	cc                   	int3
140041fb8:	cc                   	int3
140041fb9:	cc                   	int3
140041fba:	cc                   	int3
140041fbb:	cc                   	int3
140041fbc:	cc                   	int3
140041fbd:	cc                   	int3
140041fbe:	cc                   	int3
140041fbf:	cc                   	int3
140041fc0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140041fc5:	55                   	push   %rbp
140041fc6:	56                   	push   %rsi
140041fc7:	57                   	push   %rdi
140041fc8:	41 54                	push   %r12
140041fca:	41 55                	push   %r13
140041fcc:	41 56                	push   %r14
140041fce:	41 57                	push   %r15
140041fd0:	48 83 ec 50          	sub    $0x50,%rsp
140041fd4:	4d 8b f0             	mov    %r8,%r14
140041fd7:	4c 8b fa             	mov    %rdx,%r15
140041fda:	4c 8b e9             	mov    %rcx,%r13
140041fdd:	48 8b 31             	mov    (%rcx),%rsi
140041fe0:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140041fe5:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140041fe9:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140041fee:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140041ff5:	00
140041ff6:	48 8b ee             	mov    %rsi,%rbp
140041ff9:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
140041ffd:	0f 85 81 00 00 00    	jne    0x140042084
140042003:	49 8b 70 10          	mov    0x10(%r8),%rsi
140042007:	4d 8b 60 18          	mov    0x18(%r8),%r12
14004200b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140042010:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140042015:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140042019:	49 8b d6             	mov    %r14,%rdx
14004201c:	49 83 fc 0f          	cmp    $0xf,%r12
140042020:	76 03                	jbe    0x140042025
140042022:	49 8b 16             	mov    (%r14),%rdx
140042025:	48 8b 79 10          	mov    0x10(%rcx),%rdi
140042029:	48 83 79 18 0f       	cmpq   $0xf,0x18(%rcx)
14004202e:	76 03                	jbe    0x140042033
140042030:	48 8b 09             	mov    (%rcx),%rcx
140042033:	4c 8b c7             	mov    %rdi,%r8
140042036:	48 3b f7             	cmp    %rdi,%rsi
140042039:	4c 0f 42 c6          	cmovb  %rsi,%r8
14004203d:	e8 83 88 01 00       	call   0x14005a8c5
140042042:	85 c0                	test   %eax,%eax
140042044:	74 06                	je     0x14004204c
140042046:	79 0f                	jns    0x140042057
140042048:	b0 ff                	mov    $0xff,%al
14004204a:	eb 0d                	jmp    0x140042059
14004204c:	48 3b fe             	cmp    %rsi,%rdi
14004204f:	73 04                	jae    0x140042055
140042051:	b0 ff                	mov    $0xff,%al
140042053:	eb 04                	jmp    0x140042059
140042055:	76 14                	jbe    0x14004206b
140042057:	b0 01                	mov    $0x1,%al
140042059:	84 c0                	test   %al,%al
14004205b:	79 0e                	jns    0x14004206b
14004205d:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140042064:	00
140042065:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
140042069:	eb 0e                	jmp    0x140042079
14004206b:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
140042072:	00
140042073:	48 8b eb             	mov    %rbx,%rbp
140042076:	48 8b 1b             	mov    (%rbx),%rbx
140042079:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14004207d:	74 91                	je     0x140042010
14004207f:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
140042084:	80 7d 19 00          	cmpb   $0x0,0x19(%rbp)
140042088:	75 1c                	jne    0x1400420a6
14004208a:	4c 8d 45 20          	lea    0x20(%rbp),%r8
14004208e:	49 8b d6             	mov    %r14,%rdx
140042091:	e8 aa 0b 00 00       	call   0x140042c40
140042096:	84 c0                	test   %al,%al
140042098:	75 0c                	jne    0x1400420a6
14004209a:	49 89 2f             	mov    %rbp,(%r15)
14004209d:	41 88 47 08          	mov    %al,0x8(%r15)
1400420a1:	e9 84 00 00 00       	jmp    0x14004212a
1400420a6:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
1400420ad:	33 33 03
1400420b0:	49 39 45 08          	cmp    %rax,0x8(%r13)
1400420b4:	0f 84 8b 00 00 00    	je     0x140042145
1400420ba:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
1400420bf:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1400420c6:	00 00
1400420c8:	b9 50 00 00 00       	mov    $0x50,%ecx
1400420cd:	e8 6e 78 01 00       	call   0x140059940
1400420d2:	48 8b f8             	mov    %rax,%rdi
1400420d5:	48 89 44 24 28       	mov    %rax,0x28(%rsp)