140e30591:	e8 5a 9d ff ff       	call   0x140e2a2f0
140e30596:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e3059c:	e8 e3 9b ff ff       	call   0x140e2a184
140e305a1:	40 f6 c6 08          	test   $0x8,%sil
140e305a5:	75 16                	jne    0x140e305bd
140e305a7:	48 8b 47 08          	mov    0x8(%rdi),%rax
140e305ab:	4c 89 27             	mov    %r12,(%rdi)
140e305ae:	48 85 c0             	test   %rax,%rax
140e305b1:	74 03                	je     0x140e305b6
140e305b3:	4c 89 20             	mov    %r12,(%rax)
140e305b6:	33 c0                	xor    %eax,%eax
140e305b8:	e9 92 00 00 00       	jmp    0x140e3064f
140e305bd:	41 b8 00 00 00 80    	mov    $0x80000000,%r8d
140e305c3:	45 8d 48 ff          	lea    -0x1(%r8),%r9d
140e305c7:	40 f6 c6 04          	test   $0x4,%sil
140e305cb:	74 09                	je     0x140e305d6
140e305cd:	b8 01 00 00 00       	mov    $0x1,%eax
140e305d2:	8b ce                	mov    %esi,%ecx
140e305d4:	eb 1e                	jmp    0x140e305f4
140e305d6:	40 f6 c6 01          	test   $0x1,%sil
140e305da:	74 59                	je     0x140e30635
140e305dc:	40 84 f5             	test   %sil,%bpl
140e305df:	74 07                	je     0x140e305e8
140e305e1:	45 3b f0             	cmp    %r8d,%r14d
140e305e4:	76 54                	jbe    0x140e3063a
140e305e6:	eb 05                	jmp    0x140e305ed
140e305e8:	45 3b f1             	cmp    %r9d,%r14d
140e305eb:	76 50                	jbe    0x140e3063d
140e305ed:	b9 01 00 00 00       	mov    $0x1,%ecx
140e305f2:	8b c6                	mov    %esi,%eax
140e305f4:	23 ee                	and    %esi,%ebp
140e305f6:	41 c6 45 30 01       	movb   $0x1,0x30(%r13)
140e305fb:	41 c7 45 2c 22 00 00 	movl   $0x22,0x2c(%r13)
140e30602:	00
140e30603:	85 c8                	test   %ecx,%eax
140e30605:	75 06                	jne    0x140e3060d
140e30607:	41 83 ce ff          	or     $0xffffffff,%r14d
140e3060b:	eb 30                	jmp    0x140e3063d
140e3060d:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140e30611:	85 ed                	test   %ebp,%ebp
140e30613:	74 10                	je     0x140e30625
140e30615:	48 85 d2             	test   %rdx,%rdx
140e30618:	74 06                	je     0x140e30620
140e3061a:	48 8b 0f             	mov    (%rdi),%rcx
140e3061d:	48 89 0a             	mov    %rcx,(%rdx)
140e30620:	41 8b c0             	mov    %r8d,%eax
140e30623:	eb 2a                	jmp    0x140e3064f
140e30625:	48 85 d2             	test   %rdx,%rdx
140e30628:	74 06                	je     0x140e30630
140e3062a:	48 8b 0f             	mov    (%rdi),%rcx
140e3062d:	48 89 0a             	mov    %rcx,(%rdx)
140e30630:	41 8b c1             	mov    %r9d,%eax
140e30633:	eb 1a                	jmp    0x140e3064f
140e30635:	40 84 f5             	test   %sil,%bpl
140e30638:	74 03                	je     0x140e3063d
140e3063a:	41 f7 de             	neg    %r14d
140e3063d:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140e30641:	48 85 d2             	test   %rdx,%rdx
140e30644:	74 06                	je     0x140e3064c
140e30646:	48 8b 0f             	mov    (%rdi),%rcx
140e30649:	48 89 0a             	mov    %rcx,(%rdx)
140e3064c:	41 8b c6             	mov    %r14d,%eax
140e3064f:	48 8b 9c 24 f0 00 00 	mov    0xf0(%rsp),%rbx
140e30656:	00
140e30657:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
140e3065e:	41 5f                	pop    %r15
140e30660:	41 5e                	pop    %r14
140e30662:	41 5d                	pop    %r13
140e30664:	41 5c                	pop    %r12
140e30666:	5f                   	pop    %rdi
140e30667:	5e                   	pop    %rsi
140e30668:	5d                   	pop    %rbp
140e30669:	c3                   	ret
140e3066a:	cc                   	int3
140e3066b:	cc                   	int3
140e3066c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e30671:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e30676:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e3067b:	57                   	push   %rdi
140e3067c:	41 54                	push   %r12
140e3067e:	41 55                	push   %r13
140e30680:	41 56                	push   %r14
140e30682:	41 57                	push   %r15
140e30684:	48 83 ec 30          	sub    $0x30,%rsp
140e30688:	4c 8b 22             	mov    (%rdx),%r12
140e3068b:	41 8b f0             	mov    %r8d,%esi
140e3068e:	45 0f b6 e9          	movzbl %r9b,%r13d
140e30692:	48 8b da             	mov    %rdx,%rbx
140e30695:	4c 8b f9             	mov    %rcx,%r15
140e30698:	4d 85 e4             	test   %r12,%r12
140e3069b:	75 12                	jne    0x140e306af
140e3069d:	e8 4e 9c ff ff       	call   0x140e2a2f0
140e306a2:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e306a8:	e8 d7 9a ff ff       	call   0x140e2a184
140e306ad:	eb 32                	jmp    0x140e306e1
140e306af:	85 f6                	test   %esi,%esi
140e306b1:	74 46                	je     0x140e306f9
140e306b3:	41 8d 40 fe          	lea    -0x2(%r8),%eax
140e306b7:	83 f8 22             	cmp    $0x22,%eax
140e306ba:	76 3d                	jbe    0x140e306f9
140e306bc:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
140e306c0:	45 33 c9             	xor    %r9d,%r9d
140e306c3:	c7 41 2c 16 00 00 00 	movl   $0x16,0x2c(%rcx)
140e306ca:	45 33 c0             	xor    %r8d,%r8d
140e306cd:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140e306d2:	33 c9                	xor    %ecx,%ecx
140e306d4:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140e306da:	33 d2                	xor    %edx,%edx
140e306dc:	e8 d7 99 ff ff       	call   0x140e2a0b8
140e306e1:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140e306e5:	48 85 c9             	test   %rcx,%rcx
140e306e8:	0f 84 bd 01 00 00    	je     0x140e308ab
140e306ee:	48 8b 03             	mov    (%rbx),%rax
140e306f1:	48 89 01             	mov    %rax,(%rcx)
140e306f4:	e9 b2 01 00 00       	jmp    0x140e308ab
140e306f9:	41 0f b6 3c 24       	movzbl (%r12),%edi
140e306fe:	49 8d 44 24 01       	lea    0x1(%r12),%rax
140e30703:	33 ed                	xor    %ebp,%ebp
140e30705:	48 89 02             	mov    %rax,(%rdx)
140e30708:	40 38 69 28          	cmp    %bpl,0x28(%rcx)
140e3070c:	75 13                	jne    0x140e30721
140e3070e:	e8 2d e8 ff ff       	call   0x140e2ef40
140e30713:	eb 0c                	jmp    0x140e30721
140e30715:	48 8b 03             	mov    (%rbx),%rax
140e30718:	0f b6 38             	movzbl (%rax),%edi
140e3071b:	48 ff c0             	inc    %rax
140e3071e:	48 89 03             	mov    %rax,(%rbx)
140e30721:	4d 8d 47 18          	lea    0x18(%r15),%r8
140e30725:	ba 08 00 00 00       	mov    $0x8,%edx
140e3072a:	8b cf                	mov    %edi,%ecx
140e3072c:	e8 17 02 00 00       	call   0x140e30948
140e30731:	85 c0                	test   %eax,%eax
140e30733:	75 e0                	jne    0x140e30715
140e30735:	45 8b f5             	mov    %r13d,%r14d
140e30738:	8d 47 d5             	lea    -0x2b(%rdi),%eax
140e3073b:	41 83 ce 02          	or     $0x2,%r14d
140e3073f:	40 80 ff 2d          	cmp    $0x2d,%dil
140e30743:	45 0f 45 f5          	cmovne %r13d,%r14d
140e30747:	a8 fd                	test   $0xfd,%al
140e30749:	75 0c                	jne    0x140e30757
140e3074b:	48 8b 03             	mov    (%rbx),%rax
140e3074e:	40 8a 38             	mov    (%rax),%dil
140e30751:	48 ff c0             	inc    %rax
140e30754:	48 89 03             	mov    %rax,(%rbx)
140e30757:	41 b5 19             	mov    $0x19,%r13b
140e3075a:	f7 c6 ef ff ff ff    	test   $0xffffffef,%esi
140e30760:	0f 85 8d 00 00 00    	jne    0x140e307f3
140e30766:	8d 47 d0             	lea    -0x30(%rdi),%eax
140e30769:	3c 09                	cmp    $0x9,%al
140e3076b:	77 09                	ja     0x140e30776
140e3076d:	40 0f be c7          	movsbl %dil,%eax
140e30771:	83 c0 d0             	add    $0xffffffd0,%eax
140e30774:	eb 20                	jmp    0x140e30796
140e30776:	8d 47 9f             	lea    -0x61(%rdi),%eax
140e30779:	41 3a c5             	cmp    %r13b,%al
140e3077c:	77 09                	ja     0x140e30787
140e3077e:	40 0f be c7          	movsbl %dil,%eax
140e30782:	83 c0 a9             	add    $0xffffffa9,%eax
140e30785:	eb 0f                	jmp    0x140e30796
140e30787:	8d 47 bf             	lea    -0x41(%rdi),%eax
140e3078a:	41 3a c5             	cmp    %r13b,%al
140e3078d:	77 58                	ja     0x140e307e7
140e3078f:	40 0f be c7          	movsbl %dil,%eax
140e30793:	83 c0 c9             	add    $0xffffffc9,%eax
140e30796:	85 c0                	test   %eax,%eax
140e30798:	75 4d                	jne    0x140e307e7
140e3079a:	48 8b 0b             	mov    (%rbx),%rcx
140e3079d:	8a 11                	mov    (%rcx),%dl
140e3079f:	4c 8d 41 01          	lea    0x1(%rcx),%r8
140e307a3:	4c 89 03             	mov    %r8,(%rbx)
140e307a6:	8d 42 a8             	lea    -0x58(%rdx),%eax
140e307a9:	a8 df                	test   $0xdf,%al
140e307ab:	74 29                	je     0x140e307d6
140e307ad:	85 f6                	test   %esi,%esi
140e307af:	48 89 0b             	mov    %rcx,(%rbx)
140e307b2:	b8 08 00 00 00       	mov    $0x8,%eax
140e307b7:	0f 45 c6             	cmovne %esi,%eax
140e307ba:	8b f0                	mov    %eax,%esi
140e307bc:	84 d2                	test   %dl,%dl
140e307be:	74 33                	je     0x140e307f3
140e307c0:	38 11                	cmp    %dl,(%rcx)
140e307c2:	74 2f                	je     0x140e307f3
140e307c4:	e8 27 9b ff ff       	call   0x140e2a2f0
140e307c9:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e307cf:	e8 b0 99 ff ff       	call   0x140e2a184
140e307d4:	eb 1d                	jmp    0x140e307f3
140e307d6:	41 8a 38             	mov    (%r8),%dil
140e307d9:	49 8d 40 01          	lea    0x1(%r8),%rax
140e307dd:	48 89 03             	mov    %rax,(%rbx)
140e307e0:	b8 10 00 00 00       	mov    $0x10,%eax
140e307e5:	eb 05                	jmp    0x140e307ec
140e307e7:	b8 0a 00 00 00       	mov    $0xa,%eax
140e307ec:	85 f6                	test   %esi,%esi
140e307ee:	0f 45 c6             	cmovne %esi,%eax
140e307f1:	8b f0                	mov    %eax,%esi
140e307f3:	4c 63 ce             	movslq %esi,%r9
140e307f6:	33 d2                	xor    %edx,%edx
140e307f8:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
140e307fc:	49 f7 f1             	div    %r9
140e307ff:	4c 8b d0             	mov    %rax,%r10
140e30802:	8d 4f d0             	lea    -0x30(%rdi),%ecx
140e30805:	80 f9 09             	cmp    $0x9,%cl
140e30808:	77 09                	ja     0x140e30813
140e3080a:	40 0f be cf          	movsbl %dil,%ecx
140e3080e:	83 c1 d0             	add    $0xffffffd0,%ecx
140e30811:	eb 25                	jmp    0x140e30838
140e30813:	8d 47 9f             	lea    -0x61(%rdi),%eax
140e30816:	41 3a c5             	cmp    %r13b,%al
140e30819:	77 09                	ja     0x140e30824
140e3081b:	40 0f be cf          	movsbl %dil,%ecx
140e3081f:	83 c1 a9             	add    $0xffffffa9,%ecx
140e30822:	eb 14                	jmp    0x140e30838
140e30824:	8d 47 bf             	lea    -0x41(%rdi),%eax
140e30827:	41 3a c5             	cmp    %r13b,%al
140e3082a:	77 09                	ja     0x140e30835
140e3082c:	40 0f be cf          	movsbl %dil,%ecx
140e30830:	83 c1 c9             	add    $0xffffffc9,%ecx
140e30833:	eb 03                	jmp    0x140e30838
140e30835:	83 c9 ff             	or     $0xffffffff,%ecx
140e30838:	4c 8b 03             	mov    (%rbx),%r8
140e3083b:	3b ce                	cmp    %esi,%ecx
140e3083d:	73 36                	jae    0x140e30875
140e3083f:	41 8a 38             	mov    (%r8),%dil
140e30842:	49 8b c1             	mov    %r9,%rax
140e30845:	48 0f af c5          	imul   %rbp,%rax
140e30849:	8b d1                	mov    %ecx,%edx
140e3084b:	33 c9                	xor    %ecx,%ecx
140e3084d:	48 03 d0             	add    %rax,%rdx
140e30850:	48 3b d0             	cmp    %rax,%rdx
140e30853:	0f 92 c1             	setb   %cl
140e30856:	33 c0                	xor    %eax,%eax
140e30858:	49 3b ea             	cmp    %r10,%rbp
140e3085b:	48 8b ea             	mov    %rdx,%rbp
140e3085e:	0f 97 c0             	seta   %al
140e30861:	0b c8                	or     %eax,%ecx
140e30863:	49 8d 40 01          	lea    0x1(%r8),%rax
140e30867:	c1 e1 02             	shl    $0x2,%ecx
140e3086a:	83 c9 08             	or     $0x8,%ecx
140e3086d:	48 89 03             	mov    %rax,(%rbx)
140e30870:	44 0b f1             	or     %ecx,%r14d
140e30873:	eb 8d                	jmp    0x140e30802
140e30875:	49 8d 40 ff          	lea    -0x1(%r8),%rax
140e30879:	48 89 03             	mov    %rax,(%rbx)
140e3087c:	40 84 ff             	test   %dil,%dil
140e3087f:	74 15                	je     0x140e30896
140e30881:	40 38 38             	cmp    %dil,(%rax)
140e30884:	74 10                	je     0x140e30896
140e30886:	e8 65 9a ff ff       	call   0x140e2a2f0
140e3088b:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
140e30891:	e8 ee 98 ff ff       	call   0x140e2a184
140e30896:	41 f6 c6 08          	test   $0x8,%r14b
140e3089a:	75 13                	jne    0x140e308af
140e3089c:	48 8b 43 08          	mov    0x8(%rbx),%rax
140e308a0:	4c 89 23             	mov    %r12,(%rbx)
140e308a3:	48 85 c0             	test   %rax,%rax
140e308a6:	74 03                	je     0x140e308ab
140e308a8:	4c 89 20             	mov    %r12,(%rax)
140e308ab:	33 c0                	xor    %eax,%eax
140e308ad:	eb 7b                	jmp    0x140e3092a
140e308af:	48 8b d5             	mov    %rbp,%rdx
140e308b2:	41 8b ce             	mov    %r14d,%ecx
140e308b5:	e8 ee f2 ff ff       	call   0x140e2fba8
140e308ba:	84 c0                	test   %al,%al
140e308bc:	74 51                	je     0x140e3090f
140e308be:	41 c6 47 30 01       	movb   $0x1,0x30(%r15)
140e308c3:	41 c7 47 2c 22 00 00 	movl   $0x22,0x2c(%r15)
140e308ca:	00
140e308cb:	41 f6 c6 01          	test   $0x1,%r14b
140e308cf:	75 06                	jne    0x140e308d7
140e308d1:	48 83 cd ff          	or     $0xffffffffffffffff,%rbp
140e308d5:	eb 41                	jmp    0x140e30918
140e308d7:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140e308db:	41 f6 c6 02          	test   $0x2,%r14b
140e308df:	74 17                	je     0x140e308f8
140e308e1:	48 85 c9             	test   %rcx,%rcx
140e308e4:	74 06                	je     0x140e308ec
140e308e6:	48 8b 03             	mov    (%rbx),%rax
140e308e9:	48 89 01             	mov    %rax,(%rcx)
140e308ec:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140e308f3:	00 00 80
140e308f6:	eb 32                	jmp    0x140e3092a
140e308f8:	48 85 c9             	test   %rcx,%rcx
140e308fb:	74 06                	je     0x140e30903
140e308fd:	48 8b 03             	mov    (%rbx),%rax
140e30900:	48 89 01             	mov    %rax,(%rcx)
140e30903:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140e3090a:	ff ff 7f
140e3090d:	eb 1b                	jmp    0x140e3092a
140e3090f:	41 f6 c6 02          	test   $0x2,%r14b
140e30913:	74 03                	je     0x140e30918
140e30915:	48 f7 dd             	neg    %rbp
140e30918:	48 8b 43 08          	mov    0x8(%rbx),%rax
140e3091c:	48 85 c0             	test   %rax,%rax
140e3091f:	74 06                	je     0x140e30927
140e30921:	48 8b 0b             	mov    (%rbx),%rcx
140e30924:	48 89 08             	mov    %rcx,(%rax)
140e30927:	48 8b c5             	mov    %rbp,%rax
140e3092a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140e3092f:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140e30934:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140e30939:	48 83 c4 30          	add    $0x30,%rsp
140e3093d:	41 5f                	pop    %r15
140e3093f:	41 5e                	pop    %r14
140e30941:	41 5d                	pop    %r13
140e30943:	41 5c                	pop    %r12
140e30945:	5f                   	pop    %rdi
140e30946:	c3                   	ret
140e30947:	cc                   	int3
140e30948:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e3094d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140e30952:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140e30957:	57                   	push   %rdi
140e30958:	48 83 ec 20          	sub    $0x20,%rsp
140e3095c:	48 63 f9             	movslq %ecx,%rdi
140e3095f:	33 db                	xor    %ebx,%ebx
140e30961:	8b f2                	mov    %edx,%esi
140e30963:	8d 6f 01             	lea    0x1(%rdi),%ebp
140e30966:	4d 85 c0             	test   %r8,%r8
140e30969:	75 17                	jne    0x140e30982
140e3096b:	e8 d0 d6 01 00       	call   0x140e4e040
140e30970:	81 fd 00 01 00 00    	cmp    $0x100,%ebp
140e30976:	77 06                	ja     0x140e3097e
140e30978:	0f b7 1c 78          	movzwl (%rax,%rdi,2),%ebx
140e3097c:	23 de                	and    %esi,%ebx
140e3097e:	8b c3                	mov    %ebx,%eax
140e30980:	eb 27                	jmp    0x140e309a9
140e30982:	49 8b 00             	mov    (%r8),%rax
140e30985:	81 fd 00 01 00 00    	cmp    $0x100,%ebp
140e3098b:	77 0b                	ja     0x140e30998
140e3098d:	48 8b 00             	mov    (%rax),%rax
140e30990:	0f b7 04 78          	movzwl (%rax,%rdi,2),%eax
140e30994:	23 c6                	and    %esi,%eax
140e30996:	eb 11                	jmp    0x140e309a9
140e30998:	83 78 08 01          	cmpl   $0x1,0x8(%rax)
140e3099c:	7e 09                	jle    0x140e309a7
140e3099e:	8b cf                	mov    %edi,%ecx
140e309a0:	e8 67 4a 02 00       	call   0x140e5540c
140e309a5:	eb 02                	jmp    0x140e309a9
140e309a7:	33 c0                	xor    %eax,%eax
140e309a9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140e309ae:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140e309b3:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140e309b8:	48 83 c4 20          	add    $0x20,%rsp
140e309bc:	5f                   	pop    %rdi
140e309bd:	c3                   	ret
140e309be:	cc                   	int3
140e309bf:	cc                   	int3
140e309c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140e309c5:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
140e309ca:	55                   	push   %rbp