18005e7cd:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
18005e7d2:	48 89 44 cf 10       	mov    %rax,0x10(%rdi,%rcx,8)
18005e7d7:	48 8b 36             	mov    (%rsi),%rsi
18005e7da:	49 3b f6             	cmp    %r14,%rsi
18005e7dd:	75 b4                	jne    0x18005e793
18005e7df:	83 7f 08 00          	cmpl   $0x0,0x8(%rdi)
18005e7e3:	74 22                	je     0x18005e807
18005e7e5:	49 8b 4f 08          	mov    0x8(%r15),%rcx
18005e7e9:	45 33 c9             	xor    %r9d,%r9d
18005e7ec:	44 8b 83 80 00 00 00 	mov    0x80(%rbx),%r8d
18005e7f3:	48 8b d7             	mov    %rdi,%rdx
18005e7f6:	48 8b 89 58 01 00 00 	mov    0x158(%rcx),%rcx
18005e7fd:	e8 3a 67 fe ff       	call   0x180044f3c
18005e802:	45 84 ed             	test   %r13b,%r13b
18005e805:	75 08                	jne    0x18005e80f
18005e807:	48 8b cf             	mov    %rdi,%rcx
18005e80a:	e8 4d 81 fe ff       	call   0x18004695c
18005e80f:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18005e814:	41 8b c4             	mov    %r12d,%eax
18005e817:	48 83 c4 20          	add    $0x20,%rsp
18005e81b:	41 5f                	pop    %r15
18005e81d:	41 5e                	pop    %r14
18005e81f:	41 5d                	pop    %r13
18005e821:	41 5c                	pop    %r12
18005e823:	5f                   	pop    %rdi
18005e824:	5e                   	pop    %rsi
18005e825:	5d                   	pop    %rbp
18005e826:	c3                   	ret
18005e827:	cc                   	int3
18005e828:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18005e82d:	55                   	push   %rbp
18005e82e:	56                   	push   %rsi
18005e82f:	57                   	push   %rdi
18005e830:	41 54                	push   %r12
18005e832:	41 55                	push   %r13
18005e834:	41 56                	push   %r14
18005e836:	41 57                	push   %r15
18005e838:	48 83 ec 30          	sub    $0x30,%rsp
18005e83c:	4c 8b 49 08          	mov    0x8(%rcx),%r9
18005e840:	48 8b f9             	mov    %rcx,%rdi
18005e843:	8a 49 2a             	mov    0x2a(%rcx),%cl
18005e846:	33 db                	xor    %ebx,%ebx
18005e848:	4c 8b 62 78          	mov    0x78(%rdx),%r12
18005e84c:	4c 8b ea             	mov    %rdx,%r13
18005e84f:	49 d3 ec             	shr    %cl,%r12
18005e852:	49 8b 81 58 01 00 00 	mov    0x158(%r9),%rax
18005e859:	8b 70 28             	mov    0x28(%rax),%esi
18005e85c:	4d 85 c0             	test   %r8,%r8
18005e85f:	74 0a                	je     0x18005e86b
18005e861:	bb 02 00 00 c0       	mov    $0xc0000002,%ebx
18005e866:	e9 9b 01 00 00       	jmp    0x18005ea06
18005e86b:	48 8b 57 20          	mov    0x20(%rdi),%rdx
18005e86f:	49 8d 41 50          	lea    0x50(%r9),%rax
18005e873:	48 85 d2             	test   %rdx,%rdx
18005e876:	48 8d 4a 58          	lea    0x58(%rdx),%rcx
18005e87a:	48 0f 44 c8          	cmove  %rax,%rcx
18005e87e:	8b 49 10             	mov    0x10(%rcx),%ecx
18005e881:	c1 e1 03             	shl    $0x3,%ecx
18005e884:	48 83 c1 18          	add    $0x18,%rcx
18005e888:	e8 87 80 fe ff       	call   0x180046914
18005e88d:	4c 8b f0             	mov    %rax,%r14
18005e890:	48 85 c0             	test   %rax,%rax
18005e893:	75 0a                	jne    0x18005e89f
18005e895:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18005e89a:	e9 67 01 00 00       	jmp    0x18005ea06
18005e89f:	bd 01 00 00 00       	mov    $0x1,%ebp
18005e8a4:	8b ce                	mov    %esi,%ecx
18005e8a6:	8b d5                	mov    %ebp,%edx
18005e8a8:	4d 8b c6             	mov    %r14,%r8
18005e8ab:	d3 e2                	shl    %cl,%edx
18005e8ad:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
18005e8b1:	2b d5                	sub    %ebp,%edx
18005e8b3:	48 8b 89 58 01 00 00 	mov    0x158(%rcx),%rcx
18005e8ba:	e8 e9 63 fe ff       	call   0x180044ca8
18005e8bf:	45 33 ff             	xor    %r15d,%r15d
18005e8c2:	48 8b 47 20          	mov    0x20(%rdi),%rax
18005e8c6:	48 85 c0             	test   %rax,%rax
18005e8c9:	74 06                	je     0x18005e8d1
18005e8cb:	48 83 c0 58          	add    $0x58,%rax
18005e8cf:	eb 08                	jmp    0x18005e8d9
18005e8d1:	48 8b 47 08          	mov    0x8(%rdi),%rax
18005e8d5:	48 83 c0 50          	add    $0x50,%rax
18005e8d9:	44 3b 78 10          	cmp    0x10(%rax),%r15d
18005e8dd:	0f 83 fc 00 00 00    	jae    0x18005e9df
18005e8e3:	b9 e0 00 00 00       	mov    $0xe0,%ecx
18005e8e8:	e8 27 80 fe ff       	call   0x180046914
18005e8ed:	48 85 c0             	test   %rax,%rax
18005e8f0:	74 0d                	je     0x18005e8ff
18005e8f2:	48 8b c8             	mov    %rax,%rcx
18005e8f5:	e8 6e 86 fe ff       	call   0x180046f68
18005e8fa:	48 8b f0             	mov    %rax,%rsi
18005e8fd:	eb 02                	jmp    0x18005e901
18005e8ff:	33 f6                	xor    %esi,%esi
18005e901:	48 85 f6             	test   %rsi,%rsi
18005e904:	0f 84 ce 00 00 00    	je     0x18005e9d8
18005e90a:	45 8b c7             	mov    %r15d,%r8d
18005e90d:	49 8b d4             	mov    %r12,%rdx
18005e910:	48 8b cf             	mov    %rdi,%rcx
18005e913:	e8 f8 ea ff ff       	call   0x18005d410
18005e918:	89 44 24 70          	mov    %eax,0x70(%rsp)
18005e91c:	48 8b dd             	mov    %rbp,%rbx
18005e91f:	0f b6 47 2a          	movzbl 0x2a(%rdi),%eax
18005e923:	45 8b c7             	mov    %r15d,%r8d
18005e926:	8b c8                	mov    %eax,%ecx
18005e928:	89 44 24 78          	mov    %eax,0x78(%rsp)
18005e92c:	48 d3 e3             	shl    %cl,%rbx
18005e92f:	49 8b d4             	mov    %r12,%rdx
18005e932:	48 8b cf             	mov    %rdi,%rcx
18005e935:	e8 d6 ea ff ff       	call   0x18005d410
18005e93a:	44 8b d8             	mov    %eax,%r11d
18005e93d:	44 8b cb             	mov    %ebx,%r9d
18005e940:	48 8b 47 08          	mov    0x8(%rdi),%rax
18005e944:	48 8b 90 58 01 00 00 	mov    0x158(%rax),%rdx
18005e94b:	44 3b 5a 28          	cmp    0x28(%rdx),%r11d
18005e94f:	73 1e                	jae    0x18005e96f
18005e951:	8b 4c 24 78          	mov    0x78(%rsp),%ecx
18005e955:	49 8b d5             	mov    %r13,%rdx
18005e958:	44 8b 44 24 70       	mov    0x70(%rsp),%r8d
18005e95d:	49 d3 e0             	shl    %cl,%r8
18005e960:	48 8b ce             	mov    %rsi,%rcx
18005e963:	40 88 6c 24 20       	mov    %bpl,0x20(%rsp)
18005e968:	e8 cf 87 fe ff       	call   0x18004713c
18005e96d:	eb 10                	jmp    0x18005e97f
18005e96f:	45 33 c0             	xor    %r8d,%r8d
18005e972:	48 8d 4e 60          	lea    0x60(%rsi),%rcx
18005e976:	41 8d 50 03          	lea    0x3(%r8),%edx
18005e97a:	e8 1d 82 fe ff       	call   0x180046b9c
18005e97f:	8b d8                	mov    %eax,%ebx
18005e981:	85 c0                	test   %eax,%eax
18005e983:	78 79                	js     0x18005e9fe
18005e985:	8b 4c 24 70          	mov    0x70(%rsp),%ecx
18005e989:	48 8b d6             	mov    %rsi,%rdx
18005e98c:	48 8b 46 68          	mov    0x68(%rsi),%rax
18005e990:	49 89 44 ce 10       	mov    %rax,0x10(%r14,%rcx,8)
18005e995:	49 8b 45 78          	mov    0x78(%r13),%rax
18005e999:	48 89 46 78          	mov    %rax,0x78(%rsi)
18005e99d:	48 8b c5             	mov    %rbp,%rax
18005e9a0:	8a 4f 2a             	mov    0x2a(%rdi),%cl
18005e9a3:	48 d3 e0             	shl    %cl,%rax
18005e9a6:	49 8b cd             	mov    %r13,%rcx
18005e9a9:	89 86 80 00 00 00    	mov    %eax,0x80(%rsi)
18005e9af:	44 89 be 84 00 00 00 	mov    %r15d,0x84(%rsi)
18005e9b6:	c6 86 98 00 00 00 04 	movb   $0x4,0x98(%rsi)
18005e9bd:	40 88 ae 9a 00 00 00 	mov    %bpl,0x9a(%rsi)
18005e9c4:	48 89 be d8 00 00 00 	mov    %rdi,0xd8(%rsi)
18005e9cb:	e8 dc 86 fe ff       	call   0x1800470ac
18005e9d0:	44 03 fd             	add    %ebp,%r15d
18005e9d3:	e9 ea fe ff ff       	jmp    0x18005e8c2
18005e9d8:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18005e9dd:	eb 1f                	jmp    0x18005e9fe
18005e9df:	8a 4f 2a             	mov    0x2a(%rdi),%cl
18005e9e2:	45 33 c9             	xor    %r9d,%r9d
18005e9e5:	48 d3 e5             	shl    %cl,%rbp
18005e9e8:	49 8b d6             	mov    %r14,%rdx
18005e9eb:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
18005e9ef:	44 8b c5             	mov    %ebp,%r8d
18005e9f2:	48 8b 89 58 01 00 00 	mov    0x158(%rcx),%rcx
18005e9f9:	e8 3e 65 fe ff       	call   0x180044f3c
18005e9fe:	49 8b ce             	mov    %r14,%rcx
18005ea01:	e8 56 7f fe ff       	call   0x18004695c
18005ea06:	8b c3                	mov    %ebx,%eax
18005ea08:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
18005ea0f:	00
18005ea10:	48 83 c4 30          	add    $0x30,%rsp
18005ea14:	41 5f                	pop    %r15
18005ea16:	41 5e                	pop    %r14
18005ea18:	41 5d                	pop    %r13
18005ea1a:	41 5c                	pop    %r12
18005ea1c:	5f                   	pop    %rdi
18005ea1d:	5e                   	pop    %rsi
18005ea1e:	5d                   	pop    %rbp
18005ea1f:	c3                   	ret
18005ea20:	cc                   	int3
18005ea21:	cc                   	int3
18005ea22:	cc                   	int3
18005ea23:	cc                   	int3
18005ea24:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005ea29:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005ea2e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005ea33:	57                   	push   %rdi
18005ea34:	41 54                	push   %r12
18005ea36:	41 55                	push   %r13
18005ea38:	41 56                	push   %r14
18005ea3a:	41 57                	push   %r15
18005ea3c:	48 83 ec 20          	sub    $0x20,%rsp
18005ea40:	4c 8b 49 08          	mov    0x8(%rcx),%r9
18005ea44:	4c 8b f1             	mov    %rcx,%r14
18005ea47:	8a 49 2a             	mov    0x2a(%rcx),%cl
18005ea4a:	33 ff                	xor    %edi,%edi
18005ea4c:	4c 8b 62 78          	mov    0x78(%rdx),%r12
18005ea50:	4d 8b e8             	mov    %r8,%r13
18005ea53:	49 d3 ec             	shr    %cl,%r12
18005ea56:	48 8b f2             	mov    %rdx,%rsi
18005ea59:	49 8b 81 58 01 00 00 	mov    0x158(%r9),%rax
18005ea60:	8b 58 28             	mov    0x28(%rax),%ebx
18005ea63:	4d 85 c0             	test   %r8,%r8
18005ea66:	74 0a                	je     0x18005ea72
18005ea68:	bf 02 00 00 c0       	mov    $0xc0000002,%edi
18005ea6d:	e9 ae 01 00 00       	jmp    0x18005ec20
18005ea72:	49 8b 56 20          	mov    0x20(%r14),%rdx
18005ea76:	49 8d 41 50          	lea    0x50(%r9),%rax
18005ea7a:	48 85 d2             	test   %rdx,%rdx
18005ea7d:	48 8d 4a 58          	lea    0x58(%rdx),%rcx
18005ea81:	48 0f 44 c8          	cmove  %rax,%rcx
18005ea85:	8b 49 10             	mov    0x10(%rcx),%ecx
18005ea88:	c1 e1 03             	shl    $0x3,%ecx
18005ea8b:	48 83 c1 18          	add    $0x18,%rcx
18005ea8f:	e8 80 7e fe ff       	call   0x180046914
18005ea94:	48 8b e8             	mov    %rax,%rbp
18005ea97:	48 85 c0             	test   %rax,%rax
18005ea9a:	75 0a                	jne    0x18005eaa6
18005ea9c:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
18005eaa1:	e9 a8 01 00 00       	jmp    0x18005ec4e
18005eaa6:	8b cb                	mov    %ebx,%ecx
18005eaa8:	ba 01 00 00 00       	mov    $0x1,%edx
18005eaad:	d3 e2                	shl    %cl,%edx
18005eaaf:	4c 8b c5             	mov    %rbp,%r8
18005eab2:	49 8b 4e 08          	mov    0x8(%r14),%rcx
18005eab6:	ff ca                	dec    %edx
18005eab8:	48 8b 89 58 01 00 00 	mov    0x158(%rcx),%rcx
18005eabf:	e8 e4 61 fe ff       	call   0x180044ca8
18005eac4:	45 33 ff             	xor    %r15d,%r15d
18005eac7:	49 8b 46 20          	mov    0x20(%r14),%rax
18005eacb:	48 85 c0             	test   %rax,%rax
18005eace:	74 06                	je     0x18005ead6
18005ead0:	48 83 c0 58          	add    $0x58,%rax
18005ead4:	eb 08                	jmp    0x18005eade
18005ead6:	49 8b 46 08          	mov    0x8(%r14),%rax
18005eada:	48 83 c0 50          	add    $0x50,%rax
18005eade:	44 3b 78 10          	cmp    0x10(%rax),%r15d
18005eae2:	0f 83 31 01 00 00    	jae    0x18005ec19
18005eae8:	b9 e0 00 00 00       	mov    $0xe0,%ecx
18005eaed:	e8 22 7e fe ff       	call   0x180046914
18005eaf2:	48 85 c0             	test   %rax,%rax
18005eaf5:	74 0d                	je     0x18005eb04
18005eaf7:	48 8b c8             	mov    %rax,%rcx
18005eafa:	e8 69 84 fe ff       	call   0x180046f68
18005eaff:	48 8b d8             	mov    %rax,%rbx
18005eb02:	eb 02                	jmp    0x18005eb06
18005eb04:	33 db                	xor    %ebx,%ebx
18005eb06:	48 85 db             	test   %rbx,%rbx
18005eb09:	0f 84 03 01 00 00    	je     0x18005ec12
18005eb0f:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
18005eb13:	44 3b be 84 00 00 00 	cmp    0x84(%rsi),%r15d
18005eb1a:	75 2a                	jne    0x18005eb46
18005eb1c:	8b 46 3c             	mov    0x3c(%rsi),%eax
18005eb1f:	83 e0 02             	and    $0x2,%eax
18005eb22:	c7 01 01 00 00 00    	movl   $0x1,(%rcx)
18005eb28:	09 43 3c             	or     %eax,0x3c(%rbx)
18005eb2b:	48 8b 46 68          	mov    0x68(%rsi),%rax
18005eb2f:	48 89 41 08          	mov    %rax,0x8(%rcx)
18005eb33:	8b 86 94 00 00 00    	mov    0x94(%rsi),%eax
18005eb39:	83 f8 ff             	cmp    $0xffffffff,%eax
18005eb3c:	74 25                	je     0x18005eb63
18005eb3e:	89 83 94 00 00 00    	mov    %eax,0x94(%rbx)
18005eb44:	eb 1d                	jmp    0x18005eb63
18005eb46:	44 8b 8e 80 00 00 00 	mov    0x80(%rsi),%r9d
18005eb4d:	45 33 c0             	xor    %r8d,%r8d
18005eb50:	41 8d 50 03          	lea    0x3(%r8),%edx
18005eb54:	e8 43 80 fe ff       	call   0x180046b9c
18005eb59:	8b f8                	mov    %eax,%edi
18005eb5b:	85 c0                	test   %eax,%eax
18005eb5d:	0f 88 c6 00 00 00    	js     0x18005ec29
18005eb63:	45 8b c7             	mov    %r15d,%r8d
18005eb66:	49 8b d4             	mov    %r12,%rdx
18005eb69:	49 8b ce             	mov    %r14,%rcx
18005eb6c:	e8 9f e8 ff ff       	call   0x18005d410
18005eb71:	48 8b 4b 68          	mov    0x68(%rbx),%rcx
18005eb75:	44 8b d8             	mov    %eax,%r11d
18005eb78:	4a 89 4c dd 10       	mov    %rcx,0x10(%rbp,%r11,8)
18005eb7d:	48 8b 4e 78          	mov    0x78(%rsi),%rcx
18005eb81:	48 89 4b 78          	mov    %rcx,0x78(%rbx)
18005eb85:	8b 86 80 00 00 00    	mov    0x80(%rsi),%eax
18005eb8b:	89 83 80 00 00 00    	mov    %eax,0x80(%rbx)
18005eb91:	44 89 bb 84 00 00 00 	mov    %r15d,0x84(%rbx)
18005eb98:	c6 83 98 00 00 00 03 	movb   $0x3,0x98(%rbx)
18005eb9f:	c6 83 9a 00 00 00 01 	movb   $0x1,0x9a(%rbx)
18005eba6:	4c 89 b3 d8 00 00 00 	mov    %r14,0xd8(%rbx)
18005ebad:	44 3b be 84 00 00 00 	cmp    0x84(%rsi),%r15d
18005ebb4:	74 2b                	je     0x18005ebe1
18005ebb6:	45 8b c7             	mov    %r15d,%r8d
18005ebb9:	49 8b d4             	mov    %r12,%rdx
18005ebbc:	49 8b ce             	mov    %r14,%rcx
18005ebbf:	e8 4c e8 ff ff       	call   0x18005d410
18005ebc4:	49 8b 4e 08          	mov    0x8(%r14),%rcx
18005ebc8:	48 8b 91 58 01 00 00 	mov    0x158(%rcx),%rdx
18005ebcf:	3b 42 28             	cmp    0x28(%rdx),%eax
18005ebd2:	73 0d                	jae    0x18005ebe1
18005ebd4:	48 8b d3             	mov    %rbx,%rdx
18005ebd7:	48 8b ce             	mov    %rsi,%rcx
18005ebda:	e8 cd 84 fe ff       	call   0x1800470ac
18005ebdf:	eb 22                	jmp    0x18005ec03
18005ebe1:	48 8d 46 50          	lea    0x50(%rsi),%rax
18005ebe5:	48 81 c3 b0 00 00 00 	add    $0xb0,%rbx
18005ebec:	48 8b 08             	mov    (%rax),%rcx
18005ebef:	48 39 41 08          	cmp    %rax,0x8(%rcx)
18005ebf3:	75 16                	jne    0x18005ec0b
18005ebf5:	48 89 0b             	mov    %rcx,(%rbx)
18005ebf8:	48 89 43 08          	mov    %rax,0x8(%rbx)
18005ebfc:	48 89 59 08          	mov    %rbx,0x8(%rcx)
18005ec00:	48 89 18             	mov    %rbx,(%rax)
18005ec03:	41 ff c7             	inc    %r15d
18005ec06:	e9 bc fe ff ff       	jmp    0x18005eac7
18005ec0b:	b9 03 00 00 00       	mov    $0x3,%ecx
18005ec10:	cd 29                	int    $0x29
18005ec12:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
18005ec17:	eb 28                	jmp    0x18005ec41
18005ec19:	48 89 ae a8 00 00 00 	mov    %rbp,0xa8(%rsi)
18005ec20:	33 db                	xor    %ebx,%ebx
18005ec22:	33 ed                	xor    %ebp,%ebp
18005ec24:	4d 85 ed             	test   %r13,%r13
18005ec27:	75 25                	jne    0x18005ec4e
18005ec29:	48 85 db             	test   %rbx,%rbx
18005ec2c:	74 13                	je     0x18005ec41
18005ec2e:	48 8b 03             	mov    (%rbx),%rax
18005ec31:	ba 01 00 00 00       	mov    $0x1,%edx
18005ec36:	48 8b cb             	mov    %rbx,%rcx
18005ec39:	48 8b 00             	mov    (%rax),%rax
18005ec3c:	ff d0                	call   *%rax
18005ec3e:	0f 1f 00             	nopl   (%rax)
18005ec41:	48 85 ed             	test   %rbp,%rbp
18005ec44:	74 08                	je     0x18005ec4e
18005ec46:	48 8b cd             	mov    %rbp,%rcx
18005ec49:	e8 0e 7d fe ff       	call   0x18004695c
18005ec4e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18005ec53:	8b c7                	mov    %edi,%eax
18005ec55:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
18005ec5a:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18005ec5f:	48 83 c4 20          	add    $0x20,%rsp
18005ec63:	41 5f                	pop    %r15
18005ec65:	41 5e                	pop    %r14
18005ec67:	41 5d                	pop    %r13
18005ec69:	41 5c                	pop    %r12
18005ec6b:	5f                   	pop    %rdi
18005ec6c:	c3                   	ret
18005ec6d:	cc                   	int3
18005ec6e:	cc                   	int3
18005ec6f:	cc                   	int3
18005ec70:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18005ec75:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
18005ec7a:	55                   	push   %rbp
18005ec7b:	56                   	push   %rsi
18005ec7c:	57                   	push   %rdi
18005ec7d:	41 54                	push   %r12
18005ec7f:	41 55                	push   %r13
18005ec81:	41 56                	push   %r14
18005ec83:	41 57                	push   %r15
18005ec85:	48 83 ec 30          	sub    $0x30,%rsp
18005ec89:	48 8b 41 08          	mov    0x8(%rcx),%rax
18005ec8d:	4c 8b f2             	mov    %rdx,%r14