180056816:	48 8b c8             	mov    %rax,%rcx
180056819:	e8 4a 07 ff ff       	call   0x180046f68
18005681e:	48 8b d8             	mov    %rax,%rbx
180056821:	eb 02                	jmp    0x180056825
180056823:	33 db                	xor    %ebx,%ebx
180056825:	48 85 db             	test   %rbx,%rbx
180056828:	0f 84 9d 01 00 00    	je     0x1800569cb
18005682e:	45 33 c0             	xor    %r8d,%r8d
180056831:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
180056835:	44 8b ce             	mov    %esi,%r9d
180056838:	41 8d 50 03          	lea    0x3(%r8),%edx
18005683c:	e8 5b 03 ff ff       	call   0x180046b9c
180056841:	44 8b f8             	mov    %eax,%r15d
180056844:	85 c0                	test   %eax,%eax
180056846:	0f 88 85 01 00 00    	js     0x1800569d1
18005684c:	49 8b 4d 18          	mov    0x18(%r13),%rcx
180056850:	48 8b 73 68          	mov    0x68(%rbx),%rsi
180056854:	44 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%r8d
18005685b:	00
18005685c:	8b 51 10             	mov    0x10(%rcx),%edx
18005685f:	8b 41 0c             	mov    0xc(%rcx),%eax
180056862:	44 8b 69 08          	mov    0x8(%rcx),%r13d
180056866:	48 03 c1             	add    %rcx,%rax
180056869:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
18005686e:	48 8b ce             	mov    %rsi,%rcx
180056871:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
180056876:	89 54 24 20          	mov    %edx,0x20(%rsp)
18005687a:	33 d2                	xor    %edx,%edx
18005687c:	48 8b 40 08          	mov    0x8(%rax),%rax
180056880:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180056885:	e8 f6 f3 0d 00       	call   0x180135c80
18005688a:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
18005688f:	44 8b 44 24 20       	mov    0x20(%rsp),%r8d
180056894:	c7 06 1c 00 00 00    	movl   $0x1c,(%rsi)
18005689a:	8b 01                	mov    (%rcx),%eax
18005689c:	89 46 04             	mov    %eax,0x4(%rsi)
18005689f:	44 89 6e 08          	mov    %r13d,0x8(%rsi)
1800568a3:	45 85 c0             	test   %r8d,%r8d
1800568a6:	74 32                	je     0x1800568da
1800568a8:	8b 49 08             	mov    0x8(%rcx),%ecx
1800568ab:	33 d2                	xor    %edx,%edx
1800568ad:	44 89 46 10          	mov    %r8d,0x10(%rsi)
1800568b1:	44 8d 49 1b          	lea    0x1b(%rcx),%r9d
1800568b5:	41 8b c1             	mov    %r9d,%eax
1800568b8:	f7 f1                	div    %ecx
1800568ba:	44 2b ca             	sub    %edx,%r9d
1800568bd:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
1800568c2:	44 89 4e 0c          	mov    %r9d,0xc(%rsi)
1800568c6:	48 85 d2             	test   %rdx,%rdx
1800568c9:	74 0f                	je     0x1800568da
1800568cb:	41 8b c9             	mov    %r9d,%ecx
1800568ce:	48 03 ce             	add    %rsi,%rcx
1800568d1:	e8 ea f0 0d 00       	call   0x1801359c0
1800568d6:	44 8b 6e 08          	mov    0x8(%rsi),%r13d
1800568da:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
1800568df:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1800568e4:	4d 8b 40 08          	mov    0x8(%r8),%r8
1800568e8:	4c 03 40 18          	add    0x18(%rax),%r8
1800568ec:	4d 03 c6             	add    %r14,%r8
1800568ef:	41 f6 c5 01          	test   $0x1,%r13b
1800568f3:	75 64                	jne    0x180056959
1800568f5:	44 8b 4e 18          	mov    0x18(%rsi),%r9d
1800568f9:	45 85 c9             	test   %r9d,%r9d
1800568fc:	75 1c                	jne    0x18005691a
1800568fe:	8b 4e 10             	mov    0x10(%rsi),%ecx
180056901:	85 c9                	test   %ecx,%ecx
180056903:	75 05                	jne    0x18005690a
180056905:	8d 41 1c             	lea    0x1c(%rcx),%eax
180056908:	eb 05                	jmp    0x18005690f
18005690a:	8b 46 0c             	mov    0xc(%rsi),%eax
18005690d:	03 c1                	add    %ecx,%eax
18005690f:	8b c8                	mov    %eax,%ecx
180056911:	48 83 c1 07          	add    $0x7,%rcx
180056915:	83 e1 f8             	and    $0xfffffff8,%ecx
180056918:	eb 06                	jmp    0x180056920
18005691a:	8b 4e 14             	mov    0x14(%rsi),%ecx
18005691d:	41 03 c9             	add    %r9d,%ecx
180056920:	8b 84 24 b0 00 00 00 	mov    0xb0(%rsp),%eax
180056927:	2b c1                	sub    %ecx,%eax
180056929:	83 f8 10             	cmp    $0x10,%eax
18005692c:	72 2b                	jb     0x180056959
18005692e:	8b 46 14             	mov    0x14(%rsi),%eax
180056931:	85 c0                	test   %eax,%eax
180056933:	75 05                	jne    0x18005693a
180056935:	89 4e 14             	mov    %ecx,0x14(%rsi)
180056938:	8b c1                	mov    %ecx,%eax
18005693a:	8b d0                	mov    %eax,%edx
18005693c:	49 8b c9             	mov    %r9,%rcx
18005693f:	48 03 d6             	add    %rsi,%rdx
180056942:	48 83 e1 f0          	and    $0xfffffffffffffff0,%rcx
180056946:	48 8b c5             	mov    %rbp,%rax
180056949:	49 2b c6             	sub    %r14,%rax
18005694c:	4c 89 04 11          	mov    %r8,(%rcx,%rdx,1)
180056950:	48 89 44 11 08       	mov    %rax,0x8(%rcx,%rdx,1)
180056955:	83 46 18 10          	addl   $0x10,0x18(%rsi)
180056959:	8b 84 24 b8 00 00 00 	mov    0xb8(%rsp),%eax
180056960:	49 2b ee             	sub    %r14,%rbp
180056963:	48 8b 8c 24 a8 00 00 	mov    0xa8(%rsp),%rcx
18005696a:	00
18005696b:	48 8b d3             	mov    %rbx,%rdx
18005696e:	48 89 6b 70          	mov    %rbp,0x70(%rbx)
180056972:	4c 89 73 78          	mov    %r14,0x78(%rbx)
180056976:	44 89 a3 84 00 00 00 	mov    %r12d,0x84(%rbx)
18005697d:	89 83 88 00 00 00    	mov    %eax,0x88(%rbx)
180056983:	c6 83 98 00 00 00 0e 	movb   $0xe,0x98(%rbx)
18005698a:	48 89 bb d8 00 00 00 	mov    %rdi,0xd8(%rbx)
180056991:	e8 16 07 ff ff       	call   0x1800470ac
180056996:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
18005699b:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1800569a0:	8b b4 24 b0 00 00 00 	mov    0xb0(%rsp),%esi
1800569a7:	8b 8c 24 b8 00 00 00 	mov    0xb8(%rsp),%ecx
1800569ae:	0f b6 47 2b          	movzbl 0x2b(%rdi),%eax
1800569b2:	ff c1                	inc    %ecx
1800569b4:	89 8c 24 b8 00 00 00 	mov    %ecx,0xb8(%rsp)
1800569bb:	3b c8                	cmp    %eax,%ecx
1800569bd:	0f 82 39 fd ff ff    	jb     0x1800566fc
1800569c3:	41 ff c4             	inc    %r12d
1800569c6:	e9 fe fc ff ff       	jmp    0x1800566c9
1800569cb:	41 bf 9a 00 00 c0    	mov    $0xc000009a,%r15d
1800569d1:	48 85 db             	test   %rbx,%rbx
1800569d4:	74 13                	je     0x1800569e9
1800569d6:	48 8b 03             	mov    (%rbx),%rax
1800569d9:	ba 01 00 00 00       	mov    $0x1,%edx
1800569de:	48 8b cb             	mov    %rbx,%rcx
1800569e1:	48 8b 00             	mov    (%rax),%rax
1800569e4:	ff d0                	call   *%rax
1800569e6:	0f 1f 00             	nopl   (%rax)
1800569e9:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
1800569f0:	00
1800569f1:	41 8b c7             	mov    %r15d,%eax
1800569f4:	48 83 c4 60          	add    $0x60,%rsp
1800569f8:	41 5f                	pop    %r15
1800569fa:	41 5e                	pop    %r14
1800569fc:	41 5d                	pop    %r13
1800569fe:	41 5c                	pop    %r12
180056a00:	5f                   	pop    %rdi
180056a01:	5e                   	pop    %rsi
180056a02:	5d                   	pop    %rbp
180056a03:	c3                   	ret
180056a04:	cc                   	int3
180056a05:	cc                   	int3
180056a06:	cc                   	int3
180056a07:	cc                   	int3
180056a08:	48 8b c4             	mov    %rsp,%rax
180056a0b:	48 89 58 10          	mov    %rbx,0x10(%rax)
180056a0f:	48 89 68 18          	mov    %rbp,0x18(%rax)
180056a13:	48 89 70 20          	mov    %rsi,0x20(%rax)
180056a17:	48 89 48 08          	mov    %rcx,0x8(%rax)
180056a1b:	57                   	push   %rdi
180056a1c:	41 54                	push   %r12
180056a1e:	41 55                	push   %r13
180056a20:	41 56                	push   %r14
180056a22:	41 57                	push   %r15
180056a24:	48 83 ec 20          	sub    $0x20,%rsp
180056a28:	48 8b 42 10          	mov    0x10(%rdx),%rax
180056a2c:	48 8b ea             	mov    %rdx,%rbp
180056a2f:	44 8b 8a a0 00 00 00 	mov    0xa0(%rdx),%r9d
180056a36:	48 8b 58 70          	mov    0x70(%rax),%rbx
180056a3a:	41 81 f9 05 00 00 80 	cmp    $0x80000005,%r9d
180056a41:	0f 85 3d 01 00 00    	jne    0x180056b84
180056a47:	48 8b 43 18          	mov    0x18(%rbx),%rax
180056a4b:	45 33 c9             	xor    %r9d,%r9d
180056a4e:	f7 40 08 00 00 00 10 	testl  $0x10000000,0x8(%rax)
180056a55:	0f 85 29 01 00 00    	jne    0x180056b84
180056a5b:	48 8b 42 68          	mov    0x68(%rdx),%rax
180056a5f:	8b 48 1c             	mov    0x1c(%rax),%ecx
180056a62:	8b 74 01 08          	mov    0x8(%rcx,%rax,1),%esi
180056a66:	ff c6                	inc    %esi
180056a68:	c1 e6 04             	shl    $0x4,%esi
180056a6b:	03 f1                	add    %ecx,%esi
180056a6d:	48 8d 4a 60          	lea    0x60(%rdx),%rcx
180056a71:	44 8b ce             	mov    %esi,%r9d
180056a74:	e8 3b 04 ff ff       	call   0x180046eb4
180056a79:	44 8b c8             	mov    %eax,%r9d
180056a7c:	85 c0                	test   %eax,%eax
180056a7e:	0f 88 00 01 00 00    	js     0x180056b84
180056a84:	48 8b 43 18          	mov    0x18(%rbx),%rax
180056a88:	33 d2                	xor    %edx,%edx
180056a8a:	48 8b 7d 68          	mov    0x68(%rbp),%rdi
180056a8e:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
180056a92:	48 8b cf             	mov    %rdi,%rcx
180056a95:	44 8b c6             	mov    %esi,%r8d
180056a98:	44 8b 60 0c          	mov    0xc(%rax),%r12d
180056a9c:	44 8b 68 10          	mov    0x10(%rax),%r13d
180056aa0:	4c 03 e0             	add    %rax,%r12
180056aa3:	44 8b 70 08          	mov    0x8(%rax),%r14d
180056aa7:	e8 d4 f1 0d 00       	call   0x180135c80
180056aac:	41 bf 1c 00 00 00    	mov    $0x1c,%r15d
180056ab2:	44 89 3f             	mov    %r15d,(%rdi)
180056ab5:	8b 03                	mov    (%rbx),%eax
180056ab7:	89 47 04             	mov    %eax,0x4(%rdi)
180056aba:	44 89 77 08          	mov    %r14d,0x8(%rdi)
180056abe:	45 85 ed             	test   %r13d,%r13d
180056ac1:	74 33                	je     0x180056af6
180056ac3:	8b 4b 08             	mov    0x8(%rbx),%ecx
180056ac6:	33 d2                	xor    %edx,%edx
180056ac8:	44 89 6f 10          	mov    %r13d,0x10(%rdi)
180056acc:	44 8d 49 1b          	lea    0x1b(%rcx),%r9d
180056ad0:	41 8b c1             	mov    %r9d,%eax
180056ad3:	f7 f1                	div    %ecx
180056ad5:	44 2b ca             	sub    %edx,%r9d
180056ad8:	44 89 4f 0c          	mov    %r9d,0xc(%rdi)
180056adc:	4d 85 e4             	test   %r12,%r12
180056adf:	74 15                	je     0x180056af6
180056ae1:	41 8b c9             	mov    %r9d,%ecx
180056ae4:	45 8b c5             	mov    %r13d,%r8d
180056ae7:	48 03 cf             	add    %rdi,%rcx
180056aea:	49 8b d4             	mov    %r12,%rdx
180056aed:	e8 ce ee 0d 00       	call   0x1801359c0
180056af2:	44 8b 77 08          	mov    0x8(%rdi),%r14d
180056af6:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180056afb:	44 8b 85 88 00 00 00 	mov    0x88(%rbp),%r8d
180056b02:	8b 95 84 00 00 00    	mov    0x84(%rbp),%edx
180056b08:	e8 43 a8 ff ff       	call   0x180051350
180056b0d:	48 8b d0             	mov    %rax,%rdx
180056b10:	48 8b d8             	mov    %rax,%rbx
180056b13:	e8 ec a8 ff ff       	call   0x180051404
180056b18:	4c 8b 4d 70          	mov    0x70(%rbp),%r9
180056b1c:	4c 8b 40 18          	mov    0x18(%rax),%r8
180056b20:	4c 03 43 08          	add    0x8(%rbx),%r8
180056b24:	4c 03 45 78          	add    0x78(%rbp),%r8
180056b28:	41 f6 c6 01          	test   $0x1,%r14b
180056b2c:	75 50                	jne    0x180056b7e
180056b2e:	8b 57 18             	mov    0x18(%rdi),%edx
180056b31:	85 d2                	test   %edx,%edx
180056b33:	75 1a                	jne    0x180056b4f
180056b35:	8b 4f 10             	mov    0x10(%rdi),%ecx
180056b38:	85 c9                	test   %ecx,%ecx
180056b3a:	74 07                	je     0x180056b43
180056b3c:	44 8b 7f 0c          	mov    0xc(%rdi),%r15d
180056b40:	44 03 f9             	add    %ecx,%r15d
180056b43:	41 8b c7             	mov    %r15d,%eax
180056b46:	48 83 c0 07          	add    $0x7,%rax
180056b4a:	83 e0 f8             	and    $0xfffffff8,%eax
180056b4d:	eb 05                	jmp    0x180056b54
180056b4f:	8b 47 14             	mov    0x14(%rdi),%eax
180056b52:	03 c2                	add    %edx,%eax
180056b54:	2b f0                	sub    %eax,%esi
180056b56:	83 fe 10             	cmp    $0x10,%esi
180056b59:	72 23                	jb     0x180056b7e
180056b5b:	8b 4f 14             	mov    0x14(%rdi),%ecx
180056b5e:	85 c9                	test   %ecx,%ecx
180056b60:	75 05                	jne    0x180056b67
180056b62:	89 47 14             	mov    %eax,0x14(%rdi)
180056b65:	8b c8                	mov    %eax,%ecx
180056b67:	48 03 cf             	add    %rdi,%rcx
180056b6a:	48 8b c2             	mov    %rdx,%rax
180056b6d:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
180056b71:	4c 89 04 08          	mov    %r8,(%rax,%rcx,1)
180056b75:	4c 89 4c 08 08       	mov    %r9,0x8(%rax,%rcx,1)
180056b7a:	83 47 18 10          	addl   $0x10,0x18(%rdi)
180056b7e:	41 b9 2d 02 00 c0    	mov    $0xc000022d,%r9d
180056b84:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180056b89:	41 8b c1             	mov    %r9d,%eax
180056b8c:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
180056b91:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180056b96:	48 83 c4 20          	add    $0x20,%rsp
180056b9a:	41 5f                	pop    %r15
180056b9c:	41 5e                	pop    %r14
180056b9e:	41 5d                	pop    %r13
180056ba0:	41 5c                	pop    %r12
180056ba2:	5f                   	pop    %rdi
180056ba3:	c3                   	ret
180056ba4:	cc                   	int3
180056ba5:	cc                   	int3
180056ba6:	cc                   	int3
180056ba7:	cc                   	int3
180056ba8:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
180056bad:	53                   	push   %rbx
180056bae:	55                   	push   %rbp
180056baf:	56                   	push   %rsi
180056bb0:	57                   	push   %rdi
180056bb1:	41 54                	push   %r12
180056bb3:	41 55                	push   %r13
180056bb5:	41 56                	push   %r14
180056bb7:	41 57                	push   %r15
180056bb9:	48 83 ec 28          	sub    $0x28,%rsp
180056bbd:	8b 82 a0 00 00 00    	mov    0xa0(%rdx),%eax
180056bc3:	33 ed                	xor    %ebp,%ebp
180056bc5:	21 6c 24 78          	and    %ebp,0x78(%rsp)
180056bc9:	4c 8b ca             	mov    %rdx,%r9
180056bcc:	48 8b 7a 70          	mov    0x70(%rdx),%rdi
180056bd0:	4c 8b d1             	mov    %rcx,%r10
180056bd3:	89 84 24 80 00 00 00 	mov    %eax,0x80(%rsp)
180056bda:	33 d2                	xor    %edx,%edx
180056bdc:	48 8b 47 28          	mov    0x28(%rdi),%rax
180056be0:	8b 58 1c             	mov    0x1c(%rax),%ebx
180056be3:	48 03 d8             	add    %rax,%rbx
180056be6:	c7 03 01 00 00 00    	movl   $0x1,(%rbx)
180056bec:	48 8b 47 08          	mov    0x8(%rdi),%rax
180056bf0:	39 50 18             	cmp    %edx,0x18(%rax)
180056bf3:	74 12                	je     0x180056c07
180056bf5:	8b 48 14             	mov    0x14(%rax),%ecx
180056bf8:	44 8d 41 23          	lea    0x23(%rcx),%r8d
180056bfc:	41 8b c0             	mov    %r8d,%eax
180056bff:	f7 f1                	div    %ecx
180056c01:	03 57 20             	add    0x20(%rdi),%edx
180056c04:	41 2b d0             	sub    %r8d,%edx
180056c07:	4c 8b 77 40          	mov    0x40(%rdi),%r14
180056c0b:	44 8d 7a f0          	lea    -0x10(%rdx),%r15d
180056c0f:	48 8b 47 18          	mov    0x18(%rdi),%rax
180056c13:	4c 8b 67 38          	mov    0x38(%rdi),%r12
180056c17:	41 c1 ef 04          	shr    $0x4,%r15d
180056c1b:	4d 03 e6             	add    %r14,%r12
180056c1e:	8b 70 08             	mov    0x8(%rax),%esi
180056c21:	c1 ee 1c             	shr    $0x1c,%esi
180056c24:	40 80 e6 01          	and    $0x1,%sil
180056c28:	4d 3b f4             	cmp    %r12,%r14
180056c2b:	0f 83 9b 00 00 00    	jae    0x180056ccc
180056c31:	4d 8d 69 18          	lea    0x18(%r9),%r13
180056c35:	41 8a 4a 2a          	mov    0x2a(%r10),%cl
180056c39:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
180056c3e:	ba 01 00 00 00       	mov    $0x1,%edx
180056c43:	48 d3 e2             	shl    %cl,%rdx
180056c46:	49 8b cc             	mov    %r12,%rcx
180056c49:	49 2b ce             	sub    %r14,%rcx
180056c4c:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
180056c50:	49 23 c6             	and    %r14,%rax
180056c53:	48 2b d0             	sub    %rax,%rdx
180056c56:	8b c2                	mov    %edx,%eax
180056c58:	48 3b c8             	cmp    %rax,%rcx
180056c5b:	0f 43 ca             	cmovae %edx,%ecx
180056c5e:	49 8b d6             	mov    %r14,%rdx
180056c61:	8b c1                	mov    %ecx,%eax
180056c63:	49 8b ca             	mov    %r10,%rcx
180056c66:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
180056c6d:	00
180056c6e:	49 8b 02             	mov    (%r10),%rax
180056c71:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180056c78:	ff d0                	call   *%rax
180056c7a:	0f 1f 00             	nopl   (%rax)
180056c7d:	49 8b 45 00          	mov    0x0(%r13),%rax
180056c81:	49 3b c5             	cmp    %r13,%rax
180056c84:	74 18                	je     0x180056c9e
180056c86:	8b 4c 24 78          	mov    0x78(%rsp),%ecx
180056c8a:	48 8d 68 d8          	lea    -0x28(%rax),%rbp
180056c8e:	39 8d 84 00 00 00    	cmp    %ecx,0x84(%rbp)
180056c94:	74 08                	je     0x180056c9e
180056c96:	48 8b 00             	mov    (%rax),%rax
180056c99:	49 3b c5             	cmp    %r13,%rax
180056c9c:	75 ec                	jne    0x180056c8a
180056c9e:	48 8b 45 68          	mov    0x68(%rbp),%rax
180056ca2:	8b 50 1c             	mov    0x1c(%rax),%edx
180056ca5:	48 03 d0             	add    %rax,%rdx
180056ca8:	33 c0                	xor    %eax,%eax
180056caa:	44 8b 42 0c          	mov    0xc(%rdx),%r8d
180056cae:	45 85 c0             	test   %r8d,%r8d
180056cb1:	74 15                	je     0x180056cc8
180056cb3:	48 8d 4a 18          	lea    0x18(%rdx),%rcx
180056cb7:	48 83 39 00          	cmpq   $0x0,(%rcx)