18005c78c:	48 89 9e e8 00 00 00 	mov    %rbx,0xe8(%rsi)
18005c793:	48 89 9e f0 00 00 00 	mov    %rbx,0xf0(%rsi)
18005c79a:	eb 03                	jmp    0x18005c79f
18005c79c:	48 8b f3             	mov    %rbx,%rsi
18005c79f:	48 85 f6             	test   %rsi,%rsi
18005c7a2:	0f 84 16 01 00 00    	je     0x18005c8be
18005c7a8:	45 8b c7             	mov    %r15d,%r8d
18005c7ab:	8b d5                	mov    %ebp,%edx
18005c7ad:	48 8b cf             	mov    %rdi,%rcx
18005c7b0:	e8 9b 4b ff ff       	call   0x180051350
18005c7b5:	48 8b d0             	mov    %rax,%rdx
18005c7b8:	e8 ff 4b ff ff       	call   0x1800513bc
18005c7bd:	48 8b c8             	mov    %rax,%rcx
18005c7c0:	48 8b 00             	mov    (%rax),%rax
18005c7c3:	48 8b 40 58          	mov    0x58(%rax),%rax
18005c7c7:	ff d0                	call   *%rax
18005c7c9:	0f 1f 00             	nopl   (%rax)
18005c7cc:	44 8b f3             	mov    %ebx,%r14d
18005c7cf:	c6 40 04 01          	movb   $0x1,0x4(%rax)
18005c7d3:	38 5f 2b             	cmp    %bl,0x2b(%rdi)
18005c7d6:	76 5b                	jbe    0x18005c833
18005c7d8:	45 8b c6             	mov    %r14d,%r8d
18005c7db:	8b d5                	mov    %ebp,%edx
18005c7dd:	48 8b cf             	mov    %rdi,%rcx
18005c7e0:	e8 6b 4b ff ff       	call   0x180051350
18005c7e5:	4c 8b e8             	mov    %rax,%r13
18005c7e8:	8a 50 02             	mov    0x2(%rax),%dl
18005c7eb:	8a ca                	mov    %dl,%cl
18005c7ed:	80 e1 0f             	and    $0xf,%cl
18005c7f0:	80 f9 05             	cmp    $0x5,%cl
18005c7f3:	75 32                	jne    0x18005c827
18005c7f5:	c0 ea 04             	shr    $0x4,%dl
18005c7f8:	41 b1 06             	mov    $0x6,%r9b
18005c7fb:	88 54 24 20          	mov    %dl,0x20(%rsp)
18005c7ff:	48 8b cf             	mov    %rdi,%rcx
18005c802:	8b d5                	mov    %ebp,%edx
18005c804:	e8 ff 90 ff ff       	call   0x180055908
18005c809:	49 8b d5             	mov    %r13,%rdx
18005c80c:	48 8b cf             	mov    %rdi,%rcx
18005c80f:	e8 a8 4b ff ff       	call   0x1800513bc
18005c814:	48 8b c8             	mov    %rax,%rcx
18005c817:	48 8b 00             	mov    (%rax),%rax
18005c81a:	48 8b 40 58          	mov    0x58(%rax),%rax
18005c81e:	ff d0                	call   *%rax
18005c820:	0f 1f 00             	nopl   (%rax)
18005c823:	c6 40 04 01          	movb   $0x1,0x4(%rax)
18005c827:	0f b6 47 2b          	movzbl 0x2b(%rdi),%eax
18005c82b:	41 ff c6             	inc    %r14d
18005c82e:	44 3b f0             	cmp    %eax,%r14d
18005c831:	72 a5                	jb     0x18005c7d8
18005c833:	48 89 5e 78          	mov    %rbx,0x78(%rsi)
18005c837:	41 be 00 00 04 00    	mov    $0x40000,%r14d
18005c83d:	8a 4f 2a             	mov    0x2a(%rdi),%cl
18005c840:	41 8b c6             	mov    %r14d,%eax
18005c843:	ba 01 00 00 00       	mov    $0x1,%edx
18005c848:	89 ae 84 00 00 00    	mov    %ebp,0x84(%rsi)
18005c84e:	48 d3 e2             	shl    %cl,%rdx
18005c851:	45 8b c7             	mov    %r15d,%r8d
18005c854:	41 3b d6             	cmp    %r14d,%edx
18005c857:	48 8b cf             	mov    %rdi,%rcx
18005c85a:	0f 42 c2             	cmovb  %edx,%eax
18005c85d:	8b d5                	mov    %ebp,%edx
18005c85f:	89 86 80 00 00 00    	mov    %eax,0x80(%rsi)
18005c865:	e8 e6 4a ff ff       	call   0x180051350
18005c86a:	8b 48 10             	mov    0x10(%rax),%ecx
18005c86d:	89 8e 88 00 00 00    	mov    %ecx,0x88(%rsi)
18005c873:	8b 4c 24 70          	mov    0x70(%rsp),%ecx
18005c877:	48 89 4e 70          	mov    %rcx,0x70(%rsi)
18005c87b:	48 0f af 4c 24 78    	imul   0x78(%rsp),%rcx
18005c881:	48 89 be d8 00 00 00 	mov    %rdi,0xd8(%rsi)
18005c888:	48 8b 47 10          	mov    0x10(%rdi),%rax
18005c88c:	48 89 8e f0 00 00 00 	mov    %rcx,0xf0(%rsi)
18005c893:	48 89 86 e0 00 00 00 	mov    %rax,0xe0(%rsi)
18005c89a:	f0 49 0f c1 8c 24 d0 	lock xadd %rcx,0x1d0(%r12)
18005c8a1:	01 00 00
18005c8a4:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
18005c8a8:	48 8b d6             	mov    %rsi,%rdx
18005c8ab:	48 8b 01             	mov    (%rcx),%rax
18005c8ae:	48 8b 40 68          	mov    0x68(%rax),%rax
18005c8b2:	ff d0                	call   *%rax
18005c8b4:	0f 1f 00             	nopl   (%rax)
18005c8b7:	ff c5                	inc    %ebp
18005c8b9:	e9 a8 fd ff ff       	jmp    0x18005c666
18005c8be:	bb 9a 00 00 c0       	mov    $0xc000009a,%ebx
18005c8c3:	8b c3                	mov    %ebx,%eax
18005c8c5:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
18005c8cc:	00
18005c8cd:	48 83 c4 30          	add    $0x30,%rsp
18005c8d1:	41 5f                	pop    %r15
18005c8d3:	41 5e                	pop    %r14
18005c8d5:	41 5d                	pop    %r13
18005c8d7:	41 5c                	pop    %r12
18005c8d9:	5f                   	pop    %rdi
18005c8da:	5e                   	pop    %rsi
18005c8db:	5d                   	pop    %rbp
18005c8dc:	c3                   	ret
18005c8dd:	cc                   	int3
18005c8de:	cc                   	int3
18005c8df:	cc                   	int3
18005c8e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005c8e5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005c8ea:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005c8ef:	57                   	push   %rdi
18005c8f0:	41 56                	push   %r14
18005c8f2:	41 57                	push   %r15
18005c8f4:	48 83 ec 30          	sub    $0x30,%rsp
18005c8f8:	48 8b 41 20          	mov    0x20(%rcx),%rax
18005c8fc:	33 db                	xor    %ebx,%ebx
18005c8fe:	48 8b ea             	mov    %rdx,%rbp
18005c901:	48 8b f9             	mov    %rcx,%rdi
18005c904:	44 8b cb             	mov    %ebx,%r9d
18005c907:	48 85 c0             	test   %rax,%rax
18005c90a:	74 06                	je     0x18005c912
18005c90c:	48 83 c0 38          	add    $0x38,%rax
18005c910:	eb 08                	jmp    0x18005c91a
18005c912:	48 8b 41 08          	mov    0x8(%rcx),%rax
18005c916:	48 83 c0 30          	add    $0x30,%rax
18005c91a:	44 0f b6 51 2b       	movzbl 0x2b(%rcx),%r10d
18005c91f:	83 ce ff             	or     $0xffffffff,%esi
18005c922:	4c 8b 58 08          	mov    0x8(%rax),%r11
18005c926:	44 8b f3             	mov    %ebx,%r14d
18005c929:	44 8b ba 84 00 00 00 	mov    0x84(%rdx),%r15d
18005c930:	44 8b c3             	mov    %ebx,%r8d
18005c933:	45 85 d2             	test   %r10d,%r10d
18005c936:	74 46                	je     0x18005c97e
18005c938:	41 8b d7             	mov    %r15d,%edx
18005c93b:	48 8b cf             	mov    %rdi,%rcx
18005c93e:	e8 0d 4a ff ff       	call   0x180051350
18005c943:	48 8b d0             	mov    %rax,%rdx
18005c946:	0f b6 48 02          	movzbl 0x2(%rax),%ecx
18005c94a:	83 e1 0f             	and    $0xf,%ecx
18005c94d:	83 e9 01             	sub    $0x1,%ecx
18005c950:	74 17                	je     0x18005c969
18005c952:	83 e9 04             	sub    $0x4,%ecx
18005c955:	74 0a                	je     0x18005c961
18005c957:	83 f9 01             	cmp    $0x1,%ecx
18005c95a:	75 1a                	jne    0x18005c976
18005c95c:	41 ff c1             	inc    %r9d
18005c95f:	eb 15                	jmp    0x18005c976
18005c961:	41 be 25 02 00 c0    	mov    $0xc0000225,%r14d
18005c967:	eb 0d                	jmp    0x18005c976
18005c969:	8b 85 88 00 00 00    	mov    0x88(%rbp),%eax
18005c96f:	39 42 10             	cmp    %eax,0x10(%rdx)
18005c972:	41 0f 44 f0          	cmove  %r8d,%esi
18005c976:	41 ff c0             	inc    %r8d
18005c979:	45 3b c2             	cmp    %r10d,%r8d
18005c97c:	72 ba                	jb     0x18005c938
18005c97e:	4d 8b c3             	mov    %r11,%r8
18005c981:	41 8b d1             	mov    %r9d,%edx
18005c984:	48 8b cd             	mov    %rbp,%rcx
18005c987:	e8 88 a4 fe ff       	call   0x180046e14
18005c98c:	48 39 9d f0 00 00 00 	cmp    %rbx,0xf0(%rbp)
18005c993:	74 05                	je     0x18005c99a
18005c995:	83 fe ff             	cmp    $0xffffffff,%esi
18005c998:	75 06                	jne    0x18005c9a0
18005c99a:	41 be 25 02 00 c0    	mov    $0xc0000225,%r14d
18005c9a0:	8b b5 84 00 00 00    	mov    0x84(%rbp),%esi
18005c9a6:	45 85 f6             	test   %r14d,%r14d
18005c9a9:	79 42                	jns    0x18005c9ed
18005c9ab:	38 5f 2b             	cmp    %bl,0x2b(%rdi)
18005c9ae:	0f 86 ba 00 00 00    	jbe    0x18005ca6e
18005c9b4:	44 8b c3             	mov    %ebx,%r8d
18005c9b7:	8b d6                	mov    %esi,%edx
18005c9b9:	48 8b cf             	mov    %rdi,%rcx
18005c9bc:	e8 8f 49 ff ff       	call   0x180051350
18005c9c1:	8a 48 02             	mov    0x2(%rax),%cl
18005c9c4:	8a c1                	mov    %cl,%al
18005c9c6:	24 0f                	and    $0xf,%al
18005c9c8:	3c 06                	cmp    $0x6,%al
18005c9ca:	75 12                	jne    0x18005c9de
18005c9cc:	c0 e9 04             	shr    $0x4,%cl
18005c9cf:	41 b1 05             	mov    $0x5,%r9b
18005c9d2:	88 4c 24 20          	mov    %cl,0x20(%rsp)
18005c9d6:	48 8b cf             	mov    %rdi,%rcx
18005c9d9:	e8 2a 8f ff ff       	call   0x180055908
18005c9de:	0f b6 47 2b          	movzbl 0x2b(%rdi),%eax
18005c9e2:	ff c3                	inc    %ebx
18005c9e4:	3b d8                	cmp    %eax,%ebx
18005c9e6:	72 cc                	jb     0x18005c9b4
18005c9e8:	e9 81 00 00 00       	jmp    0x18005ca6e
18005c9ed:	44 8b 85 88 00 00 00 	mov    0x88(%rbp),%r8d
18005c9f4:	8b d6                	mov    %esi,%edx
18005c9f6:	48 8b cf             	mov    %rdi,%rcx
18005c9f9:	e8 7e 49 ff ff       	call   0x18005137c
18005c9fe:	83 f8 ff             	cmp    $0xffffffff,%eax
18005ca01:	75 05                	jne    0x18005ca08
18005ca03:	48 8b c3             	mov    %rbx,%rax
18005ca06:	eb 08                	jmp    0x18005ca10
18005ca08:	44 8b c0             	mov    %eax,%r8d
18005ca0b:	e8 40 49 ff ff       	call   0x180051350
18005ca10:	48 8b d0             	mov    %rax,%rdx
18005ca13:	48 8b cf             	mov    %rdi,%rcx
18005ca16:	e8 a1 49 ff ff       	call   0x1800513bc
18005ca1b:	48 8b c8             	mov    %rax,%rcx
18005ca1e:	48 8b 00             	mov    (%rax),%rax
18005ca21:	48 8b 40 58          	mov    0x58(%rax),%rax
18005ca25:	ff d0                	call   *%rax
18005ca27:	0f 1f 00             	nopl   (%rax)
18005ca2a:	c6 40 04 01          	movb   $0x1,0x4(%rax)
18005ca2e:	38 5f 2b             	cmp    %bl,0x2b(%rdi)
18005ca31:	76 3b                	jbe    0x18005ca6e
18005ca33:	44 8b c3             	mov    %ebx,%r8d
18005ca36:	8b d6                	mov    %esi,%edx
18005ca38:	48 8b cf             	mov    %rdi,%rcx
18005ca3b:	e8 10 49 ff ff       	call   0x180051350
18005ca40:	48 8b d0             	mov    %rax,%rdx
18005ca43:	8a 40 02             	mov    0x2(%rax),%al
18005ca46:	24 0f                	and    $0xf,%al
18005ca48:	3c 06                	cmp    $0x6,%al
18005ca4a:	75 18                	jne    0x18005ca64
18005ca4c:	e8 6b 49 ff ff       	call   0x1800513bc
18005ca51:	48 8b c8             	mov    %rax,%rcx
18005ca54:	48 8b 00             	mov    (%rax),%rax
18005ca57:	48 8b 40 58          	mov    0x58(%rax),%rax
18005ca5b:	ff d0                	call   *%rax
18005ca5d:	0f 1f 00             	nopl   (%rax)
18005ca60:	c6 40 04 01          	movb   $0x1,0x4(%rax)
18005ca64:	0f b6 4f 2b          	movzbl 0x2b(%rdi),%ecx
18005ca68:	ff c3                	inc    %ebx
18005ca6a:	3b d9                	cmp    %ecx,%ebx
18005ca6c:	72 c5                	jb     0x18005ca33
18005ca6e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18005ca73:	41 8b c6             	mov    %r14d,%eax
18005ca76:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
18005ca7b:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18005ca80:	48 83 c4 30          	add    $0x30,%rsp
18005ca84:	41 5f                	pop    %r15
18005ca86:	41 5e                	pop    %r14
18005ca88:	5f                   	pop    %rdi
18005ca89:	c3                   	ret
18005ca8a:	cc                   	int3
18005ca8b:	cc                   	int3
18005ca8c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005ca91:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005ca96:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005ca9b:	57                   	push   %rdi
18005ca9c:	48 83 ec 30          	sub    $0x30,%rsp
18005caa0:	44 8b 82 88 00 00 00 	mov    0x88(%rdx),%r8d
18005caa7:	48 8b ea             	mov    %rdx,%rbp
18005caaa:	8b b2 84 00 00 00    	mov    0x84(%rdx),%esi
18005cab0:	48 8b d9             	mov    %rcx,%rbx
18005cab3:	8b d6                	mov    %esi,%edx
18005cab5:	e8 c2 48 ff ff       	call   0x18005137c
18005caba:	83 f8 ff             	cmp    $0xffffffff,%eax
18005cabd:	75 04                	jne    0x18005cac3
18005cabf:	33 c0                	xor    %eax,%eax
18005cac1:	eb 08                	jmp    0x18005cacb
18005cac3:	44 8b c0             	mov    %eax,%r8d
18005cac6:	e8 85 48 ff ff       	call   0x180051350
18005cacb:	48 8b d0             	mov    %rax,%rdx
18005cace:	e8 e9 48 ff ff       	call   0x1800513bc
18005cad3:	48 8b c8             	mov    %rax,%rcx
18005cad6:	48 8b 00             	mov    (%rax),%rax
18005cad9:	48 8b 40 58          	mov    0x58(%rax),%rax
18005cadd:	ff d0                	call   *%rax
18005cadf:	0f 1f 00             	nopl   (%rax)
18005cae2:	33 ff                	xor    %edi,%edi
18005cae4:	c6 40 04 00          	movb   $0x0,0x4(%rax)
18005cae8:	40 38 7b 2b          	cmp    %dil,0x2b(%rbx)
18005caec:	76 76                	jbe    0x18005cb64
18005caee:	44 8b c7             	mov    %edi,%r8d
18005caf1:	8b d6                	mov    %esi,%edx
18005caf3:	48 8b cb             	mov    %rbx,%rcx
18005caf6:	e8 55 48 ff ff       	call   0x180051350
18005cafb:	8a 48 02             	mov    0x2(%rax),%cl
18005cafe:	80 e1 0f             	and    $0xf,%cl
18005cb01:	80 f9 06             	cmp    $0x6,%cl
18005cb04:	75 54                	jne    0x18005cb5a
18005cb06:	48 8b cb             	mov    %rbx,%rcx
18005cb09:	e8 42 48 ff ff       	call   0x180051350
18005cb0e:	48 8b d0             	mov    %rax,%rdx
18005cb11:	e8 a6 48 ff ff       	call   0x1800513bc
18005cb16:	48 8b c8             	mov    %rax,%rcx
18005cb19:	48 8b 00             	mov    (%rax),%rax
18005cb1c:	48 8b 40 58          	mov    0x58(%rax),%rax
18005cb20:	ff d0                	call   *%rax
18005cb22:	0f 1f 00             	nopl   (%rax)
18005cb25:	c6 40 04 00          	movb   $0x0,0x4(%rax)
18005cb29:	8b 85 a0 00 00 00    	mov    0xa0(%rbp),%eax
18005cb2f:	3d 1a 00 e7 c0       	cmp    $0xc0e7001a,%eax
18005cb34:	74 0e                	je     0x18005cb44
18005cb36:	3d 02 00 e7 00       	cmp    $0xe70002,%eax
18005cb3b:	75 1d                	jne    0x18005cb5a
18005cb3d:	41 b1 01             	mov    $0x1,%r9b
18005cb40:	32 c0                	xor    %al,%al
18005cb42:	eb 05                	jmp    0x18005cb49
18005cb44:	41 b1 03             	mov    $0x3,%r9b
18005cb47:	b0 08                	mov    $0x8,%al
18005cb49:	44 8b c7             	mov    %edi,%r8d
18005cb4c:	88 44 24 20          	mov    %al,0x20(%rsp)
18005cb50:	8b d6                	mov    %esi,%edx
18005cb52:	48 8b cb             	mov    %rbx,%rcx
18005cb55:	e8 b2 8f ff ff       	call   0x180055b0c
18005cb5a:	0f b6 43 2b          	movzbl 0x2b(%rbx),%eax
18005cb5e:	ff c7                	inc    %edi
18005cb60:	3b f8                	cmp    %eax,%edi
18005cb62:	72 8a                	jb     0x18005caee
18005cb64:	33 d2                	xor    %edx,%edx
18005cb66:	48 8b cb             	mov    %rbx,%rcx
18005cb69:	e8 0e 90 ff ff       	call   0x180055b7c
18005cb6e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18005cb73:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18005cb78:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18005cb7d:	48 83 c4 30          	add    $0x30,%rsp
18005cb81:	5f                   	pop    %rdi
18005cb82:	c3                   	ret
18005cb83:	cc                   	int3
18005cb84:	40 55                	rex push %rbp
18005cb86:	53                   	push   %rbx
18005cb87:	48 8b ec             	mov    %rsp,%rbp
18005cb8a:	48 83 ec 28          	sub    $0x28,%rsp
18005cb8e:	33 db                	xor    %ebx,%ebx
18005cb90:	4c 8b d1             	mov    %rcx,%r10
18005cb93:	48 89 5d 18          	mov    %rbx,0x18(%rbp)
18005cb97:	48 8b 41 48          	mov    0x48(%rcx),%rax
18005cb9b:	44 8b 0a             	mov    (%rdx),%r9d
18005cb9e:	48 89 45 20          	mov    %rax,0x20(%rbp)
18005cba2:	48 8b 41 48          	mov    0x48(%rcx),%rax
18005cba6:	48 89 45 20          	mov    %rax,0x20(%rbp)
18005cbaa:	41 83 e9 02          	sub    $0x2,%r9d
18005cbae:	74 5f                	je     0x18005cc0f
18005cbb0:	41 83 e9 03          	sub    $0x3,%r9d
18005cbb4:	74 24                	je     0x18005cbda
18005cbb6:	41 83 f9 01          	cmp    $0x1,%r9d
18005cbba:	74 07                	je     0x18005cbc3
18005cbbc:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18005cbc1:	eb 6f                	jmp    0x18005cc32
18005cbc3:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
18005cbc7:	48 c1 e9 20          	shr    $0x20,%rcx
18005cbcb:	81 e1 ff ff ff 1f    	and    $0x1fffffff,%ecx
18005cbd1:	0f ba e9 1d          	bts    $0x1d,%ecx
18005cbd5:	89 4d 1c             	mov    %ecx,0x1c(%rbp)
18005cbd8:	eb 07                	jmp    0x18005cbe1
18005cbda:	81 65 1c ff ff ff 1f 	andl   $0x1fffffff,0x1c(%rbp)
18005cbe1:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
18005cbe5:	4c 8d 45 28          	lea    0x28(%rbp),%r8
18005cbe9:	48 89 4d 28          	mov    %rcx,0x28(%rbp)
18005cbed:	48 8d 55 30          	lea    0x30(%rbp),%rdx
18005cbf1:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
18005cbf5:	48 89 4d 28          	mov    %rcx,0x28(%rbp)
18005cbf9:	48 8b 4d 20          	mov    0x20(%rbp),%rcx
18005cbfd:	48 89 4d 30          	mov    %rcx,0x30(%rbp)
18005cc01:	49 8b ca             	mov    %r10,%rcx
18005cc04:	48 89 45 30          	mov    %rax,0x30(%rbp)
18005cc08:	e8 eb ed ff ff       	call   0x18005b9f8
18005cc0d:	eb 23                	jmp    0x18005cc32
18005cc0f:	f7 45 24 00 00 00 e0 	testl  $0xe0000000,0x24(%rbp)
18005cc16:	75 1a                	jne    0x18005cc32
18005cc18:	83 f8 01             	cmp    $0x1,%eax
18005cc1b:	75 15                	jne    0x18005cc32