14002dcd9:	33 d2                	xor    %edx,%edx
14002dcdb:	c6 40 30 01          	movb   $0x1,0x30(%rax)
14002dcdf:	c7 40 2c 16 00 00 00 	movl   $0x16,0x2c(%rax)
14002dce6:	48 8b 41 08          	mov    0x8(%rcx),%rax
14002dcea:	33 c9                	xor    %ecx,%ecx
14002dcec:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14002dcf1:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14002dcf7:	e8 dc d7 ff ff       	call   0x14002b4d8
14002dcfc:	32 c0                	xor    %al,%al
14002dcfe:	e9 9b 00 00 00       	jmp    0x14002dd9e
14002dd03:	8b 51 28             	mov    0x28(%rcx),%edx
14002dd06:	bf 04 00 00 00       	mov    $0x4,%edi
14002dd0b:	48 8b 49 18          	mov    0x18(%rcx),%rcx
14002dd0f:	8b c2                	mov    %edx,%eax
14002dd11:	c1 e8 04             	shr    $0x4,%eax
14002dd14:	a8 01                	test   $0x1,%al
14002dd16:	48 8d 41 08          	lea    0x8(%rcx),%rax
14002dd1a:	48 89 43 18          	mov    %rax,0x18(%rbx)
14002dd1e:	74 08                	je     0x14002dd28
14002dd20:	48 63 31             	movslq (%rcx),%rsi
14002dd23:	e9 06 ff ff ff       	jmp    0x14002dc2e
14002dd28:	8b 31                	mov    (%rcx),%esi
14002dd2a:	e9 ff fe ff ff       	jmp    0x14002dc2e
14002dd2f:	4c 8b 43 08          	mov    0x8(%rbx),%r8
14002dd33:	48 8d 4b 50          	lea    0x50(%rbx),%rcx
14002dd37:	83 e2 f7             	and    $0xfffffff7,%edx
14002dd3a:	89 53 28             	mov    %edx,0x28(%rbx)
14002dd3d:	48 63 53 30          	movslq 0x30(%rbx),%rdx
14002dd41:	e8 2e e9 ff ff       	call   0x14002c674
14002dd46:	48 85 f6             	test   %rsi,%rsi
14002dd49:	75 04                	jne    0x14002dd4f
14002dd4b:	83 63 28 df          	andl   $0xffffffdf,0x28(%rbx)
14002dd4f:	c6 43 4c 01          	movb   $0x1,0x4c(%rbx)
14002dd53:	44 8a c5             	mov    %bpl,%r8b
14002dd56:	48 8b cb             	mov    %rbx,%rcx
14002dd59:	49 3b fe             	cmp    %r14,%rdi
14002dd5c:	75 0a                	jne    0x14002dd68
14002dd5e:	48 8b d6             	mov    %rsi,%rdx
14002dd61:	e8 ca 06 00 00       	call   0x14002e430
14002dd66:	eb 07                	jmp    0x14002dd6f
14002dd68:	8b d6                	mov    %esi,%edx
14002dd6a:	e8 31 03 00 00       	call   0x14002e0a0
14002dd6f:	8b 43 28             	mov    0x28(%rbx),%eax
14002dd72:	c1 e8 07             	shr    $0x7,%eax
14002dd75:	a8 01                	test   $0x1,%al
14002dd77:	74 23                	je     0x14002dd9c
14002dd79:	83 7b 48 00          	cmpl   $0x0,0x48(%rbx)
14002dd7d:	ba 30 00 00 00       	mov    $0x30,%edx
14002dd82:	74 09                	je     0x14002dd8d
14002dd84:	48 8b 43 40          	mov    0x40(%rbx),%rax
14002dd88:	66 39 10             	cmp    %dx,(%rax)
14002dd8b:	74 0f                	je     0x14002dd9c
14002dd8d:	48 83 43 40 fe       	addq   $0xfffffffffffffffe,0x40(%rbx)
14002dd92:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
14002dd96:	66 89 11             	mov    %dx,(%rcx)
14002dd99:	ff 43 48             	incl   0x48(%rbx)
14002dd9c:	b0 01                	mov    $0x1,%al
14002dd9e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14002dda3:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14002dda8:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14002ddad:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14002ddb2:	48 83 c4 30          	add    $0x30,%rsp
14002ddb6:	41 5e                	pop    %r14
14002ddb8:	c3                   	ret
14002ddb9:	cc                   	int3
14002ddba:	cc                   	int3
14002ddbb:	cc                   	int3
14002ddbc:	4c 8d 41 50          	lea    0x50(%rcx),%r8
14002ddc0:	44 8b ca             	mov    %edx,%r9d
14002ddc3:	49 8b 80 08 04 00 00 	mov    0x408(%r8),%rax
14002ddca:	48 85 c0             	test   %rax,%rax
14002ddcd:	75 07                	jne    0x14002ddd6
14002ddcf:	b8 00 02 00 00       	mov    $0x200,%eax
14002ddd4:	eb 0d                	jmp    0x14002dde3
14002ddd6:	4c 8b c0             	mov    %rax,%r8
14002ddd9:	48 8b 81 50 04 00 00 	mov    0x450(%rcx),%rax
14002dde0:	48 d1 e8             	shr    $1,%rax
14002dde3:	49 8d 50 ff          	lea    -0x1(%r8),%rdx
14002dde7:	48 03 d0             	add    %rax,%rdx
14002ddea:	48 89 51 40          	mov    %rdx,0x40(%rcx)
14002ddee:	4c 8b c2             	mov    %rdx,%r8
14002ddf1:	8b 41 30             	mov    0x30(%rcx),%eax
14002ddf4:	85 c0                	test   %eax,%eax
14002ddf6:	7f 05                	jg     0x14002ddfd
14002ddf8:	45 85 c9             	test   %r9d,%r9d
14002ddfb:	74 1d                	je     0x14002de1a
14002ddfd:	ff c8                	dec    %eax
14002ddff:	89 41 30             	mov    %eax,0x30(%rcx)
14002de02:	41 8a c1             	mov    %r9b,%al
14002de05:	24 07                	and    $0x7,%al
14002de07:	41 c1 e9 03          	shr    $0x3,%r9d
14002de0b:	04 30                	add    $0x30,%al
14002de0d:	41 88 00             	mov    %al,(%r8)
14002de10:	48 ff 49 40          	decq   0x40(%rcx)
14002de14:	4c 8b 41 40          	mov    0x40(%rcx),%r8
14002de18:	eb d7                	jmp    0x14002ddf1
14002de1a:	2b 51 40             	sub    0x40(%rcx),%edx
14002de1d:	49 8d 40 01          	lea    0x1(%r8),%rax
14002de21:	89 51 48             	mov    %edx,0x48(%rcx)
14002de24:	48 89 41 40          	mov    %rax,0x40(%rcx)
14002de28:	c3                   	ret
14002de29:	cc                   	int3
14002de2a:	cc                   	int3
14002de2b:	cc                   	int3
14002de2c:	48 8b 81 58 04 00 00 	mov    0x458(%rcx),%rax
14002de33:	4c 8b c1             	mov    %rcx,%r8
14002de36:	48 83 c1 50          	add    $0x50,%rcx
14002de3a:	48 85 c0             	test   %rax,%rax
14002de3d:	75 07                	jne    0x14002de46
14002de3f:	b8 00 01 00 00       	mov    $0x100,%eax
14002de44:	eb 0e                	jmp    0x14002de54
14002de46:	48 8b c8             	mov    %rax,%rcx
14002de49:	49 8b 80 50 04 00 00 	mov    0x450(%r8),%rax
14002de50:	48 c1 e8 02          	shr    $0x2,%rax
14002de54:	48 8d 0c 41          	lea    (%rcx,%rax,2),%rcx
14002de58:	48 83 c1 fe          	add    $0xfffffffffffffffe,%rcx
14002de5c:	49 89 48 40          	mov    %rcx,0x40(%r8)
14002de60:	48 8b c1             	mov    %rcx,%rax
14002de63:	4c 8b d9             	mov    %rcx,%r11
14002de66:	45 8b 50 30          	mov    0x30(%r8),%r10d
14002de6a:	44 8b ca             	mov    %edx,%r9d
14002de6d:	45 85 d2             	test   %r10d,%r10d
14002de70:	7f 04                	jg     0x14002de76
14002de72:	85 d2                	test   %edx,%edx
14002de74:	74 27                	je     0x14002de9d
14002de76:	66 41 83 e1 07       	and    $0x7,%r9w
14002de7b:	c1 ea 03             	shr    $0x3,%edx
14002de7e:	41 8d 42 ff          	lea    -0x1(%r10),%eax
14002de82:	66 41 83 c1 30       	add    $0x30,%r9w
14002de87:	41 89 40 30          	mov    %eax,0x30(%r8)
14002de8b:	66 45 89 0b          	mov    %r9w,(%r11)
14002de8f:	49 83 40 40 fe       	addq   $0xfffffffffffffffe,0x40(%r8)
14002de94:	49 8b 40 40          	mov    0x40(%r8),%rax
14002de98:	4c 8b d8             	mov    %rax,%r11
14002de9b:	eb c9                	jmp    0x14002de66
14002de9d:	48 2b c8             	sub    %rax,%rcx
14002dea0:	48 83 c0 02          	add    $0x2,%rax
14002dea4:	48 d1 f9             	sar    $1,%rcx
14002dea7:	41 89 48 48          	mov    %ecx,0x48(%r8)
14002deab:	49 89 40 40          	mov    %rax,0x40(%r8)
14002deaf:	c3                   	ret
14002deb0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002deb5:	48 8b 81 58 04 00 00 	mov    0x458(%rcx),%rax
14002debc:	4c 8b c9             	mov    %rcx,%r9
14002debf:	48 83 c1 50          	add    $0x50,%rcx
14002dec3:	41 8a d8             	mov    %r8b,%bl
14002dec6:	44 8b da             	mov    %edx,%r11d
14002dec9:	48 85 c0             	test   %rax,%rax
14002decc:	75 07                	jne    0x14002ded5
14002dece:	b8 00 02 00 00       	mov    $0x200,%eax
14002ded3:	eb 0d                	jmp    0x14002dee2
14002ded5:	48 8b c8             	mov    %rax,%rcx
14002ded8:	49 8b 81 50 04 00 00 	mov    0x450(%r9),%rax
14002dedf:	48 d1 e8             	shr    $1,%rax
14002dee2:	4c 8d 41 ff          	lea    -0x1(%rcx),%r8
14002dee6:	4c 03 c0             	add    %rax,%r8
14002dee9:	4d 89 41 40          	mov    %r8,0x40(%r9)
14002deed:	4d 8b d0             	mov    %r8,%r10
14002def0:	41 8b 41 30          	mov    0x30(%r9),%eax
14002def4:	85 c0                	test   %eax,%eax
14002def6:	7f 05                	jg     0x14002defd
14002def8:	45 85 db             	test   %r11d,%r11d
14002defb:	74 47                	je     0x14002df44
14002defd:	ff c8                	dec    %eax
14002deff:	41 89 41 30          	mov    %eax,0x30(%r9)
14002df03:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14002df08:	41 f7 e3             	mul    %r11d
14002df0b:	c1 ea 03             	shr    $0x3,%edx
14002df0e:	8a c2                	mov    %dl,%al
14002df10:	c0 e0 02             	shl    $0x2,%al
14002df13:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
14002df16:	02 c9                	add    %cl,%cl
14002df18:	44 2a d9             	sub    %cl,%r11b
14002df1b:	41 80 c3 30          	add    $0x30,%r11b
14002df1f:	41 8a c3             	mov    %r11b,%al
14002df22:	41 8a cb             	mov    %r11b,%cl
14002df25:	44 8b da             	mov    %edx,%r11d
14002df28:	3c 39                	cmp    $0x39,%al
14002df2a:	7e 0b                	jle    0x14002df37
14002df2c:	8a c3                	mov    %bl,%al
14002df2e:	34 01                	xor    $0x1,%al
14002df30:	c0 e0 05             	shl    $0x5,%al
14002df33:	04 07                	add    $0x7,%al
14002df35:	02 c1                	add    %cl,%al
14002df37:	41 88 02             	mov    %al,(%r10)
14002df3a:	49 ff 49 40          	decq   0x40(%r9)
14002df3e:	4d 8b 51 40          	mov    0x40(%r9),%r10
14002df42:	eb ac                	jmp    0x14002def0
14002df44:	45 2b 41 40          	sub    0x40(%r9),%r8d
14002df48:	49 8d 42 01          	lea    0x1(%r10),%rax
14002df4c:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14002df51:	45 89 41 48          	mov    %r8d,0x48(%r9)
14002df55:	49 89 41 40          	mov    %rax,0x40(%r9)
14002df59:	c3                   	ret
14002df5a:	cc                   	int3
14002df5b:	cc                   	int3
14002df5c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002df61:	48 8b 81 58 04 00 00 	mov    0x458(%rcx),%rax
14002df68:	4c 8b c9             	mov    %rcx,%r9
14002df6b:	48 83 c1 50          	add    $0x50,%rcx
14002df6f:	41 8a d8             	mov    %r8b,%bl
14002df72:	44 8b d2             	mov    %edx,%r10d
14002df75:	48 85 c0             	test   %rax,%rax
14002df78:	75 07                	jne    0x14002df81
14002df7a:	b8 00 01 00 00       	mov    $0x100,%eax
14002df7f:	eb 0e                	jmp    0x14002df8f
14002df81:	48 8b c8             	mov    %rax,%rcx
14002df84:	49 8b 81 50 04 00 00 	mov    0x450(%r9),%rax
14002df8b:	48 c1 e8 02          	shr    $0x2,%rax
14002df8f:	48 8d 40 ff          	lea    -0x1(%rax),%rax
14002df93:	4c 8d 04 41          	lea    (%rcx,%rax,2),%r8
14002df97:	4d 89 41 40          	mov    %r8,0x40(%r9)
14002df9b:	49 8b c0             	mov    %r8,%rax
14002df9e:	4d 8b d8             	mov    %r8,%r11
14002dfa1:	41 8b 49 30          	mov    0x30(%r9),%ecx
14002dfa5:	85 c9                	test   %ecx,%ecx
14002dfa7:	7f 05                	jg     0x14002dfae
14002dfa9:	45 85 d2             	test   %r10d,%r10d
14002dfac:	74 53                	je     0x14002e001
14002dfae:	8d 41 ff             	lea    -0x1(%rcx),%eax
14002dfb1:	41 89 41 30          	mov    %eax,0x30(%r9)
14002dfb5:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14002dfba:	41 f7 e2             	mul    %r10d
14002dfbd:	c1 ea 03             	shr    $0x3,%edx
14002dfc0:	0f b7 c2             	movzwl %dx,%eax
14002dfc3:	66 c1 e0 02          	shl    $0x2,%ax
14002dfc7:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
14002dfca:	66 03 c9             	add    %cx,%cx
14002dfcd:	66 44 2b d1          	sub    %cx,%r10w
14002dfd1:	41 8d 4a 30          	lea    0x30(%r10),%ecx
14002dfd5:	44 8b d2             	mov    %edx,%r10d
14002dfd8:	66 83 f9 39          	cmp    $0x39,%cx
14002dfdc:	76 0e                	jbe    0x14002dfec
14002dfde:	8a c3                	mov    %bl,%al
14002dfe0:	34 01                	xor    $0x1,%al
14002dfe2:	c0 e0 05             	shl    $0x5,%al
14002dfe5:	04 07                	add    $0x7,%al
14002dfe7:	02 c1                	add    %cl,%al
14002dfe9:	0f be c8             	movsbl %al,%ecx
14002dfec:	0f be c1             	movsbl %cl,%eax
14002dfef:	66 41 89 03          	mov    %ax,(%r11)
14002dff3:	49 83 41 40 fe       	addq   $0xfffffffffffffffe,0x40(%r9)
14002dff8:	49 8b 41 40          	mov    0x40(%r9),%rax
14002dffc:	4c 8b d8             	mov    %rax,%r11
14002dfff:	eb a0                	jmp    0x14002dfa1
14002e001:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14002e006:	4c 2b c0             	sub    %rax,%r8
14002e009:	49 d1 f8             	sar    $1,%r8
14002e00c:	48 83 c0 02          	add    $0x2,%rax
14002e010:	45 89 41 48          	mov    %r8d,0x48(%r9)
14002e014:	49 89 41 40          	mov    %rax,0x40(%r9)
14002e018:	c3                   	ret
14002e019:	cc                   	int3
14002e01a:	cc                   	int3
14002e01b:	cc                   	int3
14002e01c:	4c 8d 49 50          	lea    0x50(%rcx),%r9
14002e020:	45 8a d8             	mov    %r8b,%r11b
14002e023:	49 8b 81 08 04 00 00 	mov    0x408(%r9),%rax
14002e02a:	44 8b d2             	mov    %edx,%r10d
14002e02d:	48 85 c0             	test   %rax,%rax
14002e030:	75 07                	jne    0x14002e039
14002e032:	b8 00 02 00 00       	mov    $0x200,%eax
14002e037:	eb 0d                	jmp    0x14002e046
14002e039:	4c 8b c8             	mov    %rax,%r9
14002e03c:	48 8b 81 50 04 00 00 	mov    0x450(%rcx),%rax
14002e043:	48 d1 e8             	shr    $1,%rax
14002e046:	49 8d 51 ff          	lea    -0x1(%r9),%rdx
14002e04a:	48 03 d0             	add    %rax,%rdx
14002e04d:	48 89 51 40          	mov    %rdx,0x40(%rcx)
14002e051:	4c 8b c2             	mov    %rdx,%r8
14002e054:	8b 41 30             	mov    0x30(%rcx),%eax
14002e057:	85 c0                	test   %eax,%eax
14002e059:	7f 05                	jg     0x14002e060
14002e05b:	45 85 d2             	test   %r10d,%r10d
14002e05e:	74 31                	je     0x14002e091
14002e060:	ff c8                	dec    %eax
14002e062:	89 41 30             	mov    %eax,0x30(%rcx)
14002e065:	41 8a c2             	mov    %r10b,%al
14002e068:	24 0f                	and    $0xf,%al
14002e06a:	41 c1 ea 04          	shr    $0x4,%r10d
14002e06e:	04 30                	add    $0x30,%al
14002e070:	44 8a c8             	mov    %al,%r9b
14002e073:	3c 39                	cmp    $0x39,%al
14002e075:	76 0d                	jbe    0x14002e084
14002e077:	41 8a c3             	mov    %r11b,%al
14002e07a:	34 01                	xor    $0x1,%al
14002e07c:	c0 e0 05             	shl    $0x5,%al
14002e07f:	04 07                	add    $0x7,%al
14002e081:	41 02 c1             	add    %r9b,%al
14002e084:	41 88 00             	mov    %al,(%r8)
14002e087:	48 ff 49 40          	decq   0x40(%rcx)
14002e08b:	4c 8b 41 40          	mov    0x40(%rcx),%r8
14002e08f:	eb c3                	jmp    0x14002e054
14002e091:	2b 51 40             	sub    0x40(%rcx),%edx
14002e094:	49 8d 40 01          	lea    0x1(%r8),%rax
14002e098:	89 51 48             	mov    %edx,0x48(%rcx)
14002e09b:	48 89 41 40          	mov    %rax,0x40(%rcx)
14002e09f:	c3                   	ret
14002e0a0:	4c 8d 49 50          	lea    0x50(%rcx),%r9
14002e0a4:	45 8a d8             	mov    %r8b,%r11b
14002e0a7:	49 8b 81 08 04 00 00 	mov    0x408(%r9),%rax
14002e0ae:	44 8b d2             	mov    %edx,%r10d
14002e0b1:	48 85 c0             	test   %rax,%rax
14002e0b4:	75 07                	jne    0x14002e0bd
14002e0b6:	b8 00 01 00 00       	mov    $0x100,%eax
14002e0bb:	eb 0e                	jmp    0x14002e0cb
14002e0bd:	4c 8b c8             	mov    %rax,%r9
14002e0c0:	48 8b 81 50 04 00 00 	mov    0x450(%rcx),%rax
14002e0c7:	48 c1 e8 02          	shr    $0x2,%rax
14002e0cb:	48 8d 40 ff          	lea    -0x1(%rax),%rax
14002e0cf:	49 8d 14 41          	lea    (%r9,%rax,2),%rdx
14002e0d3:	48 89 51 40          	mov    %rdx,0x40(%rcx)
14002e0d7:	48 8b c2             	mov    %rdx,%rax
14002e0da:	4c 8b ca             	mov    %rdx,%r9
14002e0dd:	44 8b 41 30          	mov    0x30(%rcx),%r8d
14002e0e1:	45 85 c0             	test   %r8d,%r8d
14002e0e4:	7f 05                	jg     0x14002e0eb
14002e0e6:	45 85 d2             	test   %r10d,%r10d
14002e0e9:	74 43                	je     0x14002e12e
14002e0eb:	41 8d 40 ff          	lea    -0x1(%r8),%eax
14002e0ef:	45 0f b7 c2          	movzwl %r10w,%r8d
14002e0f3:	66 41 83 e0 0f       	and    $0xf,%r8w
14002e0f8:	41 c1 ea 04          	shr    $0x4,%r10d
14002e0fc:	66 41 83 c0 30       	add    $0x30,%r8w
14002e101:	89 41 30             	mov    %eax,0x30(%rcx)
14002e104:	66 41 83 f8 39       	cmp    $0x39,%r8w
14002e109:	76 11                	jbe    0x14002e11c
14002e10b:	41 8a c3             	mov    %r11b,%al
14002e10e:	34 01                	xor    $0x1,%al
14002e110:	c0 e0 05             	shl    $0x5,%al
14002e113:	04 07                	add    $0x7,%al
14002e115:	41 02 c0             	add    %r8b,%al
14002e118:	44 0f b6 c0          	movzbl %al,%r8d
14002e11c:	66 45 89 01          	mov    %r8w,(%r9)
14002e120:	48 83 41 40 fe       	addq   $0xfffffffffffffffe,0x40(%rcx)
14002e125:	48 8b 41 40          	mov    0x40(%rcx),%rax
14002e129:	4c 8b c8             	mov    %rax,%r9
14002e12c:	eb af                	jmp    0x14002e0dd
14002e12e:	48 2b d0             	sub    %rax,%rdx
14002e131:	48 83 c0 02          	add    $0x2,%rax
14002e135:	48 d1 fa             	sar    $1,%rdx
14002e138:	89 51 48             	mov    %edx,0x48(%rcx)
14002e13b:	48 89 41 40          	mov    %rax,0x40(%rcx)
14002e13f:	c3                   	ret
14002e140:	4c 8d 41 50          	lea    0x50(%rcx),%r8
14002e144:	4c 8b ca             	mov    %rdx,%r9
14002e147:	49 8b 80 08 04 00 00 	mov    0x408(%r8),%rax
14002e14e:	48 85 c0             	test   %rax,%rax
14002e151:	75 07                	jne    0x14002e15a
14002e153:	b8 00 02 00 00       	mov    $0x200,%eax