140895d72:	83 fb 01             	cmp    $0x1,%ebx
140895d75:	48 89 50 70          	mov    %rdx,0x70(%rax)
140895d79:	ba 64 00 00 00       	mov    $0x64,%edx
140895d7e:	48 89 78 48          	mov    %rdi,0x48(%rax)
140895d82:	0f 44 ca             	cmove  %edx,%ecx
140895d85:	89 58 04             	mov    %ebx,0x4(%rax)
140895d88:	88 48 09             	mov    %cl,0x9(%rax)
140895d8b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140895d90:	48 83 c4 20          	add    $0x20,%rsp
140895d94:	5f                   	pop    %rdi
140895d95:	c3                   	ret
140895d96:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140895d9b:	48 83 c4 20          	add    $0x20,%rsp
140895d9f:	5f                   	pop    %rdi
140895da0:	c3                   	ret
140895da1:	cc                   	int3
140895da2:	cc                   	int3
140895da3:	cc                   	int3
140895da4:	cc                   	int3
140895da5:	cc                   	int3
140895da6:	cc                   	int3
140895da7:	cc                   	int3
140895da8:	cc                   	int3
140895da9:	cc                   	int3
140895daa:	cc                   	int3
140895dab:	cc                   	int3
140895dac:	cc                   	int3
140895dad:	cc                   	int3
140895dae:	cc                   	int3
140895daf:	cc                   	int3
140895db0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140895db5:	44 0f b7 51 10       	movzwl 0x10(%rcx),%r10d
140895dba:	49 8b d8             	mov    %r8,%rbx
140895dbd:	48 8b 41 48          	mov    0x48(%rcx),%rax
140895dc1:	4c 8b da             	mov    %rdx,%r11
140895dc4:	33 d2                	xor    %edx,%edx
140895dc6:	44 8b 48 38          	mov    0x38(%rax),%r9d
140895dca:	41 8b 40 10          	mov    0x10(%r8),%eax
140895dce:	41 83 e9 04          	sub    $0x4,%r9d
140895dd2:	41 2b c2             	sub    %r10d,%eax
140895dd5:	41 f7 f1             	div    %r9d
140895dd8:	0f b7 41 0e          	movzwl 0xe(%rcx),%eax
140895ddc:	46 8d 04 12          	lea    (%rdx,%r10,1),%r8d
140895de0:	44 3b c0             	cmp    %eax,%r8d
140895de3:	66 45 0f 4f c2       	cmovg  %r10w,%r8w
140895de8:	66 44 89 43 14       	mov    %r8w,0x14(%rbx)
140895ded:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
140895df1:	66 41 2b c3          	sub    %r11w,%ax
140895df5:	66 83 c0 04          	add    $0x4,%ax
140895df9:	66 41 03 c0          	add    %r8w,%ax
140895dfd:	66 89 43 16          	mov    %ax,0x16(%rbx)
140895e01:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140895e06:	c3                   	ret
140895e07:	cc                   	int3
140895e08:	cc                   	int3
140895e09:	cc                   	int3
140895e0a:	cc                   	int3
140895e0b:	cc                   	int3
140895e0c:	cc                   	int3
140895e0d:	cc                   	int3
140895e0e:	cc                   	int3
140895e0f:	cc                   	int3
140895e10:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140895e15:	56                   	push   %rsi
140895e16:	48 83 ec 20          	sub    $0x20,%rsp
140895e1a:	44 0f b6 12          	movzbl (%rdx),%r10d
140895e1e:	4d 8b d8             	mov    %r8,%r11
140895e21:	48 8b da             	mov    %rdx,%rbx
140895e24:	48 8b f1             	mov    %rcx,%rsi
140895e27:	4c 8b ca             	mov    %rdx,%r9
140895e2a:	41 81 fa 80 00 00 00 	cmp    $0x80,%r10d
140895e31:	72 30                	jb     0x140895e63
140895e33:	4c 8d 42 08          	lea    0x8(%rdx),%r8
140895e37:	41 83 e2 7f          	and    $0x7f,%r10d
140895e3b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140895e40:	41 0f b6 51 01       	movzbl 0x1(%r9),%edx
140895e45:	41 8b c2             	mov    %r10d,%eax
140895e48:	49 ff c1             	inc    %r9
140895e4b:	c1 e0 07             	shl    $0x7,%eax
140895e4e:	8b ca                	mov    %edx,%ecx
140895e50:	83 e1 7f             	and    $0x7f,%ecx
140895e53:	44 8b d1             	mov    %ecx,%r10d
140895e56:	44 0b d0             	or     %eax,%r10d
140895e59:	80 fa 80             	cmp    $0x80,%dl
140895e5c:	72 05                	jb     0x140895e63
140895e5e:	4d 3b c8             	cmp    %r8,%r9
140895e61:	72 dd                	jb     0x140895e40
140895e63:	45 0f b6 41 01       	movzbl 0x1(%r9),%r8d
140895e68:	49 ff c1             	inc    %r9
140895e6b:	49 81 f8 80 00 00 00 	cmp    $0x80,%r8
140895e72:	0f 82 fd 00 00 00    	jb     0x140895f75
140895e78:	49 8b 41 01          	mov    0x1(%r9),%rax
140895e7c:	49 8d 51 01          	lea    0x1(%r9),%rdx
140895e80:	41 83 e0 7f          	and    $0x7f,%r8d
140895e84:	83 e0 7f             	and    $0x7f,%eax
140895e87:	49 c1 e0 07          	shl    $0x7,%r8
140895e8b:	4c 8b ca             	mov    %rdx,%r9
140895e8e:	4c 0b c0             	or     %rax,%r8
140895e91:	80 3a 80             	cmpb   $0x80,(%rdx)
140895e94:	0f 82 db 00 00 00    	jb     0x140895f75
140895e9a:	48 8b 4a 01          	mov    0x1(%rdx),%rcx
140895e9e:	4c 8d 4a 01          	lea    0x1(%rdx),%r9
140895ea2:	49 8b c0             	mov    %r8,%rax
140895ea5:	83 e1 7f             	and    $0x7f,%ecx
140895ea8:	48 c1 e0 07          	shl    $0x7,%rax
140895eac:	44 8b c1             	mov    %ecx,%r8d
140895eaf:	4c 0b c0             	or     %rax,%r8
140895eb2:	41 80 39 80          	cmpb   $0x80,(%r9)
140895eb6:	0f 82 b9 00 00 00    	jb     0x140895f75
140895ebc:	49 8b 49 01          	mov    0x1(%r9),%rcx
140895ec0:	49 8b c0             	mov    %r8,%rax
140895ec3:	83 e1 7f             	and    $0x7f,%ecx
140895ec6:	48 c1 e0 07          	shl    $0x7,%rax
140895eca:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140895ecf:	44 8b c1             	mov    %ecx,%r8d
140895ed2:	49 8d 79 01          	lea    0x1(%r9),%rdi
140895ed6:	4c 0b c0             	or     %rax,%r8
140895ed9:	80 3f 80             	cmpb   $0x80,(%rdi)
140895edc:	4c 8b cf             	mov    %rdi,%r9
140895edf:	0f 82 8b 00 00 00    	jb     0x140895f70
140895ee5:	48 8b 4f 01          	mov    0x1(%rdi),%rcx
140895ee9:	4c 8d 4f 01          	lea    0x1(%rdi),%r9
140895eed:	49 8b c0             	mov    %r8,%rax
140895ef0:	83 e1 7f             	and    $0x7f,%ecx
140895ef3:	48 c1 e0 07          	shl    $0x7,%rax
140895ef7:	44 8b c1             	mov    %ecx,%r8d
140895efa:	4c 0b c0             	or     %rax,%r8
140895efd:	41 80 39 80          	cmpb   $0x80,(%r9)
140895f01:	72 6d                	jb     0x140895f70
140895f03:	49 8b 49 01          	mov    0x1(%r9),%rcx
140895f07:	49 8d 79 01          	lea    0x1(%r9),%rdi
140895f0b:	49 8b c0             	mov    %r8,%rax
140895f0e:	83 e1 7f             	and    $0x7f,%ecx
140895f11:	48 c1 e0 07          	shl    $0x7,%rax
140895f15:	44 8b c1             	mov    %ecx,%r8d
140895f18:	4c 0b c0             	or     %rax,%r8
140895f1b:	4c 8b cf             	mov    %rdi,%r9
140895f1e:	80 3f 80             	cmpb   $0x80,(%rdi)
140895f21:	72 4d                	jb     0x140895f70
140895f23:	48 8b 4f 01          	mov    0x1(%rdi),%rcx
140895f27:	4c 8d 4f 01          	lea    0x1(%rdi),%r9
140895f2b:	49 8b c0             	mov    %r8,%rax
140895f2e:	83 e1 7f             	and    $0x7f,%ecx
140895f31:	48 c1 e0 07          	shl    $0x7,%rax
140895f35:	44 8b c1             	mov    %ecx,%r8d
140895f38:	4c 0b c0             	or     %rax,%r8
140895f3b:	41 80 39 80          	cmpb   $0x80,(%r9)
140895f3f:	72 2f                	jb     0x140895f70
140895f41:	49 8b 49 01          	mov    0x1(%r9),%rcx
140895f45:	49 8d 79 01          	lea    0x1(%r9),%rdi
140895f49:	49 8b c0             	mov    %r8,%rax
140895f4c:	83 e1 7f             	and    $0x7f,%ecx
140895f4f:	48 c1 e0 07          	shl    $0x7,%rax
140895f53:	44 8b c1             	mov    %ecx,%r8d
140895f56:	4c 0b c0             	or     %rax,%r8
140895f59:	4c 8b cf             	mov    %rdi,%r9
140895f5c:	80 3f 80             	cmpb   $0x80,(%rdi)
140895f5f:	72 0f                	jb     0x140895f70
140895f61:	0f b6 47 01          	movzbl 0x1(%rdi),%eax
140895f65:	4c 8d 4f 01          	lea    0x1(%rdi),%r9
140895f69:	49 c1 e0 08          	shl    $0x8,%r8
140895f6d:	4c 0b c0             	or     %rax,%r8
140895f70:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
140895f75:	49 ff c1             	inc    %r9
140895f78:	4d 89 03             	mov    %r8,(%r11)
140895f7b:	4d 89 4b 08          	mov    %r9,0x8(%r11)
140895f7f:	45 89 53 10          	mov    %r10d,0x10(%r11)
140895f83:	0f b7 46 0e          	movzwl 0xe(%rsi),%eax
140895f87:	44 3b d0             	cmp    %eax,%r10d
140895f8a:	77 2d                	ja     0x140895fb9
140895f8c:	41 0f b7 c2          	movzwl %r10w,%eax
140895f90:	66 2b c3             	sub    %bx,%ax
140895f93:	66 41 03 c1          	add    %r9w,%ax
140895f97:	66 41 89 43 16       	mov    %ax,0x16(%r11)
140895f9c:	66 83 f8 04          	cmp    $0x4,%ax
140895fa0:	73 07                	jae    0x140895fa9
140895fa2:	66 41 c7 43 16 04 00 	movw   $0x4,0x16(%r11)
140895fa9:	66 45 89 53 14       	mov    %r10w,0x14(%r11)
140895fae:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140895fb3:	48 83 c4 20          	add    $0x20,%rsp
140895fb7:	5e                   	pop    %rsi
140895fb8:	c3                   	ret
140895fb9:	4d 8b c3             	mov    %r11,%r8
140895fbc:	48 8b d3             	mov    %rbx,%rdx
140895fbf:	48 8b ce             	mov    %rsi,%rcx
140895fc2:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140895fc7:	48 83 c4 20          	add    $0x20,%rsp
140895fcb:	5e                   	pop    %rsi
140895fcc:	e9 df fd ff ff       	jmp    0x140895db0
140895fd1:	cc                   	int3
140895fd2:	cc                   	int3
140895fd3:	cc                   	int3
140895fd4:	cc                   	int3
140895fd5:	cc                   	int3
140895fd6:	cc                   	int3
140895fd7:	cc                   	int3
140895fd8:	cc                   	int3
140895fd9:	cc                   	int3
140895fda:	cc                   	int3
140895fdb:	cc                   	int3
140895fdc:	cc                   	int3
140895fdd:	cc                   	int3
140895fde:	cc                   	int3
140895fdf:	cc                   	int3
140895fe0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140895fe5:	57                   	push   %rdi
140895fe6:	44 0f b6 51 0a       	movzbl 0xa(%rcx),%r10d
140895feb:	48 8b fa             	mov    %rdx,%rdi
140895fee:	4c 03 d2             	add    %rdx,%r10
140895ff1:	48 8b d9             	mov    %rcx,%rbx
140895ff4:	45 0f b6 0a          	movzbl (%r10),%r9d
140895ff8:	41 81 f9 80 00 00 00 	cmp    $0x80,%r9d
140895fff:	72 32                	jb     0x140896033
140896001:	4d 8d 5a 08          	lea    0x8(%r10),%r11
140896005:	41 83 e1 7f          	and    $0x7f,%r9d
140896009:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140896010:	41 0f b6 52 01       	movzbl 0x1(%r10),%edx
140896015:	41 8b c1             	mov    %r9d,%eax
140896018:	49 ff c2             	inc    %r10
14089601b:	c1 e0 07             	shl    $0x7,%eax
14089601e:	8b ca                	mov    %edx,%ecx
140896020:	83 e1 7f             	and    $0x7f,%ecx
140896023:	44 8b c9             	mov    %ecx,%r9d
140896026:	44 0b c8             	or     %eax,%r9d
140896029:	80 fa 80             	cmp    $0x80,%dl
14089602c:	72 05                	jb     0x140896033
14089602e:	4d 3b d3             	cmp    %r11,%r10
140896031:	72 dd                	jb     0x140896010
140896033:	49 ff c2             	inc    %r10
140896036:	41 8b c1             	mov    %r9d,%eax
140896039:	49 89 00             	mov    %rax,(%r8)
14089603c:	4d 89 50 08          	mov    %r10,0x8(%r8)
140896040:	45 89 48 10          	mov    %r9d,0x10(%r8)
140896044:	0f b7 43 0e          	movzwl 0xe(%rbx),%eax
140896048:	44 3b c8             	cmp    %eax,%r9d
14089604b:	77 29                	ja     0x140896076
14089604d:	41 0f b7 c1          	movzwl %r9w,%eax
140896051:	66 2b c7             	sub    %di,%ax
140896054:	66 41 03 c2          	add    %r10w,%ax
140896058:	66 41 89 40 16       	mov    %ax,0x16(%r8)
14089605d:	66 83 f8 04          	cmp    $0x4,%ax
140896061:	73 07                	jae    0x14089606a
140896063:	66 41 c7 40 16 04 00 	movw   $0x4,0x16(%r8)
14089606a:	66 45 89 48 14       	mov    %r9w,0x14(%r8)
14089606f:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140896074:	5f                   	pop    %rdi
140896075:	c3                   	ret
140896076:	48 8b d7             	mov    %rdi,%rdx
140896079:	48 8b cb             	mov    %rbx,%rcx
14089607c:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140896081:	5f                   	pop    %rdi
140896082:	e9 29 fd ff ff       	jmp    0x140895db0
140896087:	cc                   	int3
140896088:	cc                   	int3
140896089:	cc                   	int3
14089608a:	cc                   	int3
14089608b:	cc                   	int3
14089608c:	cc                   	int3
14089608d:	cc                   	int3
14089608e:	cc                   	int3
14089608f:	cc                   	int3
140896090:	40 53                	rex push %rbx
140896092:	48 83 ec 20          	sub    $0x20,%rsp
140896096:	48 8d 4a 04          	lea    0x4(%rdx),%rcx
14089609a:	49 8b d8             	mov    %r8,%rbx
14089609d:	49 8b d0             	mov    %r8,%rdx
1408960a0:	e8 fb 22 05 00       	call   0x1408e83a0
1408960a5:	0f b6 c0             	movzbl %al,%eax
1408960a8:	66 83 c0 04          	add    $0x4,%ax
1408960ac:	66 89 43 16          	mov    %ax,0x16(%rbx)
1408960b0:	33 c0                	xor    %eax,%eax
1408960b2:	89 43 10             	mov    %eax,0x10(%rbx)
1408960b5:	66 89 43 14          	mov    %ax,0x14(%rbx)
1408960b9:	48 89 43 08          	mov    %rax,0x8(%rbx)
1408960bd:	48 83 c4 20          	add    $0x20,%rsp
1408960c1:	5b                   	pop    %rbx
1408960c2:	c3                   	ret
1408960c3:	cc                   	int3
1408960c4:	cc                   	int3
1408960c5:	cc                   	int3
1408960c6:	cc                   	int3
1408960c7:	cc                   	int3
1408960c8:	cc                   	int3
1408960c9:	cc                   	int3
1408960ca:	cc                   	int3
1408960cb:	cc                   	int3
1408960cc:	cc                   	int3
1408960cd:	cc                   	int3
1408960ce:	cc                   	int3
1408960cf:	cc                   	int3
1408960d0:	40 53                	rex push %rbx
1408960d2:	48 83 ec 20          	sub    $0x20,%rsp
1408960d6:	0f b6 01             	movzbl (%rcx),%eax
1408960d9:	48 8b d9             	mov    %rcx,%rbx
1408960dc:	84 c0                	test   %al,%al
1408960de:	74 2d                	je     0x14089610d
1408960e0:	3c 03                	cmp    $0x3,%al
1408960e2:	72 0d                	jb     0x1408960f1
1408960e4:	e8 f7 01 00 00       	call   0x1408962e0
1408960e9:	85 c0                	test   %eax,%eax
1408960eb:	0f 85 bf 00 00 00    	jne    0x1408961b0
1408960f1:	0f b6 03             	movzbl (%rbx),%eax
1408960f4:	3c 01                	cmp    $0x1,%al
1408960f6:	0f 84 a7 00 00 00    	je     0x1408961a3
1408960fc:	3c 02                	cmp    $0x2,%al
1408960fe:	75 0d                	jne    0x14089610d
140896100:	83 7b 04 00          	cmpl   $0x0,0x4(%rbx)
140896104:	c6 03 00             	movb   $0x0,(%rbx)
140896107:	0f 8c a1 00 00 00    	jl     0x1408961ae
14089610d:	4c 8b 83 88 00 00 00 	mov    0x88(%rbx),%r8
140896114:	0f b7 43 56          	movzwl 0x56(%rbx),%eax
140896118:	41 80 78 08 00       	cmpb   $0x0,0x8(%r8)
14089611d:	75 3b                	jne    0x14089615a
14089611f:	8b c8                	mov    %eax,%ecx
140896121:	49 8b 40 60          	mov    0x60(%r8),%rax
140896125:	0f b7 14 48          	movzwl (%rax,%rcx,2),%edx
140896129:	48 8b cb             	mov    %rbx,%rcx
14089612c:	41 0f b7 40 1a       	movzwl 0x1a(%r8),%eax
140896131:	66 c1 ca 08          	ror    $0x8,%dx
140896135:	0f b7 d2             	movzwl %dx,%edx
140896138:	48 23 d0             	and    %rax,%rdx
14089613b:	49 8b 40 50          	mov    0x50(%r8),%rax
14089613f:	8b 14 02             	mov    (%rdx,%rax,1),%edx
140896142:	0f ca                	bswap  %edx
140896144:	e8 47 dc 01 00       	call   0x1408b3d90
140896149:	85 c0                	test   %eax,%eax
14089614b:	75 63                	jne    0x1408961b0
14089614d:	48 8b cb             	mov    %rbx,%rcx
140896150:	48 83 c4 20          	add    $0x20,%rsp
140896154:	5b                   	pop    %rbx
140896155:	e9 66 de 01 00       	jmp    0x1408b3fc0
14089615a:	66 85 c0             	test   %ax,%ax
14089615d:	75 18                	jne    0x140896177
14089615f:	90                   	nop
140896160:	80 7b 54 00          	cmpb   $0x0,0x54(%rbx)
140896164:	74 3a                	je     0x1408961a0
140896166:	48 8b cb             	mov    %rbx,%rcx
140896169:	e8 c2 dd 01 00       	call   0x1408b3f30
14089616e:	0f b7 43 56          	movzwl 0x56(%rbx),%eax
140896172:	66 85 c0             	test   %ax,%ax
140896175:	74 e9                	je     0x140896160
140896177:	66 ff c8             	dec    %ax
14089617a:	66 89 43 56          	mov    %ax,0x56(%rbx)
14089617e:	48 8b 83 88 00 00 00 	mov    0x88(%rbx),%rax
140896185:	80 78 01 00          	cmpb   $0x0,0x1(%rax)
140896189:	74 23                	je     0x1408961ae
14089618b:	80 78 08 00          	cmpb   $0x0,0x8(%rax)
14089618f:	75 1d                	jne    0x1408961ae
140896191:	33 d2                	xor    %edx,%edx
140896193:	48 8b cb             	mov    %rbx,%rcx