180117a41:	45 33 c0             	xor    %r8d,%r8d
180117a44:	41 8b d4             	mov    %r12d,%edx
180117a47:	48 8b ce             	mov    %rsi,%rcx
180117a4a:	e8 f5 f8 ff ff       	call   0x180117344
180117a4f:	8b d8                	mov    %eax,%ebx
180117a51:	33 d2                	xor    %edx,%edx
180117a53:	eb 05                	jmp    0x180117a5a
180117a55:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180117a5a:	81 fb 1a 00 00 80    	cmp    $0x8000001a,%ebx
180117a60:	0f 84 23 01 00 00    	je     0x180117b89
180117a66:	85 db                	test   %ebx,%ebx
180117a68:	0f 88 1d 01 00 00    	js     0x180117b8b
180117a6e:	49 8b 0f             	mov    (%r15),%rcx
180117a71:	0f 57 c0             	xorps  %xmm0,%xmm0
180117a74:	0f 11 45 b7          	movups %xmm0,-0x49(%rbp)
180117a78:	44 8b f2             	mov    %edx,%r14d
180117a7b:	89 55 af             	mov    %edx,-0x51(%rbp)
180117a7e:	48 8d 41 10          	lea    0x10(%rcx),%rax
180117a82:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
180117a86:	0f b7 41 0c          	movzwl 0xc(%rcx),%eax
180117a8a:	66 89 45 b7          	mov    %ax,-0x49(%rbp)
180117a8e:	66 89 45 b9          	mov    %ax,-0x47(%rbp)
180117a92:	66 85 c0             	test   %ax,%ax
180117a95:	74 15                	je     0x180117aac
180117a97:	48 8d 55 af          	lea    -0x51(%rbp),%rdx
180117a9b:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
180117a9f:	e8 28 f5 ff ff       	call   0x180116fcc
180117aa4:	44 8b 75 af          	mov    -0x51(%rbp),%r14d
180117aa8:	33 d2                	xor    %edx,%edx
180117aaa:	eb 05                	jmp    0x180117ab1
180117aac:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180117ab1:	85 c0                	test   %eax,%eax
180117ab3:	0f 88 bd 00 00 00    	js     0x180117b76
180117ab9:	4c 8d 4d b7          	lea    -0x49(%rbp),%r9
180117abd:	4c 8b c6             	mov    %rsi,%r8
180117ac0:	48 8d 4d a7          	lea    -0x59(%rbp),%rcx
180117ac4:	e8 1f 40 f0 ff       	call   0x18001bae8
180117ac9:	8b d8                	mov    %eax,%ebx
180117acb:	3d 34 00 00 c0       	cmp    $0xc0000034,%eax
180117ad0:	0f 84 9a 00 00 00    	je     0x180117b70
180117ad6:	3d 7c 01 00 c0       	cmp    $0xc000017c,%eax
180117adb:	0f 84 8f 00 00 00    	je     0x180117b70
180117ae1:	48 8b 7d a7          	mov    -0x59(%rbp),%rdi
180117ae5:	85 c0                	test   %eax,%eax
180117ae7:	0f 88 9e 00 00 00    	js     0x180117b8b
180117aed:	41 8b 45 00          	mov    0x0(%r13),%eax
180117af1:	3b 45 c7             	cmp    -0x39(%rbp),%eax
180117af4:	0f 83 88 00 00 00    	jae    0x180117b82
180117afa:	4c 8b 45 cf          	mov    -0x31(%rbp),%r8
180117afe:	48 8d 0c 45 01 00 00 	lea    0x1(,%rax,2),%rcx
180117b05:	00
180117b06:	48 8b 55 d7          	mov    -0x29(%rbp),%rdx
180117b0a:	48 03 c8             	add    %rax,%rcx
180117b0d:	41 81 f6 ff a8 3e 83 	xor    $0x833ea8ff,%r14d
180117b14:	41 c1 c6 ff          	rol    $0xff,%r14d
180117b18:	41 81 f6 4f 3d b2 8f 	xor    $0x8fb23d4f,%r14d
180117b1f:	4c 8d 0c 8d 00 00 00 	lea    0x0(,%rcx,4),%r9
180117b26:	00
180117b27:	48 8b cf             	mov    %rdi,%rcx
180117b2a:	4d 03 cd             	add    %r13,%r9
180117b2d:	41 0f ce             	bswap  %r14d
180117b30:	41 81 f6 4e 1a 16 74 	xor    $0x74161a4e,%r14d
180117b37:	41 8b 41 04          	mov    0x4(%r9),%eax
180117b3b:	33 45 cb             	xor    -0x35(%rbp),%eax
180117b3e:	83 e0 0f             	and    $0xf,%eax
180117b41:	45 89 31             	mov    %r14d,(%r9)
180117b44:	41 31 41 04          	xor    %eax,0x4(%r9)
180117b48:	41 ff 45 00          	incl   0x0(%r13)
180117b4c:	e8 e3 fa ff ff       	call   0x180117634
180117b51:	33 d2                	xor    %edx,%edx
180117b53:	8b d8                	mov    %eax,%ebx
180117b55:	85 c0                	test   %eax,%eax
180117b57:	78 32                	js     0x180117b8b
180117b59:	48 85 ff             	test   %rdi,%rdi
180117b5c:	74 18                	je     0x180117b76
180117b5e:	48 8b cf             	mov    %rdi,%rcx
180117b61:	e8 96 24 f8 ff       	call   0x180099ffc
180117b66:	33 d2                	xor    %edx,%edx
180117b68:	8b fa                	mov    %edx,%edi
180117b6a:	48 89 55 a7          	mov    %rdx,-0x59(%rbp)
180117b6e:	eb 06                	jmp    0x180117b76
180117b70:	48 8b 7d a7          	mov    -0x59(%rbp),%rdi
180117b74:	33 d2                	xor    %edx,%edx
180117b76:	4c 8b 75 df          	mov    -0x21(%rbp),%r14
180117b7a:	41 ff c4             	inc    %r12d
180117b7d:	e9 b2 fe ff ff       	jmp    0x180117a34
180117b82:	bb 23 00 00 c0       	mov    $0xc0000023,%ebx
180117b87:	eb 02                	jmp    0x180117b8b
180117b89:	8b da                	mov    %edx,%ebx
180117b8b:	48 85 ff             	test   %rdi,%rdi
180117b8e:	74 08                	je     0x180117b98
180117b90:	48 8b cf             	mov    %rdi,%rcx
180117b93:	e8 64 24 f8 ff       	call   0x180099ffc
180117b98:	48 85 f6             	test   %rsi,%rsi
180117b9b:	74 08                	je     0x180117ba5
180117b9d:	48 8b ce             	mov    %rsi,%rcx
180117ba0:	e8 57 24 f8 ff       	call   0x180099ffc
180117ba5:	8b c3                	mov    %ebx,%eax
180117ba7:	eb 05                	jmp    0x180117bae
180117ba9:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180117bae:	48 8b 4d ff          	mov    -0x1(%rbp),%rcx
180117bb2:	48 33 cc             	xor    %rsp,%rcx
180117bb5:	e8 72 df ef ff       	call   0x180015b2c
180117bba:	48 8b 9c 24 d8 00 00 	mov    0xd8(%rsp),%rbx
180117bc1:	00
180117bc2:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
180117bc9:	41 5f                	pop    %r15
180117bcb:	41 5e                	pop    %r14
180117bcd:	41 5d                	pop    %r13
180117bcf:	41 5c                	pop    %r12
180117bd1:	5f                   	pop    %rdi
180117bd2:	5e                   	pop    %rsi
180117bd3:	5d                   	pop    %rbp
180117bd4:	c3                   	ret
180117bd5:	cc                   	int3
180117bd6:	cc                   	int3
180117bd7:	cc                   	int3
180117bd8:	40 55                	rex push %rbp
180117bda:	53                   	push   %rbx
180117bdb:	56                   	push   %rsi
180117bdc:	57                   	push   %rdi
180117bdd:	41 55                	push   %r13
180117bdf:	41 56                	push   %r14
180117be1:	41 57                	push   %r15
180117be3:	48 8b ec             	mov    %rsp,%rbp
180117be6:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
180117bed:	33 f6                	xor    %esi,%esi
180117bef:	4c 89 4d e0          	mov    %r9,-0x20(%rbp)
180117bf3:	49 21 30             	and    %rsi,(%r8)
180117bf6:	33 ff                	xor    %edi,%edi
180117bf8:	49 21 31             	and    %rsi,(%r9)
180117bfb:	4c 89 45 f0          	mov    %r8,-0x10(%rbp)
180117bff:	44 8b ea             	mov    %edx,%r13d
180117c02:	48 89 4d e8          	mov    %rcx,-0x18(%rbp)
180117c06:	48 85 c9             	test   %rcx,%rcx
180117c09:	0f 84 34 02 00 00    	je     0x180117e43
180117c0f:	85 d2                	test   %edx,%edx
180117c11:	0f 84 2c 02 00 00    	je     0x180117e43
180117c17:	33 db                	xor    %ebx,%ebx
180117c19:	85 d2                	test   %edx,%edx
180117c1b:	74 2e                	je     0x180117c4b
180117c1d:	8d 47 0c             	lea    0xc(%rdi),%eax
180117c20:	49 f7 e5             	mul    %r13
180117c23:	48 8b c8             	mov    %rax,%rcx
180117c26:	48 85 d2             	test   %rdx,%rdx
180117c29:	74 07                	je     0x180117c32
180117c2b:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
180117c30:	eb 20                	jmp    0x180117c52
180117c32:	48 83 c0 04          	add    $0x4,%rax
180117c36:	49 83 cf ff          	or     $0xffffffffffffffff,%r15
180117c3a:	48 3b c1             	cmp    %rcx,%rax
180117c3d:	4c 0f 43 f8          	cmovae %rax,%r15
180117c41:	1b db                	sbb    %ebx,%ebx
180117c43:	81 e3 95 00 00 c0    	and    $0xc0000095,%ebx
180117c49:	eb 03                	jmp    0x180117c4e
180117c4b:	45 33 ff             	xor    %r15d,%r15d
180117c4e:	85 db                	test   %ebx,%ebx
180117c50:	79 07                	jns    0x180117c59
180117c52:	8b c3                	mov    %ebx,%eax
180117c54:	e9 ec 01 00 00       	jmp    0x180117e45
180117c59:	49 8b cf             	mov    %r15,%rcx
180117c5c:	c7 45 d0 18 01 00 00 	movl   $0x118,-0x30(%rbp)
180117c63:	c7 45 c0 18 01 00 00 	movl   $0x118,-0x40(%rbp)
180117c6a:	e8 e1 21 f8 ff       	call   0x180099e50
180117c6f:	4c 8b f0             	mov    %rax,%r14
180117c72:	48 85 c0             	test   %rax,%rax
180117c75:	0f 84 93 01 00 00    	je     0x180117e0e
180117c7b:	4d 8b c7             	mov    %r15,%r8
180117c7e:	33 d2                	xor    %edx,%edx
180117c80:	48 8b c8             	mov    %rax,%rcx
180117c83:	e8 f8 df 01 00       	call   0x180135c80
180117c88:	41 bf 18 01 00 00    	mov    $0x118,%r15d
180117c8e:	41 8b cf             	mov    %r15d,%ecx
180117c91:	e8 ba 21 f8 ff       	call   0x180099e50
180117c96:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
180117c9a:	48 8b f8             	mov    %rax,%rdi
180117c9d:	48 85 c0             	test   %rax,%rax
180117ca0:	0f 84 68 01 00 00    	je     0x180117e0e
180117ca6:	45 8b c7             	mov    %r15d,%r8d
180117ca9:	33 d2                	xor    %edx,%edx
180117cab:	48 8b c8             	mov    %rax,%rcx
180117cae:	e8 cd df 01 00       	call   0x180135c80
180117cb3:	41 8b cf             	mov    %r15d,%ecx
180117cb6:	e8 95 21 f8 ff       	call   0x180099e50
180117cbb:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
180117cbf:	48 8b f0             	mov    %rax,%rsi
180117cc2:	48 85 c0             	test   %rax,%rax
180117cc5:	0f 84 43 01 00 00    	je     0x180117e0e
180117ccb:	45 8b c7             	mov    %r15d,%r8d
180117cce:	33 d2                	xor    %edx,%edx
180117cd0:	48 8b c8             	mov    %rax,%rcx
180117cd3:	e8 a8 df 01 00       	call   0x180135c80
180117cd8:	48 8b 75 e8          	mov    -0x18(%rbp),%rsi
180117cdc:	33 ff                	xor    %edi,%edi
180117cde:	83 ff 0f             	cmp    $0xf,%edi
180117ce1:	41 bf 01 82 00 00    	mov    $0x8201,%r15d
180117ce7:	77 0c                	ja     0x180117cf5
180117ce9:	41 0f a3 ff          	bt     %edi,%r15d
180117ced:	73 06                	jae    0x180117cf5
180117cef:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
180117cf3:	eb 0e                	jmp    0x180117d03
180117cf5:	83 ff 0a             	cmp    $0xa,%edi
180117cf8:	75 06                	jne    0x180117d00
180117cfa:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
180117cfe:	eb 03                	jmp    0x180117d03
180117d00:	48 8b 0e             	mov    (%rsi),%rcx
180117d03:	48 85 c9             	test   %rcx,%rcx
180117d06:	0f 84 98 00 00 00    	je     0x180117da4
180117d0c:	83 ff 0a             	cmp    $0xa,%edi
180117d0f:	75 17                	jne    0x180117d28
180117d11:	4c 8d 4d c0          	lea    -0x40(%rbp),%r9
180117d15:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
180117d1a:	4c 8d 45 c8          	lea    -0x38(%rbp),%r8
180117d1e:	41 8b d5             	mov    %r13d,%edx
180117d21:	e8 b6 fa ff ff       	call   0x1801177dc
180117d26:	eb 2e                	jmp    0x180117d56
180117d28:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
180117d2d:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
180117d31:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
180117d36:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
180117d3a:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
180117d3e:	45 8b c5             	mov    %r13d,%r8d
180117d41:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180117d46:	8b d7                	mov    %edi,%edx
180117d48:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
180117d4c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180117d51:	e8 e2 fb ff ff       	call   0x180117938
180117d56:	8b d8                	mov    %eax,%ebx
180117d58:	85 c0                	test   %eax,%eax
180117d5a:	0f 88 98 00 00 00    	js     0x180117df8
180117d60:	83 ff 0f             	cmp    $0xf,%edi
180117d63:	77 06                	ja     0x180117d6b
180117d65:	41 0f a3 ff          	bt     %edi,%r15d
180117d69:	72 39                	jb     0x180117da4
180117d6b:	48 8b 4e 28          	mov    0x28(%rsi),%rcx
180117d6f:	48 85 c9             	test   %rcx,%rcx
180117d72:	74 30                	je     0x180117da4
180117d74:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
180117d79:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
180117d7d:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
180117d82:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
180117d86:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
180117d8a:	45 8b c5             	mov    %r13d,%r8d
180117d8d:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
180117d92:	8b d7                	mov    %edi,%edx
180117d94:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
180117d98:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180117d9d:	e8 96 fb ff ff       	call   0x180117938
180117da2:	8b d8                	mov    %eax,%ebx
180117da4:	ff c7                	inc    %edi
180117da6:	83 ff 0f             	cmp    $0xf,%edi
180117da9:	0f 8e 38 ff ff ff    	jle    0x180117ce7
180117daf:	41 8b 0e             	mov    (%r14),%ecx
180117db2:	85 c9                	test   %ecx,%ecx
180117db4:	74 42                	je     0x180117df8
180117db6:	b8 0c 00 00 00       	mov    $0xc,%eax
180117dbb:	48 f7 e1             	mul    %rcx
180117dbe:	48 8b c8             	mov    %rax,%rcx
180117dc1:	48 85 d2             	test   %rdx,%rdx
180117dc4:	74 0b                	je     0x180117dd1
180117dc6:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
180117dca:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
180117dcf:	eb 23                	jmp    0x180117df4
180117dd1:	48 83 c0 04          	add    $0x4,%rax
180117dd5:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
180117ddc:	48 3b c1             	cmp    %rcx,%rax
180117ddf:	48 0f 43 d0          	cmovae %rax,%rdx
180117de3:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
180117de7:	1b db                	sbb    %ebx,%ebx
180117de9:	48 89 10             	mov    %rdx,(%rax)
180117dec:	81 e3 95 00 00 c0    	and    $0xc0000095,%ebx
180117df2:	7d 0e                	jge    0x180117e02
180117df4:	48 83 20 00          	andq   $0x0,(%rax)
180117df8:	48 8b 7d d8          	mov    -0x28(%rbp),%rdi
180117dfc:	48 8b 75 c8          	mov    -0x38(%rbp),%rsi
180117e00:	eb 11                	jmp    0x180117e13
180117e02:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
180117e06:	4c 89 30             	mov    %r14,(%rax)
180117e09:	45 33 f6             	xor    %r14d,%r14d
180117e0c:	eb ea                	jmp    0x180117df8
180117e0e:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180117e13:	48 85 f6             	test   %rsi,%rsi
180117e16:	74 08                	je     0x180117e20
180117e18:	48 8b ce             	mov    %rsi,%rcx
180117e1b:	e8 dc 21 f8 ff       	call   0x180099ffc
180117e20:	48 85 ff             	test   %rdi,%rdi
180117e23:	74 08                	je     0x180117e2d
180117e25:	48 8b cf             	mov    %rdi,%rcx
180117e28:	e8 cf 21 f8 ff       	call   0x180099ffc
180117e2d:	4d 85 f6             	test   %r14,%r14
180117e30:	0f 84 1c fe ff ff    	je     0x180117c52
180117e36:	49 8b ce             	mov    %r14,%rcx
180117e39:	e8 be 21 f8 ff       	call   0x180099ffc
180117e3e:	e9 0f fe ff ff       	jmp    0x180117c52
180117e43:	33 c0                	xor    %eax,%eax
180117e45:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
180117e4c:	41 5f                	pop    %r15
180117e4e:	41 5e                	pop    %r14
180117e50:	41 5d                	pop    %r13
180117e52:	5f                   	pop    %rdi
180117e53:	5e                   	pop    %rsi
180117e54:	5b                   	pop    %rbx
180117e55:	5d                   	pop    %rbp
180117e56:	c3                   	ret
180117e57:	cc                   	int3
180117e58:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180117e5d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180117e62:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180117e67:	57                   	push   %rdi
180117e68:	41 56                	push   %r14
180117e6a:	41 57                	push   %r15
180117e6c:	48 83 ec 40          	sub    $0x40,%rsp
180117e70:	49 8b f1             	mov    %r9,%rsi
180117e73:	4d 8b f8             	mov    %r8,%r15
180117e76:	48 8b fa             	mov    %rdx,%rdi
180117e79:	48 8b e9             	mov    %rcx,%rbp
180117e7c:	48 85 c9             	test   %rcx,%rcx
180117e7f:	0f 84 04 01 00 00    	je     0x180117f89
180117e85:	48 85 d2             	test   %rdx,%rdx
180117e88:	0f 84 fb 00 00 00    	je     0x180117f89
180117e8e:	48 83 3a 00          	cmpq   $0x0,(%rdx)
180117e92:	0f 84 f1 00 00 00    	je     0x180117f89
180117e98:	4d 85 c9             	test   %r9,%r9
180117e9b:	0f 84 e8 00 00 00    	je     0x180117f89
180117ea1:	45 33 f6             	xor    %r14d,%r14d
180117ea4:	33 d2                	xor    %edx,%edx
180117ea6:	e9 c2 00 00 00       	jmp    0x180117f6d
180117eab:	85 c0                	test   %eax,%eax
180117ead:	0f 88 db 00 00 00    	js     0x180117f8e
180117eb3:	48 8b 1f             	mov    (%rdi),%rbx
180117eb6:	83 64 24 34 00       	andl   $0x0,0x34(%rsp)
180117ebb:	8b 4b 04             	mov    0x4(%rbx),%ecx
180117ebe:	48 8d 43 14          	lea    0x14(%rbx),%rax
180117ec2:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180117ec7:	0f b7 43 10          	movzwl 0x10(%rbx),%eax
180117ecb:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
180117ed0:	66 89 44 24 32       	mov    %ax,0x32(%rsp)
180117ed5:	83 e9 03             	sub    $0x3,%ecx
180117ed8:	74 61                	je     0x180117f3b
180117eda:	83 f9 01             	cmp    $0x1,%ecx
180117edd:	0f 85 81 00 00 00    	jne    0x180117f64
180117ee3:	83 7b 0c 04          	cmpl   $0x4,0xc(%rbx)
180117ee7:	75 7b                	jne    0x180117f64
180117ee9:	8b 43 08             	mov    0x8(%rbx),%eax
180117eec:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180117ef1:	44 8a c1             	mov    %cl,%r8b
180117ef4:	48 8d 0d ed 56 04 00 	lea    0x456ed(%rip),%rcx        # 0x18015d5e8
180117efb:	8b 1c 18             	mov    (%rax,%rbx,1),%ebx
180117efe:	e8 01 58 f6 ff       	call   0x18007d704
180117f03:	84 c0                	test   %al,%al