180058f8d:	e8 be 83 ff ff       	call   0x180051350
180058f92:	48 8b f8             	mov    %rax,%rdi
180058f95:	8a 48 02             	mov    0x2(%rax),%cl
180058f98:	80 e1 0f             	and    $0xf,%cl
180058f9b:	41 3a cf             	cmp    %r15b,%cl
180058f9e:	75 71                	jne    0x180059011
180058fa0:	48 8b d0             	mov    %rax,%rdx
180058fa3:	48 8b cb             	mov    %rbx,%rcx
180058fa6:	e8 59 84 ff ff       	call   0x180051404
180058fab:	48 8b 57 08          	mov    0x8(%rdi),%rdx
180058faf:	4c 8b 43 20          	mov    0x20(%rbx),%r8
180058fb3:	48 03 50 18          	add    0x18(%rax),%rdx
180058fb7:	4d 85 c0             	test   %r8,%r8
180058fba:	74 06                	je     0x180058fc2
180058fbc:	49 83 c0 38          	add    $0x38,%r8
180058fc0:	eb 08                	jmp    0x180058fca
180058fc2:	4c 8b 43 08          	mov    0x8(%rbx),%r8
180058fc6:	49 83 c0 30          	add    $0x30,%r8
180058fca:	48 8b 48 08          	mov    0x8(%rax),%rcx
180058fce:	4d 8b 40 08          	mov    0x8(%r8),%r8
180058fd2:	48 8b 01             	mov    (%rcx),%rax
180058fd5:	48 8b 40 60          	mov    0x60(%rax),%rax
180058fd9:	ff d0                	call   *%rax
180058fdb:	0f 1f 00             	nopl   (%rax)
180058fde:	84 c0                	test   %al,%al
180058fe0:	74 2f                	je     0x180059011
180058fe2:	41 b1 03             	mov    $0x3,%r9b
180058fe5:	c6 44 24 20 03       	movb   $0x3,0x20(%rsp)
180058fea:	44 8b c5             	mov    %ebp,%r8d
180058fed:	8b d6                	mov    %esi,%edx
180058fef:	48 8b cb             	mov    %rbx,%rcx
180058ff2:	e8 15 cb ff ff       	call   0x180055b0c
180058ff7:	3d 13 00 e7 c0       	cmp    $0xc0e70013,%eax
180058ffc:	45 0f b6 e4          	movzbl %r12b,%r12d
180059000:	44 8b c5             	mov    %ebp,%r8d
180059003:	8b d6                	mov    %esi,%edx
180059005:	48 8b cb             	mov    %rbx,%rcx
180059008:	45 0f 44 e7          	cmove  %r15d,%r12d
18005900c:	e8 cb c7 ff ff       	call   0x1800557dc
180059011:	83 7f 14 ff          	cmpl   $0xffffffff,0x14(%rdi)
180059015:	0f 84 cf 00 00 00    	je     0x1800590ea
18005901b:	0f b7 07             	movzwl (%rdi),%eax
18005901e:	a8 04                	test   $0x4,%al
180059020:	0f 85 c4 00 00 00    	jne    0x1800590ea
180059026:	eb 4e                	jmp    0x180059076
180059028:	89 47 14             	mov    %eax,0x14(%rdi)
18005902b:	ba fb ff 00 00       	mov    $0xfffb,%edx
180059030:	0f b7 01             	movzwl (%rcx),%eax
180059033:	83 49 14 ff          	orl    $0xffffffff,0x14(%rcx)
180059037:	66 23 c2             	and    %dx,%ax
18005903a:	66 89 01             	mov    %ax,(%rcx)
18005903d:	8a 41 02             	mov    0x2(%rcx),%al
180059040:	24 0f                	and    $0xf,%al
180059042:	3c 08                	cmp    $0x8,%al
180059044:	74 07                	je     0x18005904d
180059046:	c6 41 03 78          	movb   $0x78,0x3(%rcx)
18005904a:	45 8a e7             	mov    %r15b,%r12b
18005904d:	4d 01 bd 30 01 00 00 	add    %r15,0x130(%r13)
180059054:	48 8b 43 20          	mov    0x20(%rbx),%rax
180059058:	48 85 c0             	test   %rax,%rax
18005905b:	74 06                	je     0x180059063
18005905d:	48 83 c0 38          	add    $0x38,%rax
180059061:	eb 08                	jmp    0x18005906b
180059063:	48 8b 43 08          	mov    0x8(%rbx),%rax
180059067:	48 83 c0 30          	add    $0x30,%rax
18005906b:	48 8b 40 08          	mov    0x8(%rax),%rax
18005906f:	49 01 85 50 01 00 00 	add    %rax,0x150(%r13)
180059076:	44 8b 47 14          	mov    0x14(%rdi),%r8d
18005907a:	8b d6                	mov    %esi,%edx
18005907c:	48 8b cb             	mov    %rbx,%rcx
18005907f:	e8 cc 82 ff ff       	call   0x180051350
180059084:	48 8b c8             	mov    %rax,%rcx
180059087:	8b 40 14             	mov    0x14(%rax),%eax
18005908a:	83 f8 ff             	cmp    $0xffffffff,%eax
18005908d:	75 99                	jne    0x180059028
18005908f:	0f b7 07             	movzwl (%rdi),%eax
180059092:	a8 10                	test   $0x10,%al
180059094:	74 2b                	je     0x1800590c1
180059096:	4d 01 bd 28 01 00 00 	add    %r15,0x128(%r13)
18005909d:	48 8b 43 20          	mov    0x20(%rbx),%rax
1800590a1:	48 85 c0             	test   %rax,%rax
1800590a4:	74 06                	je     0x1800590ac
1800590a6:	48 83 c0 38          	add    $0x38,%rax
1800590aa:	eb 08                	jmp    0x1800590b4
1800590ac:	48 8b 43 08          	mov    0x8(%rbx),%rax
1800590b0:	48 83 c0 30          	add    $0x30,%rax
1800590b4:	48 8b 40 08          	mov    0x8(%rax),%rax
1800590b8:	49 01 85 48 01 00 00 	add    %rax,0x148(%r13)
1800590bf:	eb 29                	jmp    0x1800590ea
1800590c1:	4d 01 bd 20 01 00 00 	add    %r15,0x120(%r13)
1800590c8:	48 8b 43 20          	mov    0x20(%rbx),%rax
1800590cc:	48 85 c0             	test   %rax,%rax
1800590cf:	74 06                	je     0x1800590d7
1800590d1:	48 83 c0 38          	add    $0x38,%rax
1800590d5:	eb 08                	jmp    0x1800590df
1800590d7:	48 8b 43 08          	mov    0x8(%rbx),%rax
1800590db:	48 83 c0 30          	add    $0x30,%rax
1800590df:	48 8b 40 08          	mov    0x8(%rax),%rax
1800590e3:	49 01 85 40 01 00 00 	add    %rax,0x140(%r13)
1800590ea:	0f b6 43 2b          	movzbl 0x2b(%rbx),%eax
1800590ee:	41 03 ef             	add    %r15d,%ebp
1800590f1:	3b e8                	cmp    %eax,%ebp
1800590f3:	0f 82 8c fe ff ff    	jb     0x180058f85
1800590f9:	41 03 f7             	add    %r15d,%esi
1800590fc:	e9 57 fe ff ff       	jmp    0x180058f58
180059101:	45 84 e4             	test   %r12b,%r12b
180059104:	74 12                	je     0x180059118
180059106:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
18005910a:	33 d2                	xor    %edx,%edx
18005910c:	48 8b 01             	mov    (%rcx),%rax
18005910f:	48 8b 40 60          	mov    0x60(%rax),%rax
180059113:	ff d0                	call   *%rax
180059115:	0f 1f 00             	nopl   (%rax)
180059118:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
18005911f:	00
180059120:	48 83 c4 30          	add    $0x30,%rsp
180059124:	41 5f                	pop    %r15
180059126:	41 5e                	pop    %r14
180059128:	41 5d                	pop    %r13
18005912a:	41 5c                	pop    %r12
18005912c:	5f                   	pop    %rdi
18005912d:	5e                   	pop    %rsi
18005912e:	5d                   	pop    %rbp
18005912f:	c3                   	ret
180059130:	cc                   	int3
180059131:	cc                   	int3
180059132:	cc                   	int3
180059133:	cc                   	int3
180059134:	48 83 ec 38          	sub    $0x38,%rsp
180059138:	44 8b 01             	mov    (%rcx),%r8d
18005913b:	83 ca ff             	or     $0xffffffff,%edx
18005913e:	45 85 c0             	test   %r8d,%r8d
180059141:	74 21                	je     0x180059164
180059143:	41 83 f8 01          	cmp    $0x1,%r8d
180059147:	75 4b                	jne    0x180059194
180059149:	0f 10 05 b8 34 0f 00 	movups 0xf34b8(%rip),%xmm0        # 0x18014c608
180059150:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
180059155:	f3 0f 7f 44 24 20    	movdqu %xmm0,0x20(%rsp)
18005915b:	e8 3c 00 00 00       	call   0x18005919c
180059160:	8b d0                	mov    %eax,%edx
180059162:	eb 30                	jmp    0x180059194
180059164:	44 8b 41 04          	mov    0x4(%rcx),%r8d
180059168:	45 32 c9             	xor    %r9b,%r9b
18005916b:	33 c0                	xor    %eax,%eax
18005916d:	45 85 c0             	test   %r8d,%r8d
180059170:	74 1c                	je     0x18005918e
180059172:	48 83 c1 50          	add    $0x50,%rcx
180059176:	80 39 e7             	cmpb   $0xe7,(%rcx)
180059179:	74 10                	je     0x18005918b
18005917b:	ff c0                	inc    %eax
18005917d:	48 81 c1 90 00 00 00 	add    $0x90,%rcx
180059184:	41 3b c0             	cmp    %r8d,%eax
180059187:	72 ed                	jb     0x180059176
180059189:	eb 03                	jmp    0x18005918e
18005918b:	41 b1 01             	mov    $0x1,%r9b
18005918e:	45 84 c9             	test   %r9b,%r9b
180059191:	0f 45 d0             	cmovne %eax,%edx
180059194:	8b c2                	mov    %edx,%eax
180059196:	48 83 c4 38          	add    $0x38,%rsp
18005919a:	c3                   	ret
18005919b:	cc                   	int3
18005919c:	44 8b 51 04          	mov    0x4(%rcx),%r10d
1800591a0:	45 32 c9             	xor    %r9b,%r9b
1800591a3:	45 33 c0             	xor    %r8d,%r8d
1800591a6:	4c 8b da             	mov    %rdx,%r11
1800591a9:	45 85 d2             	test   %r10d,%r10d
1800591ac:	74 29                	je     0x1800591d7
1800591ae:	4b 8d 14 c0          	lea    (%r8,%r8,8),%rdx
1800591b2:	48 03 d2             	add    %rdx,%rdx
1800591b5:	48 8b 44 d1 50       	mov    0x50(%rcx,%rdx,8),%rax
1800591ba:	49 3b 03             	cmp    (%r11),%rax
1800591bd:	75 0b                	jne    0x1800591ca
1800591bf:	48 8b 44 d1 58       	mov    0x58(%rcx,%rdx,8),%rax
1800591c4:	49 3b 43 08          	cmp    0x8(%r11),%rax
1800591c8:	74 0a                	je     0x1800591d4
1800591ca:	41 ff c0             	inc    %r8d
1800591cd:	45 3b c2             	cmp    %r10d,%r8d
1800591d0:	73 05                	jae    0x1800591d7
1800591d2:	eb da                	jmp    0x1800591ae
1800591d4:	41 b1 01             	mov    $0x1,%r9b
1800591d7:	83 c8 ff             	or     $0xffffffff,%eax
1800591da:	45 84 c9             	test   %r9b,%r9b
1800591dd:	41 0f 45 c0          	cmovne %r8d,%eax
1800591e1:	c3                   	ret
1800591e2:	cc                   	int3
1800591e3:	cc                   	int3
1800591e4:	48 8b c4             	mov    %rsp,%rax
1800591e7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800591eb:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800591ef:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800591f3:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800591f7:	41 56                	push   %r14
1800591f9:	8b 71 04             	mov    0x4(%rcx),%esi
1800591fc:	45 33 d2             	xor    %r10d,%r10d
1800591ff:	45 8b d8             	mov    %r8d,%r11d
180059202:	bf 00 00 10 00       	mov    $0x100000,%edi
180059207:	41 b8 ff ff ff ff    	mov    $0xffffffff,%r8d
18005920d:	4d 89 11             	mov    %r10,(%r9)
180059210:	4d 0f af d8          	imul   %r8,%r11
180059214:	4d 8b f1             	mov    %r9,%r14
180059217:	41 8a ea             	mov    %r10b,%bpl
18005921a:	49 3b d3             	cmp    %r11,%rdx
18005921d:	41 8b da             	mov    %r10d,%ebx
180059220:	8b c7                	mov    %edi,%eax
180059222:	45 8b ca             	mov    %r10d,%r9d
180059225:	4c 0f 42 da          	cmovb  %rdx,%r11
180059229:	4c 2b df             	sub    %rdi,%r11
18005922c:	85 f6                	test   %esi,%esi
18005922e:	74 44                	je     0x180059274
180059230:	48 83 c1 38          	add    $0x38,%rcx
180059234:	41 83 f9 04          	cmp    $0x4,%r9d
180059238:	73 3a                	jae    0x180059274
18005923a:	44 38 51 18          	cmp    %r10b,0x18(%rcx)
18005923e:	75 05                	jne    0x180059245
180059240:	40 b5 01             	mov    $0x1,%bpl
180059243:	eb 20                	jmp    0x180059265
180059245:	4c 8b 01             	mov    (%rcx),%r8
180059248:	4c 3b c0             	cmp    %rax,%r8
18005924b:	76 11                	jbe    0x18005925e
18005924d:	49 8b d0             	mov    %r8,%rdx
180059250:	48 2b d0             	sub    %rax,%rdx
180059253:	48 3b d3             	cmp    %rbx,%rdx
180059256:	76 06                	jbe    0x18005925e
180059258:	48 8b f8             	mov    %rax,%rdi
18005925b:	48 8b da             	mov    %rdx,%rbx
18005925e:	48 8b 41 08          	mov    0x8(%rcx),%rax
180059262:	49 03 c0             	add    %r8,%rax
180059265:	41 ff c1             	inc    %r9d
180059268:	48 81 c1 90 00 00 00 	add    $0x90,%rcx
18005926f:	44 3b ce             	cmp    %esi,%r9d
180059272:	72 c0                	jb     0x180059234
180059274:	4c 3b d8             	cmp    %rax,%r11
180059277:	76 0e                	jbe    0x180059287
180059279:	4c 2b d8             	sub    %rax,%r11
18005927c:	4c 3b db             	cmp    %rbx,%r11
18005927f:	76 06                	jbe    0x180059287
180059281:	48 8b f8             	mov    %rax,%rdi
180059284:	49 8b db             	mov    %r11,%rbx
180059287:	85 f6                	test   %esi,%esi
180059289:	74 05                	je     0x180059290
18005928b:	40 84 ed             	test   %bpl,%bpl
18005928e:	74 06                	je     0x180059296
180059290:	49 89 3e             	mov    %rdi,(%r14)
180059293:	4c 8b d3             	mov    %rbx,%r10
180059296:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
18005929b:	49 8b c2             	mov    %r10,%rax
18005929e:	48 8b 6c 24 18       	mov    0x18(%rsp),%rbp
1800592a3:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
1800592a8:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
1800592ad:	41 5e                	pop    %r14
1800592af:	c3                   	ret
1800592b0:	cc                   	int3
1800592b1:	cc                   	int3
1800592b2:	cc                   	int3
1800592b3:	cc                   	int3
1800592b4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800592b9:	57                   	push   %rdi
1800592ba:	48 83 ec 20          	sub    $0x20,%rsp
1800592be:	8b da                	mov    %edx,%ebx
1800592c0:	48 8b f9             	mov    %rcx,%rdi
1800592c3:	e8 1c 00 00 00       	call   0x1800592e4
1800592c8:	f6 c3 01             	test   $0x1,%bl
1800592cb:	74 08                	je     0x1800592d5
1800592cd:	48 8b cf             	mov    %rdi,%rcx
1800592d0:	e8 87 d6 fe ff       	call   0x18004695c
1800592d5:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800592da:	48 8b c7             	mov    %rdi,%rax
1800592dd:	48 83 c4 20          	add    $0x20,%rsp
1800592e1:	5f                   	pop    %rdi
1800592e2:	c3                   	ret
1800592e3:	cc                   	int3
1800592e4:	40 53                	rex push %rbx
1800592e6:	48 83 ec 20          	sub    $0x20,%rsp
1800592ea:	48 8d 05 a7 a4 0e 00 	lea    0xea4a7(%rip),%rax        # 0x180143798
1800592f1:	48 8b d9             	mov    %rcx,%rbx
1800592f4:	48 89 01             	mov    %rax,(%rcx)
1800592f7:	48 8b 89 58 01 00 00 	mov    0x158(%rcx),%rcx
1800592fe:	48 85 c9             	test   %rcx,%rcx
180059301:	74 05                	je     0x180059308
180059303:	e8 54 d6 fe ff       	call   0x18004695c
180059308:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
18005930f:	48 85 c9             	test   %rcx,%rcx
180059312:	74 05                	je     0x180059319
180059314:	e8 43 d6 fe ff       	call   0x18004695c
180059319:	48 8b 8b 48 01 00 00 	mov    0x148(%rbx),%rcx
180059320:	48 85 c9             	test   %rcx,%rcx
180059323:	74 05                	je     0x18005932a
180059325:	e8 32 d6 fe ff       	call   0x18004695c
18005932a:	48 8b 8b 40 01 00 00 	mov    0x140(%rbx),%rcx
180059331:	48 85 c9             	test   %rcx,%rcx
180059334:	74 05                	je     0x18005933b
180059336:	e8 21 d6 fe ff       	call   0x18004695c
18005933b:	48 8b 8b 38 01 00 00 	mov    0x138(%rbx),%rcx
180059342:	48 85 c9             	test   %rcx,%rcx
180059345:	74 05                	je     0x18005934c
180059347:	e8 10 d6 fe ff       	call   0x18004695c
18005934c:	48 8b 8b 30 01 00 00 	mov    0x130(%rbx),%rcx
180059353:	48 85 c9             	test   %rcx,%rcx
180059356:	74 05                	je     0x18005935d
180059358:	e8 ff d5 fe ff       	call   0x18004695c
18005935d:	48 8b 8b 28 01 00 00 	mov    0x128(%rbx),%rcx
180059364:	48 85 c9             	test   %rcx,%rcx
180059367:	74 05                	je     0x18005936e
180059369:	e8 ee d5 fe ff       	call   0x18004695c
18005936e:	48 8b 8b 20 01 00 00 	mov    0x120(%rbx),%rcx
180059375:	48 85 c9             	test   %rcx,%rcx
180059378:	74 05                	je     0x18005937f
18005937a:	e8 dd d5 fe ff       	call   0x18004695c
18005937f:	48 8b 8b 18 01 00 00 	mov    0x118(%rbx),%rcx
180059386:	48 85 c9             	test   %rcx,%rcx
180059389:	74 05                	je     0x180059390
18005938b:	e8 cc d5 fe ff       	call   0x18004695c
180059390:	48 8b 8b 10 01 00 00 	mov    0x110(%rbx),%rcx
180059397:	48 85 c9             	test   %rcx,%rcx
18005939a:	74 05                	je     0x1800593a1
18005939c:	e8 bb d5 fe ff       	call   0x18004695c
1800593a1:	48 8b 8b 00 01 00 00 	mov    0x100(%rbx),%rcx
1800593a8:	48 85 c9             	test   %rcx,%rcx
1800593ab:	74 05                	je     0x1800593b2
1800593ad:	e8 aa d5 fe ff       	call   0x18004695c
1800593b2:	48 8b cb             	mov    %rbx,%rcx
1800593b5:	e8 22 7a ff ff       	call   0x180050ddc
1800593ba:	48 83 c4 20          	add    $0x20,%rsp
1800593be:	5b                   	pop    %rbx
1800593bf:	c3                   	ret
1800593c0:	cc                   	int3
1800593c1:	cc                   	int3
1800593c2:	cc                   	int3
1800593c3:	cc                   	int3
1800593c4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800593c9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800593ce:	57                   	push   %rdi
1800593cf:	48 83 ec 30          	sub    $0x30,%rsp
1800593d3:	48 8b d9             	mov    %rcx,%rbx
1800593d6:	e8 a9 7a ff ff       	call   0x180050e84
1800593db:	33 f6                	xor    %esi,%esi
1800593dd:	85 c0                	test   %eax,%eax
1800593df:	0f 88 c4 00 00 00    	js     0x1800594a9
1800593e5:	48 8b 43 08          	mov    0x8(%rbx),%rax
1800593e9:	48 3b 05 a0 51 0f 00 	cmp    0xf51a0(%rip),%rax        # 0x18014e590
1800593f0:	75 14                	jne    0x180059406
1800593f2:	48 8b 43 10          	mov    0x10(%rbx),%rax
1800593f6:	48 3b 05 9b 51 0f 00 	cmp    0xf519b(%rip),%rax        # 0x18014e598
1800593fd:	75 07                	jne    0x180059406
1800593ff:	83 8b c0 00 00 00 01 	orl    $0x1,0xc0(%rbx)
180059406:	48 8b 03             	mov    (%rbx),%rax
180059409:	48 8d bb c8 00 00 00 	lea    0xc8(%rbx),%rdi
180059410:	c7 44 24 28 08 00 00 	movl   $0x8,0x28(%rsp)
180059417:	00
180059418:	45 33 c9             	xor    %r9d,%r9d