180037188:	74 09                	je     0x180037193
18003718a:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
18003718e:	e8 6d 13 03 00       	call   0x180068500
180037193:	48 85 db             	test   %rbx,%rbx
180037196:	74 08                	je     0x1800371a0
180037198:	48 8b cb             	mov    %rbx,%rcx
18003719b:	e8 5c 2e 06 00       	call   0x180099ffc
1800371a0:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
1800371a5:	8b c7                	mov    %edi,%eax
1800371a7:	49 8b 5b 10          	mov    0x10(%r11),%rbx
1800371ab:	49 8b 73 18          	mov    0x18(%r11),%rsi
1800371af:	49 8b 7b 20          	mov    0x20(%r11),%rdi
1800371b3:	4d 8b 73 28          	mov    0x28(%r11),%r14
1800371b7:	49 8b e3             	mov    %r11,%rsp
1800371ba:	41 5f                	pop    %r15
1800371bc:	c3                   	ret
1800371bd:	cc                   	int3
1800371be:	cc                   	int3
1800371bf:	cc                   	int3
1800371c0:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1800371c5:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1800371ca:	53                   	push   %rbx
1800371cb:	55                   	push   %rbp
1800371cc:	56                   	push   %rsi
1800371cd:	57                   	push   %rdi
1800371ce:	48 83 ec 28          	sub    $0x28,%rsp
1800371d2:	33 ed                	xor    %ebp,%ebp
1800371d4:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
1800371d8:	48 3d fe ff ff 7f    	cmp    $0x7ffffffe,%rax
1800371de:	48 8b f1             	mov    %rcx,%rsi
1800371e1:	8b fd                	mov    %ebp,%edi
1800371e3:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
1800371e8:	0f 47 f9             	cmova  %ecx,%edi
1800371eb:	85 ff                	test   %edi,%edi
1800371ed:	78 34                	js     0x180037223
1800371ef:	48 8d 5a ff          	lea    -0x1(%rdx),%rbx
1800371f3:	48 8b ce             	mov    %rsi,%rcx
1800371f6:	48 8b d3             	mov    %rbx,%rdx
1800371f9:	4c 8d 4c 24 68       	lea    0x68(%rsp),%r9
1800371fe:	8b fd                	mov    %ebp,%edi
180037200:	e8 f3 4c 0f 00       	call   0x18012bef8
180037205:	85 c0                	test   %eax,%eax
180037207:	78 0f                	js     0x180037218
180037209:	48 98                	cltq
18003720b:	48 3b c3             	cmp    %rbx,%rax
18003720e:	77 08                	ja     0x180037218
180037210:	75 19                	jne    0x18003722b
180037212:	66 89 2c 5e          	mov    %bp,(%rsi,%rbx,2)
180037216:	eb 13                	jmp    0x18003722b
180037218:	66 89 2c 5e          	mov    %bp,(%rsi,%rbx,2)
18003721c:	bf 05 00 00 80       	mov    $0x80000005,%edi
180037221:	eb 08                	jmp    0x18003722b
180037223:	48 85 d2             	test   %rdx,%rdx
180037226:	74 03                	je     0x18003722b
180037228:	66 89 2e             	mov    %bp,(%rsi)
18003722b:	8b c7                	mov    %edi,%eax
18003722d:	48 83 c4 28          	add    $0x28,%rsp
180037231:	5f                   	pop    %rdi
180037232:	5e                   	pop    %rsi
180037233:	5d                   	pop    %rbp
180037234:	5b                   	pop    %rbx
180037235:	c3                   	ret
180037236:	cc                   	int3
180037237:	cc                   	int3
180037238:	45 33 d2             	xor    %r10d,%r10d
18003723b:	4d 8b d8             	mov    %r8,%r11
18003723e:	4d 85 c9             	test   %r9,%r9
180037241:	74 69                	je     0x1800372ac
180037243:	4d 89 11             	mov    %r10,(%r9)
180037246:	f7 c1 fe ff ff ff    	test   $0xfffffffe,%ecx
18003724c:	75 5e                	jne    0x1800372ac
18003724e:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
180037252:	48 83 f8 fd          	cmp    $0xfffffffffffffffd,%rax
180037256:	77 54                	ja     0x1800372ac
180037258:	f6 d1                	not    %cl
18003725a:	80 e1 01             	and    $0x1,%cl
18003725d:	74 0e                	je     0x18003726d
18003725f:	49 83 f8 40          	cmp    $0x40,%r8
180037263:	73 08                	jae    0x18003726d
180037265:	41 ba 7b 00 00 c0    	mov    $0xc000007b,%r10d
18003726b:	eb 45                	jmp    0x1800372b2
18003726d:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
180037272:	66 39 02             	cmp    %ax,(%rdx)
180037275:	75 ee                	jne    0x180037265
180037277:	44 8b 42 3c          	mov    0x3c(%rdx),%r8d
18003727b:	84 c9                	test   %cl,%cl
18003727d:	74 17                	je     0x180037296
18003727f:	41 8b c0             	mov    %r8d,%eax
180037282:	4d 3b c3             	cmp    %r11,%r8
180037285:	73 de                	jae    0x180037265
180037287:	41 83 f8 e7          	cmp    $0xffffffe7,%r8d
18003728b:	73 d8                	jae    0x180037265
18003728d:	48 83 c0 18          	add    $0x18,%rax
180037291:	49 3b c3             	cmp    %r11,%rax
180037294:	73 cf                	jae    0x180037265
180037296:	4a 8d 04 02          	lea    (%rdx,%r8,1),%rax
18003729a:	48 3b c2             	cmp    %rdx,%rax
18003729d:	72 c6                	jb     0x180037265
18003729f:	81 38 50 45 00 00    	cmpl   $0x4550,(%rax)
1800372a5:	75 be                	jne    0x180037265
1800372a7:	49 89 01             	mov    %rax,(%r9)
1800372aa:	eb 06                	jmp    0x1800372b2
1800372ac:	41 ba 0d 00 00 c0    	mov    $0xc000000d,%r10d
1800372b2:	41 8b c2             	mov    %r10d,%eax
1800372b5:	c3                   	ret
1800372b6:	cc                   	int3
1800372b7:	cc                   	int3
1800372b8:	8b 02                	mov    (%rdx),%eax
1800372ba:	39 01                	cmp    %eax,(%rcx)
1800372bc:	76 07                	jbe    0x1800372c5
1800372be:	b8 01 00 00 00       	mov    $0x1,%eax
1800372c3:	c3                   	ret
1800372c4:	cc                   	int3
1800372c5:	1b c0                	sbb    %eax,%eax
1800372c7:	c3                   	ret
1800372c8:	cc                   	int3
1800372c9:	cc                   	int3
1800372ca:	cc                   	int3
1800372cb:	cc                   	int3
1800372cc:	48 8b c4             	mov    %rsp,%rax
1800372cf:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800372d3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800372d7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800372db:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800372df:	41 54                	push   %r12
1800372e1:	41 56                	push   %r14
1800372e3:	41 57                	push   %r15
1800372e5:	48 83 ec 20          	sub    $0x20,%rsp
1800372e9:	49 8b f8             	mov    %r8,%rdi
1800372ec:	4d 8b f9             	mov    %r9,%r15
1800372ef:	49 0f af f9          	imul   %r9,%rdi
1800372f3:	49 8b f0             	mov    %r8,%rsi
1800372f6:	48 8b da             	mov    %rdx,%rbx
1800372f9:	48 03 fa             	add    %rdx,%rdi
1800372fc:	4c 8b e1             	mov    %rcx,%r12
1800372ff:	48 3b d7             	cmp    %rdi,%rdx
180037302:	73 3f                	jae    0x180037343
180037304:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
180037309:	48 8b ee             	mov    %rsi,%rbp
18003730c:	48 d1 ed             	shr    $1,%rbp
18003730f:	49 8b cc             	mov    %r12,%rcx
180037312:	4c 8b f5             	mov    %rbp,%r14
180037315:	4d 0f af f7          	imul   %r15,%r14
180037319:	4c 03 f3             	add    %rbx,%r14
18003731c:	49 8b d6             	mov    %r14,%rdx
18003731f:	ff d0                	call   *%rax
180037321:	0f 1f 00             	nopl   (%rax)
180037324:	85 c0                	test   %eax,%eax
180037326:	7f 08                	jg     0x180037330
180037328:	48 8b f5             	mov    %rbp,%rsi
18003732b:	49 8b fe             	mov    %r14,%rdi
18003732e:	eb 0e                	jmp    0x18003733e
180037330:	48 83 c9 ff          	or     $0xffffffffffffffff,%rcx
180037334:	4b 8d 1c 3e          	lea    (%r14,%r15,1),%rbx
180037338:	48 2b cd             	sub    %rbp,%rcx
18003733b:	48 03 f1             	add    %rcx,%rsi
18003733e:	48 3b df             	cmp    %rdi,%rbx
180037341:	72 c1                	jb     0x180037304
180037343:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180037348:	48 8b c3             	mov    %rbx,%rax
18003734b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180037350:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180037355:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
18003735a:	48 83 c4 20          	add    $0x20,%rsp
18003735e:	41 5f                	pop    %r15
180037360:	41 5e                	pop    %r14
180037362:	41 5c                	pop    %r12
180037364:	c3                   	ret
180037365:	cc                   	int3
180037366:	cc                   	int3
180037367:	cc                   	int3
180037368:	48 8b c4             	mov    %rsp,%rax
18003736b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18003736f:	48 89 68 10          	mov    %rbp,0x10(%rax)
180037373:	48 89 70 18          	mov    %rsi,0x18(%rax)
180037377:	48 89 78 20          	mov    %rdi,0x20(%rax)
18003737b:	41 56                	push   %r14
18003737d:	48 83 ec 20          	sub    $0x20,%rsp
180037381:	33 ff                	xor    %edi,%edi
180037383:	49 8b e9             	mov    %r9,%rbp
180037386:	49 8b f0             	mov    %r8,%rsi
180037389:	48 8b da             	mov    %rdx,%rbx
18003738c:	4c 8b f1             	mov    %rcx,%r14
18003738f:	4d 85 c0             	test   %r8,%r8
180037392:	74 21                	je     0x1800373b5
180037394:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
180037399:	48 8b d3             	mov    %rbx,%rdx
18003739c:	49 8b ce             	mov    %r14,%rcx
18003739f:	ff d0                	call   *%rax
1800373a1:	0f 1f 00             	nopl   (%rax)
1800373a4:	85 c0                	test   %eax,%eax
1800373a6:	78 0d                	js     0x1800373b5
1800373a8:	74 29                	je     0x1800373d3
1800373aa:	48 ff c7             	inc    %rdi
1800373ad:	48 03 dd             	add    %rbp,%rbx
1800373b0:	48 3b fe             	cmp    %rsi,%rdi
1800373b3:	72 df                	jb     0x180037394
1800373b5:	33 c0                	xor    %eax,%eax
1800373b7:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800373bc:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800373c1:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800373c6:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1800373cb:	48 83 c4 20          	add    $0x20,%rsp
1800373cf:	41 5e                	pop    %r14
1800373d1:	c3                   	ret
1800373d2:	cc                   	int3
1800373d3:	48 8b c3             	mov    %rbx,%rax
1800373d6:	eb df                	jmp    0x1800373b7
1800373d8:	4c 8b dc             	mov    %rsp,%r11
1800373db:	49 89 5b 10          	mov    %rbx,0x10(%r11)
1800373df:	49 89 6b 18          	mov    %rbp,0x18(%r11)
1800373e3:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
1800373e7:	56                   	push   %rsi
1800373e8:	57                   	push   %rdi
1800373e9:	41 56                	push   %r14
1800373eb:	48 83 ec 30          	sub    $0x30,%rsp
1800373ef:	48 8b 6a 08          	mov    0x8(%rdx),%rbp
1800373f3:	33 db                	xor    %ebx,%ebx
1800373f5:	49 8b f9             	mov    %r9,%rdi
1800373f8:	4d 8b f0             	mov    %r8,%r14
1800373fb:	8b f3                	mov    %ebx,%esi
1800373fd:	48 85 ed             	test   %rbp,%rbp
180037400:	74 6a                	je     0x18003746c
180037402:	44 8b 45 00          	mov    0x0(%rbp),%r8d
180037406:	48 8d 05 ab fe ff ff 	lea    -0x155(%rip),%rax        # 0x1800372b8
18003740d:	49 89 43 d8          	mov    %rax,-0x28(%r11)
180037411:	48 8d 55 04          	lea    0x4(%rbp),%rdx
180037415:	44 8d 4b 0c          	lea    0xc(%rbx),%r9d
180037419:	49 8d 4b 08          	lea    0x8(%r11),%rcx
18003741d:	4d 85 c0             	test   %r8,%r8
180037420:	74 29                	je     0x18003744b
180037422:	e8 a5 fe ff ff       	call   0x1800372cc
180037427:	48 8b f0             	mov    %rax,%rsi
18003742a:	8b 45 00             	mov    0x0(%rbp),%eax
18003742d:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
180037431:	48 8d 45 04          	lea    0x4(%rbp),%rax
180037435:	48 8d 04 88          	lea    (%rax,%rcx,4),%rax
180037439:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
18003743d:	48 3b f0             	cmp    %rax,%rsi
180037440:	74 04                	je     0x180037446
180037442:	39 0e                	cmp    %ecx,(%rsi)
180037444:	74 11                	je     0x180037457
180037446:	48 8b f3             	mov    %rbx,%rsi
180037449:	eb 0c                	jmp    0x180037457
18003744b:	e8 18 ff ff ff       	call   0x180037368
180037450:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
180037454:	48 8b f0             	mov    %rax,%rsi
180037457:	48 85 f6             	test   %rsi,%rsi
18003745a:	74 10                	je     0x18003746c
18003745c:	f2 0f 10 06          	movsd  (%rsi),%xmm0
180037460:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
180037464:	8b 46 08             	mov    0x8(%rsi),%eax
180037467:	89 47 08             	mov    %eax,0x8(%rdi)
18003746a:	eb 06                	jmp    0x180037472
18003746c:	48 89 5f 04          	mov    %rbx,0x4(%rdi)
180037470:	89 0f                	mov    %ecx,(%rdi)
180037472:	49 8b 6e 08          	mov    0x8(%r14),%rbp
180037476:	48 85 ed             	test   %rbp,%rbp
180037479:	75 0d                	jne    0x180037488
18003747b:	0f ba 77 04 07       	btrl   $0x7,0x4(%rdi)
180037480:	8b 4f 04             	mov    0x4(%rdi),%ecx
180037483:	e9 84 00 00 00       	jmp    0x18003750c
180037488:	44 8b 45 00          	mov    0x0(%rbp),%r8d
18003748c:	48 8d 05 25 fe ff ff 	lea    -0x1db(%rip),%rax        # 0x1800372b8
180037493:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180037498:	48 8d 55 04          	lea    0x4(%rbp),%rdx
18003749c:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1800374a1:	41 b9 10 00 00 00    	mov    $0x10,%r9d
1800374a7:	4d 85 c0             	test   %r8,%r8
1800374aa:	74 28                	je     0x1800374d4
1800374ac:	e8 1b fe ff ff       	call   0x1800372cc
1800374b1:	48 8b d0             	mov    %rax,%rdx
1800374b4:	8b 45 00             	mov    0x0(%rbp),%eax
1800374b7:	48 c1 e0 04          	shl    $0x4,%rax
1800374bb:	48 83 c0 04          	add    $0x4,%rax
1800374bf:	48 03 c5             	add    %rbp,%rax
1800374c2:	48 3b d0             	cmp    %rax,%rdx
1800374c5:	74 08                	je     0x1800374cf
1800374c7:	8b 44 24 50          	mov    0x50(%rsp),%eax
1800374cb:	39 02                	cmp    %eax,(%rdx)
1800374cd:	74 0d                	je     0x1800374dc
1800374cf:	48 8b d3             	mov    %rbx,%rdx
1800374d2:	eb 08                	jmp    0x1800374dc
1800374d4:	e8 8f fe ff ff       	call   0x180037368
1800374d9:	48 8b d0             	mov    %rax,%rdx
1800374dc:	8b 4f 04             	mov    0x4(%rdi),%ecx
1800374df:	48 85 d2             	test   %rdx,%rdx
1800374e2:	74 21                	je     0x180037505
1800374e4:	0f ba e9 07          	bts    $0x7,%ecx
1800374e8:	89 4f 04             	mov    %ecx,0x4(%rdi)
1800374eb:	f6 c1 40             	test   $0x40,%cl
1800374ee:	75 1c                	jne    0x18003750c
1800374f0:	0f b7 42 06          	movzwl 0x6(%rdx),%eax
1800374f4:	c1 e0 06             	shl    $0x6,%eax
1800374f7:	33 c1                	xor    %ecx,%eax
1800374f9:	83 e0 40             	and    $0x40,%eax
1800374fc:	33 c1                	xor    %ecx,%eax
1800374fe:	8b c8                	mov    %eax,%ecx
180037500:	89 47 04             	mov    %eax,0x4(%rdi)
180037503:	eb 07                	jmp    0x18003750c
180037505:	0f ba f1 07          	btr    $0x7,%ecx
180037509:	89 4f 04             	mov    %ecx,0x4(%rdi)
18003750c:	48 85 f6             	test   %rsi,%rsi
18003750f:	75 18                	jne    0x180037529
180037511:	f6 c1 40             	test   $0x40,%cl
180037514:	75 13                	jne    0x180037529
180037516:	80 e1 80             	and    $0x80,%cl
180037519:	f6 d9                	neg    %cl
18003751b:	1b db                	sbb    %ebx,%ebx
18003751d:	81 e3 f2 fe ff 3f    	and    $0x3ffffef2,%ebx
180037523:	81 c3 25 02 00 c0    	add    $0xc0000225,%ebx
180037529:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
18003752e:	8b c3                	mov    %ebx,%eax
180037530:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180037535:	48 83 c4 30          	add    $0x30,%rsp
180037539:	41 5e                	pop    %r14
18003753b:	5f                   	pop    %rdi
18003753c:	5e                   	pop    %rsi
18003753d:	c3                   	ret
18003753e:	cc                   	int3
18003753f:	cc                   	int3
180037540:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180037545:	57                   	push   %rdi
180037546:	48 83 ec 20          	sub    $0x20,%rsp
18003754a:	48 8b 19             	mov    (%rcx),%rbx
18003754d:	48 8b f9             	mov    %rcx,%rdi
180037550:	48 3b d9             	cmp    %rcx,%rbx
180037553:	74 57                	je     0x1800375ac
180037555:	48 39 7b 08          	cmp    %rdi,0x8(%rbx)
180037559:	0f 85 85 00 00 00    	jne    0x1800375e4
18003755f:	48 8b 03             	mov    (%rbx),%rax
180037562:	48 39 58 08          	cmp    %rbx,0x8(%rax)
180037566:	75 7c                	jne    0x1800375e4
180037568:	48 89 07             	mov    %rax,(%rdi)
18003756b:	48 89 78 08          	mov    %rdi,0x8(%rax)
18003756f:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
180037573:	48 85 c9             	test   %rcx,%rcx
180037576:	74 05                	je     0x18003757d
180037578:	e8 df f3 00 00       	call   0x18004695c
18003757d:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
180037581:	48 85 c9             	test   %rcx,%rcx
180037584:	74 05                	je     0x18003758b
180037586:	e8 d1 f3 00 00       	call   0x18004695c
18003758b:	48 8b 8b 90 00 00 00 	mov    0x90(%rbx),%rcx
180037592:	48 85 c9             	test   %rcx,%rcx
180037595:	74 05                	je     0x18003759c
180037597:	e8 c0 f3 00 00       	call   0x18004695c
18003759c:	48 8b cb             	mov    %rbx,%rcx
18003759f:	e8 b8 f3 00 00       	call   0x18004695c
1800375a4:	48 8b 1f             	mov    (%rdi),%rbx