140e55df6:	89 54 24 08          	mov    %edx,0x8(%rsp)
140e55dfa:	0f b7 44 24 0e       	movzwl 0xe(%rsp),%eax
140e55dff:	ba ef ff 00 00       	mov    $0xffef,%edx
140e55e04:	66 23 c2             	and    %dx,%ax
140e55e07:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
140e55e0c:	45 85 c9             	test   %r9d,%r9d
140e55e0f:	74 0d                	je     0x140e55e1e
140e55e11:	ba 00 80 00 00       	mov    $0x8000,%edx
140e55e16:	66 0b c2             	or     %dx,%ax
140e55e19:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
140e55e1e:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
140e55e24:	ba ef bf 00 00       	mov    $0xbfef,%edx
140e55e29:	f2 0f 11 44 24 10    	movsd  %xmm0,0x10(%rsp)
140e55e2f:	48 8b 44 24 10       	mov    0x10(%rsp),%rax
140e55e34:	48 c1 e8 30          	shr    $0x30,%rax
140e55e38:	66 23 c2             	and    %dx,%ax
140e55e3b:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
140e55e41:	ba e0 3f 00 00       	mov    $0x3fe0,%edx
140e55e46:	66 0b c2             	or     %dx,%ax
140e55e49:	66 89 44 24 0e       	mov    %ax,0xe(%rsp)
140e55e4e:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
140e55e54:	eb 44                	jmp    0x140e55e9a
140e55e56:	0f b7 4c 24 0e       	movzwl 0xe(%rsp),%ecx
140e55e5b:	ba ef bf 00 00       	mov    $0xbfef,%edx
140e55e60:	c1 e9 04             	shr    $0x4,%ecx
140e55e63:	f2 0f 11 4c 24 10    	movsd  %xmm1,0x10(%rsp)
140e55e69:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
140e55e6f:	f2 0f 11 4c 24 18    	movsd  %xmm1,0x18(%rsp)
140e55e75:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
140e55e7a:	48 c1 e8 30          	shr    $0x30,%rax
140e55e7e:	66 23 c2             	and    %dx,%ax
140e55e81:	ba e0 3f 00 00       	mov    $0x3fe0,%edx
140e55e86:	66 0b c2             	or     %dx,%ax
140e55e89:	66 89 44 24 16       	mov    %ax,0x16(%rsp)
140e55e8e:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
140e55e94:	f2 0f 10 44 24 10    	movsd  0x10(%rsp),%xmm0
140e55e9a:	41 89 0a             	mov    %ecx,(%r10)
140e55e9d:	c3                   	ret
140e55e9e:	cc                   	int3
140e55e9f:	cc                   	int3
140e55ea0:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
140e55ea6:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
140e55eab:	48 8b c8             	mov    %rax,%rcx
140e55eae:	48 c1 e9 20          	shr    $0x20,%rcx
140e55eb2:	81 f9 00 00 f0 7f    	cmp    $0x7ff00000,%ecx
140e55eb8:	75 0a                	jne    0x140e55ec4
140e55eba:	85 c0                	test   %eax,%eax
140e55ebc:	75 18                	jne    0x140e55ed6
140e55ebe:	b8 01 00 00 00       	mov    $0x1,%eax
140e55ec3:	c3                   	ret
140e55ec4:	81 f9 00 00 f0 ff    	cmp    $0xfff00000,%ecx
140e55eca:	75 0a                	jne    0x140e55ed6
140e55ecc:	85 c0                	test   %eax,%eax
140e55ece:	75 06                	jne    0x140e55ed6
140e55ed0:	b8 02 00 00 00       	mov    $0x2,%eax
140e55ed5:	c3                   	ret
140e55ed6:	41 b8 f8 7f 00 00    	mov    $0x7ff8,%r8d
140e55edc:	48 8b d0             	mov    %rax,%rdx
140e55edf:	48 c1 ea 30          	shr    $0x30,%rdx
140e55ee3:	66 41 23 d0          	and    %r8w,%dx
140e55ee7:	66 41 3b d0          	cmp    %r8w,%dx
140e55eeb:	75 06                	jne    0x140e55ef3
140e55eed:	b8 03 00 00 00       	mov    $0x3,%eax
140e55ef2:	c3                   	ret
140e55ef3:	41 b8 f0 7f 00 00    	mov    $0x7ff0,%r8d
140e55ef9:	66 41 3b d0          	cmp    %r8w,%dx
140e55efd:	75 16                	jne    0x140e55f15
140e55eff:	f7 c1 ff ff 07 00    	test   $0x7ffff,%ecx
140e55f05:	75 08                	jne    0x140e55f0f
140e55f07:	f7 d8                	neg    %eax
140e55f09:	1b c0                	sbb    %eax,%eax
140e55f0b:	83 e0 04             	and    $0x4,%eax
140e55f0e:	c3                   	ret
140e55f0f:	b8 04 00 00 00       	mov    $0x4,%eax
140e55f14:	c3                   	ret
140e55f15:	33 c0                	xor    %eax,%eax
140e55f17:	c3                   	ret
140e55f18:	40 53                	rex push %rbx
140e55f1a:	48 83 ec 20          	sub    $0x20,%rsp
140e55f1e:	e8 9d ba 00 00       	call   0x140e619c0
140e55f23:	8b d8                	mov    %eax,%ebx
140e55f25:	83 e3 3f             	and    $0x3f,%ebx
140e55f28:	e8 ad ba 00 00       	call   0x140e619da
140e55f2d:	8b c3                	mov    %ebx,%eax
140e55f2f:	48 83 c4 20          	add    $0x20,%rsp
140e55f33:	5b                   	pop    %rbx
140e55f34:	c3                   	ret
140e55f35:	cc                   	int3
140e55f36:	cc                   	int3
140e55f37:	cc                   	int3
140e55f38:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140e55f3d:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140e55f42:	57                   	push   %rdi
140e55f43:	48 83 ec 20          	sub    $0x20,%rsp
140e55f47:	48 8b da             	mov    %rdx,%rbx
140e55f4a:	48 8b f9             	mov    %rcx,%rdi
140e55f4d:	e8 6e ba 00 00       	call   0x140e619c0
140e55f52:	8b f0                	mov    %eax,%esi
140e55f54:	89 44 24 38          	mov    %eax,0x38(%rsp)
140e55f58:	8b cb                	mov    %ebx,%ecx
140e55f5a:	f7 d1                	not    %ecx
140e55f5c:	81 c9 7f 80 ff ff    	or     $0xffff807f,%ecx
140e55f62:	23 c8                	and    %eax,%ecx
140e55f64:	23 fb                	and    %ebx,%edi
140e55f66:	0b cf                	or     %edi,%ecx
140e55f68:	89 4c 24 30          	mov    %ecx,0x30(%rsp)
140e55f6c:	80 3d 05 35 56 00 00 	cmpb   $0x0,0x563505(%rip)        # 0x1413b9478
140e55f73:	74 25                	je     0x140e55f9a
140e55f75:	f6 c1 40             	test   $0x40,%cl
140e55f78:	74 20                	je     0x140e55f9a
140e55f7a:	e8 51 ba 00 00       	call   0x140e619d0
140e55f7f:	eb 21                	jmp    0x140e55fa2
140e55f81:	c6 05 f0 34 56 00 00 	movb   $0x0,0x5634f0(%rip)        # 0x1413b9478
140e55f88:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140e55f8c:	83 e1 bf             	and    $0xffffffbf,%ecx
140e55f8f:	e8 3c ba 00 00       	call   0x140e619d0
140e55f94:	8b 74 24 38          	mov    0x38(%rsp),%esi
140e55f98:	eb 08                	jmp    0x140e55fa2
140e55f9a:	83 e1 bf             	and    $0xffffffbf,%ecx
140e55f9d:	e8 2e ba 00 00       	call   0x140e619d0
140e55fa2:	8b c6                	mov    %esi,%eax
140e55fa4:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140e55fa9:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140e55fae:	48 83 c4 20          	add    $0x20,%rsp
140e55fb2:	5f                   	pop    %rdi
140e55fb3:	c3                   	ret
140e55fb4:	40 53                	rex push %rbx
140e55fb6:	48 83 ec 20          	sub    $0x20,%rsp
140e55fba:	48 8b d9             	mov    %rcx,%rbx
140e55fbd:	e8 fe b9 00 00       	call   0x140e619c0
140e55fc2:	83 e3 3f             	and    $0x3f,%ebx
140e55fc5:	0b c3                	or     %ebx,%eax
140e55fc7:	8b c8                	mov    %eax,%ecx
140e55fc9:	48 83 c4 20          	add    $0x20,%rsp
140e55fcd:	5b                   	pop    %rbx
140e55fce:	e9 fd b9 00 00       	jmp    0x140e619d0
140e55fd3:	cc                   	int3
140e55fd4:	48 83 ec 28          	sub    $0x28,%rsp
140e55fd8:	e8 e3 b9 00 00       	call   0x140e619c0
140e55fdd:	83 e0 3f             	and    $0x3f,%eax
140e55fe0:	48 83 c4 28          	add    $0x28,%rsp
140e55fe4:	c3                   	ret
140e55fe5:	cc                   	int3
140e55fe6:	cc                   	int3
140e55fe7:	cc                   	int3
140e55fe8:	40 53                	rex push %rbx
140e55fea:	48 83 ec 20          	sub    $0x20,%rsp
140e55fee:	4c 8b c2             	mov    %rdx,%r8
140e55ff1:	48 8b d9             	mov    %rcx,%rbx
140e55ff4:	48 85 c9             	test   %rcx,%rcx
140e55ff7:	74 0e                	je     0x140e56007
140e55ff9:	33 d2                	xor    %edx,%edx
140e55ffb:	48 8d 42 e0          	lea    -0x20(%rdx),%rax
140e55fff:	48 f7 f3             	div    %rbx
140e56002:	49 3b c0             	cmp    %r8,%rax
140e56005:	72 43                	jb     0x140e5604a
140e56007:	49 0f af d8          	imul   %r8,%rbx
140e5600b:	b8 01 00 00 00       	mov    $0x1,%eax
140e56010:	48 85 db             	test   %rbx,%rbx
140e56013:	48 0f 44 d8          	cmove  %rax,%rbx
140e56017:	eb 15                	jmp    0x140e5602e
140e56019:	e8 ce b3 ff ff       	call   0x140e513ec
140e5601e:	85 c0                	test   %eax,%eax
140e56020:	74 28                	je     0x140e5604a
140e56022:	48 8b cb             	mov    %rbx,%rcx
140e56025:	e8 82 87 ff ff       	call   0x140e4e7ac
140e5602a:	85 c0                	test   %eax,%eax
140e5602c:	74 1c                	je     0x140e5604a
140e5602e:	48 8b 0d 2b 9f 64 00 	mov    0x649f2b(%rip),%rcx        # 0x14149ff60
140e56035:	4c 8b c3             	mov    %rbx,%r8
140e56038:	ba 08 00 00 00       	mov    $0x8,%edx
140e5603d:	ff 15 35 d2 12 00    	call   *0x12d235(%rip)        # 0x140f83278
140e56043:	48 85 c0             	test   %rax,%rax
140e56046:	74 d1                	je     0x140e56019
140e56048:	eb 0d                	jmp    0x140e56057
140e5604a:	e8 a1 42 fd ff       	call   0x140e2a2f0
140e5604f:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
140e56055:	33 c0                	xor    %eax,%eax
140e56057:	48 83 c4 20          	add    $0x20,%rsp
140e5605b:	5b                   	pop    %rbx
140e5605c:	c3                   	ret
140e5605d:	cc                   	int3
140e5605e:	cc                   	int3
140e5605f:	cc                   	int3
140e56060:	b8 ff 07 00 00       	mov    $0x7ff,%eax
140e56065:	4c 8b c1             	mov    %rcx,%r8
140e56068:	0f b7 49 06          	movzwl 0x6(%rcx),%ecx
140e5606c:	44 0f b7 da          	movzwl %dx,%r11d
140e56070:	44 0f b7 c9          	movzwl %cx,%r9d
140e56074:	66 41 c1 e9 04       	shr    $0x4,%r9w
140e56079:	66 44 23 c8          	and    %ax,%r9w
140e5607d:	66 44 3b c8          	cmp    %ax,%r9w
140e56081:	75 28                	jne    0x140e560ab
140e56083:	f6 c1 0f             	test   $0xf,%cl
140e56086:	75 1d                	jne    0x140e560a5
140e56088:	33 d2                	xor    %edx,%edx
140e5608a:	66 41 39 50 04       	cmp    %dx,0x4(%r8)
140e5608f:	75 14                	jne    0x140e560a5
140e56091:	66 41 39 50 02       	cmp    %dx,0x2(%r8)
140e56096:	75 0d                	jne    0x140e560a5
140e56098:	8d 42 01             	lea    0x1(%rdx),%eax
140e5609b:	66 41 39 10          	cmp    %dx,(%r8)
140e5609f:	0f 84 d0 00 00 00    	je     0x140e56175
140e560a5:	b8 02 00 00 00       	mov    $0x2,%eax
140e560aa:	c3                   	ret
140e560ab:	33 d2                	xor    %edx,%edx
140e560ad:	f7 c1 ff 7f ff ff    	test   $0xffff7fff,%ecx
140e560b3:	75 14                	jne    0x140e560c9
140e560b5:	66 41 39 50 04       	cmp    %dx,0x4(%r8)
140e560ba:	75 0d                	jne    0x140e560c9
140e560bc:	66 41 39 50 02       	cmp    %dx,0x2(%r8)
140e560c1:	75 06                	jne    0x140e560c9
140e560c3:	66 41 39 10          	cmp    %dx,(%r8)
140e560c7:	74 14                	je     0x140e560dd
140e560c9:	41 ba 33 04 00 00    	mov    $0x433,%r10d
140e560cf:	66 45 2b d1          	sub    %r9w,%r10w
140e560d3:	66 45 2b d3          	sub    %r11w,%r10w
140e560d7:	66 45 85 d2          	test   %r10w,%r10w
140e560db:	7f 04                	jg     0x140e560e1
140e560dd:	0f b7 c2             	movzwl %dx,%eax
140e560e0:	c3                   	ret
140e560e1:	b8 35 00 00 00       	mov    $0x35,%eax
140e560e6:	66 41 3b c2          	cmp    %r10w,%ax
140e560ea:	7f 19                	jg     0x140e56105
140e560ec:	b8 00 80 00 00       	mov    $0x8000,%eax
140e560f1:	41 89 50 02          	mov    %edx,0x2(%r8)
140e560f5:	66 23 c8             	and    %ax,%cx
140e560f8:	66 41 89 10          	mov    %dx,(%r8)
140e560fc:	66 41 89 48 06       	mov    %cx,0x6(%r8)
140e56101:	83 c8 ff             	or     $0xffffffff,%eax
140e56104:	c3                   	ret
140e56105:	49 0f bf c2          	movswq %r10w,%rax
140e56109:	48 8d 0d f0 9e 1a ff 	lea    -0xe56110(%rip),%rcx        # 0x140000000
140e56110:	83 e0 0f             	and    $0xf,%eax
140e56113:	66 41 c1 fa 04       	sar    $0x4,%r10w
140e56118:	44 0f b7 8c 41 f0 6a 	movzwl 0x11e6af0(%rcx,%rax,2),%r9d
140e5611f:	1e 01
140e56121:	49 0f bf c2          	movswq %r10w,%rax
140e56125:	48 8b 8c c1 10 6b 1e 	mov    0x11e6b10(%rcx,%rax,8),%rcx
140e5612c:	01
140e5612d:	41 0f b7 04 48       	movzwl (%r8,%rcx,2),%eax
140e56132:	66 44 23 c8          	and    %ax,%r9w
140e56136:	66 41 33 c1          	xor    %r9w,%ax
140e5613a:	66 41 89 04 48       	mov    %ax,(%r8,%rcx,2)
140e5613f:	41 0f bf ca          	movswl %r10w,%ecx
140e56143:	83 e9 01             	sub    $0x1,%ecx
140e56146:	74 1e                	je     0x140e56166
140e56148:	83 e9 01             	sub    $0x1,%ecx
140e5614b:	74 0f                	je     0x140e5615c
140e5614d:	83 f9 01             	cmp    $0x1,%ecx
140e56150:	75 1c                	jne    0x140e5616e
140e56152:	66 45 0b 48 04       	or     0x4(%r8),%r9w
140e56157:	66 41 89 50 04       	mov    %dx,0x4(%r8)
140e5615c:	66 45 0b 48 02       	or     0x2(%r8),%r9w
140e56161:	66 41 89 50 02       	mov    %dx,0x2(%r8)
140e56166:	66 45 0b 08          	or     (%r8),%r9w
140e5616a:	66 41 89 10          	mov    %dx,(%r8)
140e5616e:	66 41 f7 d9          	neg    %r9w
140e56172:	66 1b c0             	sbb    %ax,%ax
140e56175:	c3                   	ret
140e56176:	cc                   	int3
140e56177:	cc                   	int3
140e56178:	0f b7 51 06          	movzwl 0x6(%rcx),%edx
140e5617c:	b8 f0 7f 00 00       	mov    $0x7ff0,%eax
140e56181:	66 23 d0             	and    %ax,%dx
140e56184:	66 3b d0             	cmp    %ax,%dx
140e56187:	75 24                	jne    0x140e561ad
140e56189:	f6 41 06 0f          	testb  $0xf,0x6(%rcx)
140e5618d:	75 18                	jne    0x140e561a7
140e5618f:	33 c0                	xor    %eax,%eax
140e56191:	66 39 41 04          	cmp    %ax,0x4(%rcx)
140e56195:	75 10                	jne    0x140e561a7
140e56197:	66 39 41 02          	cmp    %ax,0x2(%rcx)
140e5619b:	75 0a                	jne    0x140e561a7
140e5619d:	66 39 01             	cmp    %ax,(%rcx)
140e561a0:	b8 01 00 00 00       	mov    $0x1,%eax
140e561a5:	74 31                	je     0x140e561d8
140e561a7:	b8 02 00 00 00       	mov    $0x2,%eax
140e561ac:	c3                   	ret
140e561ad:	0f b7 41 06          	movzwl 0x6(%rcx),%eax
140e561b1:	a9 ff 7f ff ff       	test   $0xffff7fff,%eax
140e561b6:	75 13                	jne    0x140e561cb
140e561b8:	33 c0                	xor    %eax,%eax
140e561ba:	66 39 41 04          	cmp    %ax,0x4(%rcx)
140e561be:	75 0b                	jne    0x140e561cb
140e561c0:	66 39 41 02          	cmp    %ax,0x2(%rcx)
140e561c4:	75 05                	jne    0x140e561cb
140e561c6:	66 39 01             	cmp    %ax,(%rcx)
140e561c9:	74 0d                	je     0x140e561d8
140e561cb:	66 f7 da             	neg    %dx
140e561ce:	66 1b c0             	sbb    %ax,%ax
140e561d1:	66 f7 d8             	neg    %ax
140e561d4:	66 83 c0 fe          	add    $0xfffe,%ax
140e561d8:	c3                   	ret
140e561d9:	cc                   	int3
140e561da:	cc                   	int3
140e561db:	cc                   	int3
140e561dc:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140e561e1:	57                   	push   %rdi
140e561e2:	48 83 ec 20          	sub    $0x20,%rsp
140e561e6:	8b d9                	mov    %ecx,%ebx
140e561e8:	ba 1f 00 00 00       	mov    $0x1f,%edx
140e561ed:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140e561f2:	e8 19 b8 00 00       	call   0x140e61a10
140e561f7:	8b 44 24 38          	mov    0x38(%rsp),%eax
140e561fb:	8b fb                	mov    %ebx,%edi
140e561fd:	83 cf 20             	or     $0x20,%edi
140e56200:	89 44 24 30          	mov    %eax,0x30(%rsp)
140e56204:	f6 c3 18             	test   $0x18,%bl
140e56207:	0f 44 fb             	cmove  %ebx,%edi
140e5620a:	8b cf                	mov    %edi,%ecx
140e5620c:	c1 e9 05             	shr    $0x5,%ecx
140e5620f:	83 e1 01             	and    $0x1,%ecx
140e56212:	8b d1                	mov    %ecx,%edx
140e56214:	83 ca 02             	or     $0x2,%edx
140e56217:	40 f6 c7 10          	test   $0x10,%dil
140e5621b:	0f 44 d1             	cmove  %ecx,%edx
140e5621e:	8b ca                	mov    %edx,%ecx
140e56220:	83 c9 04             	or     $0x4,%ecx
140e56223:	40 f6 c7 08          	test   $0x8,%dil
140e56227:	0f 44 ca             	cmove  %edx,%ecx
140e5622a:	44 8b c1             	mov    %ecx,%r8d
140e5622d:	41 83 c8 08          	or     $0x8,%r8d
140e56231:	40 f6 c7 04          	test   $0x4,%dil
140e56235:	44 0f 44 c1          	cmove  %ecx,%r8d
140e56239:	41 8b c8             	mov    %r8d,%ecx
140e5623c:	83 c9 10             	or     $0x10,%ecx
140e5623f:	0f ba e7 00          	bt     $0x0,%edi
140e56243:	41 0f 43 c8          	cmovae %r8d,%ecx
140e56247:	e8 74 b9 00 00       	call   0x140e61bc0
140e5624c:	09 44 24 30          	or     %eax,0x30(%rsp)
140e56250:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140e56255:	ba 1f 00 00 00       	mov    $0x1f,%edx
140e5625a:	e8 f5 b7 00 00       	call   0x140e61a54
140e5625f:	0f ba e7 00          	bt     $0x0,%edi
140e56263:	73 0d                	jae    0x140e56272
140e56265:	e8 86 40 fd ff       	call   0x140e2a2f0
140e5626a:	c7 00 21 00 00 00    	movl   $0x21,(%rax)
140e56270:	eb 11                	jmp    0x140e56283
140e56272:	40 f6 c7 1c          	test   $0x1c,%dil
140e56276:	74 0b                	je     0x140e56283
140e56278:	e8 73 40 fd ff       	call   0x140e2a2f0
140e5627d:	c7 00 22 00 00 00    	movl   $0x22,(%rax)
140e56283:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140e56288:	48 83 c4 20          	add    $0x20,%rsp
140e5628c:	5f                   	pop    %rdi
140e5628d:	c3                   	ret
140e5628e:	cc                   	int3
140e5628f:	cc                   	int3
140e56290:	48 8b c4             	mov    %rsp,%rax