18005be11:	48 83 ba a8 00 00 00 	cmpq   $0x0,0xa8(%rdx)
18005be18:	00
18005be19:	74 1c                	je     0x18005be37
18005be1b:	85 db                	test   %ebx,%ebx
18005be1d:	78 05                	js     0x18005be24
18005be1f:	bb 00 00 e7 00       	mov    $0xe70000,%ebx
18005be24:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
18005be29:	8b c3                	mov    %ebx,%eax
18005be2b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18005be30:	48 83 c4 20          	add    $0x20,%rsp
18005be34:	5f                   	pop    %rdi
18005be35:	c3                   	ret
18005be36:	cc                   	int3
18005be37:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
18005be3c:	48 c7 82 a8 00 00 00 	movq   $0x1,0xa8(%rdx)
18005be43:	01 00 00 00
18005be47:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
18005be4c:	e8 8b 00 00 00       	call   0x18005bedc
18005be51:	4c 8b 4c 24 40       	mov    0x40(%rsp),%r9
18005be56:	4d 85 c9             	test   %r9,%r9
18005be59:	74 c9                	je     0x18005be24
18005be5b:	8b 44 24 38          	mov    0x38(%rsp),%eax
18005be5f:	85 c0                	test   %eax,%eax
18005be61:	74 c1                	je     0x18005be24
18005be63:	c7 87 a0 00 00 00 00 	movl   $0x0,0xa0(%rdi)
18005be6a:	00 00 00
18005be6d:	41 0f ba 69 3c 1d    	btsl   $0x1d,0x3c(%r9)
18005be73:	41 83 89 88 00 00 00 	orl    $0xffffffff,0x88(%r9)
18005be7a:	ff
18005be7b:	41 89 81 8c 00 00 00 	mov    %eax,0x8c(%r9)
18005be82:	49 8d 41 28          	lea    0x28(%r9),%rax
18005be86:	41 c6 81 98 00 00 00 	movb   $0x4,0x98(%r9)
18005be8d:	04
18005be8e:	41 c6 81 9a 00 00 00 	movb   $0x1,0x9a(%r9)
18005be95:	01
18005be96:	48 8b 10             	mov    (%rax),%rdx
18005be99:	48 39 42 08          	cmp    %rax,0x8(%rdx)
18005be9d:	75 33                	jne    0x18005bed2
18005be9f:	48 8b 48 08          	mov    0x8(%rax),%rcx
18005bea3:	48 39 01             	cmp    %rax,(%rcx)
18005bea6:	75 2a                	jne    0x18005bed2
18005bea8:	48 89 11             	mov    %rdx,(%rcx)
18005beab:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
18005beaf:	49 8b d1             	mov    %r9,%rdx
18005beb2:	48 8b cf             	mov    %rdi,%rcx
18005beb5:	e8 f2 b1 fe ff       	call   0x1800470ac
18005beba:	41 b0 0a             	mov    $0xa,%r8b
18005bebd:	49 8b d1             	mov    %r9,%rdx
18005bec0:	48 8b ce             	mov    %rsi,%rcx
18005bec3:	e8 48 b6 fe ff       	call   0x180047510
18005bec8:	bb 16 00 00 c0       	mov    $0xc0000016,%ebx
18005becd:	e9 52 ff ff ff       	jmp    0x18005be24
18005bed2:	b9 03 00 00 00       	mov    $0x3,%ecx
18005bed7:	cd 29                	int    $0x29
18005bed9:	cc                   	int3
18005beda:	cc                   	int3
18005bedb:	cc                   	int3
18005bedc:	48 8b c4             	mov    %rsp,%rax
18005bedf:	4c 89 48 20          	mov    %r9,0x20(%rax)
18005bee3:	4c 89 40 18          	mov    %r8,0x18(%rax)
18005bee7:	48 89 50 10          	mov    %rdx,0x10(%rax)
18005beeb:	48 89 48 08          	mov    %rcx,0x8(%rax)
18005beef:	53                   	push   %rbx
18005bef0:	55                   	push   %rbp
18005bef1:	56                   	push   %rsi
18005bef2:	57                   	push   %rdi
18005bef3:	41 54                	push   %r12
18005bef5:	41 55                	push   %r13
18005bef7:	41 56                	push   %r14
18005bef9:	41 57                	push   %r15
18005befb:	48 83 ec 38          	sub    $0x38,%rsp
18005beff:	48 8b f2             	mov    %rdx,%rsi
18005bf02:	33 ed                	xor    %ebp,%ebp
18005bf04:	33 d2                	xor    %edx,%edx
18005bf06:	48 83 c6 18          	add    $0x18,%rsi
18005bf0a:	21 50 b4             	and    %edx,-0x4c(%rax)
18005bf0d:	45 33 e4             	xor    %r12d,%r12d
18005bf10:	21 50 a8             	and    %edx,-0x58(%rax)
18005bf13:	4c 8b d1             	mov    %rcx,%r10
18005bf16:	49 21 10             	and    %rdx,(%r8)
18005bf19:	48 8b 1e             	mov    (%rsi),%rbx
18005bf1c:	41 21 11             	and    %edx,(%r9)
18005bf1f:	89 54 24 28          	mov    %edx,0x28(%rsp)
18005bf23:	48 3b de             	cmp    %rsi,%rbx
18005bf26:	0f 84 21 01 00 00    	je     0x18005c04d
18005bf2c:	48 21 53 48          	and    %rdx,0x48(%rbx)
18005bf30:	8b 43 78             	mov    0x78(%rbx),%eax
18005bf33:	3d 9c 00 00 c0       	cmp    $0xc000009c,%eax
18005bf38:	74 07                	je     0x18005bf41
18005bf3a:	3d 83 04 00 c0       	cmp    $0xc0000483,%eax
18005bf3f:	75 0b                	jne    0x18005bf4c
18005bf41:	8b 43 60             	mov    0x60(%rbx),%eax
18005bf44:	48 8d 4c 24 2c       	lea    0x2c(%rsp),%rcx
18005bf49:	0f ab 01             	bts    %eax,(%rcx)
18005bf4c:	48 8b 1b             	mov    (%rbx),%rbx
18005bf4f:	48 3b de             	cmp    %rsi,%rbx
18005bf52:	75 d8                	jne    0x18005bf2c
18005bf54:	48 8b 1e             	mov    (%rsi),%rbx
18005bf57:	48 3b de             	cmp    %rsi,%rbx
18005bf5a:	0f 84 ed 00 00 00    	je     0x18005c04d
18005bf60:	4c 8d 73 d8          	lea    -0x28(%rbx),%r14
18005bf64:	41 8b 86 a0 00 00 00 	mov    0xa0(%r14),%eax
18005bf6b:	85 c0                	test   %eax,%eax
18005bf6d:	0f 88 be 00 00 00    	js     0x18005c031
18005bf73:	8b 4c 24 20          	mov    0x20(%rsp),%ecx
18005bf77:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
18005bf7c:	41 8b 86 88 00 00 00 	mov    0x88(%r14),%eax
18005bf83:	41 0f ab 00          	bts    %eax,(%r8)
18005bf87:	49 83 7e 70 01       	cmpq   $0x1,0x70(%r14)
18005bf8c:	89 4c 24 24          	mov    %ecx,0x24(%rsp)
18005bf90:	0f 84 9b 00 00 00    	je     0x18005c031
18005bf96:	48 8b 3b             	mov    (%rbx),%rdi
18005bf99:	45 33 ff             	xor    %r15d,%r15d
18005bf9c:	4d 8b 6e 68          	mov    0x68(%r14),%r13
18005bfa0:	48 3b fe             	cmp    %rsi,%rdi
18005bfa3:	74 62                	je     0x18005c007
18005bfa5:	4c 8b b4 24 88 00 00 	mov    0x88(%rsp),%r14
18005bfac:	00
18005bfad:	8b 47 78             	mov    0x78(%rdi),%eax
18005bfb0:	85 c0                	test   %eax,%eax
18005bfb2:	78 37                	js     0x18005bfeb
18005bfb4:	48 8b 57 40          	mov    0x40(%rdi),%rdx
18005bfb8:	49 8b cd             	mov    %r13,%rcx
18005bfbb:	45 8b 86 80 00 00 00 	mov    0x80(%r14),%r8d
18005bfc2:	e8 99 7e 0d 00       	call   0x180133e60
18005bfc7:	41 8b 8e 80 00 00 00 	mov    0x80(%r14),%ecx
18005bfce:	48 3b c8             	cmp    %rax,%rcx
18005bfd1:	75 0d                	jne    0x18005bfe0
18005bfd3:	41 ff c7             	inc    %r15d
18005bfd6:	48 c7 47 48 01 00 00 	movq   $0x1,0x48(%rdi)
18005bfdd:	00
18005bfde:	eb 0b                	jmp    0x18005bfeb
18005bfe0:	8b 47 60             	mov    0x60(%rdi),%eax
18005bfe3:	48 8d 4c 24 24       	lea    0x24(%rsp),%rcx
18005bfe8:	0f ab 01             	bts    %eax,(%rcx)
18005bfeb:	48 8b 3f             	mov    (%rdi),%rdi
18005bfee:	48 3b fe             	cmp    %rsi,%rdi
18005bff1:	75 ba                	jne    0x18005bfad
18005bff3:	8b 4c 24 24          	mov    0x24(%rsp),%ecx
18005bff7:	4c 8d 73 d8          	lea    -0x28(%rbx),%r14
18005bffb:	8b 54 24 28          	mov    0x28(%rsp),%edx
18005bfff:	4c 8b 94 24 80 00 00 	mov    0x80(%rsp),%r10
18005c006:	00
18005c007:	4d 85 e4             	test   %r12,%r12
18005c00a:	74 05                	je     0x18005c011
18005c00c:	44 3b fa             	cmp    %edx,%r15d
18005c00f:	76 0c                	jbe    0x18005c01d
18005c011:	41 8b d7             	mov    %r15d,%edx
18005c014:	4d 8b e6             	mov    %r14,%r12
18005c017:	89 54 24 28          	mov    %edx,0x28(%rsp)
18005c01b:	8b e9                	mov    %ecx,%ebp
18005c01d:	85 c9                	test   %ecx,%ecx
18005c01f:	74 1c                	je     0x18005c03d
18005c021:	41 8b 42 4c          	mov    0x4c(%r10),%eax
18005c025:	25 00 00 00 e0       	and    $0xe0000000,%eax
18005c02a:	3d 00 00 00 80       	cmp    $0x80000000,%eax
18005c02f:	74 0c                	je     0x18005c03d
18005c031:	48 8b 1b             	mov    (%rbx),%rbx
18005c034:	48 3b de             	cmp    %rsi,%rbx
18005c037:	0f 85 23 ff ff ff    	jne    0x18005bf60
18005c03d:	4c 8b 8c 24 98 00 00 	mov    0x98(%rsp),%r9
18005c044:	00
18005c045:	4c 8b 84 24 90 00 00 	mov    0x90(%rsp),%r8
18005c04c:	00
18005c04d:	0b 6c 24 2c          	or     0x2c(%rsp),%ebp
18005c051:	4d 85 e4             	test   %r12,%r12
18005c054:	74 0a                	je     0x18005c060
18005c056:	85 ed                	test   %ebp,%ebp
18005c058:	74 06                	je     0x18005c060
18005c05a:	4d 89 20             	mov    %r12,(%r8)
18005c05d:	41 89 29             	mov    %ebp,(%r9)
18005c060:	48 83 c4 38          	add    $0x38,%rsp
18005c064:	41 5f                	pop    %r15
18005c066:	41 5e                	pop    %r14
18005c068:	41 5d                	pop    %r13
18005c06a:	41 5c                	pop    %r12
18005c06c:	5f                   	pop    %rdi
18005c06d:	5e                   	pop    %rsi
18005c06e:	5d                   	pop    %rbp
18005c06f:	5b                   	pop    %rbx
18005c070:	c3                   	ret
18005c071:	cc                   	int3
18005c072:	cc                   	int3
18005c073:	cc                   	int3
18005c074:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005c079:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18005c07e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
18005c083:	55                   	push   %rbp
18005c084:	48 8b ec             	mov    %rsp,%rbp
18005c087:	48 83 ec 60          	sub    $0x60,%rsp
18005c08b:	44 8b d2             	mov    %edx,%r10d
18005c08e:	49 8b f9             	mov    %r9,%rdi
18005c091:	49 8b f0             	mov    %r8,%rsi
18005c094:	4c 8b d9             	mov    %rcx,%r11
18005c097:	41 83 ea 04          	sub    $0x4,%r10d
18005c09b:	0f 84 01 02 00 00    	je     0x18005c2a2
18005c0a1:	41 83 ea 03          	sub    $0x3,%r10d
18005c0a5:	0f 84 ec 01 00 00    	je     0x18005c297
18005c0ab:	41 83 ea 01          	sub    $0x1,%r10d
18005c0af:	0f 84 bd 01 00 00    	je     0x18005c272
18005c0b5:	41 83 ea 01          	sub    $0x1,%r10d
18005c0b9:	0f 84 30 01 00 00    	je     0x18005c1ef
18005c0bf:	41 83 ea 01          	sub    $0x1,%r10d
18005c0c3:	0f 84 16 01 00 00    	je     0x18005c1df
18005c0c9:	41 83 ea 01          	sub    $0x1,%r10d
18005c0cd:	74 79                	je     0x18005c148
18005c0cf:	41 83 ea 09          	sub    $0x9,%r10d
18005c0d3:	74 2d                	je     0x18005c102
18005c0d5:	41 83 fa 02          	cmp    $0x2,%r10d
18005c0d9:	74 13                	je     0x18005c0ee
18005c0db:	48 8b 45 30          	mov    0x30(%rbp),%rax
18005c0df:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18005c0e4:	e8 bb 9b ff ff       	call   0x180055ca4
18005c0e9:	e9 bd 01 00 00       	jmp    0x18005c2ab
18005c0ee:	4c 8b 4d 30          	mov    0x30(%rbp),%r9
18005c0f2:	4c 8b c7             	mov    %rdi,%r8
18005c0f5:	48 8b d6             	mov    %rsi,%rdx
18005c0f8:	e8 f3 0b 00 00       	call   0x18005ccf0
18005c0fd:	e9 a9 01 00 00       	jmp    0x18005c2ab
18005c102:	8b 41 4c             	mov    0x4c(%rcx),%eax
18005c105:	33 db                	xor    %ebx,%ebx
18005c107:	25 00 00 00 e0       	and    $0xe0000000,%eax
18005c10c:	ba 00 00 00 80       	mov    $0x80000000,%edx
18005c111:	3b c2                	cmp    %edx,%eax
18005c113:	75 14                	jne    0x18005c129
18005c115:	4c 8b 4d 30          	mov    0x30(%rbp),%r9
18005c119:	4c 8b c7             	mov    %rdi,%r8
18005c11c:	48 8b d6             	mov    %rsi,%rdx
18005c11f:	e8 48 ac ff ff       	call   0x180056d6c
18005c124:	e9 82 01 00 00       	jmp    0x18005c2ab
18005c129:	48 8b 55 30          	mov    0x30(%rbp),%rdx
18005c12d:	48 8b 42 28          	mov    0x28(%rdx),%rax
18005c131:	8b 48 1c             	mov    0x1c(%rax),%ecx
18005c134:	c7 40 20 28 00 00 00 	movl   $0x28,0x20(%rax)
18005c13b:	48 01 7a 50          	add    %rdi,0x50(%rdx)
18005c13f:	48 01 3c 01          	add    %rdi,(%rcx,%rax,1)
18005c143:	e9 65 01 00 00       	jmp    0x18005c2ad
18005c148:	48 8b 45 30          	mov    0x30(%rbp),%rax
18005c14c:	33 db                	xor    %ebx,%ebx
18005c14e:	44 8b 00             	mov    (%rax),%r8d
18005c151:	48 89 5d d0          	mov    %rbx,-0x30(%rbp)
18005c155:	48 8b 41 48          	mov    0x48(%rcx),%rax
18005c159:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
18005c15d:	48 8b 41 48          	mov    0x48(%rcx),%rax
18005c161:	48 8b c8             	mov    %rax,%rcx
18005c164:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
18005c168:	48 c1 e9 20          	shr    $0x20,%rcx
18005c16c:	8b d1                	mov    %ecx,%edx
18005c16e:	c1 ea 1d             	shr    $0x1d,%edx
18005c171:	85 d2                	test   %edx,%edx
18005c173:	0f 84 34 01 00 00    	je     0x18005c2ad
18005c179:	83 fa 03             	cmp    $0x3,%edx
18005c17c:	75 0e                	jne    0x18005c18c
18005c17e:	41 b9 ff ff ff 1f    	mov    $0x1fffffff,%r9d
18005c184:	41 23 c9             	and    %r9d,%ecx
18005c187:	41 3b c8             	cmp    %r8d,%ecx
18005c18a:	76 0a                	jbe    0x18005c196
18005c18c:	bb 01 00 00 c0       	mov    $0xc0000001,%ebx
18005c191:	e9 17 01 00 00       	jmp    0x18005c2ad
18005c196:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18005c19a:	4c 8d 45 e0          	lea    -0x20(%rbp),%r8
18005c19e:	48 c1 e9 20          	shr    $0x20,%rcx
18005c1a2:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
18005c1a6:	41 23 c9             	and    %r9d,%ecx
18005c1a9:	89 4d d4             	mov    %ecx,-0x2c(%rbp)
18005c1ac:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18005c1b0:	48 89 4d e0          	mov    %rcx,-0x20(%rbp)
18005c1b4:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18005c1b8:	48 89 4d e0          	mov    %rcx,-0x20(%rbp)
18005c1bc:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
18005c1c0:	48 89 4d e8          	mov    %rcx,-0x18(%rbp)
18005c1c4:	49 8b cb             	mov    %r11,%rcx
18005c1c7:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
18005c1cb:	e8 28 f8 ff ff       	call   0x18005b9f8
18005c1d0:	84 c0                	test   %al,%al
18005c1d2:	b9 01 00 00 c0       	mov    $0xc0000001,%ecx
18005c1d7:	0f 44 d9             	cmove  %ecx,%ebx
18005c1da:	e9 ce 00 00 00       	jmp    0x18005c2ad
18005c1df:	4c 8b c7             	mov    %rdi,%r8
18005c1e2:	48 8b d6             	mov    %rsi,%rdx
18005c1e5:	e8 52 0a 00 00       	call   0x18005cc3c
18005c1ea:	e9 bc 00 00 00       	jmp    0x18005c2ab
18005c1ef:	33 db                	xor    %ebx,%ebx
18005c1f1:	ba 00 00 00 80       	mov    $0x80000000,%edx
18005c1f6:	48 89 5d d0          	mov    %rbx,-0x30(%rbp)
18005c1fa:	48 8b 41 48          	mov    0x48(%rcx),%rax
18005c1fe:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
18005c202:	48 8b 41 48          	mov    0x48(%rcx),%rax
18005c206:	4c 8b c0             	mov    %rax,%r8
18005c209:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
18005c20d:	49 c1 e8 20          	shr    $0x20,%r8
18005c211:	41 8b c8             	mov    %r8d,%ecx
18005c214:	81 e1 00 00 00 e0    	and    $0xe0000000,%ecx
18005c21a:	3b ca                	cmp    %edx,%ecx
18005c21c:	75 0a                	jne    0x18005c228
18005c21e:	bb 25 02 00 c0       	mov    $0xc0000225,%ebx
18005c223:	e9 85 00 00 00       	jmp    0x18005c2ad
18005c228:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
18005c22c:	41 b9 ff ff ff 1f    	mov    $0x1fffffff,%r9d
18005c232:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
18005c236:	45 23 c1             	and    %r9d,%r8d
18005c239:	44 0b c2             	or     %edx,%r8d
18005c23c:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
18005c240:	44 89 45 d4          	mov    %r8d,-0x2c(%rbp)
18005c244:	48 8d 55 f8          	lea    -0x8(%rbp),%rdx
18005c248:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18005c24c:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
18005c250:	48 89 4d f0          	mov    %rcx,-0x10(%rbp)
18005c254:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
18005c258:	48 89 4d f0          	mov    %rcx,-0x10(%rbp)
18005c25c:	48 8b 4d d8          	mov    -0x28(%rbp),%rcx
18005c260:	48 89 4d f8          	mov    %rcx,-0x8(%rbp)
18005c264:	49 8b cb             	mov    %r11,%rcx
18005c267:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
18005c26b:	e8 88 f7 ff ff       	call   0x18005b9f8
18005c270:	eb 3b                	jmp    0x18005c2ad
18005c272:	8b 41 4c             	mov    0x4c(%rcx),%eax
18005c275:	33 db                	xor    %ebx,%ebx
18005c277:	25 00 00 00 e0       	and    $0xe0000000,%eax
18005c27c:	ba 00 00 00 80       	mov    $0x80000000,%edx
18005c281:	3b c2                	cmp    %edx,%eax
18005c283:	75 28                	jne    0x18005c2ad
18005c285:	48 8b 45 30          	mov    0x30(%rbp),%rax
18005c289:	bb 02 00 e7 00       	mov    $0xe70002,%ebx
18005c28e:	c7 40 48 01 00 00 00 	movl   $0x1,0x48(%rax)
18005c295:	eb 16                	jmp    0x18005c2ad
18005c297:	48 8b 55 30          	mov    0x30(%rbp),%rdx
18005c29b:	e8 e4 08 00 00       	call   0x18005cb84
18005c2a0:	eb 09                	jmp    0x18005c2ab
18005c2a2:	48 8b 55 30          	mov    0x30(%rbp),%rdx
18005c2a6:	e8 1d 00 00 00       	call   0x18005c2c8
18005c2ab:	8b d8                	mov    %eax,%ebx
18005c2ad:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
18005c2b2:	8b c3                	mov    %ebx,%eax
18005c2b4:	49 8b 5b 10          	mov    0x10(%r11),%rbx
18005c2b8:	49 8b 73 18          	mov    0x18(%r11),%rsi
18005c2bc:	49 8b 7b 20          	mov    0x20(%r11),%rdi
18005c2c0:	49 8b e3             	mov    %r11,%rsp
18005c2c3:	5d                   	pop    %rbp
18005c2c4:	c3                   	ret
18005c2c5:	cc                   	int3
18005c2c6:	cc                   	int3
18005c2c7:	cc                   	int3
18005c2c8:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18005c2cd:	55                   	push   %rbp
18005c2ce:	56                   	push   %rsi
18005c2cf:	57                   	push   %rdi
18005c2d0:	41 54                	push   %r12
18005c2d2:	41 55                	push   %r13
18005c2d4:	41 56                	push   %r14