180075fc1:	85 c0                	test   %eax,%eax
180075fc3:	79 07                	jns    0x180075fcc
180075fc5:	33 ff                	xor    %edi,%edi
180075fc7:	45 33 ed             	xor    %r13d,%r13d
180075fca:	eb 0c                	jmp    0x180075fd8
180075fcc:	4c 8b ad 10 01 00 00 	mov    0x110(%rbp),%r13
180075fd3:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
180075fd8:	44 21 7c 24 48       	and    %r15d,0x48(%rsp)
180075fdd:	49 83 cc ff          	or     $0xffffffffffffffff,%r12
180075fe1:	44 21 7c 24 40       	and    %r15d,0x40(%rsp)
180075fe6:	44 88 bd 10 01 00 00 	mov    %r15b,0x110(%rbp)
180075fed:	48 85 ff             	test   %rdi,%rdi
180075ff0:	0f 84 0d 01 00 00    	je     0x180076103
180075ff6:	44 39 3f             	cmp    %r15d,(%rdi)
180075ff9:	0f 85 04 01 00 00    	jne    0x180076103
180075fff:	83 7f 10 03          	cmpl   $0x3,0x10(%rdi)
180076003:	0f 85 fa 00 00 00    	jne    0x180076103
180076009:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
18007600e:	c6 85 10 01 00 00 01 	movb   $0x1,0x110(%rbp)
180076015:	45 33 c0             	xor    %r8d,%r8d
180076018:	41 8d 54 24 02       	lea    0x2(%r12),%edx
18007601d:	48 8b cf             	mov    %rdi,%rcx
180076020:	e8 eb 11 fb ff       	call   0x180027210
180076025:	44 8b 74 24 30       	mov    0x30(%rsp),%r14d
18007602a:	8b d8                	mov    %eax,%ebx
18007602c:	85 c0                	test   %eax,%eax
18007602e:	0f 88 c2 02 00 00    	js     0x1800762f6
180076034:	48 8d 55 90          	lea    -0x70(%rbp),%rdx
180076038:	41 8b ce             	mov    %r14d,%ecx
18007603b:	e8 e8 0c fb ff       	call   0x180026d28
180076040:	8b d8                	mov    %eax,%ebx
180076042:	85 c0                	test   %eax,%eax
180076044:	0f 88 ac 02 00 00    	js     0x1800762f6
18007604a:	41 8b ce             	mov    %r14d,%ecx
18007604d:	e8 66 09 fb ff       	call   0x1800269b8
180076052:	8b 85 80 00 00 00    	mov    0x80(%rbp),%eax
180076058:	41 83 ce ff          	or     $0xffffffff,%r14d
18007605c:	85 c0                	test   %eax,%eax
18007605e:	74 09                	je     0x180076069
180076060:	83 f8 01             	cmp    $0x1,%eax
180076063:	0f 85 dc 00 00 00    	jne    0x180076145
180076069:	48 8b 85 90 00 00 00 	mov    0x90(%rbp),%rax
180076070:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
180076075:	8b 8d 88 00 00 00    	mov    0x88(%rbp),%ecx
18007607b:	41 b9 0a 00 00 00    	mov    $0xa,%r9d
180076081:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
180076086:	45 8d 41 07          	lea    0x7(%r9),%r8d
18007608a:	e8 55 7d 0b 00       	call   0x18012dde4
18007608f:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
180076094:	4d 8b fc             	mov    %r12,%r15
180076097:	49 ff c7             	inc    %r15
18007609a:	42 80 3c 38 00       	cmpb   $0x0,(%rax,%r15,1)
18007609f:	75 f6                	jne    0x180076097
1800760a1:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1800760a6:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
1800760ab:	41 b9 0a 00 00 00    	mov    $0xa,%r9d
1800760b1:	4c 89 7c 24 48       	mov    %r15,0x48(%rsp)
1800760b6:	45 8d 41 07          	lea    0x7(%r9),%r8d
1800760ba:	e8 25 7d 0b 00       	call   0x18012dde4
1800760bf:	48 8d 44 24 78       	lea    0x78(%rsp),%rax
1800760c4:	49 8b cc             	mov    %r12,%rcx
1800760c7:	48 ff c1             	inc    %rcx
1800760ca:	80 3c 08 00          	cmpb   $0x0,(%rax,%rcx,1)
1800760ce:	75 f7                	jne    0x1800760c7
1800760d0:	42 8d 04 39          	lea    (%rcx,%r15,1),%eax
1800760d4:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
1800760d9:	03 f0                	add    %eax,%esi
1800760db:	83 7f 2c 00          	cmpl   $0x0,0x2c(%rdi)
1800760df:	76 10                	jbe    0x1800760f1
1800760e1:	48 8d 4f 28          	lea    0x28(%rdi),%rcx
1800760e5:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1800760ea:	e8 8d fc ff ff       	call   0x180075d7c
1800760ef:	8b d8                	mov    %eax,%ebx
1800760f1:	85 db                	test   %ebx,%ebx
1800760f3:	0f 88 0b 02 00 00    	js     0x180076304
1800760f9:	0f b7 44 24 50       	movzwl 0x50(%rsp),%eax
1800760fe:	83 c0 26             	add    $0x26,%eax
180076101:	03 f0                	add    %eax,%esi
180076103:	4d 85 ed             	test   %r13,%r13
180076106:	74 32                	je     0x18007613a
180076108:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
18007610d:	49 8b cd             	mov    %r13,%rcx
180076110:	e8 e3 fd ff ff       	call   0x180075ef8
180076115:	8b d8                	mov    %eax,%ebx
180076117:	85 c0                	test   %eax,%eax
180076119:	0f 88 e5 01 00 00    	js     0x180076304
18007611f:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
180076124:	48 85 c9             	test   %rcx,%rcx
180076127:	74 11                	je     0x18007613a
180076129:	49 8b c4             	mov    %r12,%rax
18007612c:	48 ff c0             	inc    %rax
18007612f:	80 3c 01 00          	cmpb   $0x0,(%rcx,%rax,1)
180076133:	75 f7                	jne    0x18007612c
180076135:	83 c6 02             	add    $0x2,%esi
180076138:	03 f0                	add    %eax,%esi
18007613a:	85 f6                	test   %esi,%esi
18007613c:	75 11                	jne    0x18007614f
18007613e:	33 db                	xor    %ebx,%ebx
180076140:	e9 bf 01 00 00       	jmp    0x180076304
180076145:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18007614a:	e9 b5 01 00 00       	jmp    0x180076304
18007614f:	8b ce                	mov    %esi,%ecx
180076151:	e8 fa 3c 02 00       	call   0x180099e50
180076156:	4c 8b f8             	mov    %rax,%r15
180076159:	48 85 c0             	test   %rax,%rax
18007615c:	75 0a                	jne    0x180076168
18007615e:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180076163:	e9 9c 01 00 00       	jmp    0x180076304
180076168:	48 8b 85 00 01 00 00 	mov    0x100(%rbp),%rax
18007616f:	49 8b ff             	mov    %r15,%rdi
180076172:	33 c9                	xor    %ecx,%ecx
180076174:	44 8b e9             	mov    %ecx,%r13d
180076177:	4c 03 e8             	add    %rax,%r13
18007617a:	41 80 7d 14 00       	cmpb   $0x0,0x14(%r13)
18007617f:	75 59                	jne    0x1800761da
180076181:	48 8d 8d 18 01 00 00 	lea    0x118(%rbp),%rcx
180076188:	44 8b ce             	mov    %esi,%r9d
18007618b:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
180076190:	4c 8b c7             	mov    %rdi,%r8
180076193:	48 8b c8             	mov    %rax,%rcx
180076196:	49 8b d5             	mov    %r13,%rdx
180076199:	e8 36 24 00 00       	call   0x1800785d4
18007619e:	8b d8                	mov    %eax,%ebx
1800761a0:	85 c0                	test   %eax,%eax
1800761a2:	0f 88 41 01 00 00    	js     0x1800762e9
1800761a8:	8b 8d 18 01 00 00    	mov    0x118(%rbp),%ecx
1800761ae:	48 03 f9             	add    %rcx,%rdi
1800761b1:	85 c9                	test   %ecx,%ecx
1800761b3:	74 1c                	je     0x1800761d1
1800761b5:	3b ce                	cmp    %esi,%ecx
1800761b7:	0f 84 7c 01 00 00    	je     0x180076339
1800761bd:	c6 07 20             	movb   $0x20,(%rdi)
1800761c0:	48 ff c7             	inc    %rdi
1800761c3:	8b 8d 18 01 00 00    	mov    0x118(%rbp),%ecx
1800761c9:	ff c1                	inc    %ecx
1800761cb:	89 8d 18 01 00 00    	mov    %ecx,0x118(%rbp)
1800761d1:	48 8b 85 00 01 00 00 	mov    0x100(%rbp),%rax
1800761d8:	2b f1                	sub    %ecx,%esi
1800761da:	41 8b 4d 10          	mov    0x10(%r13),%ecx
1800761de:	85 c9                	test   %ecx,%ecx
1800761e0:	75 92                	jne    0x180076174
1800761e2:	38 8d 10 01 00 00    	cmp    %cl,0x110(%rbp)
1800761e8:	0f 84 bc 00 00 00    	je     0x1800762aa
1800761ee:	f2 0f 10 05 c2 95 0d 	movsd  0xd95c2(%rip),%xmm0        # 0x18014f7b8
1800761f5:	00
1800761f6:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1800761fb:	8b 5c 24 48          	mov    0x48(%rsp),%ebx
1800761ff:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
180076203:	44 8b c3             	mov    %ebx,%r8d
180076206:	8b 05 b4 95 0d 00    	mov    0xd95b4(%rip),%eax        # 0x18014f7c0
18007620c:	89 47 08             	mov    %eax,0x8(%rdi)
18007620f:	0f b7 05 ae 95 0d 00 	movzwl 0xd95ae(%rip),%eax        # 0x18014f7c4
180076216:	66 89 47 0c          	mov    %ax,0xc(%rdi)
18007621a:	48 83 c7 0e          	add    $0xe,%rdi
18007621e:	48 8b cf             	mov    %rdi,%rcx
180076221:	e8 9a f7 0b 00       	call   0x1801359c0
180076226:	48 03 fb             	add    %rbx,%rdi
180076229:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
18007622e:	8b 5c 24 40          	mov    0x40(%rsp),%ebx
180076232:	44 8b c3             	mov    %ebx,%r8d
180076235:	c6 07 20             	movb   $0x20,(%rdi)
180076238:	f2 0f 10 05 90 95 0d 	movsd  0xd9590(%rip),%xmm0        # 0x18014f7d0
18007623f:	00
180076240:	f2 0f 11 47 01       	movsd  %xmm0,0x1(%rdi)
180076245:	8b 05 8d 95 0d 00    	mov    0xd958d(%rip),%eax        # 0x18014f7d8
18007624b:	89 47 09             	mov    %eax,0x9(%rdi)
18007624e:	0f b7 05 87 95 0d 00 	movzwl 0xd9587(%rip),%eax        # 0x18014f7dc
180076255:	66 89 47 0d          	mov    %ax,0xd(%rdi)
180076259:	48 83 c7 0f          	add    $0xf,%rdi
18007625d:	48 8b cf             	mov    %rdi,%rcx
180076260:	e8 5b f7 0b 00       	call   0x1801359c0
180076265:	48 8b 54 24 58       	mov    0x58(%rsp),%rdx
18007626a:	48 03 fb             	add    %rbx,%rdi
18007626d:	0f b7 5c 24 50       	movzwl 0x50(%rsp),%ebx
180076272:	44 8b c3             	mov    %ebx,%r8d
180076275:	c6 07 20             	movb   $0x20,(%rdi)
180076278:	8b 05 4a 95 0d 00    	mov    0xd954a(%rip),%eax        # 0x18014f7c8
18007627e:	89 47 01             	mov    %eax,0x1(%rdi)
180076281:	0f b7 05 44 95 0d 00 	movzwl 0xd9544(%rip),%eax        # 0x18014f7cc
180076288:	66 89 47 05          	mov    %ax,0x5(%rdi)
18007628c:	8a 05 3c 95 0d 00    	mov    0xd953c(%rip),%al        # 0x18014f7ce
180076292:	88 47 07             	mov    %al,0x7(%rdi)
180076295:	48 83 c7 08          	add    $0x8,%rdi
180076299:	48 8b cf             	mov    %rdi,%rcx
18007629c:	e8 1f f7 0b 00       	call   0x1801359c0
1800762a1:	48 03 fb             	add    %rbx,%rdi
1800762a4:	c6 07 20             	movb   $0x20,(%rdi)
1800762a7:	48 ff c7             	inc    %rdi
1800762aa:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
1800762af:	48 85 d2             	test   %rdx,%rdx
1800762b2:	74 21                	je     0x1800762d5
1800762b4:	49 ff c4             	inc    %r12
1800762b7:	42 80 3c 22 00       	cmpb   $0x0,(%rdx,%r12,1)
1800762bc:	75 f6                	jne    0x1800762b4
1800762be:	45 8b c4             	mov    %r12d,%r8d
1800762c1:	48 8b cf             	mov    %rdi,%rcx
1800762c4:	41 8b dc             	mov    %r12d,%ebx
1800762c7:	e8 f4 f6 0b 00       	call   0x1801359c0
1800762cc:	48 03 fb             	add    %rbx,%rdi
1800762cf:	c6 07 20             	movb   $0x20,(%rdi)
1800762d2:	48 ff c7             	inc    %rdi
1800762d5:	48 8b 85 08 01 00 00 	mov    0x108(%rbp),%rax
1800762dc:	33 db                	xor    %ebx,%ebx
1800762de:	c6 47 ff 00          	movb   $0x0,-0x1(%rdi)
1800762e2:	4c 89 38             	mov    %r15,(%rax)
1800762e5:	85 db                	test   %ebx,%ebx
1800762e7:	79 1b                	jns    0x180076304
1800762e9:	4d 85 ff             	test   %r15,%r15
1800762ec:	74 16                	je     0x180076304
1800762ee:	49 8b cf             	mov    %r15,%rcx
1800762f1:	e8 06 3d 02 00       	call   0x180099ffc
1800762f6:	41 83 fe ff          	cmp    $0xffffffff,%r14d
1800762fa:	74 08                	je     0x180076304
1800762fc:	41 8b ce             	mov    %r14d,%ecx
1800762ff:	e8 b4 06 fb ff       	call   0x1800269b8
180076304:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
180076309:	48 85 c9             	test   %rcx,%rcx
18007630c:	74 05                	je     0x180076313
18007630e:	e8 e9 3c 02 00       	call   0x180099ffc
180076313:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
180076318:	48 85 c9             	test   %rcx,%rcx
18007631b:	74 05                	je     0x180076322
18007631d:	e8 da 3c 02 00       	call   0x180099ffc
180076322:	8b c3                	mov    %ebx,%eax
180076324:	48 81 c4 b8 01 00 00 	add    $0x1b8,%rsp
18007632b:	41 5f                	pop    %r15
18007632d:	41 5e                	pop    %r14
18007632f:	41 5d                	pop    %r13
180076331:	41 5c                	pop    %r12
180076333:	5f                   	pop    %rdi
180076334:	5e                   	pop    %rsi
180076335:	5b                   	pop    %rbx
180076336:	5d                   	pop    %rbp
180076337:	c3                   	ret
180076338:	cc                   	int3
180076339:	bb 23 00 00 c0       	mov    $0xc0000023,%ebx
18007633e:	eb a9                	jmp    0x1800762e9
180076340:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180076345:	55                   	push   %rbp
180076346:	56                   	push   %rsi
180076347:	57                   	push   %rdi
180076348:	41 54                	push   %r12
18007634a:	41 55                	push   %r13
18007634c:	41 56                	push   %r14
18007634e:	41 57                	push   %r15
180076350:	48 8b ec             	mov    %rsp,%rbp
180076353:	48 83 ec 30          	sub    $0x30,%rsp
180076357:	4c 8b e1             	mov    %rcx,%r12
18007635a:	48 8b c2             	mov    %rdx,%rax
18007635d:	33 c9                	xor    %ecx,%ecx
18007635f:	4d 8b f9             	mov    %r9,%r15
180076362:	48 f7 d8             	neg    %rax
180076365:	41 89 09             	mov    %ecx,(%r9)
180076368:	8b f9                	mov    %ecx,%edi
18007636a:	4c 8b ea             	mov    %rdx,%r13
18007636d:	1b f6                	sbb    %esi,%esi
18007636f:	49 8b cc             	mov    %r12,%rcx
180076372:	41 23 f0             	and    %r8d,%esi
180076375:	48 8b da             	mov    %rdx,%rbx
180076378:	41 b6 01             	mov    $0x1,%r14b
18007637b:	e8 c0 4d 0b 00       	call   0x18012b140
180076380:	48 8d 15 79 94 0d 00 	lea    0xd9479(%rip),%rdx        # 0x18014f800
180076387:	49 8b cc             	mov    %r12,%rcx
18007638a:	e8 65 55 0b 00       	call   0x18012b8f4
18007638f:	45 33 db             	xor    %r11d,%r11d
180076392:	48 89 5d 48          	mov    %rbx,0x48(%rbp)
180076396:	48 85 c0             	test   %rax,%rax
180076399:	74 66                	je     0x180076401
18007639b:	48 8d 48 0e          	lea    0xe(%rax),%rcx
18007639f:	44 8b ce             	mov    %esi,%r9d
1800763a2:	48 8d 45 50          	lea    0x50(%rbp),%rax
1800763a6:	4c 8b c3             	mov    %rbx,%r8
1800763a9:	ba 07 00 00 15       	mov    $0x15000007,%edx
1800763ae:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800763b3:	e8 54 48 00 00       	call   0x18007ac0c
1800763b8:	8b 4d 50             	mov    0x50(%rbp),%ecx
1800763bb:	41 01 0f             	add    %ecx,(%r15)
1800763be:	3d 23 00 00 c0       	cmp    $0xc0000023,%eax
1800763c3:	45 0f b6 f6          	movzbl %r14b,%r14d
1800763c7:	48 89 5d 48          	mov    %rbx,0x48(%rbp)
1800763cb:	45 0f 44 f3          	cmove  %r11d,%r14d
1800763cf:	45 84 f6             	test   %r14b,%r14b
1800763d2:	74 2d                	je     0x180076401
1800763d4:	8b 43 04             	mov    0x4(%rbx),%eax
1800763d7:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffff,%rcx
1800763de:	0f 00 00
1800763e1:	48 89 5d 48          	mov    %rbx,0x48(%rbp)
1800763e5:	48 39 0c 18          	cmp    %rcx,(%rax,%rbx,1)
1800763e9:	77 16                	ja     0x180076401
1800763eb:	48 8b cb             	mov    %rbx,%rcx
1800763ee:	e8 39 64 00 00       	call   0x18007c82c
1800763f3:	2b f0                	sub    %eax,%esi
1800763f5:	8b d8                	mov    %eax,%ebx
1800763f7:	49 03 dd             	add    %r13,%rbx
1800763fa:	49 8b fd             	mov    %r13,%rdi
1800763fd:	48 89 5d 48          	mov    %rbx,0x48(%rbp)
180076401:	48 8d 15 d8 93 0d 00 	lea    0xd93d8(%rip),%rdx        # 0x18014f7e0
180076408:	49 8b cc             	mov    %r12,%rcx
18007640b:	e8 e4 54 0b 00       	call   0x18012b8f4
180076410:	4c 8b 5d 48          	mov    0x48(%rbp),%r11
180076414:	4c 89 5d 58          	mov    %r11,0x58(%rbp)
180076418:	48 85 c0             	test   %rax,%rax
18007641b:	74 7b                	je     0x180076498
18007641d:	48 85 ff             	test   %rdi,%rdi
180076420:	74 08                	je     0x18007642a
180076422:	8b cb                	mov    %ebx,%ecx
180076424:	41 2b cd             	sub    %r13d,%ecx
180076427:	89 4f 10             	mov    %ecx,0x10(%rdi)
18007642a:	48 8d 48 1e          	lea    0x1e(%rax),%rcx
18007642e:	44 8b ce             	mov    %esi,%r9d
180076431:	48 8d 45 50          	lea    0x50(%rbp),%rax
180076435:	4c 8b c3             	mov    %rbx,%r8
180076438:	ba 0e 00 00 15       	mov    $0x1500000e,%edx
18007643d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180076442:	e8 c5 47 00 00       	call   0x18007ac0c
180076447:	8b 4d 50             	mov    0x50(%rbp),%ecx
18007644a:	41 01 0f             	add    %ecx,(%r15)
18007644d:	3d 23 00 00 c0       	cmp    $0xc0000023,%eax
180076452:	41 0f b6 d6          	movzbl %r14b,%edx
180076456:	b8 00 00 00 00       	mov    $0x0,%eax
18007645b:	4c 89 5d 58          	mov    %r11,0x58(%rbp)
18007645f:	0f 44 d0             	cmove  %eax,%edx
180076462:	44 8a f2             	mov    %dl,%r14b
180076465:	84 d2                	test   %dl,%dl
180076467:	74 2f                	je     0x180076498
180076469:	8b 43 04             	mov    0x4(%rbx),%eax
18007646c:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffff,%rcx
180076473:	0f 00 00
180076476:	4c 89 5d 58          	mov    %r11,0x58(%rbp)
18007647a:	48 39 0c 18          	cmp    %rcx,(%rax,%rbx,1)
18007647e:	77 18                	ja     0x180076498
180076480:	48 8b cb             	mov    %rbx,%rcx
180076483:	e8 a4 63 00 00       	call   0x18007c82c
180076488:	48 8b 7d 48          	mov    0x48(%rbp),%rdi
18007648c:	2b f0                	sub    %eax,%esi
18007648e:	8b d8                	mov    %eax,%ebx
180076490:	48 03 5d 48          	add    0x48(%rbp),%rbx
180076494:	48 89 5d 58          	mov    %rbx,0x58(%rbp)
180076498:	48 8d 15 81 93 0d 00 	lea    0xd9381(%rip),%rdx        # 0x18014f820
18007649f:	49 8b cc             	mov    %r12,%rcx
1800764a2:	e8 4d 54 0b 00       	call   0x18012b8f4
1800764a7:	4c 8b 5d 58          	mov    0x58(%rbp),%r11
1800764ab:	4c 89 5d 48          	mov    %r11,0x48(%rbp)
1800764af:	48 85 c0             	test   %rax,%rax
1800764b2:	74 64                	je     0x180076518
1800764b4:	48 85 ff             	test   %rdi,%rdi
1800764b7:	74 08                	je     0x1800764c1
1800764b9:	8b cb                	mov    %ebx,%ecx
1800764bb:	41 2b cd             	sub    %r13d,%ecx
1800764be:	89 4f 10             	mov    %ecx,0x10(%rdi)