1401c895d:	41 54                	push   %r12
1401c895f:	41 56                	push   %r14
1401c8961:	41 57                	push   %r15
1401c8963:	48 83 ec 50          	sub    $0x50,%rsp
1401c8967:	4d 8b f1             	mov    %r9,%r14
1401c896a:	4d 8b f8             	mov    %r8,%r15
1401c896d:	4c 8b e2             	mov    %rdx,%r12
1401c8970:	48 85 c9             	test   %rcx,%rcx
1401c8973:	0f 84 c6 00 00 00    	je     0x1401c8a3f
1401c8979:	4d 85 c9             	test   %r9,%r9
1401c897c:	0f 84 bd 00 00 00    	je     0x1401c8a3f
1401c8982:	48 8b ac 24 a0 00 00 	mov    0xa0(%rsp),%rbp
1401c8989:	00
1401c898a:	48 85 ed             	test   %rbp,%rbp
1401c898d:	0f 84 ac 00 00 00    	je     0x1401c8a3f
1401c8993:	48 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%rsi
1401c899a:	00
1401c899b:	48 85 f6             	test   %rsi,%rsi
1401c899e:	0f 84 9b 00 00 00    	je     0x1401c8a3f
1401c89a4:	49 8b 01             	mov    (%r9),%rax
1401c89a7:	49 89 43 08          	mov    %rax,0x8(%r11)
1401c89ab:	48 8b 06             	mov    (%rsi),%rax
1401c89ae:	49 89 43 c8          	mov    %rax,-0x38(%r11)
1401c89b2:	48 8b 59 f0          	mov    -0x10(%rcx),%rbx
1401c89b6:	49 89 5b d0          	mov    %rbx,-0x30(%r11)
1401c89ba:	48 85 db             	test   %rbx,%rbx
1401c89bd:	74 15                	je     0x1401c89d4
1401c89bf:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401c89c3:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c89c7:	48 83 c1 08          	add    $0x8,%rcx
1401c89cb:	48 03 cb             	add    %rbx,%rcx
1401c89ce:	48 8b 01             	mov    (%rcx),%rax
1401c89d1:	ff 10                	call   *(%rax)
1401c89d3:	90                   	nop
1401c89d4:	48 8b 03             	mov    (%rbx),%rax
1401c89d7:	4c 8b 50 08          	mov    0x8(%rax),%r10
1401c89db:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
1401c89e0:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401c89e5:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
1401c89ec:	00
1401c89ed:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1401c89f2:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1401c89f7:	4c 8d 8c 24 80 00 00 	lea    0x80(%rsp),%r9
1401c89fe:	00
1401c89ff:	4d 8b c7             	mov    %r15,%r8
1401c8a02:	49 8b d4             	mov    %r12,%rdx
1401c8a05:	48 8b cb             	mov    %rbx,%rcx
1401c8a08:	41 ff d2             	call   *%r10
1401c8a0b:	8b e8                	mov    %eax,%ebp
1401c8a0d:	48 85 db             	test   %rbx,%rbx
1401c8a10:	74 16                	je     0x1401c8a28
1401c8a12:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401c8a16:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1401c8a1a:	48 83 c1 08          	add    $0x8,%rcx
1401c8a1e:	48 03 cb             	add    %rbx,%rcx
1401c8a21:	48 8b 11             	mov    (%rcx),%rdx
1401c8a24:	ff 52 08             	call   *0x8(%rdx)
1401c8a27:	90                   	nop
1401c8a28:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1401c8a2f:	00
1401c8a30:	49 89 06             	mov    %rax,(%r14)
1401c8a33:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1401c8a38:	48 89 06             	mov    %rax,(%rsi)
1401c8a3b:	8b c5                	mov    %ebp,%eax
1401c8a3d:	eb 05                	jmp    0x1401c8a44
1401c8a3f:	b8 02 00 00 00       	mov    $0x2,%eax
1401c8a44:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
1401c8a49:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1401c8a4d:	49 8b 6b 40          	mov    0x40(%r11),%rbp
1401c8a51:	49 8b e3             	mov    %r11,%rsp
1401c8a54:	41 5f                	pop    %r15
1401c8a56:	41 5e                	pop    %r14
1401c8a58:	41 5c                	pop    %r12
1401c8a5a:	5f                   	pop    %rdi
1401c8a5b:	5e                   	pop    %rsi
1401c8a5c:	c3                   	ret
1401c8a5d:	cc                   	int3
1401c8a5e:	cc                   	int3
1401c8a5f:	cc                   	int3
1401c8a60:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401c8a65:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401c8a6a:	57                   	push   %rdi
1401c8a6b:	48 83 ec 20          	sub    $0x20,%rsp
1401c8a6f:	48 85 c9             	test   %rcx,%rcx
1401c8a72:	75 12                	jne    0x1401c8a86
1401c8a74:	33 c0                	xor    %eax,%eax
1401c8a76:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1401c8a7b:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1401c8a80:	48 83 c4 20          	add    $0x20,%rsp
1401c8a84:	5f                   	pop    %rdi
1401c8a85:	c3                   	ret
1401c8a86:	48 8b 59 f0          	mov    -0x10(%rcx),%rbx
1401c8a8a:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1401c8a8f:	48 85 db             	test   %rbx,%rbx
1401c8a92:	74 15                	je     0x1401c8aa9
1401c8a94:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401c8a98:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c8a9c:	48 83 c1 08          	add    $0x8,%rcx
1401c8aa0:	48 03 cb             	add    %rbx,%rcx
1401c8aa3:	48 8b 01             	mov    (%rcx),%rax
1401c8aa6:	ff 10                	call   *(%rax)
1401c8aa8:	90                   	nop
1401c8aa9:	48 8b 03             	mov    (%rbx),%rax
1401c8aac:	48 8b cb             	mov    %rbx,%rcx
1401c8aaf:	ff 10                	call   *(%rax)
1401c8ab1:	0f b6 f0             	movzbl %al,%esi
1401c8ab4:	48 85 db             	test   %rbx,%rbx
1401c8ab7:	74 16                	je     0x1401c8acf
1401c8ab9:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1401c8abd:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1401c8ac1:	48 83 c1 08          	add    $0x8,%rcx
1401c8ac5:	48 03 cb             	add    %rbx,%rcx
1401c8ac8:	48 8b 11             	mov    (%rcx),%rdx
1401c8acb:	ff 52 08             	call   *0x8(%rdx)
1401c8ace:	90                   	nop
1401c8acf:	8b c6                	mov    %esi,%eax
1401c8ad1:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1401c8ad6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1401c8adb:	48 83 c4 20          	add    $0x20,%rsp
1401c8adf:	5f                   	pop    %rdi
1401c8ae0:	c3                   	ret
1401c8ae1:	cc                   	int3
1401c8ae2:	cc                   	int3
1401c8ae3:	cc                   	int3
1401c8ae4:	cc                   	int3
1401c8ae5:	cc                   	int3
1401c8ae6:	cc                   	int3
1401c8ae7:	cc                   	int3
1401c8ae8:	cc                   	int3
1401c8ae9:	cc                   	int3
1401c8aea:	cc                   	int3
1401c8aeb:	cc                   	int3
1401c8aec:	cc                   	int3
1401c8aed:	cc                   	int3
1401c8aee:	cc                   	int3
1401c8aef:	cc                   	int3
1401c8af0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401c8af5:	57                   	push   %rdi
1401c8af6:	48 83 ec 40          	sub    $0x40,%rsp
1401c8afa:	48 8b c2             	mov    %rdx,%rax
1401c8afd:	48 8b d9             	mov    %rcx,%rbx
1401c8b00:	33 c9                	xor    %ecx,%ecx
1401c8b02:	48 85 db             	test   %rbx,%rbx
1401c8b05:	0f 84 ee 00 00 00    	je     0x1401c8bf9
1401c8b0b:	0f 57 c0             	xorps  %xmm0,%xmm0
1401c8b0e:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
1401c8b14:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1401c8b19:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401c8b1e:	48 8b c8             	mov    %rax,%rcx
1401c8b21:	e8 1a 05 00 00       	call   0x1401c9040
1401c8b26:	48 8b 5b f0          	mov    -0x10(%rbx),%rbx
1401c8b2a:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
1401c8b2f:	48 85 db             	test   %rbx,%rbx
1401c8b32:	74 15                	je     0x1401c8b49
1401c8b34:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401c8b38:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c8b3c:	48 83 c1 08          	add    $0x8,%rcx
1401c8b40:	48 03 cb             	add    %rbx,%rcx
1401c8b43:	48 8b 01             	mov    (%rcx),%rax
1401c8b46:	ff 10                	call   *(%rax)
1401c8b48:	90                   	nop
1401c8b49:	48 8b 03             	mov    (%rbx),%rax
1401c8b4c:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1401c8b51:	48 8b cb             	mov    %rbx,%rcx
1401c8b54:	ff 10                	call   *(%rax)
1401c8b56:	90                   	nop
1401c8b57:	48 85 db             	test   %rbx,%rbx
1401c8b5a:	74 16                	je     0x1401c8b72
1401c8b5c:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401c8b60:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c8b64:	48 83 c1 08          	add    $0x8,%rcx
1401c8b68:	48 03 cb             	add    %rbx,%rcx
1401c8b6b:	48 8b 01             	mov    (%rcx),%rax
1401c8b6e:	ff 50 08             	call   *0x8(%rax)
1401c8b71:	90                   	nop
1401c8b72:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
1401c8b77:	48 85 db             	test   %rbx,%rbx
1401c8b7a:	74 7d                	je     0x1401c8bf9
1401c8b7c:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
1401c8b81:	48 3b df             	cmp    %rdi,%rbx
1401c8b84:	74 18                	je     0x1401c8b9e
1401c8b86:	48 8b 03             	mov    (%rbx),%rax
1401c8b89:	33 d2                	xor    %edx,%edx
1401c8b8b:	48 8b cb             	mov    %rbx,%rcx
1401c8b8e:	ff 10                	call   *(%rax)
1401c8b90:	48 83 c3 18          	add    $0x18,%rbx
1401c8b94:	48 3b df             	cmp    %rdi,%rbx
1401c8b97:	75 ed                	jne    0x1401c8b86
1401c8b99:	48 8b 5c 24 20       	mov    0x20(%rsp),%rbx
1401c8b9e:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1401c8ba3:	48 2b cb             	sub    %rbx,%rcx
1401c8ba6:	48 b8 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%rax
1401c8bad:	aa aa 2a
1401c8bb0:	48 f7 e9             	imul   %rcx
1401c8bb3:	48 c1 fa 02          	sar    $0x2,%rdx
1401c8bb7:	48 8b c2             	mov    %rdx,%rax
1401c8bba:	48 c1 e8 3f          	shr    $0x3f,%rax
1401c8bbe:	48 03 d0             	add    %rax,%rdx
1401c8bc1:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
1401c8bc5:	48 c1 e2 03          	shl    $0x3,%rdx
1401c8bc9:	48 8b c3             	mov    %rbx,%rax
1401c8bcc:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1401c8bd3:	72 1c                	jb     0x1401c8bf1
1401c8bd5:	48 83 c2 27          	add    $0x27,%rdx
1401c8bd9:	48 8b 5b f8          	mov    -0x8(%rbx),%rbx
1401c8bdd:	48 2b c3             	sub    %rbx,%rax
1401c8be0:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1401c8be4:	48 83 f8 1f          	cmp    $0x1f,%rax
1401c8be8:	76 07                	jbe    0x1401c8bf1
1401c8bea:	ff 15 08 14 16 00    	call   *0x161408(%rip)        # 0x140329ff8
1401c8bf0:	cc                   	int3
1401c8bf1:	48 8b cb             	mov    %rbx,%rcx
1401c8bf4:	e8 8b 16 13 00       	call   0x1402fa284
1401c8bf9:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1401c8bfe:	48 83 c4 40          	add    $0x40,%rsp
1401c8c02:	5f                   	pop    %rdi
1401c8c03:	c3                   	ret
1401c8c04:	cc                   	int3
1401c8c05:	cc                   	int3
1401c8c06:	cc                   	int3
1401c8c07:	cc                   	int3
1401c8c08:	cc                   	int3
1401c8c09:	cc                   	int3
1401c8c0a:	cc                   	int3
1401c8c0b:	cc                   	int3
1401c8c0c:	cc                   	int3
1401c8c0d:	cc                   	int3
1401c8c0e:	cc                   	int3
1401c8c0f:	cc                   	int3
1401c8c10:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1401c8c15:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1401c8c1a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1401c8c1f:	55                   	push   %rbp
1401c8c20:	41 54                	push   %r12
1401c8c22:	41 55                	push   %r13
1401c8c24:	41 56                	push   %r14
1401c8c26:	41 57                	push   %r15
1401c8c28:	48 8b ec             	mov    %rsp,%rbp
1401c8c2b:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
1401c8c32:	4d 8b f9             	mov    %r9,%r15
1401c8c35:	4d 8b e0             	mov    %r8,%r12
1401c8c38:	4c 8b ea             	mov    %rdx,%r13
1401c8c3b:	48 85 c9             	test   %rcx,%rcx
1401c8c3e:	0f 84 50 01 00 00    	je     0x1401c8d94
1401c8c44:	4d 85 c9             	test   %r9,%r9
1401c8c47:	0f 84 47 01 00 00    	je     0x1401c8d94
1401c8c4d:	48 8b 7d 50          	mov    0x50(%rbp),%rdi
1401c8c51:	48 85 ff             	test   %rdi,%rdi
1401c8c54:	0f 84 3a 01 00 00    	je     0x1401c8d94
1401c8c5a:	48 8b 59 f0          	mov    -0x10(%rcx),%rbx
1401c8c5e:	48 89 5d 30          	mov    %rbx,0x30(%rbp)
1401c8c62:	48 85 db             	test   %rbx,%rbx
1401c8c65:	74 15                	je     0x1401c8c7c
1401c8c67:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401c8c6b:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c8c6f:	48 83 c1 08          	add    $0x8,%rcx
1401c8c73:	48 03 cb             	add    %rbx,%rcx
1401c8c76:	48 8b 01             	mov    (%rcx),%rax
1401c8c79:	ff 10                	call   *(%rax)
1401c8c7b:	90                   	nop
1401c8c7c:	48 8b 03             	mov    (%rbx),%rax
1401c8c7f:	4c 8b 30             	mov    (%rax),%r14
1401c8c82:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
1401c8c86:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
1401c8c8a:	48 8b d7             	mov    %rdi,%rdx
1401c8c8d:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
1401c8c91:	e8 5a 01 ff ff       	call   0x1401b8df0
1401c8c96:	48 8b f0             	mov    %rax,%rsi
1401c8c99:	48 8d 05 a0 1c 16 00 	lea    0x161ca0(%rip),%rax        # 0x14032a940
1401c8ca0:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
1401c8ca4:	4c 89 7d b8          	mov    %r15,-0x48(%rbp)
1401c8ca8:	c6 45 c0 00          	movb   $0x0,-0x40(%rbp)
1401c8cac:	48 8d 45 d8          	lea    -0x28(%rbp),%rax
1401c8cb0:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1401c8cb4:	49 8b d4             	mov    %r12,%rdx
1401c8cb7:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1401c8cbb:	e8 80 ed fe ff       	call   0x1401b7a40
1401c8cc0:	48 8b f8             	mov    %rax,%rdi
1401c8cc3:	49 8b d5             	mov    %r13,%rdx
1401c8cc6:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1401c8cca:	e8 c1 df fe ff       	call   0x1401b6c90
1401c8ccf:	90                   	nop
1401c8cd0:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1401c8cd5:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
1401c8cd9:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1401c8cde:	4c 8b cf             	mov    %rdi,%r9
1401c8ce1:	4c 8b c0             	mov    %rax,%r8
1401c8ce4:	48 8d 55 c8          	lea    -0x38(%rbp),%rdx
1401c8ce8:	48 8b cb             	mov    %rbx,%rcx
1401c8ceb:	41 ff d6             	call   *%r14
1401c8cee:	90                   	nop
1401c8cef:	48 8d 05 4a 1c 16 00 	lea    0x161c4a(%rip),%rax        # 0x14032a940
1401c8cf6:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
1401c8cfa:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
1401c8cfe:	48 85 c9             	test   %rcx,%rcx
1401c8d01:	74 25                	je     0x1401c8d28
1401c8d03:	80 7d c0 00          	cmpb   $0x0,-0x40(%rbp)
1401c8d07:	74 13                	je     0x1401c8d1c
1401c8d09:	e8 ee 50 f1 ff       	call   0x1400dddfc
1401c8d0e:	ba 18 00 00 00       	mov    $0x18,%edx
1401c8d13:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
1401c8d17:	e8 68 15 13 00       	call   0x1402fa284
1401c8d1c:	48 c7 45 b8 00 00 00 	movq   $0x0,-0x48(%rbp)
1401c8d23:	00
1401c8d24:	c6 45 c0 00          	movb   $0x0,-0x40(%rbp)
1401c8d28:	48 85 db             	test   %rbx,%rbx
1401c8d2b:	74 16                	je     0x1401c8d43
1401c8d2d:	48 8b 43 08          	mov    0x8(%rbx),%rax
1401c8d31:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401c8d35:	48 83 c1 08          	add    $0x8,%rcx
1401c8d39:	48 03 cb             	add    %rbx,%rcx
1401c8d3c:	48 8b 01             	mov    (%rcx),%rax
1401c8d3f:	ff 50 08             	call   *0x8(%rax)
1401c8d42:	90                   	nop
1401c8d43:	48 8b 45 c8          	mov    -0x38(%rbp),%rax
1401c8d47:	48 89 45 30          	mov    %rax,0x30(%rbp)
1401c8d4b:	48 85 c0             	test   %rax,%rax
1401c8d4e:	74 14                	je     0x1401c8d64
1401c8d50:	48 8b 48 08          	mov    0x8(%rax),%rcx
1401c8d54:	48 63 49 04          	movslq 0x4(%rcx),%rcx
1401c8d58:	48 83 c0 08          	add    $0x8,%rax
1401c8d5c:	48 03 c8             	add    %rax,%rcx
1401c8d5f:	48 8b 01             	mov    (%rcx),%rax
1401c8d62:	ff 10                	call   *(%rax)
1401c8d64:	48 8d 4d 30          	lea    0x30(%rbp),%rcx
1401c8d68:	e8 83 1f ff ff       	call   0x1401bacf0
1401c8d6d:	48 8b d8             	mov    %rax,%rbx
1401c8d70:	48 8b 4d c8          	mov    -0x38(%rbp),%rcx
1401c8d74:	48 85 c9             	test   %rcx,%rcx
1401c8d77:	74 16                	je     0x1401c8d8f
1401c8d79:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1401c8d7d:	4c 63 42 04          	movslq 0x4(%rdx),%r8
1401c8d81:	48 83 c1 08          	add    $0x8,%rcx
1401c8d85:	49 03 c8             	add    %r8,%rcx
1401c8d88:	48 8b 11             	mov    (%rcx),%rdx
1401c8d8b:	ff 52 08             	call   *0x8(%rdx)
1401c8d8e:	90                   	nop
1401c8d8f:	48 8b c3             	mov    %rbx,%rax
1401c8d92:	eb 02                	jmp    0x1401c8d96
1401c8d94:	33 c0                	xor    %eax,%eax
1401c8d96:	4c 8d 9c 24 80 00 00 	lea    0x80(%rsp),%r11
1401c8d9d:	00
1401c8d9e:	49 8b 5b 38          	mov    0x38(%r11),%rbx
1401c8da2:	49 8b 73 40          	mov    0x40(%r11),%rsi
1401c8da6:	49 8b 7b 48          	mov    0x48(%r11),%rdi
1401c8daa:	49 8b e3             	mov    %r11,%rsp
1401c8dad:	41 5f                	pop    %r15
1401c8daf:	41 5e                	pop    %r14
1401c8db1:	41 5d                	pop    %r13
1401c8db3:	41 5c                	pop    %r12