140044853:	88 11                	mov    %dl,(%rcx)
140044855:	eb e6                	jmp    0x14004483d
140044857:	f7 c2 00 f8 ff ff    	test   $0xfffff800,%edx
14004485d:	75 0a                	jne    0x140044869
14004485f:	b9 01 00 00 00       	mov    $0x1,%ecx
140044864:	41 b1 c0             	mov    $0xc0,%r9b
140044867:	eb 37                	jmp    0x1400448a0
140044869:	f7 c2 00 00 ff ff    	test   $0xffff0000,%edx
14004486f:	75 17                	jne    0x140044888
140044871:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
140044877:	3d ff 07 00 00       	cmp    $0x7ff,%eax
14004487c:	76 49                	jbe    0x1400448c7
14004487e:	b9 02 00 00 00       	mov    $0x2,%ecx
140044883:	41 b1 e0             	mov    $0xe0,%r9b
140044886:	eb 18                	jmp    0x1400448a0
140044888:	f7 c2 00 00 e0 ff    	test   $0xffe00000,%edx
14004488e:	75 37                	jne    0x1400448c7
140044890:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
140044896:	77 2f                	ja     0x1400448c7
140044898:	b9 03 00 00 00       	mov    $0x3,%ecx
14004489d:	41 b1 f0             	mov    $0xf0,%r9b
1400448a0:	4c 8b d9             	mov    %rcx,%r11
1400448a3:	8a c2                	mov    %dl,%al
1400448a5:	c1 ea 06             	shr    $0x6,%edx
1400448a8:	24 3f                	and    $0x3f,%al
1400448aa:	0c 80                	or     $0x80,%al
1400448ac:	43 88 04 13          	mov    %al,(%r11,%r10,1)
1400448b0:	49 83 eb 01          	sub    $0x1,%r11
1400448b4:	75 ed                	jne    0x1400448a3
1400448b6:	41 0a d1             	or     %r9b,%dl
1400448b9:	41 88 12             	mov    %dl,(%r10)
1400448bc:	48 ff c1             	inc    %rcx
1400448bf:	49 8b d0             	mov    %r8,%rdx
1400448c2:	e9 55 2e 00 00       	jmp    0x14004771c
1400448c7:	49 8b d1             	mov    %r9,%rdx
1400448ca:	49 8b c8             	mov    %r8,%rcx
1400448cd:	e9 52 2e 00 00       	jmp    0x140047724
1400448d2:	cc                   	int3
1400448d3:	cc                   	int3
1400448d4:	40 53                	rex push %rbx
1400448d6:	48 83 ec 40          	sub    $0x40,%rsp
1400448da:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
1400448df:	48 8b d9             	mov    %rcx,%rbx
1400448e2:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400448e7:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400448ec:	e8 47 2e 00 00       	call   0x140047738
1400448f1:	48 83 f8 04          	cmp    $0x4,%rax
1400448f5:	77 1a                	ja     0x140044911
1400448f7:	8b 54 24 30          	mov    0x30(%rsp),%edx
1400448fb:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
140044900:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
140044906:	0f 47 d1             	cmova  %ecx,%edx
140044909:	48 85 db             	test   %rbx,%rbx
14004490c:	74 03                	je     0x140044911
14004490e:	66 89 13             	mov    %dx,(%rbx)
140044911:	48 83 c4 40          	add    $0x40,%rsp
140044915:	5b                   	pop    %rbx
140044916:	c3                   	ret
140044917:	cc                   	int3
140044918:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14004491d:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140044922:	57                   	push   %rdi
140044923:	41 54                	push   %r12
140044925:	41 55                	push   %r13
140044927:	41 56                	push   %r14
140044929:	41 57                	push   %r15
14004492b:	48 83 ec 30          	sub    $0x30,%rsp
14004492f:	48 8b 3a             	mov    (%rdx),%rdi
140044932:	33 c0                	xor    %eax,%eax
140044934:	4d 8b e1             	mov    %r9,%r12
140044937:	49 8b e8             	mov    %r8,%rbp
14004493a:	4c 8b fa             	mov    %rdx,%r15
14004493d:	4c 8b f1             	mov    %rcx,%r14
140044940:	48 85 c9             	test   %rcx,%rcx
140044943:	0f 84 e7 00 00 00    	je     0x140044a30
140044949:	48 8b d9             	mov    %rcx,%rbx
14004494c:	4d 85 c0             	test   %r8,%r8
14004494f:	0f 84 b0 00 00 00    	je     0x140044a05
140044955:	4c 8b ac 24 80 00 00 	mov    0x80(%rsp),%r13
14004495c:	00
14004495d:	38 07                	cmp    %al,(%rdi)
14004495f:	75 08                	jne    0x140044969
140044961:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140044967:	eb 1c                	jmp    0x140044985
140044969:	38 47 01             	cmp    %al,0x1(%rdi)
14004496c:	75 08                	jne    0x140044976
14004496e:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140044974:	eb 0f                	jmp    0x140044985
140044976:	8a 47 02             	mov    0x2(%rdi),%al
140044979:	f6 d8                	neg    %al
14004497b:	4d 1b c0             	sbb    %r8,%r8
14004497e:	49 f7 d8             	neg    %r8
140044981:	49 83 c0 03          	add    $0x3,%r8
140044985:	4d 8b cc             	mov    %r12,%r9
140044988:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
14004498d:	48 8b d7             	mov    %rdi,%rdx
140044990:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140044995:	e8 9e 2d 00 00       	call   0x140047738
14004499a:	48 8b d0             	mov    %rax,%rdx
14004499d:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1400449a1:	74 7b                	je     0x140044a1e
1400449a3:	33 c0                	xor    %eax,%eax
1400449a5:	48 85 d2             	test   %rdx,%rdx
1400449a8:	74 6c                	je     0x140044a16
1400449aa:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
1400449ae:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
1400449b4:	76 3b                	jbe    0x1400449f1
1400449b6:	48 83 fd 01          	cmp    $0x1,%rbp
1400449ba:	76 49                	jbe    0x140044a05
1400449bc:	81 c1 00 00 ff ff    	add    $0xffff0000,%ecx
1400449c2:	41 b8 00 d8 00 00    	mov    $0xd800,%r8d
1400449c8:	8b c1                	mov    %ecx,%eax
1400449ca:	89 4c 24 60          	mov    %ecx,0x60(%rsp)
1400449ce:	c1 e8 0a             	shr    $0xa,%eax
1400449d1:	48 ff cd             	dec    %rbp
1400449d4:	66 41 0b c0          	or     %r8w,%ax
1400449d8:	66 89 03             	mov    %ax,(%rbx)
1400449db:	b8 ff 03 00 00       	mov    $0x3ff,%eax
1400449e0:	66 23 c8             	and    %ax,%cx
1400449e3:	48 83 c3 02          	add    $0x2,%rbx
1400449e7:	b8 00 dc 00 00       	mov    $0xdc00,%eax
1400449ec:	66 0b c8             	or     %ax,%cx
1400449ef:	33 c0                	xor    %eax,%eax
1400449f1:	66 89 0b             	mov    %cx,(%rbx)
1400449f4:	48 03 fa             	add    %rdx,%rdi
1400449f7:	48 83 c3 02          	add    $0x2,%rbx
1400449fb:	48 83 ed 01          	sub    $0x1,%rbp
1400449ff:	0f 85 58 ff ff ff    	jne    0x14004495d
140044a05:	49 2b de             	sub    %r14,%rbx
140044a08:	49 89 3f             	mov    %rdi,(%r15)
140044a0b:	48 d1 fb             	sar    $1,%rbx
140044a0e:	48 8b c3             	mov    %rbx,%rax
140044a11:	e9 8c 00 00 00       	jmp    0x140044aa2
140044a16:	48 8b f8             	mov    %rax,%rdi
140044a19:	66 89 03             	mov    %ax,(%rbx)
140044a1c:	eb e7                	jmp    0x140044a05
140044a1e:	49 89 3f             	mov    %rdi,(%r15)
140044a21:	41 c6 45 30 01       	movb   $0x1,0x30(%r13)
140044a26:	41 c7 45 2c 2a 00 00 	movl   $0x2a,0x2c(%r13)
140044a2d:	00
140044a2e:	eb 6e                	jmp    0x140044a9e
140044a30:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
140044a37:	00
140044a38:	48 8b d8             	mov    %rax,%rbx
140044a3b:	38 07                	cmp    %al,(%rdi)
140044a3d:	75 08                	jne    0x140044a47
140044a3f:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140044a45:	eb 1c                	jmp    0x140044a63
140044a47:	38 47 01             	cmp    %al,0x1(%rdi)
140044a4a:	75 08                	jne    0x140044a54
140044a4c:	41 b8 02 00 00 00    	mov    $0x2,%r8d
140044a52:	eb 0f                	jmp    0x140044a63
140044a54:	8a 47 02             	mov    0x2(%rdi),%al
140044a57:	f6 d8                	neg    %al
140044a59:	4d 1b c0             	sbb    %r8,%r8
140044a5c:	49 f7 d8             	neg    %r8
140044a5f:	49 83 c0 03          	add    $0x3,%r8
140044a63:	4d 8b cc             	mov    %r12,%r9
140044a66:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140044a6b:	48 8b d7             	mov    %rdi,%rdx
140044a6e:	33 c9                	xor    %ecx,%ecx
140044a70:	e8 c3 2c 00 00       	call   0x140047738
140044a75:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140044a79:	74 18                	je     0x140044a93
140044a7b:	48 85 c0             	test   %rax,%rax
140044a7e:	74 8e                	je     0x140044a0e
140044a80:	48 83 f8 04          	cmp    $0x4,%rax
140044a84:	75 03                	jne    0x140044a89
140044a86:	48 ff c3             	inc    %rbx
140044a89:	48 03 f8             	add    %rax,%rdi
140044a8c:	48 ff c3             	inc    %rbx
140044a8f:	33 c0                	xor    %eax,%eax
140044a91:	eb a8                	jmp    0x140044a3b
140044a93:	c6 45 30 01          	movb   $0x1,0x30(%rbp)
140044a97:	c7 45 2c 2a 00 00 00 	movl   $0x2a,0x2c(%rbp)
140044a9e:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140044aa2:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140044aa7:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140044aac:	48 83 c4 30          	add    $0x30,%rsp
140044ab0:	41 5f                	pop    %r15
140044ab2:	41 5e                	pop    %r14
140044ab4:	41 5d                	pop    %r13
140044ab6:	41 5c                	pop    %r12
140044ab8:	5f                   	pop    %rdi
140044ab9:	c3                   	ret
140044aba:	cc                   	int3
140044abb:	cc                   	int3
140044abc:	48 83 ec 28          	sub    $0x28,%rsp
140044ac0:	83 f9 fe             	cmp    $0xfffffffe,%ecx
140044ac3:	75 0d                	jne    0x140044ad2
140044ac5:	e8 6e 6f fe ff       	call   0x14002ba38
140044aca:	c7 00 09 00 00 00    	movl   $0x9,(%rax)
140044ad0:	eb 42                	jmp    0x140044b14
140044ad2:	85 c9                	test   %ecx,%ecx
140044ad4:	78 2e                	js     0x140044b04
140044ad6:	3b 0d b4 3a 03 00    	cmp    0x33ab4(%rip),%ecx        # 0x140078590
140044adc:	73 26                	jae    0x140044b04
140044ade:	48 63 c9             	movslq %ecx,%rcx
140044ae1:	48 8d 15 a8 36 03 00 	lea    0x336a8(%rip),%rdx        # 0x140078190
140044ae8:	48 8b c1             	mov    %rcx,%rax
140044aeb:	83 e1 3f             	and    $0x3f,%ecx
140044aee:	48 c1 e8 06          	shr    $0x6,%rax
140044af2:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
140044af6:	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
140044afa:	0f b6 44 c8 38       	movzbl 0x38(%rax,%rcx,8),%eax
140044aff:	83 e0 40             	and    $0x40,%eax
140044b02:	eb 12                	jmp    0x140044b16
140044b04:	e8 2f 6f fe ff       	call   0x14002ba38
140044b09:	c7 00 09 00 00 00    	movl   $0x9,(%rax)
140044b0f:	e8 90 6a fe ff       	call   0x14002b5a4
140044b14:	33 c0                	xor    %eax,%eax
140044b16:	48 83 c4 28          	add    $0x28,%rsp
140044b1a:	c3                   	ret
140044b1b:	cc                   	int3
140044b1c:	cc                   	int3
140044b1d:	cc                   	int3
140044b1e:	cc                   	int3
140044b1f:	cc                   	int3
140044b20:	cc                   	int3
140044b21:	cc                   	int3
140044b22:	cc                   	int3
140044b23:	cc                   	int3
140044b24:	cc                   	int3
140044b25:	cc                   	int3
140044b26:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140044b2d:	00 00 00
140044b30:	48 83 ec 08          	sub    $0x8,%rsp
140044b34:	0f ae 1c 24          	stmxcsr (%rsp)
140044b38:	8b 04 24             	mov    (%rsp),%eax
140044b3b:	48 83 c4 08          	add    $0x8,%rsp
140044b3f:	c3                   	ret
140044b40:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
140044b44:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
140044b49:	c3                   	ret
140044b4a:	0f ae 5c 24 08       	stmxcsr 0x8(%rsp)
140044b4f:	b9 c0 ff ff ff       	mov    $0xffffffc0,%ecx
140044b54:	21 4c 24 08          	and    %ecx,0x8(%rsp)
140044b58:	0f ae 54 24 08       	ldmxcsr 0x8(%rsp)
140044b5d:	c3                   	ret
140044b5e:	66 0f 2e 05 fa 4f 01 	ucomisd 0x14ffa(%rip),%xmm0        # 0x140059b60
140044b65:	00
140044b66:	73 14                	jae    0x140044b7c
140044b68:	66 0f 2e 05 f8 4f 01 	ucomisd 0x14ff8(%rip),%xmm0        # 0x140059b68
140044b6f:	00
140044b70:	76 0a                	jbe    0x140044b7c
140044b72:	f2 48 0f 2d c8       	cvtsd2si %xmm0,%rcx
140044b77:	f2 48 0f 2a c1       	cvtsi2sd %rcx,%xmm0
140044b7c:	c3                   	ret
140044b7d:	cc                   	int3
140044b7e:	cc                   	int3
140044b7f:	cc                   	int3
140044b80:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140044b85:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140044b8a:	57                   	push   %rdi
140044b8b:	48 83 ec 20          	sub    $0x20,%rsp
140044b8f:	45 33 d2             	xor    %r10d,%r10d
140044b92:	49 8b d8             	mov    %r8,%rbx
140044b95:	4c 8b da             	mov    %rdx,%r11
140044b98:	4d 85 c9             	test   %r9,%r9
140044b9b:	75 31                	jne    0x140044bce
140044b9d:	48 85 c9             	test   %rcx,%rcx
140044ba0:	75 31                	jne    0x140044bd3
140044ba2:	48 85 d2             	test   %rdx,%rdx
140044ba5:	74 14                	je     0x140044bbb
140044ba7:	e8 8c 6e fe ff       	call   0x14002ba38
140044bac:	bb 16 00 00 00       	mov    $0x16,%ebx
140044bb1:	89 18                	mov    %ebx,(%rax)
140044bb3:	e8 ec 69 fe ff       	call   0x14002b5a4
140044bb8:	44 8b d3             	mov    %ebx,%r10d
140044bbb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140044bc0:	41 8b c2             	mov    %r10d,%eax
140044bc3:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140044bc8:	48 83 c4 20          	add    $0x20,%rsp
140044bcc:	5f                   	pop    %rdi
140044bcd:	c3                   	ret
140044bce:	48 85 c9             	test   %rcx,%rcx
140044bd1:	74 d4                	je     0x140044ba7
140044bd3:	4d 85 db             	test   %r11,%r11
140044bd6:	74 cf                	je     0x140044ba7
140044bd8:	4d 85 c9             	test   %r9,%r9
140044bdb:	75 05                	jne    0x140044be2
140044bdd:	44 88 11             	mov    %r10b,(%rcx)
140044be0:	eb d9                	jmp    0x140044bbb
140044be2:	48 85 db             	test   %rbx,%rbx
140044be5:	75 05                	jne    0x140044bec
140044be7:	44 88 11             	mov    %r10b,(%rcx)
140044bea:	eb bb                	jmp    0x140044ba7
140044bec:	48 2b d9             	sub    %rcx,%rbx
140044bef:	48 8b d1             	mov    %rcx,%rdx
140044bf2:	4d 8b c3             	mov    %r11,%r8
140044bf5:	49 8b f9             	mov    %r9,%rdi
140044bf8:	49 83 f9 ff          	cmp    $0xffffffffffffffff,%r9
140044bfc:	75 14                	jne    0x140044c12
140044bfe:	8a 04 13             	mov    (%rbx,%rdx,1),%al
140044c01:	88 02                	mov    %al,(%rdx)
140044c03:	48 ff c2             	inc    %rdx
140044c06:	84 c0                	test   %al,%al
140044c08:	74 b1                	je     0x140044bbb
140044c0a:	49 83 e8 01          	sub    $0x1,%r8
140044c0e:	75 ee                	jne    0x140044bfe
140044c10:	eb 2e                	jmp    0x140044c40
140044c12:	8a 04 13             	mov    (%rbx,%rdx,1),%al
140044c15:	48 8b f7             	mov    %rdi,%rsi
140044c18:	88 02                	mov    %al,(%rdx)
140044c1a:	48 ff c2             	inc    %rdx
140044c1d:	84 c0                	test   %al,%al
140044c1f:	74 9a                	je     0x140044bbb
140044c21:	49 83 e8 01          	sub    $0x1,%r8
140044c25:	74 06                	je     0x140044c2d
140044c27:	48 83 ef 01          	sub    $0x1,%rdi
140044c2b:	75 e5                	jne    0x140044c12
140044c2d:	4d 85 c0             	test   %r8,%r8
140044c30:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
140044c34:	48 0f 44 c6          	cmove  %rsi,%rax
140044c38:	48 85 c0             	test   %rax,%rax
140044c3b:	75 03                	jne    0x140044c40
140044c3d:	44 88 12             	mov    %r10b,(%rdx)
140044c40:	4d 85 c0             	test   %r8,%r8
140044c43:	0f 85 72 ff ff ff    	jne    0x140044bbb
140044c49:	49 83 f9 ff          	cmp    $0xffffffffffffffff,%r9
140044c4d:	75 0e                	jne    0x140044c5d
140044c4f:	46 88 54 19 ff       	mov    %r10b,-0x1(%rcx,%r11,1)
140044c54:	45 8d 50 50          	lea    0x50(%r8),%r10d
140044c58:	e9 5e ff ff ff       	jmp    0x140044bbb
140044c5d:	44 88 11             	mov    %r10b,(%rcx)
140044c60:	e8 d3 6d fe ff       	call   0x14002ba38
140044c65:	bb 22 00 00 00       	mov    $0x22,%ebx
140044c6a:	e9 42 ff ff ff       	jmp    0x140044bb1
140044c6f:	cc                   	int3
140044c70:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140044c75:	55                   	push   %rbp
140044c76:	56                   	push   %rsi
140044c77:	57                   	push   %rdi
140044c78:	41 54                	push   %r12
140044c7a:	41 55                	push   %r13
140044c7c:	41 56                	push   %r14
140044c7e:	41 57                	push   %r15
140044c80:	48 83 ec 40          	sub    $0x40,%rsp
140044c84:	48 8b 05 8d d3 02 00 	mov    0x2d38d(%rip),%rax        # 0x140072018
140044c8b:	48 33 c4             	xor    %rsp,%rax
140044c8e:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140044c93:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
140044c9a:	00
140044c9b:	4d 8b f1             	mov    %r9,%r14
140044c9e:	48 8b 32             	mov    (%rdx),%rsi
140044ca1:	4d 8b e8             	mov    %r8,%r13
140044ca4:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140044ca9:	4c 8b fa             	mov    %rdx,%r15
140044cac:	4c 89 4c 24 28       	mov    %r9,0x28(%rsp)
140044cb1:	48 8b e9             	mov    %rcx,%rbp