18005482c:	89 7c 24 28          	mov    %edi,0x28(%rsp)
180054830:	41 0f 45 c0          	cmovne %r8d,%eax
180054834:	33 d2                	xor    %edx,%edx
180054836:	45 8b 4a 7c          	mov    0x7c(%r10),%r9d
18005483a:	41 f7 f1             	div    %r9d
18005483d:	33 d2                	xor    %edx,%edx
18005483f:	44 8b c0             	mov    %eax,%r8d
180054842:	48 8b c3             	mov    %rbx,%rax
180054845:	49 f7 f1             	div    %r9
180054848:	44 89 44 24 20       	mov    %r8d,0x20(%rsp)
18005484d:	49 8d 52 18          	lea    0x18(%r10),%rdx
180054851:	4c 8b c8             	mov    %rax,%r9
180054854:	45 33 c0             	xor    %r8d,%r8d
180054857:	8b c1                	mov    %ecx,%eax
180054859:	b9 35 08 00 00       	mov    $0x835,%ecx
18005485e:	4c 03 c8             	add    %rax,%r9
180054861:	e8 12 23 ff ff       	call   0x180046b78
180054866:	41 8a 4d 2a          	mov    0x2a(%r13),%cl
18005486a:	4c 8b 4d 78          	mov    0x78(%rbp),%r9
18005486e:	8b 85 84 00 00 00    	mov    0x84(%rbp),%eax
180054874:	4d 8b 47 28          	mov    0x28(%r15),%r8
180054878:	41 8b 57 24          	mov    0x24(%r15),%edx
18005487c:	49 d3 e9             	shr    %cl,%r9
18005487f:	49 8b 4d 40          	mov    0x40(%r13),%rcx
180054883:	89 44 24 20          	mov    %eax,0x20(%rsp)
180054887:	e8 b4 67 00 00       	call   0x18005b040
18005488c:	48 8b d0             	mov    %rax,%rdx
18005488f:	48 85 c0             	test   %rax,%rax
180054892:	0f 84 38 fe ff ff    	je     0x1800546d0
180054898:	c7 40 20 01 00 00 00 	movl   $0x1,0x20(%rax)
18005489f:	48 8b 4d 78          	mov    0x78(%rbp),%rcx
1800548a3:	48 2b 8d e8 00 00 00 	sub    0xe8(%rbp),%rcx
1800548aa:	48 89 48 28          	mov    %rcx,0x28(%rax)
1800548ae:	48 8b 9d e0 00 00 00 	mov    0xe0(%rbp),%rbx
1800548b5:	48 89 58 30          	mov    %rbx,0x30(%rax)
1800548b9:	41 8b 47 1c          	mov    0x1c(%r15),%eax
1800548bd:	89 42 3c             	mov    %eax,0x3c(%rdx)
1800548c0:	8b 85 f0 00 00 00    	mov    0xf0(%rbp),%eax
1800548c6:	89 42 38             	mov    %eax,0x38(%rdx)
1800548c9:	41 8a 4d 2a          	mov    0x2a(%r13),%cl
1800548cd:	48 8b 55 78          	mov    0x78(%rbp),%rdx
1800548d1:	48 d3 ea             	shr    %cl,%rdx
1800548d4:	49 8b 4d 40          	mov    0x40(%r13),%rcx
1800548d8:	48 83 c1 10          	add    $0x10,%rcx
1800548dc:	e8 fb ef fe ff       	call   0x1800438dc
1800548e1:	41 8a 57 20          	mov    0x20(%r15),%dl
1800548e5:	41 b1 01             	mov    $0x1,%r9b
1800548e8:	88 54 24 20          	mov    %dl,0x20(%rsp)
1800548ec:	4c 8b c3             	mov    %rbx,%r8
1800548ef:	48 8b d0             	mov    %rax,%rdx
1800548f2:	49 8b cd             	mov    %r13,%rcx
1800548f5:	e8 66 de ff ff       	call   0x180052760
1800548fa:	49 89 77 28          	mov    %rsi,0x28(%r15)
1800548fe:	41 89 77 24          	mov    %esi,0x24(%r15)
180054902:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180054907:	8b c6                	mov    %esi,%eax
180054909:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18005490e:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180054913:	48 83 c4 30          	add    $0x30,%rsp
180054917:	41 5f                	pop    %r15
180054919:	41 5e                	pop    %r14
18005491b:	41 5d                	pop    %r13
18005491d:	41 5c                	pop    %r12
18005491f:	5f                   	pop    %rdi
180054920:	c3                   	ret
180054921:	cc                   	int3
180054922:	cc                   	int3
180054923:	cc                   	int3
180054924:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180054929:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
18005492e:	55                   	push   %rbp
18005492f:	56                   	push   %rsi
180054930:	57                   	push   %rdi
180054931:	41 54                	push   %r12
180054933:	41 55                	push   %r13
180054935:	41 56                	push   %r14
180054937:	41 57                	push   %r15
180054939:	48 83 ec 30          	sub    $0x30,%rsp
18005493d:	44 8b ba 84 00 00 00 	mov    0x84(%rdx),%r15d
180054944:	33 db                	xor    %ebx,%ebx
180054946:	44 8b a2 a8 00 00 00 	mov    0xa8(%rdx),%r12d
18005494d:	45 32 ed             	xor    %r13b,%r13b
180054950:	45 33 f6             	xor    %r14d,%r14d
180054953:	33 ed                	xor    %ebp,%ebp
180054955:	48 8b fa             	mov    %rdx,%rdi
180054958:	48 8b f1             	mov    %rcx,%rsi
18005495b:	38 59 2b             	cmp    %bl,0x2b(%rcx)
18005495e:	0f 86 f6 01 00 00    	jbe    0x180054b5a
180054964:	0f a3 af 8c 00 00 00 	bt     %ebp,0x8c(%rdi)
18005496b:	73 75                	jae    0x1800549e2
18005496d:	44 8b c5             	mov    %ebp,%r8d
180054970:	41 8b d7             	mov    %r15d,%edx
180054973:	48 8b ce             	mov    %rsi,%rcx
180054976:	e8 99 cb ff ff       	call   0x180051514
18005497b:	84 c0                	test   %al,%al
18005497d:	74 05                	je     0x180054984
18005497f:	41 fe c5             	inc    %r13b
180054982:	eb 5e                	jmp    0x1800549e2
180054984:	41 8b d7             	mov    %r15d,%edx
180054987:	48 8b ce             	mov    %rsi,%rcx
18005498a:	e8 c1 c9 ff ff       	call   0x180051350
18005498f:	0f b7 08             	movzwl (%rax),%ecx
180054992:	f6 c1 40             	test   $0x40,%cl
180054995:	74 1f                	je     0x1800549b6
180054997:	8b 87 80 00 00 00    	mov    0x80(%rdi),%eax
18005499d:	48 8b ce             	mov    %rsi,%rcx
1800549a0:	4c 8b 4f 78          	mov    0x78(%rdi),%r9
1800549a4:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
1800549ab:	00
1800549ac:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800549b1:	e8 aa 0d 00 00       	call   0x180055760
1800549b6:	44 8b c5             	mov    %ebp,%r8d
1800549b9:	41 8b d7             	mov    %r15d,%edx
1800549bc:	48 8b ce             	mov    %rsi,%rcx
1800549bf:	e8 8c c9 ff ff       	call   0x180051350
1800549c4:	8a 48 02             	mov    0x2(%rax),%cl
1800549c7:	80 e1 0f             	and    $0xf,%cl
1800549ca:	80 f9 02             	cmp    $0x2,%cl
1800549cd:	75 13                	jne    0x1800549e2
1800549cf:	41 b1 03             	mov    $0x3,%r9b
1800549d2:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
1800549d7:	48 8b ce             	mov    %rsi,%rcx
1800549da:	e8 2d 11 00 00       	call   0x180055b0c
1800549df:	44 8b f0             	mov    %eax,%r14d
1800549e2:	0f b6 4e 2b          	movzbl 0x2b(%rsi),%ecx
1800549e6:	ff c5                	inc    %ebp
1800549e8:	3b e9                	cmp    %ecx,%ebp
1800549ea:	0f 82 74 ff ff ff    	jb     0x180054964
1800549f0:	45 85 f6             	test   %r14d,%r14d
1800549f3:	0f 88 6d 01 00 00    	js     0x180054b66
1800549f9:	45 84 ed             	test   %r13b,%r13b
1800549fc:	0f 84 58 01 00 00    	je     0x180054b5a
180054a02:	48 8b 06             	mov    (%rsi),%rax
180054a05:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180054a0b:	4c 8b 4f 78          	mov    0x78(%rdi),%r9
180054a0f:	41 8b d7             	mov    %r15d,%edx
180054a12:	41 d3 e0             	shl    %cl,%r8d
180054a15:	48 8b ce             	mov    %rsi,%rcx
180054a18:	41 ff c8             	dec    %r8d
180054a1b:	48 8b 80 90 00 00 00 	mov    0x90(%rax),%rax
180054a22:	ff d0                	call   *%rax
180054a24:	0f 1f 00             	nopl   (%rax)
180054a27:	89 44 24 70          	mov    %eax,0x70(%rsp)
180054a2b:	0f b6 46 2b          	movzbl 0x2b(%rsi),%eax
180054a2f:	44 3b e0             	cmp    %eax,%r12d
180054a32:	0f 83 2e 01 00 00    	jae    0x180054b66
180054a38:	44 0f a3 a7 8c 00 00 	bt     %r12d,0x8c(%rdi)
180054a3f:	00
180054a40:	0f 83 f8 00 00 00    	jae    0x180054b3e
180054a46:	45 8b c4             	mov    %r12d,%r8d
180054a49:	41 8b d7             	mov    %r15d,%edx
180054a4c:	48 8b ce             	mov    %rsi,%rcx
180054a4f:	e8 c0 ca ff ff       	call   0x180051514
180054a54:	84 c0                	test   %al,%al
180054a56:	0f 84 e2 00 00 00    	je     0x180054b3e
180054a5c:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
180054a63:	00
180054a64:	48 85 ed             	test   %rbp,%rbp
180054a67:	75 54                	jne    0x180054abd
180054a69:	b9 e0 00 00 00       	mov    $0xe0,%ecx
180054a6e:	e8 a1 1e ff ff       	call   0x180046914
180054a73:	48 85 c0             	test   %rax,%rax
180054a76:	74 0d                	je     0x180054a85
180054a78:	48 8b c8             	mov    %rax,%rcx
180054a7b:	e8 e8 24 ff ff       	call   0x180046f68
180054a80:	48 8b d8             	mov    %rax,%rbx
180054a83:	eb 02                	jmp    0x180054a87
180054a85:	33 db                	xor    %ebx,%ebx
180054a87:	48 85 db             	test   %rbx,%rbx
180054a8a:	0f 84 c2 00 00 00    	je     0x180054b52
180054a90:	44 8b 8f 80 00 00 00 	mov    0x80(%rdi),%r9d
180054a97:	41 80 fd 01          	cmp    $0x1,%r13b
180054a9b:	48 8b d7             	mov    %rdi,%rdx
180054a9e:	48 8b cb             	mov    %rbx,%rcx
180054aa1:	0f 97 c0             	seta   %al
180054aa4:	45 33 c0             	xor    %r8d,%r8d
180054aa7:	88 44 24 20          	mov    %al,0x20(%rsp)
180054aab:	e8 8c 26 ff ff       	call   0x18004713c
180054ab0:	44 8b f0             	mov    %eax,%r14d
180054ab3:	85 c0                	test   %eax,%eax
180054ab5:	0f 88 b6 00 00 00    	js     0x180054b71
180054abb:	eb 2d                	jmp    0x180054aea
180054abd:	8b 47 3c             	mov    0x3c(%rdi),%eax
180054ac0:	48 8b 5d 00          	mov    0x0(%rbp),%rbx
180054ac4:	83 e0 02             	and    $0x2,%eax
180054ac7:	09 43 3c             	or     %eax,0x3c(%rbx)
180054aca:	c7 43 60 01 00 00 00 	movl   $0x1,0x60(%rbx)
180054ad1:	48 8b 47 68          	mov    0x68(%rdi),%rax
180054ad5:	48 89 43 68          	mov    %rax,0x68(%rbx)
180054ad9:	8b 87 94 00 00 00    	mov    0x94(%rdi),%eax
180054adf:	83 f8 ff             	cmp    $0xffffffff,%eax
180054ae2:	74 06                	je     0x180054aea
180054ae4:	89 83 94 00 00 00    	mov    %eax,0x94(%rbx)
180054aea:	8b 44 24 70          	mov    0x70(%rsp),%eax
180054aee:	48 8b d3             	mov    %rbx,%rdx
180054af1:	48 89 43 70          	mov    %rax,0x70(%rbx)
180054af5:	48 8b cf             	mov    %rdi,%rcx
180054af8:	48 8b 47 78          	mov    0x78(%rdi),%rax
180054afc:	48 89 43 78          	mov    %rax,0x78(%rbx)
180054b00:	8b 87 80 00 00 00    	mov    0x80(%rdi),%eax
180054b06:	89 83 80 00 00 00    	mov    %eax,0x80(%rbx)
180054b0c:	44 89 bb 84 00 00 00 	mov    %r15d,0x84(%rbx)
180054b13:	44 89 a3 88 00 00 00 	mov    %r12d,0x88(%rbx)
180054b1a:	c6 83 98 00 00 00 04 	movb   $0x4,0x98(%rbx)
180054b21:	8a 87 9a 00 00 00    	mov    0x9a(%rdi),%al
180054b27:	88 83 9a 00 00 00    	mov    %al,0x9a(%rbx)
180054b2d:	48 89 b3 d8 00 00 00 	mov    %rsi,0xd8(%rbx)
180054b34:	e8 73 25 ff ff       	call   0x1800470ac
180054b39:	48 85 ed             	test   %rbp,%rbp
180054b3c:	75 4b                	jne    0x180054b89
180054b3e:	0f b6 46 2b          	movzbl 0x2b(%rsi),%eax
180054b42:	41 ff c4             	inc    %r12d
180054b45:	44 3b e0             	cmp    %eax,%r12d
180054b48:	0f 82 ea fe ff ff    	jb     0x180054a38
180054b4e:	33 db                	xor    %ebx,%ebx
180054b50:	eb 14                	jmp    0x180054b66
180054b52:	41 be 9a 00 00 c0    	mov    $0xc000009a,%r14d
180054b58:	eb 0c                	jmp    0x180054b66
180054b5a:	f6 46 28 04          	testb  $0x4,0x28(%rsi)
180054b5e:	75 06                	jne    0x180054b66
180054b60:	41 be 0e 00 00 c0    	mov    $0xc000000e,%r14d
180054b66:	48 83 bc 24 80 00 00 	cmpq   $0x0,0x80(%rsp)
180054b6d:	00 00
180054b6f:	75 18                	jne    0x180054b89
180054b71:	48 85 db             	test   %rbx,%rbx
180054b74:	74 13                	je     0x180054b89
180054b76:	48 8b 03             	mov    (%rbx),%rax
180054b79:	ba 01 00 00 00       	mov    $0x1,%edx
180054b7e:	48 8b cb             	mov    %rbx,%rcx
180054b81:	48 8b 00             	mov    (%rax),%rax
180054b84:	ff d0                	call   *%rax
180054b86:	0f 1f 00             	nopl   (%rax)
180054b89:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
180054b8e:	41 8b c6             	mov    %r14d,%eax
180054b91:	48 83 c4 30          	add    $0x30,%rsp
180054b95:	41 5f                	pop    %r15
180054b97:	41 5e                	pop    %r14
180054b99:	41 5d                	pop    %r13
180054b9b:	41 5c                	pop    %r12
180054b9d:	5f                   	pop    %rdi
180054b9e:	5e                   	pop    %rsi
180054b9f:	5d                   	pop    %rbp
180054ba0:	c3                   	ret
180054ba1:	cc                   	int3
180054ba2:	cc                   	int3
180054ba3:	cc                   	int3
180054ba4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180054ba9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180054bae:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180054bb3:	57                   	push   %rdi
180054bb4:	48 83 ec 30          	sub    $0x30,%rsp
180054bb8:	8b ba a0 00 00 00    	mov    0xa0(%rdx),%edi
180054bbe:	48 8b da             	mov    %rdx,%rbx
180054bc1:	48 8b 6a 10          	mov    0x10(%rdx),%rbp
180054bc5:	48 8b f1             	mov    %rcx,%rsi
180054bc8:	81 ff 1b 00 e7 c0    	cmp    $0xc0e7001b,%edi
180054bce:	0f 84 8d 00 00 00    	je     0x180054c61
180054bd4:	81 ff 16 00 00 80    	cmp    $0x80000016,%edi
180054bda:	0f 84 81 00 00 00    	je     0x180054c61
180054be0:	44 8b 82 88 00 00 00 	mov    0x88(%rdx),%r8d
180054be7:	8b 92 84 00 00 00    	mov    0x84(%rdx),%edx
180054bed:	e8 5e c7 ff ff       	call   0x180051350
180054bf2:	85 ff                	test   %edi,%edi
180054bf4:	78 18                	js     0x180054c0e
180054bf6:	0f b7 08             	movzwl (%rax),%ecx
180054bf9:	f6 c1 01             	test   $0x1,%cl
180054bfc:	74 63                	je     0x180054c61
180054bfe:	0f b7 08             	movzwl (%rax),%ecx
180054c01:	ba fe ff 00 00       	mov    $0xfffe,%edx
180054c06:	66 23 ca             	and    %dx,%cx
180054c09:	66 89 08             	mov    %cx,(%rax)
180054c0c:	eb 53                	jmp    0x180054c61
180054c0e:	80 bb 9a 00 00 00 06 	cmpb   $0x6,0x9a(%rbx)
180054c15:	74 4a                	je     0x180054c61
180054c17:	0f b7 00             	movzwl (%rax),%eax
180054c1a:	a8 40                	test   $0x40,%al
180054c1c:	74 29                	je     0x180054c47
180054c1e:	8b 83 80 00 00 00    	mov    0x80(%rbx),%eax
180054c24:	4c 8b 4b 78          	mov    0x78(%rbx),%r9
180054c28:	44 8b 83 88 00 00 00 	mov    0x88(%rbx),%r8d
180054c2f:	8b 93 84 00 00 00    	mov    0x84(%rbx),%edx
180054c35:	c7 44 24 28 01 00 00 	movl   $0x1,0x28(%rsp)
180054c3c:	00
180054c3d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180054c42:	e8 19 0b 00 00       	call   0x180055760
180054c47:	44 8b 83 88 00 00 00 	mov    0x88(%rbx),%r8d
180054c4e:	44 8b cf             	mov    %edi,%r9d
180054c51:	8b 93 84 00 00 00    	mov    0x84(%rbx),%edx
180054c57:	48 8b ce             	mov    %rsi,%rcx
180054c5a:	e8 e1 0b 00 00       	call   0x180055840
180054c5f:	8b f8                	mov    %eax,%edi
180054c61:	85 ff                	test   %edi,%edi
180054c63:	78 16                	js     0x180054c7b
180054c65:	8b 43 3c             	mov    0x3c(%rbx),%eax
180054c68:	a8 01                	test   $0x1,%al
180054c6a:	74 0f                	je     0x180054c7b
180054c6c:	8b 83 88 00 00 00    	mov    0x88(%rbx),%eax
180054c72:	ff c0                	inc    %eax
180054c74:	48 89 85 a8 00 00 00 	mov    %rax,0xa8(%rbp)
180054c7b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180054c80:	8b c7                	mov    %edi,%eax
180054c82:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180054c87:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180054c8c:	48 83 c4 30          	add    $0x30,%rsp
180054c90:	5f                   	pop    %rdi
180054c91:	c3                   	ret
180054c92:	cc                   	int3
180054c93:	cc                   	int3
180054c94:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180054c99:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180054c9e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180054ca3:	57                   	push   %rdi
180054ca4:	41 56                	push   %r14
180054ca6:	41 57                	push   %r15
180054ca8:	48 83 ec 20          	sub    $0x20,%rsp
180054cac:	33 db                	xor    %ebx,%ebx
180054cae:	4d 8b f0             	mov    %r8,%r14
180054cb1:	8b eb                	mov    %ebx,%ebp
180054cb3:	4c 8b fa             	mov    %rdx,%r15
180054cb6:	48 8b f9             	mov    %rcx,%rdi
180054cb9:	48 8b 47 20          	mov    0x20(%rdi),%rax
180054cbd:	48 85 c0             	test   %rax,%rax
180054cc0:	74 06                	je     0x180054cc8
180054cc2:	48 83 c0 58          	add    $0x58,%rax
180054cc6:	eb 08                	jmp    0x180054cd0
180054cc8:	48 8b 47 08          	mov    0x8(%rdi),%rax
180054ccc:	48 83 c0 50          	add    $0x50,%rax
180054cd0:	3b 68 10             	cmp    0x10(%rax),%ebp
180054cd3:	73 4b                	jae    0x180054d20
180054cd5:	8b f3                	mov    %ebx,%esi
180054cd7:	38 5f 2b             	cmp    %bl,0x2b(%rdi)
180054cda:	0f 86 97 00 00 00    	jbe    0x180054d77
180054ce0:	44 8b c6             	mov    %esi,%r8d
180054ce3:	8b d5                	mov    %ebp,%edx
180054ce5:	48 8b cf             	mov    %rdi,%rcx
180054ce8:	e8 63 c6 ff ff       	call   0x180051350
180054ced:	0f b7 08             	movzwl (%rax),%ecx
180054cf0:	f6 c1 08             	test   $0x8,%cl
180054cf3:	74 74                	je     0x180054d69
180054cf5:	4d 85 f6             	test   %r14,%r14
180054cf8:	75 42                	jne    0x180054d3c
180054cfa:	b9 e0 00 00 00       	mov    $0xe0,%ecx
180054cff:	e8 10 1c ff ff       	call   0x180046914
180054d04:	48 85 c0             	test   %rax,%rax
180054d07:	74 0a                	je     0x180054d13
180054d09:	48 8b c8             	mov    %rax,%rcx
180054d0c:	e8 57 22 ff ff       	call   0x180046f68
180054d11:	eb 03                	jmp    0x180054d16
180054d13:	48 8b c3             	mov    %rbx,%rax
180054d16:	48 85 c0             	test   %rax,%rax