180056ef8:	8b 50 1c             	mov    0x1c(%rax),%edx
180056efb:	48 03 d0             	add    %rax,%rdx
180056efe:	c7 40 20 28 00 00 00 	movl   $0x28,0x20(%rax)
180056f05:	49 01 7e 50          	add    %rdi,0x50(%r14)
180056f09:	48 01 3a             	add    %rdi,(%rdx)
180056f0c:	41 8b 46 48          	mov    0x48(%r14),%eax
180056f10:	3d 00 00 e7 00       	cmp    $0xe70000,%eax
180056f15:	75 08                	jne    0x180056f1f
180056f17:	48 01 7a 08          	add    %rdi,0x8(%rdx)
180056f1b:	41 8b 46 48          	mov    0x48(%r14),%eax
180056f1f:	85 c0                	test   %eax,%eax
180056f21:	78 13                	js     0x180056f36
180056f23:	41 83 66 48 00       	andl   $0x0,0x48(%r14)
180056f28:	48 03 f7             	add    %rdi,%rsi
180056f2b:	49 3b f5             	cmp    %r13,%rsi
180056f2e:	0f 82 95 fe ff ff    	jb     0x180056dc9
180056f34:	eb 25                	jmp    0x180056f5b
180056f36:	3d 18 00 e7 c0       	cmp    $0xc0e70018,%eax
180056f3b:	75 1a                	jne    0x180056f57
180056f3d:	49 8b 46 28          	mov    0x28(%r14),%rax
180056f41:	0f ba 68 08 1d       	btsl   $0x1d,0x8(%rax)
180056f46:	49 8b 4f 10          	mov    0x10(%r15),%rcx
180056f4a:	48 03 ce             	add    %rsi,%rcx
180056f4d:	48 89 7a 20          	mov    %rdi,0x20(%rdx)
180056f51:	48 89 4a 18          	mov    %rcx,0x18(%rdx)
180056f55:	eb 04                	jmp    0x180056f5b
180056f57:	48 01 7a 10          	add    %rdi,0x10(%rdx)
180056f5b:	48 8b 9c 24 50 01 00 	mov    0x150(%rsp),%rbx
180056f62:	00
180056f63:	b8 02 00 e7 00       	mov    $0xe70002,%eax
180056f68:	48 81 c4 00 01 00 00 	add    $0x100,%rsp
180056f6f:	41 5f                	pop    %r15
180056f71:	41 5e                	pop    %r14
180056f73:	41 5d                	pop    %r13
180056f75:	41 5c                	pop    %r12
180056f77:	5f                   	pop    %rdi
180056f78:	5e                   	pop    %rsi
180056f79:	5d                   	pop    %rbp
180056f7a:	c3                   	ret
180056f7b:	cc                   	int3
180056f7c:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180056f81:	53                   	push   %rbx
180056f82:	55                   	push   %rbp
180056f83:	56                   	push   %rsi
180056f84:	57                   	push   %rdi
180056f85:	41 54                	push   %r12
180056f87:	41 55                	push   %r13
180056f89:	41 56                	push   %r14
180056f8b:	41 57                	push   %r15
180056f8d:	48 83 ec 58          	sub    $0x58,%rsp
180056f91:	33 ff                	xor    %edi,%edi
180056f93:	0f 57 c0             	xorps  %xmm0,%xmm0
180056f96:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
180056f9b:	44 8b ff             	mov    %edi,%r15d
180056f9e:	89 bc 24 b0 00 00 00 	mov    %edi,0xb0(%rsp)
180056fa5:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
180056faa:	8b ef                	mov    %edi,%ebp
180056fac:	48 8b f1             	mov    %rcx,%rsi
180056faf:	48 8b 46 20          	mov    0x20(%rsi),%rax
180056fb3:	48 85 c0             	test   %rax,%rax
180056fb6:	74 06                	je     0x180056fbe
180056fb8:	48 83 c0 58          	add    $0x58,%rax
180056fbc:	eb 08                	jmp    0x180056fc6
180056fbe:	48 8b 46 08          	mov    0x8(%rsi),%rax
180056fc2:	48 83 c0 50          	add    $0x50,%rax
180056fc6:	3b 68 10             	cmp    0x10(%rax),%ebp
180056fc9:	73 72                	jae    0x18005703d
180056fcb:	8b df                	mov    %edi,%ebx
180056fcd:	40 38 7e 2b          	cmp    %dil,0x2b(%rsi)
180056fd1:	76 59                	jbe    0x18005702c
180056fd3:	44 8b c3             	mov    %ebx,%r8d
180056fd6:	8b d5                	mov    %ebp,%edx
180056fd8:	48 8b ce             	mov    %rsi,%rcx
180056fdb:	e8 34 a5 ff ff       	call   0x180051514
180056fe0:	84 c0                	test   %al,%al
180056fe2:	74 3e                	je     0x180057022
180056fe4:	8b d5                	mov    %ebp,%edx
180056fe6:	48 8b ce             	mov    %rsi,%rcx
180056fe9:	e8 62 a3 ff ff       	call   0x180051350
180056fee:	f6 40 03 0f          	testb  $0xf,0x3(%rax)
180056ff2:	75 3f                	jne    0x180057033
180056ff4:	e8 57 a3 ff ff       	call   0x180051350
180056ff9:	48 8b d0             	mov    %rax,%rdx
180056ffc:	e8 bb a3 ff ff       	call   0x1800513bc
180057001:	48 8b c8             	mov    %rax,%rcx
180057004:	48 8b 00             	mov    (%rax),%rax
180057007:	48 8b 40 58          	mov    0x58(%rax),%rax
18005700b:	ff d0                	call   *%rax
18005700d:	0f 1f 00             	nopl   (%rax)
180057010:	41 ff c7             	inc    %r15d
180057013:	44 89 bc 24 b0 00 00 	mov    %r15d,0xb0(%rsp)
18005701a:	00
18005701b:	c6 80 dc 00 00 00 01 	movb   $0x1,0xdc(%rax)
180057022:	0f b6 46 2b          	movzbl 0x2b(%rsi),%eax
180057026:	ff c3                	inc    %ebx
180057028:	3b d8                	cmp    %eax,%ebx
18005702a:	72 a7                	jb     0x180056fd3
18005702c:	ff c5                	inc    %ebp
18005702e:	e9 7c ff ff ff       	jmp    0x180056faf
180057033:	bf 13 00 e7 c0       	mov    $0xc0e70013,%edi
180057038:	e9 c9 02 00 00       	jmp    0x180057306
18005703d:	48 8b 46 40          	mov    0x40(%rsi),%rax
180057041:	48 05 f8 00 00 00    	add    $0xf8,%rax
180057047:	4c 8b 28             	mov    (%rax),%r13
18005704a:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
18005704f:	4c 3b e8             	cmp    %rax,%r13
180057052:	0f 84 ae 02 00 00    	je     0x180057306
180057058:	48 8b 94 24 a8 00 00 	mov    0xa8(%rsp),%rdx
18005705f:	00
180057060:	49 8d 6d d0          	lea    -0x30(%r13),%rbp
180057064:	8b 4d 28             	mov    0x28(%rbp),%ecx
180057067:	83 e1 fd             	and    $0xfffffffd,%ecx
18005706a:	89 4d 28             	mov    %ecx,0x28(%rbp)
18005706d:	48 8b 02             	mov    (%rdx),%rax
180057070:	48 39 45 18          	cmp    %rax,0x18(%rbp)
180057074:	0f 83 8c 02 00 00    	jae    0x180057306
18005707a:	40 38 7a 14          	cmp    %dil,0x14(%rdx)
18005707e:	74 0a                	je     0x18005708a
180057080:	48 39 45 20          	cmp    %rax,0x20(%rbp)
180057084:	0f 83 5f 02 00 00    	jae    0x1800572e9
18005708a:	48 8b 06             	mov    (%rsi),%rax
18005708d:	83 e1 01             	and    $0x1,%ecx
180057090:	48 8b 1d b9 7b 0f 00 	mov    0xf7bb9(%rip),%rbx        # 0x18014ec50
180057097:	48 8b d5             	mov    %rbp,%rdx
18005709a:	89 8c 24 b8 00 00 00 	mov    %ecx,0xb8(%rsp)
1800570a1:	48 8b ce             	mov    %rsi,%rcx
1800570a4:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1800570a9:	48 8b 80 d0 00 00 00 	mov    0xd0(%rax),%rax
1800570b0:	48 89 6c 24 40       	mov    %rbp,0x40(%rsp)
1800570b5:	48 89 74 24 48       	mov    %rsi,0x48(%rsp)
1800570ba:	ff d0                	call   *%rax
1800570bc:	0f 1f 00             	nopl   (%rax)
1800570bf:	44 8b ac 24 b8 00 00 	mov    0xb8(%rsp),%r13d
1800570c6:	00
1800570c7:	44 8b f7             	mov    %edi,%r14d
1800570ca:	88 84 24 a0 00 00 00 	mov    %al,0xa0(%rsp)
1800570d1:	48 8b 4e 20          	mov    0x20(%rsi),%rcx
1800570d5:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
1800570da:	48 85 c9             	test   %rcx,%rcx
1800570dd:	74 06                	je     0x1800570e5
1800570df:	48 83 c1 58          	add    $0x58,%rcx
1800570e3:	eb 08                	jmp    0x1800570ed
1800570e5:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1800570e9:	48 83 c1 50          	add    $0x50,%rcx
1800570ed:	44 3b 71 10          	cmp    0x10(%rcx),%r14d
1800570f1:	0f 83 e0 01 00 00    	jae    0x1800572d7
1800570f7:	84 c0                	test   %al,%al
1800570f9:	75 30                	jne    0x18005712b
1800570fb:	48 8b 06             	mov    (%rsi),%rax
1800570fe:	45 8b c6             	mov    %r14d,%r8d
180057101:	48 8b d5             	mov    %rbp,%rdx
180057104:	48 8b ce             	mov    %rsi,%rcx
180057107:	48 8b 80 d8 00 00 00 	mov    0xd8(%rax),%rax
18005710e:	ff d0                	call   *%rax
180057110:	0f 1f 00             	nopl   (%rax)
180057113:	84 c0                	test   %al,%al
180057115:	74 14                	je     0x18005712b
180057117:	41 8b c6             	mov    %r14d,%eax
18005711a:	48 c1 e0 04          	shl    $0x4,%rax
18005711e:	48 03 45 08          	add    0x8(%rbp),%rax
180057122:	48 39 00             	cmp    %rax,(%rax)
180057125:	0f 84 9d 01 00 00    	je     0x1800572c8
18005712b:	44 8b e7             	mov    %edi,%r12d
18005712e:	89 bc 24 b8 00 00 00 	mov    %edi,0xb8(%rsp)
180057135:	40 38 7e 2b          	cmp    %dil,0x2b(%rsi)
180057139:	0f 86 89 01 00 00    	jbe    0x1800572c8
18005713f:	45 8b c4             	mov    %r12d,%r8d
180057142:	41 8b d6             	mov    %r14d,%edx
180057145:	48 8b ce             	mov    %rsi,%rcx
180057148:	e8 c7 a3 ff ff       	call   0x180051514
18005714d:	84 c0                	test   %al,%al
18005714f:	0f 84 5b 01 00 00    	je     0x1800572b0
180057155:	41 8b d6             	mov    %r14d,%edx
180057158:	48 8b ce             	mov    %rsi,%rcx
18005715b:	e8 f0 a1 ff ff       	call   0x180051350
180057160:	48 8b d0             	mov    %rax,%rdx
180057163:	e8 54 a2 ff ff       	call   0x1800513bc
180057168:	48 8b c8             	mov    %rax,%rcx
18005716b:	48 8b 00             	mov    (%rax),%rax
18005716e:	48 8b 40 58          	mov    0x58(%rax),%rax
180057172:	ff d0                	call   *%rax
180057174:	0f 1f 00             	nopl   (%rax)
180057177:	4c 8b f8             	mov    %rax,%r15
18005717a:	48 8b 45 18          	mov    0x18(%rbp),%rax
18005717e:	49 3b 87 d0 00 00 00 	cmp    0xd0(%r15),%rax
180057185:	73 07                	jae    0x18005718e
180057187:	49 89 87 d0 00 00 00 	mov    %rax,0xd0(%r15)
18005718e:	45 84 ed             	test   %r13b,%r13b
180057191:	0f 85 11 01 00 00    	jne    0x1800572a8
180057197:	41 38 bf dc 00 00 00 	cmp    %dil,0xdc(%r15)
18005719e:	0f 84 04 01 00 00    	je     0x1800572a8
1800571a4:	48 8b 55 18          	mov    0x18(%rbp),%rdx
1800571a8:	49 8d 47 10          	lea    0x10(%r15),%rax
1800571ac:	44 8b e7             	mov    %edi,%r12d
1800571af:	44 8b f7             	mov    %edi,%r14d
1800571b2:	48 8b 08             	mov    (%rax),%rcx
1800571b5:	48 3b ca             	cmp    %rdx,%rcx
1800571b8:	77 17                	ja     0x1800571d1
1800571ba:	48 85 c9             	test   %rcx,%rcx
1800571bd:	74 12                	je     0x1800571d1
1800571bf:	41 ff c6             	inc    %r14d
1800571c2:	48 83 c0 20          	add    $0x20,%rax
1800571c6:	41 83 fe 06          	cmp    $0x6,%r14d
1800571ca:	72 e6                	jb     0x1800571b2
1800571cc:	e9 8f 00 00 00       	jmp    0x180057260
1800571d1:	b9 05 00 00 00       	mov    $0x5,%ecx
1800571d6:	44 3b f1             	cmp    %ecx,%r14d
1800571d9:	73 39                	jae    0x180057214
1800571db:	49 8d 87 b0 00 00 00 	lea    0xb0(%r15),%rax
1800571e2:	49 8d 97 90 00 00 00 	lea    0x90(%r15),%rdx
1800571e9:	0f 10 02             	movups (%rdx),%xmm0
1800571ec:	0f 10 4a 10          	movups 0x10(%rdx),%xmm1
1800571f0:	0f 11 00             	movups %xmm0,(%rax)
1800571f3:	0f 11 48 10          	movups %xmm1,0x10(%rax)
1800571f7:	45 85 e4             	test   %r12d,%r12d
1800571fa:	75 09                	jne    0x180057205
1800571fc:	48 39 38             	cmp    %rdi,(%rax)
1800571ff:	74 04                	je     0x180057205
180057201:	44 8d 61 01          	lea    0x1(%rcx),%r12d
180057205:	ff c9                	dec    %ecx
180057207:	48 83 ea 20          	sub    $0x20,%rdx
18005720b:	48 83 e8 20          	sub    $0x20,%rax
18005720f:	41 3b ce             	cmp    %r14d,%ecx
180057212:	77 d5                	ja     0x1800571e9
180057214:	48 3b 1d 35 7a 0f 00 	cmp    0xf7a35(%rip),%rbx        # 0x18014ec50
18005721b:	75 18                	jne    0x180057235
18005721d:	48 8b d5             	mov    %rbp,%rdx
180057220:	48 8b ce             	mov    %rsi,%rcx
180057223:	e8 40 b3 ff ff       	call   0x180052568
180057228:	48 8b 5d 18          	mov    0x18(%rbp),%rbx
18005722c:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
180057231:	88 44 24 38          	mov    %al,0x38(%rsp)
180057235:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
18005723a:	41 8b c6             	mov    %r14d,%eax
18005723d:	48 c1 e0 05          	shl    $0x5,%rax
180057241:	42 0f 11 44 38 10    	movups %xmm0,0x10(%rax,%r15,1)
180057247:	0f 10 44 24 40       	movups 0x40(%rsp),%xmm0
18005724c:	42 0f 11 44 38 20    	movups %xmm0,0x20(%rax,%r15,1)
180057252:	45 85 e4             	test   %r12d,%r12d
180057255:	75 25                	jne    0x18005727c
180057257:	45 8d 66 01          	lea    0x1(%r14),%r12d
18005725b:	45 85 e4             	test   %r12d,%r12d
18005725e:	75 1c                	jne    0x18005727c
180057260:	41 88 bf dc 00 00 00 	mov    %dil,0xdc(%r15)
180057267:	44 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%r15d
18005726e:	00
18005726f:	41 ff cf             	dec    %r15d
180057272:	44 89 bc 24 b0 00 00 	mov    %r15d,0xb0(%rsp)
180057279:	00
18005727a:	eb 08                	jmp    0x180057284
18005727c:	44 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%r15d
180057283:	00
180057284:	48 8b 8c 24 a8 00 00 	mov    0xa8(%rsp),%rcx
18005728b:	00
18005728c:	44 8b 74 24 20       	mov    0x20(%rsp),%r14d
180057291:	8b 41 08             	mov    0x8(%rcx),%eax
180057294:	41 3b c4             	cmp    %r12d,%eax
180057297:	41 0f 46 c4          	cmovbe %r12d,%eax
18005729b:	44 8b a4 24 b8 00 00 	mov    0xb8(%rsp),%r12d
1800572a2:	00
1800572a3:	89 41 08             	mov    %eax,0x8(%rcx)
1800572a6:	eb 08                	jmp    0x1800572b0
1800572a8:	44 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%r15d
1800572af:	00
1800572b0:	0f b6 46 2b          	movzbl 0x2b(%rsi),%eax
1800572b4:	41 ff c4             	inc    %r12d
1800572b7:	44 89 a4 24 b8 00 00 	mov    %r12d,0xb8(%rsp)
1800572be:	00
1800572bf:	44 3b e0             	cmp    %eax,%r12d
1800572c2:	0f 82 77 fe ff ff    	jb     0x18005713f
1800572c8:	8a 84 24 a0 00 00 00 	mov    0xa0(%rsp),%al
1800572cf:	41 ff c6             	inc    %r14d
1800572d2:	e9 fa fd ff ff       	jmp    0x1800570d1
1800572d7:	4c 8b 6c 24 28       	mov    0x28(%rsp),%r13
1800572dc:	45 85 ff             	test   %r15d,%r15d
1800572df:	74 25                	je     0x180057306
1800572e1:	48 8b 94 24 a8 00 00 	mov    0xa8(%rsp),%rdx
1800572e8:	00
1800572e9:	4d 8b 6d 00          	mov    0x0(%r13),%r13
1800572ed:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1800572f1:	48 81 c1 f8 00 00 00 	add    $0xf8,%rcx
1800572f8:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1800572fd:	4c 3b e9             	cmp    %rcx,%r13
180057300:	0f 85 5a fd ff ff    	jne    0x180057060
180057306:	8b c7                	mov    %edi,%eax
180057308:	48 83 c4 58          	add    $0x58,%rsp
18005730c:	41 5f                	pop    %r15
18005730e:	41 5e                	pop    %r14
180057310:	41 5d                	pop    %r13
180057312:	41 5c                	pop    %r12
180057314:	5f                   	pop    %rdi
180057315:	5e                   	pop    %rsi
180057316:	5d                   	pop    %rbp
180057317:	5b                   	pop    %rbx
180057318:	c3                   	ret
180057319:	cc                   	int3
18005731a:	cc                   	int3
18005731b:	cc                   	int3
18005731c:	40 53                	rex push %rbx
18005731e:	55                   	push   %rbp
18005731f:	56                   	push   %rsi
180057320:	57                   	push   %rdi
180057321:	41 54                	push   %r12
180057323:	41 55                	push   %r13
180057325:	41 56                	push   %r14
180057327:	41 57                	push   %r15
180057329:	48 83 ec 28          	sub    $0x28,%rsp
18005732d:	4c 8b 41 40          	mov    0x40(%rcx),%r8
180057331:	33 f6                	xor    %esi,%esi
180057333:	44 8b 62 08          	mov    0x8(%rdx),%r12d
180057337:	48 8b da             	mov    %rdx,%rbx
18005733a:	4c 8b e9             	mov    %rcx,%r13
18005733d:	49 8d 80 f8 00 00 00 	lea    0xf8(%r8),%rax
180057344:	48 8b 38             	mov    (%rax),%rdi
180057347:	48 3b f8             	cmp    %rax,%rdi
18005734a:	75 07                	jne    0x180057353
18005734c:	49 8b b8 08 01 00 00 	mov    0x108(%r8),%rdi
180057353:	49 8d 80 08 01 00 00 	lea    0x108(%r8),%rax
18005735a:	48 3b f8             	cmp    %rax,%rdi
18005735d:	0f 84 e1 01 00 00    	je     0x180057544
180057363:	4c 8b d7             	mov    %rdi,%r10
180057366:	48 89 bc 24 88 00 00 	mov    %rdi,0x88(%rsp)
18005736d:	00
18005736e:	48 8b 3f             	mov    (%rdi),%rdi
180057371:	49 8d 80 f8 00 00 00 	lea    0xf8(%r8),%rax
180057378:	48 3b f8             	cmp    %rax,%rdi
18005737b:	75 07                	jne    0x180057384
18005737d:	49 8b b8 08 01 00 00 	mov    0x108(%r8),%rdi
180057384:	48 8b 13             	mov    (%rbx),%rdx
180057387:	49 8b c0             	mov    %r8,%rax
18005738a:	48 8b 4a 18          	mov    0x18(%rdx),%rcx
18005738e:	49 39 4a e0          	cmp    %rcx,-0x20(%r10)
180057392:	0f 83 90 01 00 00    	jae    0x180057528
180057398:	4d 8b 4a f0          	mov    -0x10(%r10),%r9
18005739c:	4c 3b 4a 10          	cmp    0x10(%rdx),%r9
1800573a0:	0f 82 82 01 00 00    	jb     0x180057528
1800573a6:	4c 3b c9             	cmp    %rcx,%r9
1800573a9:	0f 83 8e 01 00 00    	jae    0x18005753d
1800573af:	8b ee                	mov    %esi,%ebp
1800573b1:	41 39 70 08          	cmp    %esi,0x8(%r8)
1800573b5:	0f 86 6d 01 00 00    	jbe    0x180057528
1800573bb:	44 8b f5             	mov    %ebp,%r14d
1800573be:	49 c1 e6 04          	shl    $0x4,%r14
1800573c2:	4d 03 72 d8          	add    -0x28(%r10),%r14
1800573c6:	4d 8b 3e             	mov    (%r14),%r15
1800573c9:	4d 3b fe             	cmp    %r14,%r15
1800573cc:	0f 84 47 01 00 00    	je     0x180057519
1800573d2:	48 8b 0b             	mov    (%rbx),%rcx
1800573d5:	4d 8b cf             	mov    %r15,%r9
1800573d8:	4c 89 bc 24 80 00 00 	mov    %r15,0x80(%rsp)