180116a61:	44 8b c2             	mov    %edx,%r8d
180116a64:	45 8d 4c 24 ff       	lea    -0x1(%r12),%r9d
180116a69:	4d 33 c7             	xor    %r15,%r8
180116a6c:	45 8d 5c 24 01       	lea    0x1(%r12),%r11d
180116a71:	4d 33 cf             	xor    %r15,%r9
180116a74:	4d 33 df             	xor    %r15,%r11
180116a77:	49 f7 d8             	neg    %r8
180116a7a:	49 f7 d9             	neg    %r9
180116a7d:	49 f7 db             	neg    %r11
180116a80:	49 c1 e8 10          	shr    $0x10,%r8
180116a84:	49 c1 e9 10          	shr    $0x10,%r9
180116a88:	4c 23 c6             	and    %rsi,%r8
180116a8b:	49 c1 eb 10          	shr    $0x10,%r11
180116a8f:	4c 23 ce             	and    %rsi,%r9
180116a92:	4c 23 de             	and    %rsi,%r11
180116a95:	4d 8b d4             	mov    %r12,%r10
180116a98:	4d 33 d7             	xor    %r15,%r10
180116a9b:	4c 2b c6             	sub    %rsi,%r8
180116a9e:	49 f7 da             	neg    %r10
180116aa1:	4c 2b ce             	sub    %rsi,%r9
180116aa4:	49 c1 ea 10          	shr    $0x10,%r10
180116aa8:	4c 2b de             	sub    %rsi,%r11
180116aab:	4c 23 d6             	and    %rsi,%r10
180116aae:	48 8b ef             	mov    %rdi,%rbp
180116ab1:	4c 2b d6             	sub    %rsi,%r10
180116ab4:	85 c9                	test   %ecx,%ecx
180116ab6:	0f 84 c7 00 00 00    	je     0x180116b83
180116abc:	44 8b f1             	mov    %ecx,%r14d
180116abf:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
180116ac3:	48 8b 43 10          	mov    0x10(%rbx),%rax
180116ac7:	49 23 cb             	and    %r11,%rcx
180116aca:	49 23 c2             	and    %r10,%rax
180116acd:	48 0b c8             	or     %rax,%rcx
180116ad0:	48 8b 43 08          	mov    0x8(%rbx),%rax
180116ad4:	49 23 c1             	and    %r9,%rax
180116ad7:	48 0b c8             	or     %rax,%rcx
180116ada:	48 8b 03             	mov    (%rbx),%rax
180116add:	49 23 c0             	and    %r8,%rax
180116ae0:	48 0b c8             	or     %rax,%rcx
180116ae3:	48 09 4d 00          	or     %rcx,0x0(%rbp)
180116ae7:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
180116aeb:	48 8b 43 30          	mov    0x30(%rbx),%rax
180116aef:	49 23 cb             	and    %r11,%rcx
180116af2:	49 23 c2             	and    %r10,%rax
180116af5:	48 0b c8             	or     %rax,%rcx
180116af8:	48 8b 43 28          	mov    0x28(%rbx),%rax
180116afc:	49 23 c1             	and    %r9,%rax
180116aff:	48 0b c8             	or     %rax,%rcx
180116b02:	48 8b 43 20          	mov    0x20(%rbx),%rax
180116b06:	49 23 c0             	and    %r8,%rax
180116b09:	48 0b c8             	or     %rax,%rcx
180116b0c:	48 09 4d 08          	or     %rcx,0x8(%rbp)
180116b10:	48 8b 4b 58          	mov    0x58(%rbx),%rcx
180116b14:	48 8b 43 50          	mov    0x50(%rbx),%rax
180116b18:	49 23 cb             	and    %r11,%rcx
180116b1b:	49 23 c2             	and    %r10,%rax
180116b1e:	48 0b c8             	or     %rax,%rcx
180116b21:	48 8b 43 48          	mov    0x48(%rbx),%rax
180116b25:	49 23 c1             	and    %r9,%rax
180116b28:	48 0b c8             	or     %rax,%rcx
180116b2b:	48 8b 43 40          	mov    0x40(%rbx),%rax
180116b2f:	49 23 c0             	and    %r8,%rax
180116b32:	48 0b c8             	or     %rax,%rcx
180116b35:	48 09 4d 10          	or     %rcx,0x10(%rbp)
180116b39:	48 8b 4b 78          	mov    0x78(%rbx),%rcx
180116b3d:	48 8b 43 70          	mov    0x70(%rbx),%rax
180116b41:	49 23 cb             	and    %r11,%rcx
180116b44:	49 23 c2             	and    %r10,%rax
180116b47:	48 0b c8             	or     %rax,%rcx
180116b4a:	48 8b 43 68          	mov    0x68(%rbx),%rax
180116b4e:	49 23 c1             	and    %r9,%rax
180116b51:	48 0b c8             	or     %rax,%rcx
180116b54:	48 8b 43 60          	mov    0x60(%rbx),%rax
180116b58:	49 23 c0             	and    %r8,%rax
180116b5b:	48 83 eb 80          	sub    $0xffffffffffffff80,%rbx
180116b5f:	48 0b c8             	or     %rax,%rcx
180116b62:	48 09 4d 18          	or     %rcx,0x18(%rbp)
180116b66:	48 83 c5 20          	add    $0x20,%rbp
180116b6a:	41 83 c6 ff          	add    $0xffffffff,%r14d
180116b6e:	0f 85 4b ff ff ff    	jne    0x180116abf
180116b74:	4c 8b b4 24 f0 00 00 	mov    0xf0(%rsp),%r14
180116b7b:	00
180116b7c:	8b 84 24 f8 00 00 00 	mov    0xf8(%rsp),%eax
180116b83:	45 85 ed             	test   %r13d,%r13d
180116b86:	74 48                	je     0x180116bd0
180116b88:	45 8b f5             	mov    %r13d,%r14d
180116b8b:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
180116b8f:	48 8b 43 10          	mov    0x10(%rbx),%rax
180116b93:	49 23 cb             	and    %r11,%rcx
180116b96:	49 23 c2             	and    %r10,%rax
180116b99:	48 0b c8             	or     %rax,%rcx
180116b9c:	48 8b 43 08          	mov    0x8(%rbx),%rax
180116ba0:	49 23 c1             	and    %r9,%rax
180116ba3:	48 0b c8             	or     %rax,%rcx
180116ba6:	48 8b 03             	mov    (%rbx),%rax
180116ba9:	49 23 c0             	and    %r8,%rax
180116bac:	48 83 c3 20          	add    $0x20,%rbx
180116bb0:	48 0b c8             	or     %rax,%rcx
180116bb3:	48 09 4d 00          	or     %rcx,0x0(%rbp)
180116bb7:	48 8d 6d 08          	lea    0x8(%rbp),%rbp
180116bbb:	41 83 c6 ff          	add    $0xffffffff,%r14d
180116bbf:	75 ca                	jne    0x180116b8b
180116bc1:	4c 8b b4 24 f0 00 00 	mov    0xf0(%rsp),%r14
180116bc8:	00
180116bc9:	8b 84 24 f8 00 00 00 	mov    0xf8(%rsp),%eax
180116bd0:	8b 4c 24 24          	mov    0x24(%rsp),%ecx
180116bd4:	83 c2 04             	add    $0x4,%edx
180116bd7:	41 83 c4 04          	add    $0x4,%r12d
180116bdb:	3b d0                	cmp    %eax,%edx
180116bdd:	0f 82 7e fe ff ff    	jb     0x180116a61
180116be3:	49 8b 6e 10          	mov    0x10(%r14),%rbp
180116be7:	8b ca                	mov    %edx,%ecx
180116be9:	48 3b cd             	cmp    %rbp,%rcx
180116bec:	73 3f                	jae    0x180116c2d
180116bee:	45 8b 56 18          	mov    0x18(%r14),%r10d
180116bf2:	49 33 cf             	xor    %r15,%rcx
180116bf5:	4c 8b c7             	mov    %rdi,%r8
180116bf8:	48 f7 d9             	neg    %rcx
180116bfb:	45 8b ca             	mov    %r10d,%r9d
180116bfe:	48 c1 e9 10          	shr    $0x10,%rcx
180116c02:	48 23 ce             	and    %rsi,%rcx
180116c05:	48 2b ce             	sub    %rsi,%rcx
180116c08:	45 85 d2             	test   %r10d,%r10d
180116c0b:	74 17                	je     0x180116c24
180116c0d:	48 8b 03             	mov    (%rbx),%rax
180116c10:	48 83 c3 08          	add    $0x8,%rbx
180116c14:	48 23 c1             	and    %rcx,%rax
180116c17:	49 09 00             	or     %rax,(%r8)
180116c1a:	4d 8d 40 08          	lea    0x8(%r8),%r8
180116c1e:	41 83 c1 ff          	add    $0xffffffff,%r9d
180116c22:	75 e9                	jne    0x180116c0d
180116c24:	03 d6                	add    %esi,%edx
180116c26:	8b ca                	mov    %edx,%ecx
180116c28:	48 3b cd             	cmp    %rbp,%rcx
180116c2b:	72 c5                	jb     0x180116bf2
180116c2d:	4c 8d 9c 24 b0 00 00 	lea    0xb0(%rsp),%r11
180116c34:	00
180116c35:	8b c6                	mov    %esi,%eax
180116c37:	49 8b 5b 50          	mov    0x50(%r11),%rbx
180116c3b:	41 0f 28 73 f0       	movaps -0x10(%r11),%xmm6
180116c40:	41 0f 28 7b e0       	movaps -0x20(%r11),%xmm7
180116c45:	45 0f 28 43 d0       	movaps -0x30(%r11),%xmm8
180116c4a:	45 0f 28 4b c0       	movaps -0x40(%r11),%xmm9
180116c4f:	45 0f 28 53 b0       	movaps -0x50(%r11),%xmm10
180116c54:	45 0f 28 5b a0       	movaps -0x60(%r11),%xmm11
180116c59:	45 0f 28 63 90       	movaps -0x70(%r11),%xmm12
180116c5e:	45 0f 28 6b 80       	movaps -0x80(%r11),%xmm13
180116c63:	49 8b e3             	mov    %r11,%rsp
180116c66:	41 5f                	pop    %r15
180116c68:	41 5e                	pop    %r14
180116c6a:	41 5d                	pop    %r13
180116c6c:	41 5c                	pop    %r12
180116c6e:	5f                   	pop    %rdi
180116c6f:	5e                   	pop    %rsi
180116c70:	5d                   	pop    %rbp
180116c71:	c3                   	ret
180116c72:	cc                   	int3
180116c73:	cc                   	int3
180116c74:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180116c79:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180116c7e:	55                   	push   %rbp
180116c7f:	57                   	push   %rdi
180116c80:	41 54                	push   %r12
180116c82:	41 56                	push   %r14
180116c84:	41 57                	push   %r15
180116c86:	48 8d 6c 24 c9       	lea    -0x37(%rsp),%rbp
180116c8b:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
180116c92:	48 8b 05 d7 5c 05 00 	mov    0x55cd7(%rip),%rax        # 0x18016c970
180116c99:	48 33 c4             	xor    %rsp,%rax
180116c9c:	48 89 45 27          	mov    %rax,0x27(%rbp)
180116ca0:	48 83 65 d7 00       	andq   $0x0,-0x29(%rbp)
180116ca5:	41 bf 01 00 00 00    	mov    $0x1,%r15d
180116cab:	83 65 db 00          	andl   $0x0,-0x25(%rbp)
180116caf:	33 d2                	xor    %edx,%edx
180116cb1:	48 89 4d df          	mov    %rcx,-0x21(%rbp)
180116cb5:	48 8d 4d e7          	lea    -0x19(%rbp),%rcx
180116cb9:	44 88 7d d7          	mov    %r15b,-0x29(%rbp)
180116cbd:	45 8d 47 3f          	lea    0x3f(%r15),%r8d
180116cc1:	e8 ba ef 01 00       	call   0x180135c80
180116cc6:	33 db                	xor    %ebx,%ebx
180116cc8:	33 f6                	xor    %esi,%esi
180116cca:	45 32 f6             	xor    %r14b,%r14b
180116ccd:	40 32 ff             	xor    %dil,%dil
180116cd0:	45 0f b6 e6          	movzbl %r14b,%r12d
180116cd4:	41 83 e4 1f          	and    $0x1f,%r12d
180116cd8:	8b c3                	mov    %ebx,%eax
180116cda:	40 0f b6 cf          	movzbl %dil,%ecx
180116cde:	83 e1 07             	and    $0x7,%ecx
180116ce1:	c7 44 24 28 02 00 00 	movl   $0x2,0x28(%rsp)
180116ce8:	00
180116ce9:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
180116cee:	4c 8d 4d e7          	lea    -0x19(%rbp),%r9
180116cf2:	c1 e1 05             	shl    $0x5,%ecx
180116cf5:	25 00 ff ff ff       	and    $0xffffff00,%eax
180116cfa:	8b d9                	mov    %ecx,%ebx
180116cfc:	8b d6                	mov    %esi,%edx
180116cfe:	0b d8                	or     %eax,%ebx
180116d00:	33 c9                	xor    %ecx,%ecx
180116d02:	41 0b dc             	or     %r12d,%ebx
180116d05:	44 8b c3             	mov    %ebx,%r8d
180116d08:	e8 c7 00 00 00       	call   0x180116dd4
180116d0d:	85 c0                	test   %eax,%eax
180116d0f:	74 57                	je     0x180116d68
180116d11:	0f b7 45 e7          	movzwl -0x19(%rbp),%eax
180116d15:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
180116d1a:	66 41 2b c7          	sub    %r15w,%ax
180116d1e:	66 3b c1             	cmp    %cx,%ax
180116d21:	77 45                	ja     0x180116d68
180116d23:	c7 44 24 28 10 00 00 	movl   $0x10,0x28(%rsp)
180116d2a:	00
180116d2b:	4c 8d 4d e7          	lea    -0x19(%rbp),%r9
180116d2f:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
180116d34:	44 8b c3             	mov    %ebx,%r8d
180116d37:	8b d6                	mov    %esi,%edx
180116d39:	33 c9                	xor    %ecx,%ecx
180116d3b:	e8 94 00 00 00       	call   0x180116dd4
180116d40:	85 c0                	test   %eax,%eax
180116d42:	74 29                	je     0x180116d6d
180116d44:	48 8d 45 d7          	lea    -0x29(%rbp),%rax
180116d48:	44 8b c3             	mov    %ebx,%r8d
180116d4b:	4c 8d 4d e7          	lea    -0x19(%rbp),%r9
180116d4f:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180116d54:	8b d6                	mov    %esi,%edx
180116d56:	33 c9                	xor    %ecx,%ecx
180116d58:	e8 23 01 00 00       	call   0x180116e80
180116d5d:	40 84 ff             	test   %dil,%dil
180116d60:	75 0b                	jne    0x180116d6d
180116d62:	f6 45 f5 80          	testb  $0x80,-0xb(%rbp)
180116d66:	eb 03                	jmp    0x180116d6b
180116d68:	40 84 ff             	test   %dil,%dil
180116d6b:	74 0d                	je     0x180116d7a
180116d6d:	41 02 ff             	add    %r15b,%dil
180116d70:	40 80 ff 08          	cmp    $0x8,%dil
180116d74:	0f 82 5e ff ff ff    	jb     0x180116cd8
180116d7a:	45 02 f7             	add    %r15b,%r14b
180116d7d:	41 80 fe 20          	cmp    $0x20,%r14b
180116d81:	0f 82 46 ff ff ff    	jb     0x180116ccd
180116d87:	41 03 f7             	add    %r15d,%esi
180116d8a:	81 fe ff 00 00 00    	cmp    $0xff,%esi
180116d90:	0f 86 34 ff ff ff    	jbe    0x180116cca
180116d96:	4c 8b 7d df          	mov    -0x21(%rbp),%r15
180116d9a:	4d 85 ff             	test   %r15,%r15
180116d9d:	74 06                	je     0x180116da5
180116d9f:	8b 45 db             	mov    -0x25(%rbp),%eax
180116da2:	41 89 07             	mov    %eax,(%r15)
180116da5:	8a 45 d7             	mov    -0x29(%rbp),%al
180116da8:	48 8b 4d 27          	mov    0x27(%rbp),%rcx
180116dac:	48 33 cc             	xor    %rsp,%rcx
180116daf:	e8 78 ed ef ff       	call   0x180015b2c
180116db4:	4c 8d 9c 24 90 00 00 	lea    0x90(%rsp),%r11
180116dbb:	00
180116dbc:	49 8b 5b 38          	mov    0x38(%r11),%rbx
180116dc0:	49 8b 73 40          	mov    0x40(%r11),%rsi
180116dc4:	49 8b e3             	mov    %r11,%rsp
180116dc7:	41 5f                	pop    %r15
180116dc9:	41 5e                	pop    %r14
180116dcb:	41 5c                	pop    %r12
180116dcd:	5f                   	pop    %rdi
180116dce:	5d                   	pop    %rbp
180116dcf:	c3                   	ret
180116dd0:	cc                   	int3
180116dd1:	cc                   	int3
180116dd2:	cc                   	int3
180116dd3:	cc                   	int3
180116dd4:	48 8b c4             	mov    %rsp,%rax
180116dd7:	48 89 58 08          	mov    %rbx,0x8(%rax)
180116ddb:	57                   	push   %rdi
180116ddc:	48 83 ec 30          	sub    $0x30,%rsp
180116de0:	8b 5c 24 68          	mov    0x68(%rsp),%ebx
180116de4:	4d 8b d1             	mov    %r9,%r10
180116de7:	66 89 48 e8          	mov    %cx,-0x18(%rax)
180116deb:	33 ff                	xor    %edi,%edi
180116ded:	88 50 ea             	mov    %dl,-0x16(%rax)
180116df0:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180116df5:	40 88 78 ed          	mov    %dil,-0x13(%rax)
180116df9:	44 8b cb             	mov    %ebx,%r9d
180116dfc:	41 8a c0             	mov    %r8b,%al
180116dff:	49 8b d2             	mov    %r10,%rdx
180116e02:	41 c1 e8 05          	shr    $0x5,%r8d
180116e06:	24 1f                	and    $0x1f,%al
180116e08:	41 80 e0 07          	and    $0x7,%r8b
180116e0c:	88 44 24 23          	mov    %al,0x23(%rsp)
180116e10:	44 88 44 24 24       	mov    %r8b,0x24(%rsp)
180116e15:	44 8b 44 24 60       	mov    0x60(%rsp),%r8d
180116e1a:	e8 fd 7a f8 ff       	call   0x18009e91c
180116e1f:	85 c0                	test   %eax,%eax
180116e21:	0f 48 df             	cmovs  %edi,%ebx
180116e24:	8b c3                	mov    %ebx,%eax
180116e26:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180116e2b:	48 83 c4 30          	add    $0x30,%rsp
180116e2f:	5f                   	pop    %rdi
180116e30:	c3                   	ret
180116e31:	cc                   	int3
180116e32:	cc                   	int3
180116e33:	cc                   	int3
180116e34:	40 53                	rex push %rbx
180116e36:	48 83 ec 20          	sub    $0x20,%rsp
180116e3a:	48 8b 05 57 be 08 00 	mov    0x8be57(%rip),%rax        # 0x1801a2c98
180116e41:	48 8b d9             	mov    %rcx,%rbx
180116e44:	ff d0                	call   *%rax
180116e46:	0f 1f 00             	nopl   (%rax)
180116e49:	48 8b 0d c8 ea 07 00 	mov    0x7eac8(%rip),%rcx        # 0x180195918
180116e50:	41 b9 01 00 00 00    	mov    $0x1,%r9d
180116e56:	41 b8 00 10 00 00    	mov    $0x1000,%r8d
180116e5c:	48 8b d3             	mov    %rbx,%rdx
180116e5f:	e8 94 3c f8 ff       	call   0x18009aaf8
180116e64:	48 8b 0d ad ea 07 00 	mov    0x7eaad(%rip),%rcx        # 0x180195918
180116e6b:	33 d2                	xor    %edx,%edx
180116e6d:	85 c0                	test   %eax,%eax
180116e6f:	48 0f 48 ca          	cmovs  %rdx,%rcx
180116e73:	48 8b c1             	mov    %rcx,%rax
180116e76:	48 83 c4 20          	add    $0x20,%rsp
180116e7a:	5b                   	pop    %rbx
180116e7b:	c3                   	ret
180116e7c:	cc                   	int3
180116e7d:	cc                   	int3
180116e7e:	cc                   	int3
180116e7f:	cc                   	int3
180116e80:	48 8b c4             	mov    %rsp,%rax
180116e83:	48 89 58 08          	mov    %rbx,0x8(%rax)
180116e87:	48 89 68 10          	mov    %rbp,0x10(%rax)
180116e8b:	48 89 70 18          	mov    %rsi,0x18(%rax)
180116e8f:	48 89 78 20          	mov    %rdi,0x20(%rax)
180116e93:	41 56                	push   %r14
180116e95:	48 83 ec 20          	sub    $0x20,%rsp
180116e99:	48 8b 7c 24 50       	mov    0x50(%rsp),%rdi
180116e9e:	49 8b d9             	mov    %r9,%rbx
180116ea1:	41 8b e8             	mov    %r8d,%ebp
180116ea4:	8b f2                	mov    %edx,%esi
180116ea6:	44 8b f1             	mov    %ecx,%r14d
180116ea9:	3b 57 04             	cmp    0x4(%rdi),%edx
180116eac:	76 03                	jbe    0x180116eb1
180116eae:	89 57 04             	mov    %edx,0x4(%rdi)
180116eb1:	41 0f b7 01          	movzwl (%r9),%eax
180116eb5:	ba 86 80 00 00       	mov    $0x8086,%edx
180116eba:	66 3b c2             	cmp    %dx,%ax
180116ebd:	75 10                	jne    0x180116ecf
180116ebf:	b9 10 71 00 00       	mov    $0x7110,%ecx
180116ec4:	66 41 39 49 02       	cmp    %cx,0x2(%r9)
180116ec9:	0f 84 83 00 00 00    	je     0x180116f52
180116ecf:	41 80 79 0b 0c       	cmpb   $0xc,0xb(%r9)
180116ed4:	75 32                	jne    0x180116f08
180116ed6:	41 80 79 0a 03       	cmpb   $0x3,0xa(%r9)
180116edb:	75 2b                	jne    0x180116f08
180116edd:	41 80 79 09 00       	cmpb   $0x0,0x9(%r9)
180116ee2:	75 24                	jne    0x180116f08
180116ee4:	66 3b c2             	cmp    %dx,%ax
180116ee7:	75 05                	jne    0x180116eee
180116ee9:	41 b1 01             	mov    $0x1,%r9b
180116eec:	eb 0d                	jmp    0x180116efb