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)
1800573df:	00
1800573e0:	4d 8b 3f             	mov    (%r15),%r15
1800573e3:	48 8b 41 10          	mov    0x10(%rcx),%rax
1800573e7:	49 39 41 30          	cmp    %rax,0x30(%r9)
1800573eb:	0f 82 17 01 00 00    	jb     0x180057508
1800573f1:	8b 41 30             	mov    0x30(%rcx),%eax
1800573f4:	44 3b e0             	cmp    %eax,%r12d
1800573f7:	75 56                	jne    0x18005744f
1800573f9:	8d 04 80             	lea    (%rax,%rax,4),%eax
1800573fc:	c1 e0 03             	shl    $0x3,%eax
1800573ff:	89 44 24 70          	mov    %eax,0x70(%rsp)
180057403:	8d 0c 00             	lea    (%rax,%rax,1),%ecx
180057406:	e8 09 f5 fe ff       	call   0x180046914
18005740b:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
180057410:	48 85 c0             	test   %rax,%rax
180057413:	0f 84 1d 01 00 00    	je     0x180057536
180057419:	44 8b 44 24 70       	mov    0x70(%rsp),%r8d
18005741e:	48 8b c8             	mov    %rax,%rcx
180057421:	48 8b 53 10          	mov    0x10(%rbx),%rdx
180057425:	e8 96 e5 0d 00       	call   0x1801359c0
18005742a:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
18005742e:	e8 29 f5 fe ff       	call   0x18004695c
180057433:	48 8b 0b             	mov    (%rbx),%rcx
180057436:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
18005743b:	4c 8b 8c 24 80 00 00 	mov    0x80(%rsp),%r9
180057442:	00
180057443:	48 89 43 10          	mov    %rax,0x10(%rbx)
180057447:	8b 41 30             	mov    0x30(%rcx),%eax
18005744a:	03 c0                	add    %eax,%eax
18005744c:	89 41 30             	mov    %eax,0x30(%rcx)
18005744f:	49 8b 51 10          	mov    0x10(%r9),%rdx
180057453:	49 2b 51 28          	sub    0x28(%r9),%rdx
180057457:	41 8b c4             	mov    %r12d,%eax
18005745a:	4c 8d 04 80          	lea    (%rax,%rax,4),%r8
18005745e:	48 8b 43 10          	mov    0x10(%rbx),%rax
180057462:	42 88 74 c0 01       	mov    %sil,0x1(%rax,%r8,8)
180057467:	48 8b 43 10          	mov    0x10(%rbx),%rax
18005746b:	66 42 89 74 c0 02    	mov    %si,0x2(%rax,%r8,8)
180057471:	41 8b 41 38          	mov    0x38(%r9),%eax
180057475:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
180057479:	42 89 44 c1 04       	mov    %eax,0x4(%rcx,%r8,8)
18005747e:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
180057482:	41 8b 41 18          	mov    0x18(%r9),%eax
180057486:	42 89 44 c1 08       	mov    %eax,0x8(%rcx,%r8,8)
18005748b:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
18005748f:	49 8b 41 10          	mov    0x10(%r9),%rax
180057493:	4a 89 44 c1 10       	mov    %rax,0x10(%rcx,%r8,8)
180057498:	48 8b 43 10          	mov    0x10(%rbx),%rax
18005749c:	49 8b 4d 10          	mov    0x10(%r13),%rcx
1800574a0:	48 03 ca             	add    %rdx,%rcx
1800574a3:	4a 89 4c c0 18       	mov    %rcx,0x18(%rax,%r8,8)
1800574a8:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1800574ac:	49 8b 41 30          	mov    0x30(%r9),%rax
1800574b0:	4a 89 44 c1 20       	mov    %rax,0x20(%rcx,%r8,8)
1800574b5:	49 8b 45 08          	mov    0x8(%r13),%rax
1800574b9:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1800574bd:	48 8b 88 18 01 00 00 	mov    0x118(%rax),%rcx
1800574c4:	83 79 18 08          	cmpl   $0x8,0x18(%rcx)
1800574c8:	7f 2d                	jg     0x1800574f7
1800574ca:	42 c6 04 c2 01       	movb   $0x1,(%rdx,%r8,8)
1800574cf:	49 8b 45 20          	mov    0x20(%r13),%rax
1800574d3:	48 85 c0             	test   %rax,%rax
1800574d6:	74 06                	je     0x1800574de
1800574d8:	48 83 c0 58          	add    $0x58,%rax
1800574dc:	eb 08                	jmp    0x1800574e6
1800574de:	49 8b 45 08          	mov    0x8(%r13),%rax
1800574e2:	48 83 c0 50          	add    $0x50,%rax
1800574e6:	8b 48 08             	mov    0x8(%rax),%ecx
1800574e9:	48 8b 43 10          	mov    0x10(%rbx),%rax
1800574ed:	0f af cd             	imul   %ebp,%ecx
1800574f0:	42 89 4c c0 0c       	mov    %ecx,0xc(%rax,%r8,8)
1800574f5:	eb 0e                	jmp    0x180057505
1800574f7:	42 c6 04 c2 06       	movb   $0x6,(%rdx,%r8,8)
1800574fc:	48 8b 43 10          	mov    0x10(%rbx),%rax
180057500:	42 89 6c c0 0c       	mov    %ebp,0xc(%rax,%r8,8)
180057505:	41 ff c4             	inc    %r12d
180057508:	4d 3b fe             	cmp    %r14,%r15
18005750b:	0f 85 c1 fe ff ff    	jne    0x1800573d2
180057511:	4c 8b 94 24 88 00 00 	mov    0x88(%rsp),%r10
180057518:	00
180057519:	49 8b 45 40          	mov    0x40(%r13),%rax
18005751d:	ff c5                	inc    %ebp
18005751f:	3b 68 08             	cmp    0x8(%rax),%ebp
180057522:	0f 82 93 fe ff ff    	jb     0x1800573bb
180057528:	4c 8b c0             	mov    %rax,%r8
18005752b:	48 05 08 01 00 00    	add    $0x108,%rax
180057531:	e9 24 fe ff ff       	jmp    0x18005735a
180057536:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
18005753b:	eb 0b                	jmp    0x180057548
18005753d:	be 11 00 00 80       	mov    $0x80000011,%esi
180057542:	eb 04                	jmp    0x180057548
180057544:	44 89 63 08          	mov    %r12d,0x8(%rbx)
180057548:	8b c6                	mov    %esi,%eax
18005754a:	48 83 c4 28          	add    $0x28,%rsp
18005754e:	41 5f                	pop    %r15
180057550:	41 5e                	pop    %r14
180057552:	41 5d                	pop    %r13
180057554:	41 5c                	pop    %r12
180057556:	5f                   	pop    %rdi
180057557:	5e                   	pop    %rsi
180057558:	5d                   	pop    %rbp
180057559:	5b                   	pop    %rbx
18005755a:	c3                   	ret
18005755b:	cc                   	int3
18005755c:	48 8b c4             	mov    %rsp,%rax
18005755f:	48 89 58 08          	mov    %rbx,0x8(%rax)
180057563:	48 89 70 10          	mov    %rsi,0x10(%rax)
180057567:	48 89 78 18          	mov    %rdi,0x18(%rax)
18005756b:	4c 89 60 20          	mov    %r12,0x20(%rax)
18005756f:	55                   	push   %rbp
180057570:	41 56                	push   %r14
180057572:	41 57                	push   %r15
180057574:	48 8d 6c 24 90       	lea    -0x70(%rsp),%rbp
180057579:	48 81 ec 70 01 00 00 	sub    $0x170,%rsp
180057580:	0f 57 c0             	xorps  %xmm0,%xmm0
180057583:	48 8b f1             	mov    %rcx,%rsi
180057586:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
18005758b:	4c 8b f2             	mov    %rdx,%r14
18005758e:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
180057593:	0f 11 44 24 50       	movups %xmm0,0x50(%rsp)
180057598:	0f 11 44 24 60       	movups %xmm0,0x60(%rsp)
18005759d:	e8 de 7d fe ff       	call   0x18003f380
1800575a2:	4d 8b 4e 08          	mov    0x8(%r14),%r9
1800575a6:	33 db                	xor    %ebx,%ebx
1800575a8:	41 0f b6 11          	movzbl (%r9),%edx
1800575ac:	83 ea 01             	sub    $0x1,%edx
1800575af:	0f 84 92 01 00 00    	je     0x180057747
1800575b5:	83 ea 01             	sub    $0x1,%edx
1800575b8:	74 0e                	je     0x1800575c8
1800575ba:	83 fa 04             	cmp    $0x4,%edx
1800575bd:	0f 84 ac 01 00 00    	je     0x18005776f
1800575c3:	e9 27 02 00 00       	jmp    0x1800577ef
1800575c8:	8a 4e 2a             	mov    0x2a(%rsi),%cl
1800575cb:	49 8b 51 10          	mov    0x10(%r9),%rdx
1800575cf:	48 d3 ea             	shr    %cl,%rdx
1800575d2:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
1800575d6:	48 83 c1 10          	add    $0x10,%rcx
1800575da:	e8 fd c2 fe ff       	call   0x1800438dc
1800575df:	48 8b f8             	mov    %rax,%rdi
1800575e2:	48 85 c0             	test   %rax,%rax
1800575e5:	0f 84 04 02 00 00    	je     0x1800577ef
1800575eb:	48 8b d0             	mov    %rax,%rdx
1800575ee:	48 8b ce             	mov    %rsi,%rcx
1800575f1:	e8 72 af ff ff       	call   0x180052568
1800575f6:	84 c0                	test   %al,%al
1800575f8:	75 06                	jne    0x180057600
1800575fa:	83 4f 28 04          	orl    $0x4,0x28(%rdi)
1800575fe:	eb 03                	jmp    0x180057603
180057600:	48 8b fb             	mov    %rbx,%rdi
180057603:	48 85 ff             	test   %rdi,%rdi
180057606:	0f 84 e3 01 00 00    	je     0x1800577ef
18005760c:	b9 08 01 00 00       	mov    $0x108,%ecx
180057611:	e8 fe f2 fe ff       	call   0x180046914
180057616:	48 8b f8             	mov    %rax,%rdi
180057619:	48 85 c0             	test   %rax,%rax
18005761c:	74 3d                	je     0x18005765b
18005761e:	48 8b c8             	mov    %rax,%rcx
180057621:	e8 42 f9 fe ff       	call   0x180046f68
180057626:	48 8b 05 23 76 0f 00 	mov    0xf7623(%rip),%rax        # 0x18014ec50
18005762d:	48 89 81 e8 00 00 00 	mov    %rax,0xe8(%rcx)
180057634:	48 89 99 e0 00 00 00 	mov    %rbx,0xe0(%rcx)
18005763b:	48 8d 0d de bd 0e 00 	lea    0xebdde(%rip),%rcx        # 0x180143420
180057642:	48 89 0f             	mov    %rcx,(%rdi)
180057645:	89 9f f0 00 00 00    	mov    %ebx,0xf0(%rdi)
18005764b:	48 89 87 f8 00 00 00 	mov    %rax,0xf8(%rdi)
180057652:	48 89 9f 00 01 00 00 	mov    %rbx,0x100(%rdi)
180057659:	eb 03                	jmp    0x18005765e
18005765b:	48 8b fb             	mov    %rbx,%rdi
18005765e:	48 85 ff             	test   %rdi,%rdi
180057661:	75 0a                	jne    0x18005766d
180057663:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
180057668:	e9 82 01 00 00       	jmp    0x1800577ef
18005766d:	49 8b 46 08          	mov    0x8(%r14),%rax
180057671:	8b 48 20             	mov    0x20(%rax),%ecx
180057674:	ff c1                	inc    %ecx