18004370e:	39 41 20             	cmp    %eax,0x20(%rcx)
180043711:	74 06                	je     0x180043719
180043713:	48 39 41 28          	cmp    %rax,0x28(%rcx)
180043717:	75 05                	jne    0x18004371e
180043719:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18004371e:	c3                   	ret
18004371f:	cc                   	int3
180043720:	48 83 21 00          	andq   $0x0,(%rcx)
180043724:	48 8d 41 08          	lea    0x8(%rcx),%rax
180043728:	48 83 61 18 00       	andq   $0x0,0x18(%rcx)
18004372d:	ba 40 00 00 00       	mov    $0x40,%edx
180043732:	48 89 40 08          	mov    %rax,0x8(%rax)
180043736:	48 89 00             	mov    %rax,(%rax)
180043739:	c7 41 20 01 00 00 00 	movl   $0x1,0x20(%rcx)
180043740:	8d 42 c6             	lea    -0x3a(%rdx),%eax
180043743:	89 51 24             	mov    %edx,0x24(%rcx)
180043746:	89 41 28             	mov    %eax,0x28(%rcx)
180043749:	89 41 38             	mov    %eax,0x38(%rcx)
18004374c:	48 8b c1             	mov    %rcx,%rax
18004374f:	48 89 51 30          	mov    %rdx,0x30(%rcx)
180043753:	c3                   	ret
180043754:	cc                   	int3
180043755:	cc                   	int3
180043756:	cc                   	int3
180043757:	cc                   	int3
180043758:	48 83 ec 28          	sub    $0x28,%rsp
18004375c:	e8 bb 00 00 00       	call   0x18004381c
180043761:	48 83 c4 28          	add    $0x28,%rsp
180043765:	c3                   	ret
180043766:	cc                   	int3
180043767:	cc                   	int3
180043768:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004376d:	45 33 d2             	xor    %r10d,%r10d
180043770:	4c 8b c2             	mov    %rdx,%r8
180043773:	4c 8b c9             	mov    %rcx,%r9
180043776:	48 85 d2             	test   %rdx,%rdx
180043779:	0f 84 92 00 00 00    	je     0x180043811
18004377f:	41 8a ca             	mov    %r10b,%cl
180043782:	41 8d 5a 01          	lea    0x1(%r10),%ebx
180043786:	49 8b c0             	mov    %r8,%rax
180043789:	48 d3 e8             	shr    %cl,%rax
18004378c:	48 3b c3             	cmp    %rbx,%rax
18004378f:	74 07                	je     0x180043798
180043791:	02 cb                	add    %bl,%cl
180043793:	80 f9 40             	cmp    $0x40,%cl
180043796:	72 ee                	jb     0x180043786
180043798:	8d 04 0b             	lea    (%rbx,%rcx,1),%eax
18004379b:	48 8b d3             	mov    %rbx,%rdx
18004379e:	48 d3 e2             	shl    %cl,%rdx
1800437a1:	4c 3b c2             	cmp    %rdx,%r8
1800437a4:	44 0f b6 d8          	movzbl %al,%r11d
1800437a8:	0f b6 c1             	movzbl %cl,%eax
1800437ab:	44 0f 46 d8          	cmovbe %eax,%r11d
1800437af:	41 80 fb 28          	cmp    $0x28,%r11b
1800437b3:	76 08                	jbe    0x1800437bd
1800437b5:	41 ba 0d 00 00 c0    	mov    $0xc000000d,%r10d
1800437bb:	eb 54                	jmp    0x180043811
1800437bd:	45 0f b6 db          	movzbl %r11b,%r11d
1800437c1:	45 39 59 38          	cmp    %r11d,0x38(%r9)
1800437c5:	73 4a                	jae    0x180043811
1800437c7:	45 8b 41 20          	mov    0x20(%r9),%r8d
1800437cb:	41 83 f8 04          	cmp    $0x4,%r8d
1800437cf:	77 40                	ja     0x180043811
1800437d1:	41 8b 51 28          	mov    0x28(%r9),%edx
1800437d5:	83 fa 0a             	cmp    $0xa,%edx
1800437d8:	73 04                	jae    0x1800437de
1800437da:	ff c2                	inc    %edx
1800437dc:	eb 0c                	jmp    0x1800437ea
1800437de:	41 ff c0             	inc    %r8d
1800437e1:	ba 06 00 00 00       	mov    $0x6,%edx
1800437e6:	45 89 41 20          	mov    %r8d,0x20(%r9)
1800437ea:	41 89 51 28          	mov    %edx,0x28(%r9)
1800437ee:	8b ca                	mov    %edx,%ecx
1800437f0:	8b c3                	mov    %ebx,%eax
1800437f2:	d3 e0                	shl    %cl,%eax
1800437f4:	41 8b c8             	mov    %r8d,%ecx
1800437f7:	0f af ca             	imul   %edx,%ecx
1800437fa:	48 8b d3             	mov    %rbx,%rdx
1800437fd:	41 89 41 24          	mov    %eax,0x24(%r9)
180043801:	48 d3 e2             	shl    %cl,%rdx
180043804:	49 89 51 30          	mov    %rdx,0x30(%r9)
180043808:	41 89 49 38          	mov    %ecx,0x38(%r9)
18004380c:	41 3b cb             	cmp    %r11d,%ecx
18004380f:	72 ba                	jb     0x1800437cb
180043811:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180043816:	41 8b c2             	mov    %r10d,%eax
180043819:	c3                   	ret
18004381a:	cc                   	int3
18004381b:	cc                   	int3
18004381c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043821:	57                   	push   %rdi
180043822:	48 83 ec 20          	sub    $0x20,%rsp
180043826:	48 8b d9             	mov    %rcx,%rbx
180043829:	48 8d 79 08          	lea    0x8(%rcx),%rdi
18004382d:	eb 21                	jmp    0x180043850
18004382f:	48 8b 08             	mov    (%rax),%rcx
180043832:	48 39 41 08          	cmp    %rax,0x8(%rcx)
180043836:	75 51                	jne    0x180043889
180043838:	48 8b 50 08          	mov    0x8(%rax),%rdx
18004383c:	48 39 02             	cmp    %rax,(%rdx)
18004383f:	75 48                	jne    0x180043889
180043841:	48 89 0a             	mov    %rcx,(%rdx)
180043844:	48 89 51 08          	mov    %rdx,0x8(%rcx)
180043848:	48 8b c8             	mov    %rax,%rcx
18004384b:	e8 0c 31 00 00       	call   0x18004695c
180043850:	48 8b 07             	mov    (%rdi),%rax
180043853:	48 3b c7             	cmp    %rdi,%rax
180043856:	75 d7                	jne    0x18004382f
180043858:	48 83 23 00          	andq   $0x0,(%rbx)
18004385c:	b9 40 00 00 00       	mov    $0x40,%ecx
180043861:	48 83 63 18 00       	andq   $0x0,0x18(%rbx)
180043866:	c7 43 20 01 00 00 00 	movl   $0x1,0x20(%rbx)
18004386d:	89 4b 24             	mov    %ecx,0x24(%rbx)
180043870:	8d 41 c6             	lea    -0x3a(%rcx),%eax
180043873:	48 89 4b 30          	mov    %rcx,0x30(%rbx)
180043877:	89 43 28             	mov    %eax,0x28(%rbx)
18004387a:	89 43 38             	mov    %eax,0x38(%rbx)
18004387d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180043882:	48 83 c4 20          	add    $0x20,%rsp
180043886:	5f                   	pop    %rdi
180043887:	c3                   	ret
180043888:	cc                   	int3
180043889:	b9 03 00 00 00       	mov    $0x3,%ecx
18004388e:	cd 29                	int    $0x29
180043890:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043895:	45 33 c0             	xor    %r8d,%r8d
180043898:	4c 8b da             	mov    %rdx,%r11
18004389b:	4c 8b c9             	mov    %rcx,%r9
18004389e:	48 3b 51 30          	cmp    0x30(%rcx),%rdx
1800438a2:	73 2d                	jae    0x1800438d1
1800438a4:	4c 8b 11             	mov    (%rcx),%r10
1800438a7:	8b 59 28             	mov    0x28(%rcx),%ebx
1800438aa:	8b 49 38             	mov    0x38(%rcx),%ecx
1800438ad:	eb 19                	jmp    0x1800438c8
1800438af:	4d 85 d2             	test   %r10,%r10
1800438b2:	74 1d                	je     0x1800438d1
1800438b4:	41 8b 51 24          	mov    0x24(%r9),%edx
1800438b8:	49 8b c3             	mov    %r11,%rax
1800438bb:	ff ca                	dec    %edx
1800438bd:	48 d3 e8             	shr    %cl,%rax
1800438c0:	48 23 d0             	and    %rax,%rdx
1800438c3:	4d 8b 54 d2 18       	mov    0x18(%r10,%rdx,8),%r10
1800438c8:	2b cb                	sub    %ebx,%ecx
1800438ca:	85 c9                	test   %ecx,%ecx
1800438cc:	7f e1                	jg     0x1800438af
1800438ce:	4d 8b c2             	mov    %r10,%r8
1800438d1:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1800438d6:	49 8b c0             	mov    %r8,%rax
1800438d9:	c3                   	ret
1800438da:	cc                   	int3
1800438db:	cc                   	int3
1800438dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800438e1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800438e6:	57                   	push   %rdi
1800438e7:	48 83 ec 20          	sub    $0x20,%rsp
1800438eb:	48 8b fa             	mov    %rdx,%rdi
1800438ee:	48 8b f1             	mov    %rcx,%rsi
1800438f1:	33 db                	xor    %ebx,%ebx
1800438f3:	e8 98 ff ff ff       	call   0x180043890
1800438f8:	48 85 c0             	test   %rax,%rax
1800438fb:	74 0d                	je     0x18004390a
1800438fd:	8b 4e 24             	mov    0x24(%rsi),%ecx
180043900:	ff c9                	dec    %ecx
180043902:	48 23 cf             	and    %rdi,%rcx
180043905:	48 8b 5c c8 18       	mov    0x18(%rax,%rcx,8),%rbx
18004390a:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18004390f:	48 8b c3             	mov    %rbx,%rax
180043912:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180043917:	48 83 c4 20          	add    $0x20,%rsp
18004391b:	5f                   	pop    %rdi
18004391c:	c3                   	ret
18004391d:	cc                   	int3
18004391e:	cc                   	int3
18004391f:	cc                   	int3
180043920:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043925:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004392a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18004392f:	57                   	push   %rdi
180043930:	41 54                	push   %r12
180043932:	41 55                	push   %r13
180043934:	41 56                	push   %r14
180043936:	41 57                	push   %r15
180043938:	48 83 ec 20          	sub    $0x20,%rsp
18004393c:	33 ff                	xor    %edi,%edi
18004393e:	4d 8b f8             	mov    %r8,%r15
180043941:	4c 8b e2             	mov    %rdx,%r12
180043944:	48 8b d9             	mov    %rcx,%rbx
180043947:	48 3b 51 30          	cmp    0x30(%rcx),%rdx
18004394b:	72 0a                	jb     0x180043957
18004394d:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
180043952:	e9 16 01 00 00       	jmp    0x180043a6d
180043957:	44 8b 69 24          	mov    0x24(%rcx),%r13d
18004395b:	48 8b f3             	mov    %rbx,%rsi
18004395e:	44 8b 71 20          	mov    0x20(%rcx),%r14d
180043962:	8b 69 38             	mov    0x38(%rcx),%ebp
180043965:	41 ff ce             	dec    %r14d
180043968:	41 c1 e5 03          	shl    $0x3,%r13d
18004396c:	2b 69 28             	sub    0x28(%rcx),%ebp
18004396f:	0f 88 d9 00 00 00    	js     0x180043a4e
180043975:	4c 8b 0e             	mov    (%rsi),%r9
180043978:	4d 85 c9             	test   %r9,%r9
18004397b:	0f 85 9a 00 00 00    	jne    0x180043a1b
180043981:	41 8b cd             	mov    %r13d,%ecx
180043984:	48 83 c1 20          	add    $0x20,%rcx
180043988:	e8 87 2f 00 00       	call   0x180046914
18004398d:	4c 8b c8             	mov    %rax,%r9
180043990:	48 85 c0             	test   %rax,%rax
180043993:	0f 84 ae 00 00 00    	je     0x180043a47
180043999:	33 d2                	xor    %edx,%edx
18004399b:	41 8d 4e 01          	lea    0x1(%r14),%ecx
18004399f:	0f af 4b 28          	imul   0x28(%rbx),%ecx
1800439a3:	b8 01 00 00 00       	mov    $0x1,%eax
1800439a8:	48 d3 e0             	shl    %cl,%rax
1800439ab:	8b 4b 24             	mov    0x24(%rbx),%ecx
1800439ae:	48 ff c8             	dec    %rax
1800439b1:	48 f7 d0             	not    %rax
1800439b4:	45 89 71 14          	mov    %r14d,0x14(%r9)
1800439b8:	49 23 c4             	and    %r12,%rax
1800439bb:	48 f7 f1             	div    %rcx
1800439be:	48 8d 53 08          	lea    0x8(%rbx),%rdx
1800439c2:	41 89 41 10          	mov    %eax,0x10(%r9)
1800439c6:	45 85 f6             	test   %r14d,%r14d
1800439c9:	75 36                	jne    0x180043a01
1800439cb:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1800439cf:	eb 12                	jmp    0x1800439e3
1800439d1:	39 79 14             	cmp    %edi,0x14(%rcx)
1800439d4:	75 09                	jne    0x1800439df
1800439d6:	41 8b 41 10          	mov    0x10(%r9),%eax
1800439da:	39 41 10             	cmp    %eax,0x10(%rcx)
1800439dd:	72 09                	jb     0x1800439e8
1800439df:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1800439e3:	48 3b ca             	cmp    %rdx,%rcx
1800439e6:	75 e9                	jne    0x1800439d1
1800439e8:	48 8b 01             	mov    (%rcx),%rax
1800439eb:	48 39 48 08          	cmp    %rcx,0x8(%rax)
1800439ef:	75 4f                	jne    0x180043a40
1800439f1:	49 89 01             	mov    %rax,(%r9)
1800439f4:	49 89 49 08          	mov    %rcx,0x8(%r9)
1800439f8:	4c 89 48 08          	mov    %r9,0x8(%rax)
1800439fc:	4c 89 09             	mov    %r9,(%rcx)
1800439ff:	eb 17                	jmp    0x180043a18
180043a01:	48 8b 42 08          	mov    0x8(%rdx),%rax
180043a05:	48 39 10             	cmp    %rdx,(%rax)
180043a08:	75 36                	jne    0x180043a40
180043a0a:	49 89 11             	mov    %rdx,(%r9)
180043a0d:	49 89 41 08          	mov    %rax,0x8(%r9)
180043a11:	4c 89 08             	mov    %r9,(%rax)
180043a14:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
180043a18:	4c 89 0e             	mov    %r9,(%rsi)
180043a1b:	8b cd                	mov    %ebp,%ecx
180043a1d:	49 8b f4             	mov    %r12,%rsi
180043a20:	2b 6b 28             	sub    0x28(%rbx),%ebp
180043a23:	41 ff ce             	dec    %r14d
180043a26:	48 d3 ee             	shr    %cl,%rsi
180043a29:	8b 4b 24             	mov    0x24(%rbx),%ecx
180043a2c:	ff c9                	dec    %ecx
180043a2e:	48 23 f1             	and    %rcx,%rsi
180043a31:	48 83 c6 03          	add    $0x3,%rsi
180043a35:	85 ed                	test   %ebp,%ebp
180043a37:	49 8d 34 f1          	lea    (%r9,%rsi,8),%rsi
180043a3b:	e9 2f ff ff ff       	jmp    0x18004396f
180043a40:	b9 03 00 00 00       	mov    $0x3,%ecx
180043a45:	cd 29                	int    $0x29
180043a47:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180043a4c:	eb 1f                	jmp    0x180043a6d
180043a4e:	48 8b 06             	mov    (%rsi),%rax
180043a51:	4d 85 ff             	test   %r15,%r15
180043a54:	74 0b                	je     0x180043a61
180043a56:	48 85 c0             	test   %rax,%rax
180043a59:	75 0f                	jne    0x180043a6a
180043a5b:	48 ff 43 18          	incq   0x18(%rbx)
180043a5f:	eb 09                	jmp    0x180043a6a
180043a61:	48 85 c0             	test   %rax,%rax
180043a64:	74 04                	je     0x180043a6a
180043a66:	48 ff 4b 18          	decq   0x18(%rbx)
180043a6a:	4c 89 3e             	mov    %r15,(%rsi)
180043a6d:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180043a72:	8b c7                	mov    %edi,%eax
180043a74:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
180043a79:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180043a7e:	48 83 c4 20          	add    $0x20,%rsp
180043a82:	41 5f                	pop    %r15
180043a84:	41 5e                	pop    %r14
180043a86:	41 5d                	pop    %r13
180043a88:	41 5c                	pop    %r12
180043a8a:	5f                   	pop    %rdi
180043a8b:	c3                   	ret
180043a8c:	cc                   	int3
180043a8d:	cc                   	int3
180043a8e:	cc                   	int3
180043a8f:	cc                   	int3
180043a90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043a95:	57                   	push   %rdi
180043a96:	48 83 ec 20          	sub    $0x20,%rsp
180043a9a:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
180043aa0:	48 8b da             	mov    %rdx,%rbx
180043aa3:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
180043aa8:	48 8b f9             	mov    %rcx,%rdi
180043aab:	e8 bc 00 00 00       	call   0x180043b6c
180043ab0:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
180043ab5:	4c 8b c3             	mov    %rbx,%r8
180043ab8:	48 ff c2             	inc    %rdx
180043abb:	48 8b cf             	mov    %rdi,%rcx
180043abe:	e8 5d fe ff ff       	call   0x180043920
180043ac3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180043ac8:	48 83 c4 20          	add    $0x20,%rsp
180043acc:	5f                   	pop    %rdi
180043acd:	c3                   	ret
180043ace:	cc                   	int3
180043acf:	cc                   	int3
180043ad0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180043ad5:	53                   	push   %rbx
180043ad6:	48 83 ec 20          	sub    $0x20,%rsp
180043ada:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
180043ae0:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
180043ae5:	48 8b d9             	mov    %rcx,%rbx
180043ae8:	e8 7f 00 00 00       	call   0x180043b6c
180043aed:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
180043af2:	45 33 c0             	xor    %r8d,%r8d
180043af5:	48 8b cb             	mov    %rbx,%rcx
180043af8:	e8 23 fe ff ff       	call   0x180043920
180043afd:	48 83 c4 20          	add    $0x20,%rsp
180043b01:	5b                   	pop    %rbx
180043b02:	c3                   	ret
180043b03:	cc                   	int3
180043b04:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180043b09:	45 33 c9             	xor    %r9d,%r9d
180043b0c:	4c 8d 41 08          	lea    0x8(%rcx),%r8
180043b10:	49 8b 00             	mov    (%r8),%rax
180043b13:	48 8b da             	mov    %rdx,%rbx
180043b16:	4c 89 0a             	mov    %r9,(%rdx)
180043b19:	4c 8b d9             	mov    %rcx,%r11
180043b1c:	49 3b c0             	cmp    %r8,%rax
180043b1f:	74 40                	je     0x180043b61
180043b21:	44 39 48 14          	cmp    %r9d,0x14(%rax)
180043b25:	75 3a                	jne    0x180043b61
180043b27:	45 8b 53 24          	mov    0x24(%r11),%r10d
180043b2b:	41 8b c9             	mov    %r9d,%ecx
180043b2e:	45 85 d2             	test   %r10d,%r10d
180043b31:	74 14                	je     0x180043b47
180043b33:	48 8d 50 18          	lea    0x18(%rax),%rdx
180043b37:	4c 39 0a             	cmp    %r9,(%rdx)
180043b3a:	75 10                	jne    0x180043b4c
180043b3c:	ff c1                	inc    %ecx
180043b3e:	48 83 c2 08          	add    $0x8,%rdx
180043b42:	41 3b ca             	cmp    %r10d,%ecx
180043b45:	72 f0                	jb     0x180043b37
180043b47:	48 8b 00             	mov    (%rax),%rax
180043b4a:	eb d0                	jmp    0x180043b1c
180043b4c:	8b 50 10             	mov    0x10(%rax),%edx