18004e025:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
18004e029:	48 8b d7             	mov    %rdi,%rdx
18004e02c:	e8 47 fc ff ff       	call   0x18004dc78
18004e031:	8b d8                	mov    %eax,%ebx
18004e033:	8b 4d e0             	mov    -0x20(%rbp),%ecx
18004e036:	e8 c5 a4 01 00       	call   0x180068500
18004e03b:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
18004e03f:	48 85 c9             	test   %rcx,%rcx
18004e042:	74 05                	je     0x18004e049
18004e044:	e8 b3 bf 04 00       	call   0x180099ffc
18004e049:	8b c3                	mov    %ebx,%eax
18004e04b:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
18004e050:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18004e055:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
18004e05a:	48 83 c4 50          	add    $0x50,%rsp
18004e05e:	5d                   	pop    %rbp
18004e05f:	c3                   	ret
18004e060:	cc                   	int3
18004e061:	cc                   	int3
18004e062:	cc                   	int3
18004e063:	cc                   	int3
18004e064:	48 8b c4             	mov    %rsp,%rax
18004e067:	48 89 58 08          	mov    %rbx,0x8(%rax)
18004e06b:	48 89 68 10          	mov    %rbp,0x10(%rax)
18004e06f:	48 89 70 18          	mov    %rsi,0x18(%rax)
18004e073:	48 89 78 20          	mov    %rdi,0x20(%rax)
18004e077:	41 56                	push   %r14
18004e079:	48 83 ec 50          	sub    $0x50,%rsp
18004e07d:	b9 08 00 00 00       	mov    $0x8,%ecx
18004e082:	49 8b f1             	mov    %r9,%rsi
18004e085:	49 8b f8             	mov    %r8,%rdi
18004e088:	8b ea                	mov    %edx,%ebp
18004e08a:	e8 c1 bd 04 00       	call   0x180099e50
18004e08f:	48 8b d8             	mov    %rax,%rbx
18004e092:	48 85 c0             	test   %rax,%rax
18004e095:	74 06                	je     0x18004e09d
18004e097:	48 83 20 00          	andq   $0x0,(%rax)
18004e09b:	eb 02                	jmp    0x18004e09f
18004e09d:	33 db                	xor    %ebx,%ebx
18004e09f:	48 85 db             	test   %rbx,%rbx
18004e0a2:	75 07                	jne    0x18004e0ab
18004e0a4:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18004e0a9:	eb 60                	jmp    0x18004e10b
18004e0ab:	f6 47 04 01          	testb  $0x1,0x4(%rdi)
18004e0af:	74 55                	je     0x18004e106
18004e0b1:	83 64 24 28 00       	andl   $0x0,0x28(%rsp)
18004e0b6:	4c 8d 35 d3 54 0f 00 	lea    0xf54d3(%rip),%r14        # 0x180143590
18004e0bd:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
18004e0c3:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
18004e0c8:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
18004e0cd:	89 6c 24 2c          	mov    %ebp,0x2c(%rsp)
18004e0d1:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
18004e0d6:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
18004e0db:	e8 98 00 00 00       	call   0x18004e178
18004e0e0:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
18004e0e5:	8b f8                	mov    %eax,%edi
18004e0e7:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
18004e0ec:	48 85 c9             	test   %rcx,%rcx
18004e0ef:	74 05                	je     0x18004e0f6
18004e0f1:	e8 82 f7 ff ff       	call   0x18004d878
18004e0f6:	85 ff                	test   %edi,%edi
18004e0f8:	79 0c                	jns    0x18004e106
18004e0fa:	48 8b cb             	mov    %rbx,%rcx
18004e0fd:	e8 76 f7 ff ff       	call   0x18004d878
18004e102:	8b c7                	mov    %edi,%eax
18004e104:	eb 05                	jmp    0x18004e10b
18004e106:	48 89 1e             	mov    %rbx,(%rsi)
18004e109:	33 c0                	xor    %eax,%eax
18004e10b:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18004e110:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18004e115:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18004e11a:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
18004e11f:	48 83 c4 50          	add    $0x50,%rsp
18004e123:	41 5e                	pop    %r14
18004e125:	c3                   	ret
18004e126:	cc                   	int3
18004e127:	cc                   	int3
18004e128:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004e12d:	57                   	push   %rdi
18004e12e:	48 83 ec 20          	sub    $0x20,%rsp
18004e132:	48 8d 05 57 54 0f 00 	lea    0xf5457(%rip),%rax        # 0x180143590
18004e139:	48 8b d9             	mov    %rcx,%rbx
18004e13c:	48 89 01             	mov    %rax,(%rcx)
18004e13f:	8b fa                	mov    %edx,%edi
18004e141:	48 8b 49 20          	mov    0x20(%rcx),%rcx
18004e145:	48 85 c9             	test   %rcx,%rcx
18004e148:	74 05                	je     0x18004e14f
18004e14a:	e8 29 f7 ff ff       	call   0x18004d878
18004e14f:	48 8d 05 da 52 0f 00 	lea    0xf52da(%rip),%rax        # 0x180143430
18004e156:	48 89 03             	mov    %rax,(%rbx)
18004e159:	40 f6 c7 01          	test   $0x1,%dil
18004e15d:	74 08                	je     0x18004e167
18004e15f:	48 8b cb             	mov    %rbx,%rcx
18004e162:	e8 f5 87 ff ff       	call   0x18004695c
18004e167:	48 8b c3             	mov    %rbx,%rax
18004e16a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004e16f:	48 83 c4 20          	add    $0x20,%rsp
18004e173:	5f                   	pop    %rdi
18004e174:	c3                   	ret
18004e175:	cc                   	int3
18004e176:	cc                   	int3
18004e177:	cc                   	int3
18004e178:	48 8b c4             	mov    %rsp,%rax
18004e17b:	48 89 58 10          	mov    %rbx,0x10(%rax)
18004e17f:	48 89 70 18          	mov    %rsi,0x18(%rax)
18004e183:	48 89 78 20          	mov    %rdi,0x20(%rax)
18004e187:	55                   	push   %rbp
18004e188:	41 54                	push   %r12
18004e18a:	41 55                	push   %r13
18004e18c:	41 56                	push   %r14
18004e18e:	41 57                	push   %r15
18004e190:	48 8d 68 a8          	lea    -0x58(%rax),%rbp
18004e194:	48 81 ec 30 01 00 00 	sub    $0x130,%rsp
18004e19b:	48 8b d9             	mov    %rcx,%rbx
18004e19e:	48 8b 49 20          	mov    0x20(%rcx),%rcx
18004e1a2:	48 85 c9             	test   %rcx,%rcx
18004e1a5:	74 05                	je     0x18004e1ac
18004e1a7:	e8 cc f6 ff ff       	call   0x18004d878
18004e1ac:	b9 08 00 00 00       	mov    $0x8,%ecx
18004e1b1:	e8 9a bc 04 00       	call   0x180099e50
18004e1b6:	48 85 c0             	test   %rax,%rax
18004e1b9:	74 04                	je     0x18004e1bf
18004e1bb:	48 83 20 00          	andq   $0x0,(%rax)
18004e1bf:	48 89 43 20          	mov    %rax,0x20(%rbx)
18004e1c3:	48 85 c0             	test   %rax,%rax
18004e1c6:	75 0a                	jne    0x18004e1d2
18004e1c8:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18004e1cd:	e9 2e 01 00 00       	jmp    0x18004e300
18004e1d2:	48 8b 7b 10          	mov    0x10(%rbx),%rdi
18004e1d6:	45 33 f6             	xor    %r14d,%r14d
18004e1d9:	33 f6                	xor    %esi,%esi
18004e1db:	39 77 50             	cmp    %esi,0x50(%rdi)
18004e1de:	0f 86 9c 00 00 00    	jbe    0x18004e280
18004e1e4:	41 bc ff 0f 00 00    	mov    $0xfff,%r12d
18004e1ea:	41 bd ff ff ff ff    	mov    $0xffffffff,%r13d
18004e1f0:	8b ce                	mov    %esi,%ecx
18004e1f2:	48 03 c9             	add    %rcx,%rcx
18004e1f5:	48 8b 44 cf 58       	mov    0x58(%rdi,%rcx,8),%rax
18004e1fa:	48 99                	cqto
18004e1fc:	49 23 d4             	and    %r12,%rdx
18004e1ff:	48 03 c2             	add    %rdx,%rax
18004e202:	49 23 c4             	and    %r12,%rax
18004e205:	48 3b c2             	cmp    %rdx,%rax
18004e208:	0f 85 14 01 00 00    	jne    0x18004e322
18004e20e:	48 8b 44 cf 58       	mov    0x58(%rdi,%rcx,8),%rax
18004e213:	48 99                	cqto
18004e215:	49 23 d4             	and    %r12,%rdx
18004e218:	48 03 c2             	add    %rdx,%rax
18004e21b:	48 c1 f8 0c          	sar    $0xc,%rax
18004e21f:	4c 8b f8             	mov    %rax,%r15
18004e222:	49 3b c5             	cmp    %r13,%rax
18004e225:	0f 83 f7 00 00 00    	jae    0x18004e322
18004e22b:	48 8b 44 cf 60       	mov    0x60(%rdi,%rcx,8),%rax
18004e230:	48 99                	cqto
18004e232:	49 23 d4             	and    %r12,%rdx
18004e235:	48 03 c2             	add    %rdx,%rax
18004e238:	48 c1 f8 0c          	sar    $0xc,%rax
18004e23c:	49 3b c5             	cmp    %r13,%rax
18004e23f:	0f 83 dd 00 00 00    	jae    0x18004e322
18004e245:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
18004e249:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
18004e24e:	44 89 74 24 40       	mov    %r14d,0x40(%rsp)
18004e253:	44 89 7c 24 44       	mov    %r15d,0x44(%rsp)
18004e258:	89 44 24 48          	mov    %eax,0x48(%rsp)
18004e25c:	e8 c7 f2 ff ff       	call   0x18004d528
18004e261:	85 c0                	test   %eax,%eax
18004e263:	0f 88 97 00 00 00    	js     0x18004e300
18004e269:	4d 03 f7             	add    %r15,%r14
18004e26c:	4d 3b f5             	cmp    %r13,%r14
18004e26f:	0f 83 ad 00 00 00    	jae    0x18004e322
18004e275:	ff c6                	inc    %esi
18004e277:	3b 77 50             	cmp    0x50(%rdi),%esi
18004e27a:	0f 82 70 ff ff ff    	jb     0x18004e1f0
18004e280:	33 c0                	xor    %eax,%eax
18004e282:	85 c0                	test   %eax,%eax
18004e284:	78 7a                	js     0x18004e300
18004e286:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
18004e28b:	e8 d8 8c ff ff       	call   0x180046f68
18004e290:	48 8b 53 10          	mov    0x10(%rbx),%rdx
18004e294:	4c 8d 45 60          	lea    0x60(%rbp),%r8
18004e298:	48 89 5d 28          	mov    %rbx,0x28(%rbp)
18004e29c:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
18004e2a1:	45 33 c0             	xor    %r8d,%r8d
18004e2a4:	8b 4a 40             	mov    0x40(%rdx),%ecx
18004e2a7:	8b 42 44             	mov    0x44(%rdx),%eax
18004e2aa:	44 8b 4a 48          	mov    0x48(%rdx),%r9d
18004e2ae:	33 d2                	xor    %edx,%edx
18004e2b0:	48 c1 e1 0c          	shl    $0xc,%rcx
18004e2b4:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18004e2b9:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
18004e2be:	48 c1 e0 0c          	shl    $0xc,%rax
18004e2c2:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18004e2c7:	e8 a8 05 00 00       	call   0x18004e874
18004e2cc:	8b f8                	mov    %eax,%edi
18004e2ce:	85 c0                	test   %eax,%eax
18004e2d0:	78 22                	js     0x18004e2f4
18004e2d2:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
18004e2d6:	48 8d 45 60          	lea    0x60(%rbp),%rax
18004e2da:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18004e2df:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
18004e2e4:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
18004e2e9:	4c 8b 41 18          	mov    0x18(%rcx),%r8
18004e2ed:	e8 66 08 00 00       	call   0x18004eb58
18004e2f2:	8b f8                	mov    %eax,%edi
18004e2f4:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
18004e2f9:	e8 3a 8d ff ff       	call   0x180047038
18004e2fe:	8b c7                	mov    %edi,%eax
18004e300:	4c 8d 9c 24 30 01 00 	lea    0x130(%rsp),%r11
18004e307:	00
18004e308:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18004e30c:	49 8b 73 40          	mov    0x40(%r11),%rsi
18004e310:	49 8b 7b 48          	mov    0x48(%r11),%rdi
18004e314:	49 8b e3             	mov    %r11,%rsp
18004e317:	41 5f                	pop    %r15
18004e319:	41 5e                	pop    %r14
18004e31b:	41 5d                	pop    %r13
18004e31d:	41 5c                	pop    %r12
18004e31f:	5d                   	pop    %rbp
18004e320:	c3                   	ret
18004e321:	cc                   	int3
18004e322:	b8 24 00 00 c0       	mov    $0xc0000024,%eax
18004e327:	eb d7                	jmp    0x18004e300
18004e329:	cc                   	int3
18004e32a:	cc                   	int3
18004e32b:	cc                   	int3
18004e32c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004e331:	57                   	push   %rdi
18004e332:	48 83 ec 20          	sub    $0x20,%rsp
18004e336:	4c 8b da             	mov    %rdx,%r11
18004e339:	49 8b d9             	mov    %r9,%rbx
18004e33c:	ba 0d 00 00 00       	mov    $0xd,%edx
18004e341:	44 3b c2             	cmp    %edx,%r8d
18004e344:	0f 82 86 00 00 00    	jb     0x18004e3d0
18004e34a:	45 8b 4b 08          	mov    0x8(%r11),%r9d
18004e34e:	41 8b c0             	mov    %r8d,%eax
18004e351:	41 8d 49 0c          	lea    0xc(%r9),%ecx
18004e355:	48 3b ca             	cmp    %rdx,%rcx
18004e358:	0f 43 d1             	cmovae %ecx,%edx
18004e35b:	48 3b c2             	cmp    %rdx,%rax
18004e35e:	72 70                	jb     0x18004e3d0
18004e360:	45 8b c1             	mov    %r9d,%r8d
18004e363:	49 8d 53 0c          	lea    0xc(%r11),%rdx
18004e367:	e8 18 5b fe ff       	call   0x180033e84
18004e36c:	41 39 43 04          	cmp    %eax,0x4(%r11)
18004e370:	75 5e                	jne    0x18004e3d0
18004e372:	41 8b 03             	mov    (%r11),%eax
18004e375:	a8 01                	test   $0x1,%al
18004e377:	75 57                	jne    0x18004e3d0
18004e379:	8b 4b 08             	mov    0x8(%rbx),%ecx
18004e37c:	85 c9                	test   %ecx,%ecx
18004e37e:	74 10                	je     0x18004e390
18004e380:	83 e9 01             	sub    $0x1,%ecx
18004e383:	74 19                	je     0x18004e39e
18004e385:	83 f9 01             	cmp    $0x1,%ecx
18004e388:	75 23                	jne    0x18004e3ad
18004e38a:	a8 04                	test   $0x4,%al
18004e38c:	74 1f                	je     0x18004e3ad
18004e38e:	eb 31                	jmp    0x18004e3c1
18004e390:	a8 04                	test   $0x4,%al
18004e392:	74 31                	je     0x18004e3c5
18004e394:	c7 43 08 01 00 00 00 	movl   $0x1,0x8(%rbx)
18004e39b:	41 8b 03             	mov    (%r11),%eax
18004e39e:	a8 04                	test   $0x4,%al
18004e3a0:	74 23                	je     0x18004e3c5
18004e3a2:	a8 02                	test   $0x2,%al
18004e3a4:	74 07                	je     0x18004e3ad
18004e3a6:	c7 43 08 02 00 00 00 	movl   $0x2,0x8(%rbx)
18004e3ad:	45 8b 43 08          	mov    0x8(%r11),%r8d
18004e3b1:	49 8d 53 0c          	lea    0xc(%r11),%rdx
18004e3b5:	48 8b cb             	mov    %rbx,%rcx
18004e3b8:	e8 27 00 00 00       	call   0x18004e3e4
18004e3bd:	85 c0                	test   %eax,%eax
18004e3bf:	78 14                	js     0x18004e3d5
18004e3c1:	33 c0                	xor    %eax,%eax
18004e3c3:	eb 10                	jmp    0x18004e3d5
18004e3c5:	49 8b d3             	mov    %r11,%rdx
18004e3c8:	48 8b cb             	mov    %rbx,%rcx
18004e3cb:	e8 44 fd fe ff       	call   0x18003e114
18004e3d0:	b8 24 00 00 c0       	mov    $0xc0000024,%eax
18004e3d5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004e3da:	48 83 c4 20          	add    $0x20,%rsp
18004e3de:	5f                   	pop    %rdi
18004e3df:	c3                   	ret
18004e3e0:	cc                   	int3
18004e3e1:	cc                   	int3
18004e3e2:	cc                   	int3
18004e3e3:	cc                   	int3
18004e3e4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004e3e9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004e3ee:	56                   	push   %rsi
18004e3ef:	57                   	push   %rdi
18004e3f0:	41 55                	push   %r13
18004e3f2:	41 56                	push   %r14
18004e3f4:	41 57                	push   %r15
18004e3f6:	48 83 ec 20          	sub    $0x20,%rsp
18004e3fa:	49 8b f8             	mov    %r8,%rdi
18004e3fd:	48 8b f2             	mov    %rdx,%rsi
18004e400:	4d 85 c0             	test   %r8,%r8
18004e403:	0f 84 a1 02 00 00    	je     0x18004e6aa
18004e409:	48 89 4c 24 60       	mov    %rcx,0x60(%rsp)
18004e40e:	41 bd f8 ff ff ff    	mov    $0xfffffff8,%r13d
18004e414:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18004e419:	41 bf 08 00 00 00    	mov    $0x8,%r15d
18004e41f:	4c 8b 74 24 60       	mov    0x60(%rsp),%r14
18004e424:	8b 0e                	mov    (%rsi),%ecx
18004e426:	8b d1                	mov    %ecx,%edx
18004e428:	83 e2 07             	and    $0x7,%edx
18004e42b:	0f 84 2a 02 00 00    	je     0x18004e65b
18004e431:	83 ea 01             	sub    $0x1,%edx
18004e434:	0f 84 c4 01 00 00    	je     0x18004e5fe
18004e43a:	83 ea 01             	sub    $0x1,%edx
18004e43d:	0f 84 78 01 00 00    	je     0x18004e5bb
18004e443:	83 ea 01             	sub    $0x1,%edx
18004e446:	0f 84 07 01 00 00    	je     0x18004e553
18004e44c:	83 ea 01             	sub    $0x1,%edx
18004e44f:	0f 84 b8 00 00 00    	je     0x18004e50d
18004e455:	83 ea 01             	sub    $0x1,%edx
18004e458:	74 4b                	je     0x18004e4a5
18004e45a:	83 fa 02             	cmp    $0x2,%edx
18004e45d:	0f 85 61 02 00 00    	jne    0x18004e6c4
18004e463:	48 83 ff 04          	cmp    $0x4,%rdi
18004e467:	73 04                	jae    0x18004e46d
18004e469:	33 c0                	xor    %eax,%eax
18004e46b:	eb 26                	jmp    0x18004e493
18004e46d:	48 8b c1             	mov    %rcx,%rax
18004e470:	b9 14 00 00 00       	mov    $0x14,%ecx
18004e475:	48 c1 e8 03          	shr    $0x3,%rax
18004e479:	48 c1 e0 04          	shl    $0x4,%rax
18004e47d:	48 83 c0 04          	add    $0x4,%rax
18004e481:	48 3b c1             	cmp    %rcx,%rax
18004e484:	48 0f 43 c8          	cmovae %rax,%rcx
18004e488:	48 3b f9             	cmp    %rcx,%rdi
18004e48b:	72 dc                	jb     0x18004e469
18004e48d:	4c 8b f1             	mov    %rcx,%r14
18004e490:	48 8b c6             	mov    %rsi,%rax
18004e493:	48 85 c0             	test   %rax,%rax
18004e496:	0f 95 c1             	setne  %cl
18004e499:	48 85 c0             	test   %rax,%rax
18004e49c:	49 0f 45 de          	cmovne %r14,%rbx
18004e4a0:	e9 f1 01 00 00       	jmp    0x18004e696
18004e4a5:	48 83 ff 04          	cmp    $0x4,%rdi
18004e4a9:	0f 82 15 02 00 00    	jb     0x18004e6c4
18004e4af:	bb 0c 00 00 00       	mov    $0xc,%ebx
18004e4b4:	48 8b c1             	mov    %rcx,%rax
18004e4b7:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
18004e4bb:	48 83 c0 04          	add    $0x4,%rax
18004e4bf:	48 3b c3             	cmp    %rbx,%rax
18004e4c2:	48 0f 43 d8          	cmovae %rax,%rbx
18004e4c6:	48 3b fb             	cmp    %rbx,%rdi
18004e4c9:	0f 82 f5 01 00 00    	jb     0x18004e6c4