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
180116eee:	b9 06 11 00 00       	mov    $0x1106,%ecx
180116ef3:	66 3b c1             	cmp    %cx,%ax
180116ef6:	75 10                	jne    0x180116f08
180116ef8:	45 33 c9             	xor    %r9d,%r9d
180116efb:	8b d6                	mov    %esi,%edx
180116efd:	41 8b ce             	mov    %r14d,%ecx
180116f00:	e8 4b 3a 01 00       	call   0x18012a950
180116f05:	c6 07 00             	movb   $0x0,(%rdi)
180116f08:	8a 43 0b             	mov    0xb(%rbx),%al
180116f0b:	3c 0c                	cmp    $0xc,%al
180116f0d:	75 43                	jne    0x180116f52
180116f0f:	80 7b 0a 03          	cmpb   $0x3,0xa(%rbx)
180116f13:	75 3d                	jne    0x180116f52
180116f15:	80 7b 09 10          	cmpb   $0x10,0x9(%rbx)
180116f19:	75 17                	jne    0x180116f32
180116f1b:	44 8b c5             	mov    %ebp,%r8d
180116f1e:	8b d6                	mov    %esi,%edx
180116f20:	41 8b ce             	mov    %r14d,%ecx
180116f23:	e8 24 39 01 00       	call   0x18012a84c
180116f28:	c6 07 00             	movb   $0x0,(%rdi)
180116f2b:	8a 43 0b             	mov    0xb(%rbx),%al
180116f2e:	3c 0c                	cmp    $0xc,%al
180116f30:	75 20                	jne    0x180116f52
180116f32:	80 7b 0a 03          	cmpb   $0x3,0xa(%rbx)
180116f36:	75 1a                	jne    0x180116f52
180116f38:	80 7b 09 30          	cmpb   $0x30,0x9(%rbx)
180116f3c:	75 14                	jne    0x180116f52
180116f3e:	44 8b c5             	mov    %ebp,%r8d
180116f41:	8b d6                	mov    %esi,%edx
180116f43:	41 8b ce             	mov    %r14d,%ecx
180116f46:	e8 61 3b 01 00       	call   0x18012aaac
180116f4b:	84 c0                	test   %al,%al
180116f4d:	74 03                	je     0x180116f52
180116f4f:	c6 07 00             	movb   $0x0,(%rdi)
180116f52:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180116f57:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180116f5c:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180116f61:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
180116f66:	48 83 c4 20          	add    $0x20,%rsp
180116f6a:	41 5e                	pop    %r14
180116f6c:	c3                   	ret
180116f6d:	cc                   	int3
180116f6e:	cc                   	int3
180116f6f:	cc                   	int3
180116f70:	8b 01                	mov    (%rcx),%eax
180116f72:	3b 02                	cmp    (%rdx),%eax
180116f74:	77 2b                	ja     0x180116fa1
180116f76:	72 24                	jb     0x180116f9c
180116f78:	0f b7 41 04          	movzwl 0x4(%rcx),%eax
180116f7c:	66 3b 42 04          	cmp    0x4(%rdx),%ax
180116f80:	77 1f                	ja     0x180116fa1
180116f82:	72 18                	jb     0x180116f9c
180116f84:	8b 41 08             	mov    0x8(%rcx),%eax
180116f87:	3b 42 08             	cmp    0x8(%rdx),%eax
180116f8a:	77 15                	ja     0x180116fa1
180116f8c:	72 0e                	jb     0x180116f9c
180116f8e:	8b 41 0c             	mov    0xc(%rcx),%eax
180116f91:	3b 42 0c             	cmp    0xc(%rdx),%eax
180116f94:	77 0b                	ja     0x180116fa1
180116f96:	72 04                	jb     0x180116f9c
180116f98:	33 c0                	xor    %eax,%eax
180116f9a:	c3                   	ret
180116f9b:	cc                   	int3
180116f9c:	83 c8 ff             	or     $0xffffffff,%eax
180116f9f:	c3                   	ret
180116fa0:	cc                   	int3
180116fa1:	b8 01 00 00 00       	mov    $0x1,%eax
180116fa6:	c3                   	ret
180116fa7:	cc                   	int3
180116fa8:	8b 01                	mov    (%rcx),%eax
180116faa:	3b 02                	cmp    (%rdx),%eax
180116fac:	76 07                	jbe    0x180116fb5
180116fae:	b8 01 00 00 00       	mov    $0x1,%eax
180116fb3:	c3                   	ret
180116fb4:	cc                   	int3
180116fb5:	73 05                	jae    0x180116fbc
180116fb7:	83 c8 ff             	or     $0xffffffff,%eax
180116fba:	c3                   	ret
180116fbb:	cc                   	int3
180116fbc:	8b 49 04             	mov    0x4(%rcx),%ecx
180116fbf:	8b 42 04             	mov    0x4(%rdx),%eax
180116fc2:	83 e1 0f             	and    $0xf,%ecx
180116fc5:	83 e0 0f             	and    $0xf,%eax
180116fc8:	2b c1                	sub    %ecx,%eax
180116fca:	c3                   	ret
180116fcb:	cc                   	int3
180116fcc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180116fd1:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
180116fd6:	0f b7 01             	movzwl (%rcx),%eax
180116fd9:	bf 01 00 00 00       	mov    $0x1,%edi
180116fde:	48 8b da             	mov    %rdx,%rbx
180116fe1:	40 84 c7             	test   %al,%dil
180116fe4:	75 59                	jne    0x18011703f
180116fe6:	4c 8b 51 08          	mov    0x8(%rcx),%r10
180116fea:	44 8b c0             	mov    %eax,%r8d
180116fed:	41 d1 e8             	shr    $1,%r8d
180116ff0:	66 41 83 3a 30       	cmpw   $0x30,(%r10)
180116ff5:	75 05                	jne    0x180116ffc
180116ff7:	44 3b c7             	cmp    %edi,%r8d
180116ffa:	77 43                	ja     0x18011703f
180116ffc:	33 d2                	xor    %edx,%edx
180116ffe:	44 0f b7 ca          	movzwl %dx,%r9d
180117002:	45 85 c0             	test   %r8d,%r8d
180117005:	74 32                	je     0x180117039
180117007:	41 0f b7 c1          	movzwl %r9w,%eax
18011700b:	45 0f b7 1c 42       	movzwl (%r10,%rax,2),%r11d
180117010:	41 8d 43 d0          	lea    -0x30(%r11),%eax
180117014:	66 83 f8 09          	cmp    $0x9,%ax
180117018:	77 25                	ja     0x18011703f
18011701a:	8d 4a fa             	lea    -0x6(%rdx),%ecx
18011701d:	8d 0c 8a             	lea    (%rdx,%rcx,4),%ecx
180117020:	45 8d 1c 4b          	lea    (%r11,%rcx,2),%r11d
180117024:	44 3b da             	cmp    %edx,%r11d
180117027:	72 16                	jb     0x18011703f
180117029:	66 44 03 cf          	add    %di,%r9w
18011702d:	41 8b d3             	mov    %r11d,%edx
180117030:	41 0f b7 c1          	movzwl %r9w,%eax
180117034:	41 3b c0             	cmp    %r8d,%eax
180117037:	72 ce                	jb     0x180117007
180117039:	89 13                	mov    %edx,(%rbx)
18011703b:	33 c0                	xor    %eax,%eax
18011703d:	eb 05                	jmp    0x180117044
18011703f:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180117044:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180117049:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
18011704e:	c3                   	ret
18011704f:	cc                   	int3
180117050:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180117055:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18011705a:	55                   	push   %rbp
18011705b:	57                   	push   %rdi
18011705c:	41 54                	push   %r12
18011705e:	41 55                	push   %r13
180117060:	41 56                	push   %r14
180117062:	48 8b ec             	mov    %rsp,%rbp
180117065:	48 83 ec 30          	sub    $0x30,%rsp
180117069:	48 83 65 40 00       	andq   $0x0,0x40(%rbp)
18011706e:	4c 8b f1             	mov    %rcx,%r14
180117071:	8b 0d 5d 54 05 00    	mov    0x5545d(%rip),%ecx        # 0x18016c4d4
180117077:	48 8b f2             	mov    %rdx,%rsi
18011707a:	e8 35 d9 ee ff       	call   0x1800049b4
18011707f:	45 33 c0             	xor    %r8d,%r8d
180117082:	48 8d 4d 40          	lea    0x40(%rbp),%rcx
180117086:	84 c0                	test   %al,%al
180117088:	41 0f 94 c0          	sete   %r8b
18011708c:	e8 ff 47 f0 ff       	call   0x18001b890
180117091:	48 8b 7d 40          	mov    0x40(%rbp),%rdi
180117095:	8b d8                	mov    %eax,%ebx
180117097:	41 bd 34 00 00 c0    	mov    $0xc0000034,%r13d
18011709d:	41 bc 7c 01 00 c0    	mov    $0xc000017c,%r12d
1801170a3:	85 c0                	test   %eax,%eax
1801170a5:	78 14                	js     0x1801170bb
1801170a7:	4d 8b ce             	mov    %r14,%r9
1801170aa:	4c 8b c7             	mov    %rdi,%r8
1801170ad:	48 8b ce             	mov    %rsi,%rcx
1801170b0:	e8 33 4a f0 ff       	call   0x18001bae8
1801170b5:	8b d8                	mov    %eax,%ebx
1801170b7:	85 c0                	test   %eax,%eax
1801170b9:	79 0e                	jns    0x1801170c9
1801170bb:	41 3b dd             	cmp    %r13d,%ebx
1801170be:	74 09                	je     0x1801170c9
1801170c0:	41 3b dc             	cmp    %r12d,%ebx
1801170c3:	0f 85 41 01 00 00    	jne    0x18011720a
1801170c9:	0f 57 c0             	xorps  %xmm0,%xmm0
1801170cc:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
1801170d0:	48 8d 0d f9 62 04 00 	lea    0x462f9(%rip),%rcx        # 0x18015d3d0
1801170d7:	0f 11 45 f0          	movups %xmm0,-0x10(%rbp)
1801170db:	e8 c0 20 00 00       	call   0x1801191a0
1801170e0:	8b d8                	mov    %eax,%ebx
1801170e2:	85 c0                	test   %eax,%eax
1801170e4:	78 24                	js     0x18011710a
1801170e6:	48 8d 4e 28          	lea    0x28(%rsi),%rcx
1801170ea:	4c 8b c7             	mov    %rdi,%r8
1801170ed:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
1801170f1:	e8 f2 49 f0 ff       	call   0x18001bae8