18006ac52:	24 0f                	and    $0xf,%al
18006ac54:	3c 0f                	cmp    $0xf,%al
18006ac56:	0f 85 c9 00 00 00    	jne    0x18006ad25
18006ac5c:	f6 03 40             	testb  $0x40,(%rbx)
18006ac5f:	74 10                	je     0x18006ac71
18006ac61:	40 8a 2b             	mov    (%rbx),%bpl
18006ac64:	40 b7 01             	mov    $0x1,%dil
18006ac67:	44 8a 73 0d          	mov    0xd(%rbx),%r14b
18006ac6b:	40 80 e5 3f          	and    $0x3f,%bpl
18006ac6f:	eb 2c                	jmp    0x18006ac9d
18006ac71:	40 84 ff             	test   %dil,%dil
18006ac74:	0f 84 b4 00 00 00    	je     0x18006ad2e
18006ac7a:	8a 13                	mov    (%rbx),%dl
18006ac7c:	80 e2 3f             	and    $0x3f,%dl
18006ac7f:	40 0f b6 cd          	movzbl %bpl,%ecx
18006ac83:	0f b6 c2             	movzbl %dl,%eax
18006ac86:	ff c9                	dec    %ecx
18006ac88:	3b c1                	cmp    %ecx,%eax
18006ac8a:	0f 85 9b 00 00 00    	jne    0x18006ad2b
18006ac90:	44 3a 73 0d          	cmp    0xd(%rbx),%r14b
18006ac94:	0f 85 91 00 00 00    	jne    0x18006ad2b
18006ac9a:	40 8a ea             	mov    %dl,%bpl
18006ac9d:	44 0f b6 03          	movzbl (%rbx),%r8d
18006aca1:	41 83 e0 3f          	and    $0x3f,%r8d
18006aca5:	41 8d 40 ff          	lea    -0x1(%r8),%eax
18006aca9:	6b c8 0d             	imul   $0xd,%eax,%ecx
18006acac:	41 8d 40 ff          	lea    -0x1(%r8),%eax
18006acb0:	83 f8 13             	cmp    $0x13,%eax
18006acb3:	77 5a                	ja     0x18006ad0f
18006acb5:	f2 0f 10 43 01       	movsd  0x1(%rbx),%xmm0
18006acba:	f2 0f 11 04 4e       	movsd  %xmm0,(%rsi,%rcx,2)
18006acbf:	0f b7 43 09          	movzwl 0x9(%rbx),%eax
18006acc3:	66 89 44 4e 08       	mov    %ax,0x8(%rsi,%rcx,2)
18006acc8:	41 83 f8 14          	cmp    $0x14,%r8d
18006accc:	75 18                	jne    0x18006ace6
18006acce:	8b 43 0e             	mov    0xe(%rbx),%eax
18006acd1:	89 44 4e 0a          	mov    %eax,0xa(%rsi,%rcx,2)
18006acd5:	0f b7 43 12          	movzwl 0x12(%rbx),%eax
18006acd9:	66 89 44 4e 0e       	mov    %ax,0xe(%rsi,%rcx,2)
18006acde:	66 44 89 6c 4e 10    	mov    %r13w,0x10(%rsi,%rcx,2)
18006ace4:	eb 24                	jmp    0x18006ad0a
18006ace6:	f2 0f 10 43 0e       	movsd  0xe(%rbx),%xmm0
18006aceb:	f2 0f 11 44 4e 0a    	movsd  %xmm0,0xa(%rsi,%rcx,2)
18006acf1:	8b 43 16             	mov    0x16(%rbx),%eax
18006acf4:	89 44 4e 12          	mov    %eax,0x12(%rsi,%rcx,2)
18006acf8:	8b 43 1c             	mov    0x1c(%rbx),%eax
18006acfb:	89 44 4e 16          	mov    %eax,0x16(%rsi,%rcx,2)
18006acff:	f6 03 40             	testb  $0x40,(%rbx)
18006ad02:	74 06                	je     0x18006ad0a
18006ad04:	66 44 89 6c 4e 1a    	mov    %r13w,0x1a(%rsi,%rcx,2)
18006ad0a:	41 8b d5             	mov    %r13d,%edx
18006ad0d:	eb 05                	jmp    0x18006ad14
18006ad0f:	ba 0d 00 00 c0       	mov    $0xc000000d,%edx
18006ad14:	40 0f b6 c7          	movzbl %dil,%eax
18006ad18:	85 d2                	test   %edx,%edx
18006ad1a:	41 8b cd             	mov    %r13d,%ecx
18006ad1d:	0f 49 c8             	cmovns %eax,%ecx
18006ad20:	40 8a f9             	mov    %cl,%dil
18006ad23:	eb 09                	jmp    0x18006ad2e
18006ad25:	f6 43 0b 08          	testb  $0x8,0xb(%rbx)
18006ad29:	74 24                	je     0x18006ad4f
18006ad2b:	41 8a fd             	mov    %r13b,%dil
18006ad2e:	4d 8b c7             	mov    %r15,%r8
18006ad31:	48 8b d3             	mov    %rbx,%rdx
18006ad34:	49 8b cc             	mov    %r12,%rcx
18006ad37:	e8 60 fe ff ff       	call   0x18006ab9c
18006ad3c:	41 ba e5 00 00 00    	mov    $0xe5,%r10d
18006ad42:	85 c0                	test   %eax,%eax
18006ad44:	0f 89 fc fe ff ff    	jns    0x18006ac46
18006ad4a:	e9 95 00 00 00       	jmp    0x18006ade4
18006ad4f:	40 84 ff             	test   %dil,%dil
18006ad52:	74 27                	je     0x18006ad7b
18006ad54:	40 80 fd 01          	cmp    $0x1,%bpl
18006ad58:	75 21                	jne    0x18006ad7b
18006ad5a:	41 b9 01 00 02 00    	mov    $0x20001,%r9d
18006ad60:	41 b8 0b 00 00 00    	mov    $0xb,%r8d
18006ad66:	48 8b d3             	mov    %rbx,%rdx
18006ad69:	33 c9                	xor    %ecx,%ecx
18006ad6b:	e8 0c 81 02 00       	call   0x180092e7c
18006ad70:	41 3a c6             	cmp    %r14b,%al
18006ad73:	74 6c                	je     0x18006ade1
18006ad75:	41 ba e5 00 00 00    	mov    $0xe5,%r10d
18006ad7b:	48 8b d3             	mov    %rbx,%rdx
18006ad7e:	48 8b ce             	mov    %rsi,%rcx
18006ad81:	45 8b c5             	mov    %r13d,%r8d
18006ad84:	41 b1 20             	mov    $0x20,%r9b
18006ad87:	44 38 0a             	cmp    %r9b,(%rdx)
18006ad8a:	74 16                	je     0x18006ada2
18006ad8c:	0f be 02             	movsbl (%rdx),%eax
18006ad8f:	41 ff c0             	inc    %r8d
18006ad92:	66 89 01             	mov    %ax,(%rcx)
18006ad95:	48 ff c2             	inc    %rdx
18006ad98:	48 83 c1 02          	add    $0x2,%rcx
18006ad9c:	41 83 f8 08          	cmp    $0x8,%r8d
18006ada0:	72 e5                	jb     0x18006ad87
18006ada2:	48 83 c3 08          	add    $0x8,%rbx
18006ada6:	44 38 0b             	cmp    %r9b,(%rbx)
18006ada9:	74 0c                	je     0x18006adb7
18006adab:	b8 2e 00 00 00       	mov    $0x2e,%eax
18006adb0:	66 89 01             	mov    %ax,(%rcx)
18006adb3:	48 83 c1 02          	add    $0x2,%rcx
18006adb7:	41 8b d5             	mov    %r13d,%edx
18006adba:	44 38 0b             	cmp    %r9b,(%rbx)
18006adbd:	74 14                	je     0x18006add3
18006adbf:	0f be 03             	movsbl (%rbx),%eax
18006adc2:	ff c2                	inc    %edx
18006adc4:	66 89 01             	mov    %ax,(%rcx)
18006adc7:	48 ff c3             	inc    %rbx
18006adca:	48 83 c1 02          	add    $0x2,%rcx
18006adce:	83 fa 03             	cmp    $0x3,%edx
18006add1:	72 e7                	jb     0x18006adba
18006add3:	66 44 89 29          	mov    %r13w,(%rcx)
18006add7:	66 83 3e 05          	cmpw   $0x5,(%rsi)
18006addb:	75 04                	jne    0x18006ade1
18006addd:	66 44 89 16          	mov    %r10w,(%rsi)
18006ade1:	41 8b c5             	mov    %r13d,%eax
18006ade4:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18006ade9:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
18006adee:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18006adf3:	48 83 c4 20          	add    $0x20,%rsp
18006adf7:	41 5f                	pop    %r15
18006adf9:	41 5e                	pop    %r14
18006adfb:	41 5d                	pop    %r13
18006adfd:	41 5c                	pop    %r12
18006adff:	5f                   	pop    %rdi
18006ae00:	c3                   	ret
18006ae01:	cc                   	int3
18006ae02:	cc                   	int3
18006ae03:	cc                   	int3
18006ae04:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18006ae09:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18006ae0e:	57                   	push   %rdi
18006ae0f:	48 83 ec 50          	sub    $0x50,%rsp
18006ae13:	48 8b 59 78          	mov    0x78(%rcx),%rbx
18006ae17:	48 8b f1             	mov    %rcx,%rsi
18006ae1a:	48 83 63 48 00       	andq   $0x0,0x48(%rbx)
18006ae1f:	48 8b 43 28          	mov    0x28(%rbx),%rax
18006ae23:	48 83 63 38 00       	andq   $0x0,0x38(%rbx)
18006ae28:	48 89 43 30          	mov    %rax,0x30(%rbx)
18006ae2c:	33 ff                	xor    %edi,%edi
18006ae2e:	eb 0e                	jmp    0x18006ae3e
18006ae30:	80 7c 24 30 00       	cmpb   $0x0,0x30(%rsp)
18006ae35:	74 25                	je     0x18006ae5c
18006ae37:	48 83 c7 20          	add    $0x20,%rdi
18006ae3b:	48 8b ce             	mov    %rsi,%rcx
18006ae3e:	4c 8d 4c 24 60       	lea    0x60(%rsp),%r9
18006ae43:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
18006ae48:	41 b8 20 00 00 00    	mov    $0x20,%r8d
18006ae4e:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18006ae53:	e8 58 08 00 00       	call   0x18006b6b0
18006ae58:	85 c0                	test   %eax,%eax
18006ae5a:	79 d4                	jns    0x18006ae30
18006ae5c:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
18006ae60:	48 8b c7             	mov    %rdi,%rax
18006ae63:	48 83 63 38 00       	andq   $0x0,0x38(%rbx)
18006ae68:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18006ae6d:	48 89 4b 30          	mov    %rcx,0x30(%rbx)
18006ae71:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
18006ae76:	48 83 c4 50          	add    $0x50,%rsp
18006ae7a:	5f                   	pop    %rdi
18006ae7b:	c3                   	ret
18006ae7c:	cc                   	int3
18006ae7d:	cc                   	int3
18006ae7e:	cc                   	int3
18006ae7f:	cc                   	int3
18006ae80:	48 8b c4             	mov    %rsp,%rax
18006ae83:	48 89 68 08          	mov    %rbp,0x8(%rax)
18006ae87:	48 89 70 10          	mov    %rsi,0x10(%rax)
18006ae8b:	48 89 78 18          	mov    %rdi,0x18(%rax)
18006ae8f:	4c 89 70 20          	mov    %r14,0x20(%rax)
18006ae93:	66 83 79 0e 00       	cmpw   $0x0,0xe(%rcx)
18006ae98:	44 8b f2             	mov    %edx,%r14d
18006ae9b:	4c 8b d1             	mov    %rcx,%r10
18006ae9e:	75 1a                	jne    0x18006aeba
18006aea0:	41 0f b7 6a 04       	movzwl 0x4(%r10),%ebp
18006aea5:	b1 20                	mov    $0x20,%cl
18006aea7:	41 8a 72 06          	mov    0x6(%r10),%sil
18006aeab:	45 8a 4a 02          	mov    0x2(%r10),%r9b
18006aeaf:	41 0f b7 3a          	movzwl (%r10),%edi
18006aeb3:	45 0f b7 5a 08       	movzwl 0x8(%r10),%r11d
18006aeb8:	eb 68                	jmp    0x18006af22
18006aeba:	66 83 79 0a 00       	cmpw   $0x0,0xa(%rcx)
18006aebf:	74 06                	je     0x18006aec7
18006aec1:	0f b7 49 0a          	movzwl 0xa(%rcx),%ecx
18006aec5:	eb 03                	jmp    0x18006aeca
18006aec7:	8b 49 18             	mov    0x18(%rcx),%ecx
18006aeca:	45 0f b7 5a 08       	movzwl 0x8(%r10),%r11d
18006aecf:	33 d2                	xor    %edx,%edx
18006aed1:	41 0f b7 3a          	movzwl (%r10),%edi
18006aed5:	41 8b c3             	mov    %r11d,%eax
18006aed8:	41 0f b6 72 06       	movzbl 0x6(%r10),%esi
18006aedd:	41 0f b7 6a 04       	movzwl 0x4(%r10),%ebp
18006aee2:	45 0f b6 4a 02       	movzbl 0x2(%r10),%r9d
18006aee7:	48 c1 e0 05          	shl    $0x5,%rax
18006aeeb:	48 f7 f7             	div    %rdi
18006aeee:	44 8b c1             	mov    %ecx,%r8d
18006aef1:	8b d6                	mov    %esi,%edx
18006aef3:	41 0f b7 4a 0e       	movzwl 0xe(%r10),%ecx
18006aef8:	4c 2b c0             	sub    %rax,%r8
18006aefb:	48 0f af d1          	imul   %rcx,%rdx
18006aeff:	4c 2b c2             	sub    %rdx,%r8
18006af02:	33 d2                	xor    %edx,%edx
18006af04:	4c 2b c5             	sub    %rbp,%r8
18006af07:	49 8b c0             	mov    %r8,%rax
18006af0a:	49 f7 f1             	div    %r9
18006af0d:	ba f7 0f 00 00       	mov    $0xff7,%edx
18006af12:	48 3b c2             	cmp    %rdx,%rax
18006af15:	1a c9                	sbb    %cl,%cl
18006af17:	80 e1 fc             	and    $0xfc,%cl
18006af1a:	80 c1 10             	add    $0x10,%cl
18006af1d:	48 3b c2             	cmp    %rdx,%rax
18006af20:	72 1f                	jb     0x18006af41
18006af22:	41 0f b6 d1          	movzbl %r9b,%edx
18006af26:	0f b7 c7             	movzwl %di,%eax
18006af29:	44 8b c8             	mov    %eax,%r9d
18006af2c:	4c 0f af ca          	imul   %rdx,%r9
18006af30:	80 f9 20             	cmp    $0x20,%cl
18006af33:	74 06                	je     0x18006af3b
18006af35:	49 c1 e1 10          	shl    $0x10,%r9
18006af39:	eb 14                	jmp    0x18006af4f
18006af3b:	49 c1 e1 20          	shl    $0x20,%r9
18006af3f:	eb 0e                	jmp    0x18006af4f
18006af41:	41 8a d1             	mov    %r9b,%dl
18006af44:	0f b7 c7             	movzwl %di,%eax
18006af47:	4c 0f af cf          	imul   %rdi,%r9
18006af4b:	49 c1 e1 0c          	shl    $0xc,%r9
18006af4f:	49 ff c9             	dec    %r9
18006af52:	44 0f b7 c0          	movzwl %ax,%r8d
18006af56:	66 41 83 7a 0e 00    	cmpw   $0x0,0xe(%r10)
18006af5c:	75 06                	jne    0x18006af64
18006af5e:	41 8b 42 1c          	mov    0x1c(%r10),%eax
18006af62:	eb 05                	jmp    0x18006af69
18006af64:	41 0f b7 42 0e       	movzwl 0xe(%r10),%eax
18006af69:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
18006af6e:	40 0f b6 ce          	movzbl %sil,%ecx
18006af72:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
18006af77:	0f af c8             	imul   %eax,%ecx
18006af7a:	0f b7 c5             	movzwl %bp,%eax
18006af7d:	48 8b 6c 24 08       	mov    0x8(%rsp),%rbp
18006af82:	03 c8                	add    %eax,%ecx
18006af84:	41 0f b7 c3          	movzwl %r11w,%eax
18006af88:	41 0f af c8          	imul   %r8d,%ecx
18006af8c:	c1 e0 05             	shl    $0x5,%eax
18006af8f:	03 c1                	add    %ecx,%eax
18006af91:	0f b6 ca             	movzbl %dl,%ecx
18006af94:	41 8d 56 fe          	lea    -0x2(%r14),%edx
18006af98:	44 0f af c1          	imul   %ecx,%r8d
18006af9c:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
18006afa1:	4c 0f af c2          	imul   %rdx,%r8
18006afa5:	49 03 c0             	add    %r8,%rax
18006afa8:	49 23 c1             	and    %r9,%rax
18006afab:	c3                   	ret
18006afac:	cc                   	int3
18006afad:	cc                   	int3
18006afae:	cc                   	int3
18006afaf:	cc                   	int3
18006afb0:	48 8b c4             	mov    %rsp,%rax
18006afb3:	48 89 58 08          	mov    %rbx,0x8(%rax)
18006afb7:	48 89 68 10          	mov    %rbp,0x10(%rax)
18006afbb:	48 89 70 18          	mov    %rsi,0x18(%rax)
18006afbf:	48 89 78 20          	mov    %rdi,0x20(%rax)
18006afc3:	44 0f b7 51 0e       	movzwl 0xe(%rcx),%r10d
18006afc8:	4c 8b c1             	mov    %rcx,%r8
18006afcb:	44 0f b7 19          	movzwl (%rcx),%r11d
18006afcf:	66 45 85 d2          	test   %r10w,%r10w
18006afd3:	75 05                	jne    0x18006afda
18006afd5:	8b 41 1c             	mov    0x1c(%rcx),%eax
18006afd8:	eb 03                	jmp    0x18006afdd
18006afda:	41 8b c2             	mov    %r10d,%eax
18006afdd:	0f b7 79 08          	movzwl 0x8(%rcx),%edi
18006afe1:	0f b6 59 06          	movzbl 0x6(%rcx),%ebx
18006afe5:	0f b7 69 04          	movzwl 0x4(%rcx),%ebp
18006afe9:	0f b6 71 02          	movzbl 0x2(%rcx),%esi
18006afed:	8b cb                	mov    %ebx,%ecx
18006afef:	0f af c8             	imul   %eax,%ecx
18006aff2:	8b c7                	mov    %edi,%eax
18006aff4:	c1 e0 05             	shl    $0x5,%eax
18006aff7:	03 cd                	add    %ebp,%ecx
18006aff9:	41 0f af cb          	imul   %r11d,%ecx
18006affd:	03 c1                	add    %ecx,%eax
18006afff:	8b ce                	mov    %esi,%ecx
18006b001:	48 2b d0             	sub    %rax,%rdx
18006b004:	41 0f af cb          	imul   %r11d,%ecx
18006b008:	48 8b c2             	mov    %rdx,%rax
18006b00b:	48 99                	cqto
18006b00d:	48 f7 f9             	idiv   %rcx
18006b010:	44 8d 48 02          	lea    0x2(%rax),%r9d
18006b014:	66 45 85 d2          	test   %r10w,%r10w
18006b018:	74 4c                	je     0x18006b066
18006b01a:	41 0f b7 40 0a       	movzwl 0xa(%r8),%eax
18006b01f:	66 85 c0             	test   %ax,%ax
18006b022:	74 05                	je     0x18006b029
18006b024:	44 8b c0             	mov    %eax,%r8d
18006b027:	eb 04                	jmp    0x18006b02d
18006b029:	45 8b 40 18          	mov    0x18(%r8),%r8d
18006b02d:	33 d2                	xor    %edx,%edx
18006b02f:	48 8b c7             	mov    %rdi,%rax
18006b032:	48 c1 e0 05          	shl    $0x5,%rax
18006b036:	49 f7 f3             	div    %r11
18006b039:	48 8b d3             	mov    %rbx,%rdx
18006b03c:	4c 2b c0             	sub    %rax,%r8
18006b03f:	49 0f af d2          	imul   %r10,%rdx
18006b043:	4c 2b c2             	sub    %rdx,%r8
18006b046:	33 d2                	xor    %edx,%edx
18006b048:	4c 2b c5             	sub    %rbp,%r8
18006b04b:	49 8b c0             	mov    %r8,%rax
18006b04e:	48 f7 f6             	div    %rsi
18006b051:	48 3d f7 0f 00 00    	cmp    $0xff7,%rax
18006b057:	72 06                	jb     0x18006b05f
18006b059:	45 0f b7 c9          	movzwl %r9w,%r9d
18006b05d:	eb 07                	jmp    0x18006b066
18006b05f:	41 81 e1 ff 0f 00 00 	and    $0xfff,%r9d
18006b066:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18006b06b:	41 8b c1             	mov    %r9d,%eax
18006b06e:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
18006b073:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
18006b078:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
18006b07d:	c3                   	ret
18006b07e:	cc                   	int3
18006b07f:	cc                   	int3
18006b080:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18006b085:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18006b08a:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18006b08f:	57                   	push   %rdi
18006b090:	41 54                	push   %r12
18006b092:	41 55                	push   %r13
18006b094:	41 56                	push   %r14
18006b096:	41 57                	push   %r15
18006b098:	48 83 ec 20          	sub    $0x20,%rsp
18006b09c:	48 8b 41 78          	mov    0x78(%rcx),%rax
18006b0a0:	4c 8b f1             	mov    %rcx,%r14
18006b0a3:	8b fa                	mov    %edx,%edi
18006b0a5:	44 8b 40 60          	mov    0x60(%rax),%r8d
18006b0a9:	48 8b 05 c8 9a 13 00 	mov    0x139ac8(%rip),%rax        # 0x1801a4b78
18006b0b0:	4a 8b 1c c0          	mov    (%rax,%r8,8),%rbx
18006b0b4:	83 fa 01             	cmp    $0x1,%edx
18006b0b7:	0f 86 5c 01 00 00    	jbe    0x18006b219
18006b0bd:	0f b7 6b 0e          	movzwl 0xe(%rbx),%ebp
18006b0c1:	0f b7 73 0a          	movzwl 0xa(%rbx),%esi
18006b0c5:	66 85 ed             	test   %bp,%bp
18006b0c8:	75 2e                	jne    0x18006b0f8
18006b0ca:	8b ce                	mov    %esi,%ecx
18006b0cc:	66 85 f6             	test   %si,%si
18006b0cf:	75 03                	jne    0x18006b0d4
18006b0d1:	8b 4b 18             	mov    0x18(%rbx),%ecx
18006b0d4:	44 0f b6 7b 06       	movzbl 0x6(%rbx),%r15d
18006b0d9:	33 d2                	xor    %edx,%edx
18006b0db:	8b 43 1c             	mov    0x1c(%rbx),%eax
18006b0de:	44 0f b7 63 04       	movzwl 0x4(%rbx),%r12d
18006b0e3:	44 0f b6 6b 02       	movzbl 0x2(%rbx),%r13d