180038192:	4c 39 bb 50 01 00 00 	cmp    %r15,0x150(%rbx)
180038199:	74 33                	je     0x1800381ce
18003819b:	41 8b f7             	mov    %r15d,%esi
18003819e:	bd 28 00 00 00       	mov    $0x28,%ebp
1800381a3:	83 fe 02             	cmp    $0x2,%esi
1800381a6:	74 1b                	je     0x1800381c3
1800381a8:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
1800381af:	4c 39 3c 29          	cmp    %r15,(%rcx,%rbp,1)
1800381b3:	74 0e                	je     0x1800381c3
1800381b5:	8b d6                	mov    %esi,%edx
1800381b7:	e8 28 04 10 00       	call   0x1801385e4
1800381bc:	44 8b d0             	mov    %eax,%r10d
1800381bf:	85 c0                	test   %eax,%eax
1800381c1:	78 0b                	js     0x1800381ce
1800381c3:	ff c6                	inc    %esi
1800381c5:	48 83 c5 08          	add    $0x8,%rbp
1800381c9:	83 fe 03             	cmp    $0x3,%esi
1800381cc:	72 d5                	jb     0x1800381a3
1800381ce:	45 85 d2             	test   %r10d,%r10d
1800381d1:	79 28                	jns    0x1800381fb
1800381d3:	41 81 fa c0 00 00 c0 	cmp    $0xc00000c0,%r10d
1800381da:	75 0c                	jne    0x1800381e8
1800381dc:	c7 87 e0 00 00 00 04 	movl   $0x4,0xe0(%rdi)
1800381e3:	00 00 00
1800381e6:	eb 13                	jmp    0x1800381fb
1800381e8:	41 81 fa 35 00 38 c0 	cmp    $0xc0380035,%r10d
1800381ef:	75 0a                	jne    0x1800381fb
1800381f1:	c7 87 e0 00 00 00 03 	movl   $0x3,0xe0(%rdi)
1800381f8:	00 00 00
1800381fb:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180038200:	41 8b c2             	mov    %r10d,%eax
180038203:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180038208:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18003820d:	48 83 c4 20          	add    $0x20,%rsp
180038211:	41 5f                	pop    %r15
180038213:	41 5e                	pop    %r14
180038215:	5f                   	pop    %rdi
180038216:	c3                   	ret
180038217:	cc                   	int3
180038218:	48 83 ec 28          	sub    $0x28,%rsp
18003821c:	48 8b 81 e8 00 00 00 	mov    0xe8(%rcx),%rax
180038223:	eb 0a                	jmp    0x18003822f
180038225:	48 8b c8             	mov    %rax,%rcx
180038228:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
18003822f:	48 85 c0             	test   %rax,%rax
180038232:	75 f1                	jne    0x180038225
180038234:	48 8b 89 e0 00 00 00 	mov    0xe0(%rcx),%rcx
18003823b:	8b d2                	mov    %edx,%edx
18003823d:	e8 9a b6 00 00       	call   0x1800438dc
180038242:	48 83 c4 28          	add    $0x28,%rsp
180038246:	c3                   	ret
180038247:	cc                   	int3
180038248:	45 33 c9             	xor    %r9d,%r9d
18003824b:	48 81 c1 f8 00 00 00 	add    $0xf8,%rcx
180038252:	45 8a c1             	mov    %r9b,%r8b
180038255:	48 8b 01             	mov    (%rcx),%rax
180038258:	eb 10                	jmp    0x18003826a
18003825a:	4c 8d 88 f8 fe ff ff 	lea    -0x108(%rax),%r9
180038261:	41 38 51 28          	cmp    %dl,0x28(%r9)
180038265:	74 0a                	je     0x180038271
180038267:	48 8b 00             	mov    (%rax),%rax
18003826a:	48 3b c1             	cmp    %rcx,%rax
18003826d:	75 eb                	jne    0x18003825a
18003826f:	eb 03                	jmp    0x180038274
180038271:	41 b0 01             	mov    $0x1,%r8b
180038274:	41 f6 d8             	neg    %r8b
180038277:	48 1b c0             	sbb    %rax,%rax
18003827a:	49 23 c1             	and    %r9,%rax
18003827d:	c3                   	ret
18003827e:	cc                   	int3
18003827f:	cc                   	int3
180038280:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
180038285:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
18003828a:	55                   	push   %rbp
18003828b:	56                   	push   %rsi
18003828c:	57                   	push   %rdi
18003828d:	41 54                	push   %r12
18003828f:	41 55                	push   %r13
180038291:	41 56                	push   %r14
180038293:	41 57                	push   %r15
180038295:	48 83 ec 20          	sub    $0x20,%rsp
180038299:	48 8b 42 10          	mov    0x10(%rdx),%rax
18003829d:	41 be 01 00 00 00    	mov    $0x1,%r14d
1800382a3:	33 ff                	xor    %edi,%edi
1800382a5:	48 8b da             	mov    %rdx,%rbx
1800382a8:	4c 8b e1             	mov    %rcx,%r12
1800382ab:	48 8b 70 10          	mov    0x10(%rax),%rsi
1800382af:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
1800382b4:	44 8b 7e 30          	mov    0x30(%rsi),%r15d
1800382b8:	45 03 fe             	add    %r14d,%r15d
1800382bb:	44 84 72 40          	test   %r14b,0x40(%rdx)
1800382bf:	0f 85 8b 02 00 00    	jne    0x180038550
1800382c5:	41 8d 7e 3f          	lea    0x3f(%r14),%edi
1800382c9:	8b cf                	mov    %edi,%ecx
1800382cb:	e8 44 e6 00 00       	call   0x180046914
1800382d0:	48 8b c8             	mov    %rax,%rcx
1800382d3:	48 85 c0             	test   %rax,%rax
1800382d6:	74 2a                	je     0x180038302
1800382d8:	48 83 20 00          	andq   $0x0,(%rax)
1800382dc:	48 83 c0 08          	add    $0x8,%rax
1800382e0:	48 83 61 18 00       	andq   $0x0,0x18(%rcx)
1800382e5:	44 89 71 20          	mov    %r14d,0x20(%rcx)
1800382e9:	89 79 24             	mov    %edi,0x24(%rcx)
1800382ec:	48 89 40 08          	mov    %rax,0x8(%rax)
1800382f0:	48 89 00             	mov    %rax,(%rax)
1800382f3:	8d 47 c6             	lea    -0x3a(%rdi),%eax
1800382f6:	89 41 28             	mov    %eax,0x28(%rcx)
1800382f9:	89 41 38             	mov    %eax,0x38(%rcx)
1800382fc:	48 89 79 30          	mov    %rdi,0x30(%rcx)
180038300:	eb 02                	jmp    0x180038304
180038302:	33 c9                	xor    %ecx,%ecx
180038304:	49 89 8c 24 e0 00 00 	mov    %rcx,0xe0(%r12)
18003830b:	00
18003830c:	48 85 c9             	test   %rcx,%rcx
18003830f:	75 0a                	jne    0x18003831b
180038311:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180038316:	e9 ea 02 00 00       	jmp    0x180038605
18003831b:	41 8b d7             	mov    %r15d,%edx
18003831e:	e8 45 b4 00 00       	call   0x180043768
180038323:	8b f8                	mov    %eax,%edi
180038325:	85 c0                	test   %eax,%eax
180038327:	0f 88 d8 02 00 00    	js     0x180038605
18003832d:	48 83 bb 90 00 00 00 	cmpq   $0x0,0x90(%rbx)
180038334:	00
180038335:	bd 00 00 04 00       	mov    $0x40000,%ebp
18003833a:	48 8b 8b d8 00 00 00 	mov    0xd8(%rbx),%rcx
180038341:	b8 00 00 00 01       	mov    $0x1000000,%eax
180038346:	0f 46 e8             	cmovbe %eax,%ebp
180038349:	48 85 c9             	test   %rcx,%rcx
18003834c:	75 21                	jne    0x18003836f
18003834e:	8b c5                	mov    %ebp,%eax
180038350:	48 3b 43 60          	cmp    0x60(%rbx),%rax
180038354:	72 03                	jb     0x180038359
180038356:	8b 6b 60             	mov    0x60(%rbx),%ebp
180038359:	44 39 b3 88 00 00 00 	cmp    %r14d,0x88(%rbx)
180038360:	76 32                	jbe    0x180038394
180038362:	8b 83 8c 00 00 00    	mov    0x8c(%rbx),%eax
180038368:	3b e8                	cmp    %eax,%ebp
18003836a:	0f 43 e8             	cmovae %eax,%ebp
18003836d:	eb 25                	jmp    0x180038394
18003836f:	e8 fc 65 10 00       	call   0x18013e970
180038374:	8b cd                	mov    %ebp,%ecx
180038376:	48 3b 48 50          	cmp    0x50(%rax),%rcx
18003837a:	72 03                	jb     0x18003837f
18003837c:	8b 68 50             	mov    0x50(%rax),%ebp
18003837f:	44 39 70 78          	cmp    %r14d,0x78(%rax)
180038383:	76 08                	jbe    0x18003838d
180038385:	8b 48 7c             	mov    0x7c(%rax),%ecx
180038388:	3b e9                	cmp    %ecx,%ebp
18003838a:	0f 43 e9             	cmovae %ecx,%ebp
18003838d:	48 8b 88 b8 00 00 00 	mov    0xb8(%rax),%rcx
180038394:	48 85 c9             	test   %rcx,%rcx
180038397:	75 d6                	jne    0x18003836f
180038399:	45 33 c0             	xor    %r8d,%r8d
18003839c:	48 8b ce             	mov    %rsi,%rcx
18003839f:	b2 02                	mov    $0x2,%dl
1800383a1:	e8 42 4b 10 00       	call   0x18013cee8
1800383a6:	4c 8b e8             	mov    %rax,%r13
1800383a9:	48 85 c0             	test   %rax,%rax
1800383ac:	0f 84 9e 01 00 00    	je     0x180038550
1800383b2:	48 8b c8             	mov    %rax,%rcx
1800383b5:	e8 b6 65 10 00       	call   0x18013e970
1800383ba:	b9 40 00 00 00       	mov    $0x40,%ecx
1800383bf:	4c 8b f0             	mov    %rax,%r14
1800383c2:	e8 4d e5 00 00       	call   0x180046914
1800383c7:	33 ff                	xor    %edi,%edi
1800383c9:	48 8b f0             	mov    %rax,%rsi
1800383cc:	48 85 c0             	test   %rax,%rax
1800383cf:	74 0a                	je     0x1800383db
1800383d1:	48 89 78 38          	mov    %rdi,0x38(%rax)
1800383d5:	48 89 78 30          	mov    %rdi,0x30(%rax)
1800383d9:	eb 03                	jmp    0x1800383de
1800383db:	48 8b f7             	mov    %rdi,%rsi
1800383de:	48 85 f6             	test   %rsi,%rsi
1800383e1:	0f 84 2a ff ff ff    	je     0x180038311
1800383e7:	41 8b 45 18          	mov    0x18(%r13),%eax
1800383eb:	89 06                	mov    %eax,(%rsi)
1800383ed:	49 8b 86 c8 00 00 00 	mov    0xc8(%r14),%rax
1800383f4:	48 89 46 08          	mov    %rax,0x8(%rsi)
1800383f8:	49 8b 86 80 00 00 00 	mov    0x80(%r14),%rax
1800383ff:	48 3b 05 22 42 11 00 	cmp    0x114222(%rip),%rax        # 0x18014c628
180038406:	75 14                	jne    0x18003841c
180038408:	49 8b 86 88 00 00 00 	mov    0x88(%r14),%rax
18003840f:	48 3b 05 1a 42 11 00 	cmp    0x11421a(%rip),%rax        # 0x18014c630
180038416:	0f 84 d5 00 00 00    	je     0x1800384f1
18003841c:	49 81 c4 c0 00 00 00 	add    $0xc0,%r12
180038423:	40 8a d7             	mov    %dil,%dl
180038426:	4c 8b c7             	mov    %rdi,%r8
180038429:	49 8b 0c 24          	mov    (%r12),%rcx
18003842d:	49 3b cc             	cmp    %r12,%rcx
180038430:	74 24                	je     0x180038456
180038432:	48 8b 41 10          	mov    0x10(%rcx),%rax
180038436:	4c 8b c1             	mov    %rcx,%r8
180038439:	49 3b 86 80 00 00 00 	cmp    0x80(%r14),%rax
180038440:	75 0d                	jne    0x18003844f
180038442:	48 8b 41 18          	mov    0x18(%rcx),%rax
180038446:	49 3b 86 88 00 00 00 	cmp    0x88(%r14),%rax
18003844d:	74 05                	je     0x180038454
18003844f:	48 8b 09             	mov    (%rcx),%rcx
180038452:	eb d9                	jmp    0x18003842d
180038454:	b2 01                	mov    $0x1,%dl
180038456:	f6 da                	neg    %dl
180038458:	48 1b c0             	sbb    %rax,%rax
18003845b:	49 23 c0             	and    %r8,%rax
18003845e:	48 89 46 10          	mov    %rax,0x10(%rsi)
180038462:	0f 85 84 00 00 00    	jne    0x1800384ec
180038468:	b9 48 00 00 00       	mov    $0x48,%ecx
18003846d:	e8 a2 e4 00 00       	call   0x180046914
180038472:	48 8b d8             	mov    %rax,%rbx
180038475:	48 85 c0             	test   %rax,%rax
180038478:	74 1c                	je     0x180038496
18003847a:	48 89 78 20          	mov    %rdi,0x20(%rax)
18003847e:	89 78 28             	mov    %edi,0x28(%rax)
180038481:	48 89 78 30          	mov    %rdi,0x30(%rax)
180038485:	48 89 78 38          	mov    %rdi,0x38(%rax)
180038489:	48 89 78 40          	mov    %rdi,0x40(%rax)
18003848d:	48 89 40 08          	mov    %rax,0x8(%rax)
180038491:	48 89 00             	mov    %rax,(%rax)
180038494:	eb 03                	jmp    0x180038499
180038496:	48 8b df             	mov    %rdi,%rbx
180038499:	48 85 db             	test   %rbx,%rbx
18003849c:	0f 84 a7 00 00 00    	je     0x180038549
1800384a2:	41 0f 10 86 80 00 00 	movups 0x80(%r14),%xmm0
1800384a9:	00
1800384aa:	f3 0f 7f 43 10       	movdqu %xmm0,0x10(%rbx)
1800384af:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
1800384b3:	ba e0 01 00 00       	mov    $0x1e0,%edx
1800384b8:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1800384be:	e8 e1 e7 00 00       	call   0x180046ca4
1800384c3:	8b f8                	mov    %eax,%edi
1800384c5:	85 c0                	test   %eax,%eax
1800384c7:	0f 88 d5 00 00 00    	js     0x1800385a2
1800384cd:	48 89 5e 10          	mov    %rbx,0x10(%rsi)
1800384d1:	49 8b 44 24 08       	mov    0x8(%r12),%rax
1800384d6:	4c 39 20             	cmp    %r12,(%rax)
1800384d9:	75 67                	jne    0x180038542
1800384db:	4c 89 23             	mov    %r12,(%rbx)
1800384de:	33 ff                	xor    %edi,%edi
1800384e0:	48 89 43 08          	mov    %rax,0x8(%rbx)
1800384e4:	48 89 18             	mov    %rbx,(%rax)
1800384e7:	49 89 5c 24 08       	mov    %rbx,0x8(%r12)
1800384ec:	4c 8b 64 24 60       	mov    0x60(%rsp),%r12
1800384f1:	49 39 be c8 00 00 00 	cmp    %rdi,0xc8(%r14)
1800384f8:	74 0c                	je     0x180038506
1800384fa:	49 8b ce             	mov    %r14,%rcx
1800384fd:	e8 8e 88 00 00       	call   0x180040d90
180038502:	48 89 46 18          	mov    %rax,0x18(%rsi)
180038506:	49 8b 86 98 00 00 00 	mov    0x98(%r14),%rax
18003850d:	4c 8b c6             	mov    %rsi,%r8
180038510:	48 89 46 20          	mov    %rax,0x20(%rsi)
180038514:	0f bd c5             	bsr    %ebp,%eax
180038517:	89 46 28             	mov    %eax,0x28(%rsi)
18003851a:	41 8b 55 18          	mov    0x18(%r13),%edx
18003851e:	49 8b 8c 24 e0 00 00 	mov    0xe0(%r12),%rcx
180038525:	00
180038526:	e8 f5 b3 00 00       	call   0x180043920
18003852b:	8b f8                	mov    %eax,%edi
18003852d:	85 c0                	test   %eax,%eax
18003852f:	0f 88 88 00 00 00    	js     0x1800385bd
180038535:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
18003853a:	4d 8b c5             	mov    %r13,%r8
18003853d:	e9 5d fe ff ff       	jmp    0x18003839f
180038542:	b9 03 00 00 00       	mov    $0x3,%ecx
180038547:	cd 29                	int    $0x29
180038549:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
18003854e:	eb 6d                	jmp    0x1800385bd
180038550:	41 8d 4f 1f          	lea    0x1f(%r15),%ecx
180038554:	48 c1 e9 03          	shr    $0x3,%rcx
180038558:	81 e1 fc ff ff 1f    	and    $0x1ffffffc,%ecx
18003855e:	e8 b1 e3 00 00       	call   0x180046914
180038563:	48 8b c8             	mov    %rax,%rcx
180038566:	48 85 c0             	test   %rax,%rax
180038569:	0f 84 a2 fd ff ff    	je     0x180038311
18003856f:	49 89 84 24 d8 00 00 	mov    %rax,0xd8(%r12)
180038576:	00
180038577:	41 f6 c7 1f          	test   $0x1f,%r15b
18003857b:	b8 00 00 00 00       	mov    $0x0,%eax
180038580:	45 89 bc 24 d0 00 00 	mov    %r15d,0xd0(%r12)
180038587:	00
180038588:	0f 95 c0             	setne  %al
18003858b:	41 c1 ef 05          	shr    $0x5,%r15d
18003858f:	33 d2                	xor    %edx,%edx
180038591:	45 8d 04 07          	lea    (%r15,%rax,1),%r8d
180038595:	41 c1 e0 02          	shl    $0x2,%r8d
180038599:	e8 e2 d6 0f 00       	call   0x180135c80
18003859e:	33 f6                	xor    %esi,%esi
1800385a0:	33 db                	xor    %ebx,%ebx
1800385a2:	48 85 db             	test   %rbx,%rbx
1800385a5:	74 16                	je     0x1800385bd
1800385a7:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
1800385ab:	48 85 c9             	test   %rcx,%rcx
1800385ae:	74 05                	je     0x1800385b5
1800385b0:	e8 a7 e3 00 00       	call   0x18004695c
1800385b5:	48 8b cb             	mov    %rbx,%rcx
1800385b8:	e8 9f e3 00 00       	call   0x18004695c
1800385bd:	48 85 f6             	test   %rsi,%rsi
1800385c0:	74 43                	je     0x180038605
1800385c2:	48 8b 46 30          	mov    0x30(%rsi),%rax
1800385c6:	48 85 c0             	test   %rax,%rax
1800385c9:	74 32                	je     0x1800385fd
1800385cb:	48 8b 46 30          	mov    0x30(%rsi),%rax
1800385cf:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1800385d4:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1800385d9:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1800385de:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
1800385e3:	48 85 c0             	test   %rax,%rax
1800385e6:	74 15                	je     0x1800385fd
1800385e8:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1800385ed:	48 8b cb             	mov    %rbx,%rcx
1800385f0:	e8 27 b2 00 00       	call   0x18004381c
1800385f5:	48 8b cb             	mov    %rbx,%rcx
1800385f8:	e8 5f e3 00 00       	call   0x18004695c
1800385fd:	48 8b ce             	mov    %rsi,%rcx
180038600:	e8 57 e3 00 00       	call   0x18004695c
180038605:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
18003860a:	8b c7                	mov    %edi,%eax
18003860c:	48 83 c4 20          	add    $0x20,%rsp
180038610:	41 5f                	pop    %r15
180038612:	41 5e                	pop    %r14
180038614:	41 5d                	pop    %r13
180038616:	41 5c                	pop    %r12
180038618:	5f                   	pop    %rdi
180038619:	5e                   	pop    %rsi
18003861a:	5d                   	pop    %rbp
18003861b:	c3                   	ret
18003861c:	cc                   	int3
18003861d:	cc                   	int3
18003861e:	cc                   	int3
18003861f:	cc                   	int3
180038620:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180038625:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18003862a:	57                   	push   %rdi
18003862b:	48 83 ec 20          	sub    $0x20,%rsp
18003862f:	48 8b 81 90 00 00 00 	mov    0x90(%rcx),%rax
180038636:	48 8b fa             	mov    %rdx,%rdi
180038639:	48 8b f1             	mov    %rcx,%rsi
18003863c:	48 85 c0             	test   %rax,%rax
18003863f:	74 09                	je     0x18003864a
180038641:	48 8b 88 68 01 00 00 	mov    0x168(%rax),%rcx
180038648:	eb 02                	jmp    0x18003864c
18003864a:	33 c9                	xor    %ecx,%ecx
18003864c:	48 89 8e 68 01 00 00 	mov    %rcx,0x168(%rsi)
180038653:	b9 68 00 00 00       	mov    $0x68,%ecx
180038658:	e8 b7 e2 00 00       	call   0x180046914
18003865d:	48 8b d8             	mov    %rax,%rbx
180038660:	48 85 c0             	test   %rax,%rax
180038663:	74 4a                	je     0x1800386af
180038665:	48 83 60 18 00       	andq   $0x0,0x18(%rax)
18003866a:	b9 40 00 00 00       	mov    $0x40,%ecx
18003866f:	48 83 60 20 00       	andq   $0x0,0x20(%rax)