180041884:	73 19                	jae    0x18004189f
180041886:	44 8b 71 70          	mov    0x70(%rcx),%r14d
18004188a:	41 8b ce             	mov    %r14d,%ecx
18004188d:	83 e9 01             	sub    $0x1,%ecx
180041890:	74 0a                	je     0x18004189c
180041892:	83 f9 01             	cmp    $0x1,%ecx
180041895:	75 08                	jne    0x18004189f
180041897:	89 4f 70             	mov    %ecx,0x70(%rdi)
18004189a:	eb 03                	jmp    0x18004189f
18004189c:	89 77 70             	mov    %esi,0x70(%rdi)
18004189f:	40 80 fd 0b          	cmp    $0xb,%bpl
1800418a3:	73 05                	jae    0x1800418aa
1800418a5:	48 c1 6f 48 1c       	shrq   $0x1c,0x48(%rdi)
1800418aa:	0f b7 5f 40          	movzwl 0x40(%rdi),%ebx
1800418ae:	48 8d 0d 4b e7 fb ff 	lea    -0x418b5(%rip),%rcx        # 0x180000000
1800418b5:	0f b7 84 a9 08 e2 14 	movzwl 0x14e208(%rcx,%rbp,4),%eax
1800418bc:	00
1800418bd:	48 8b d5             	mov    %rbp,%rdx
1800418c0:	48 03 d2             	add    %rdx,%rdx
1800418c3:	66 23 c3             	and    %bx,%ax
1800418c6:	66 89 47 40          	mov    %ax,0x40(%rdi)
1800418ca:	4c 8b cf             	mov    %rdi,%r9
1800418cd:	44 8b 84 d1 f0 de 14 	mov    0x14def0(%rcx,%rdx,8),%r8d
1800418d4:	00
1800418d5:	48 8b 94 d1 f8 de 14 	mov    0x14def8(%rcx,%rdx,8),%rdx
1800418dc:	00
1800418dd:	49 8b cf             	mov    %r15,%rcx
1800418e0:	e8 4b 5f 00 00       	call   0x180047830
1800418e5:	66 89 5f 40          	mov    %bx,0x40(%rdi)
1800418e9:	40 80 fd 0b          	cmp    $0xb,%bpl
1800418ed:	73 05                	jae    0x1800418f4
1800418ef:	48 c1 67 48 1c       	shlq   $0x1c,0x48(%rdi)
1800418f4:	40 80 fd 07          	cmp    $0x7,%bpl
1800418f8:	73 04                	jae    0x1800418fe
1800418fa:	44 89 77 70          	mov    %r14d,0x70(%rdi)
1800418fe:	40 80 fd 06          	cmp    $0x6,%bpl
180041902:	73 14                	jae    0x180041918
180041904:	8b 87 88 00 00 00    	mov    0x88(%rdi),%eax
18004190a:	33 d2                	xor    %edx,%edx
18004190c:	f7 b7 80 00 00 00    	divl   0x80(%rdi)
180041912:	89 87 88 00 00 00    	mov    %eax,0x88(%rdi)
180041918:	39 b7 b4 00 00 00    	cmp    %esi,0xb4(%rdi)
18004191e:	76 2d                	jbe    0x18004194d
180041920:	44 8b ce             	mov    %esi,%r9d
180041923:	48 8d 15 36 c3 10 00 	lea    0x10c336(%rip),%rdx        # 0x18014dc60
18004192a:	49 c1 e1 04          	shl    $0x4,%r9
18004192e:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180041934:	4c 03 8f b8 00 00 00 	add    0xb8(%rdi),%r9
18004193b:	49 8b cf             	mov    %r15,%rcx
18004193e:	e8 ed 5e 00 00       	call   0x180047830
180041943:	ff c6                	inc    %esi
180041945:	3b b7 b4 00 00 00    	cmp    0xb4(%rdi),%esi
18004194b:	72 d3                	jb     0x180041920
18004194d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180041952:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180041957:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18004195c:	48 83 c4 20          	add    $0x20,%rsp
180041960:	41 5f                	pop    %r15
180041962:	41 5e                	pop    %r14
180041964:	5f                   	pop    %rdi
180041965:	c3                   	ret
180041966:	cc                   	int3
180041967:	cc                   	int3
180041968:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004196d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180041972:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180041977:	57                   	push   %rdi
180041978:	48 83 ec 20          	sub    $0x20,%rsp
18004197c:	0f b6 79 18          	movzbl 0x18(%rcx),%edi
180041980:	48 8b d9             	mov    %rcx,%rbx
180041983:	40 80 ff 06          	cmp    $0x6,%dil
180041987:	73 13                	jae    0x18004199c
180041989:	8b 81 88 00 00 00    	mov    0x88(%rcx),%eax
18004198f:	0f af 81 80 00 00 00 	imul   0x80(%rcx),%eax
180041996:	89 81 88 00 00 00    	mov    %eax,0x88(%rcx)
18004199c:	40 80 ff 0b          	cmp    $0xb,%dil
1800419a0:	73 05                	jae    0x1800419a7
1800419a2:	48 c1 69 48 1c       	shrq   $0x1c,0x48(%rcx)
1800419a7:	48 8d 05 42 c5 10 00 	lea    0x10c542(%rip),%rax        # 0x18014def0
1800419ae:	48 8b cf             	mov    %rdi,%rcx
1800419b1:	48 03 c9             	add    %rcx,%rcx
1800419b4:	4c 8b c3             	mov    %rbx,%r8
1800419b7:	8b 14 c8             	mov    (%rax,%rcx,8),%edx
1800419ba:	48 8b 4c c8 08       	mov    0x8(%rax,%rcx,8),%rcx
1800419bf:	e8 0c e7 00 00       	call   0x1800500d0
1800419c4:	0f b7 f0             	movzwl %ax,%esi
1800419c7:	40 80 ff 06          	cmp    $0x6,%dil
1800419cb:	73 14                	jae    0x1800419e1
1800419cd:	8b 83 88 00 00 00    	mov    0x88(%rbx),%eax
1800419d3:	33 d2                	xor    %edx,%edx
1800419d5:	f7 b3 80 00 00 00    	divl   0x80(%rbx)
1800419db:	89 83 88 00 00 00    	mov    %eax,0x88(%rbx)
1800419e1:	40 80 ff 0b          	cmp    $0xb,%dil
1800419e5:	73 05                	jae    0x1800419ec
1800419e7:	48 c1 63 48 1c       	shlq   $0x1c,0x48(%rbx)
1800419ec:	8b 83 b4 00 00 00    	mov    0xb4(%rbx),%eax
1800419f2:	33 ff                	xor    %edi,%edi
1800419f4:	85 c0                	test   %eax,%eax
1800419f6:	74 32                	je     0x180041a2a
1800419f8:	48 8b ab b8 00 00 00 	mov    0xb8(%rbx),%rbp
1800419ff:	8b d8                	mov    %eax,%ebx
180041a01:	4c 8b c7             	mov    %rdi,%r8
180041a04:	48 8d 0d 55 c2 10 00 	lea    0x10c255(%rip),%rcx        # 0x18014dc60
180041a0b:	49 c1 e0 04          	shl    $0x4,%r8
180041a0f:	ba 01 00 00 00       	mov    $0x1,%edx
180041a14:	4c 03 c5             	add    %rbp,%r8
180041a17:	e8 b4 e6 00 00       	call   0x1800500d0
180041a1c:	0f b7 c8             	movzwl %ax,%ecx
180041a1f:	48 ff c7             	inc    %rdi
180041a22:	03 f1                	add    %ecx,%esi
180041a24:	48 83 eb 01          	sub    $0x1,%rbx
180041a28:	75 d7                	jne    0x180041a01
180041a2a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180041a2f:	8b c6                	mov    %esi,%eax
180041a31:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
180041a36:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
180041a3b:	48 83 c4 20          	add    $0x20,%rsp
180041a3f:	5f                   	pop    %rdi
180041a40:	c3                   	ret
180041a41:	cc                   	int3
180041a42:	cc                   	int3
180041a43:	cc                   	int3
180041a44:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180041a49:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180041a4e:	57                   	push   %rdi
180041a4f:	48 83 ec 20          	sub    $0x20,%rsp
180041a53:	48 8b 41 10          	mov    0x10(%rcx),%rax
180041a57:	48 8b d9             	mov    %rcx,%rbx
180041a5a:	48 8b 48 10          	mov    0x10(%rax),%rcx
180041a5e:	48 8b 89 d8 00 00 00 	mov    0xd8(%rcx),%rcx
180041a65:	e8 06 cf 0f 00       	call   0x18013e970
180041a6a:	40 8a 7b 42          	mov    0x42(%rbx),%dil
180041a6e:	8d 57 ff             	lea    -0x1(%rdi),%edx
180041a71:	80 fa 07             	cmp    $0x7,%dl
180041a74:	0f 87 29 01 00 00    	ja     0x180041ba3
180041a7a:	48 8b 50 58          	mov    0x58(%rax),%rdx
180041a7e:	48 8d 4b 58          	lea    0x58(%rbx),%rcx
180041a82:	45 33 c0             	xor    %r8d,%r8d
180041a85:	e8 d6 e8 00 00       	call   0x180050360
180041a8a:	33 f6                	xor    %esi,%esi
180041a8c:	8b c8                	mov    %eax,%ecx
180041a8e:	85 c0                	test   %eax,%eax
180041a90:	0f 88 12 01 00 00    	js     0x180041ba8
180041a96:	39 b3 b4 00 00 00    	cmp    %esi,0xb4(%rbx)
180041a9c:	74 0d                	je     0x180041aab
180041a9e:	48 39 b3 b8 00 00 00 	cmp    %rsi,0xb8(%rbx)
180041aa5:	0f 84 f8 00 00 00    	je     0x180041ba3
180041aab:	40 80 ff 01          	cmp    $0x1,%dil
180041aaf:	74 15                	je     0x180041ac6
180041ab1:	48 8d 4b 78          	lea    0x78(%rbx),%rcx
180041ab5:	33 d2                	xor    %edx,%edx
180041ab7:	e8 ec e6 00 00       	call   0x1800501a8
180041abc:	8b c8                	mov    %eax,%ecx
180041abe:	85 c0                	test   %eax,%eax
180041ac0:	0f 88 e2 00 00 00    	js     0x180041ba8
180041ac6:	48 8b 8b 90 00 00 00 	mov    0x90(%rbx),%rcx
180041acd:	48 8d 41 ff          	lea    -0x1(%rcx),%rax
180041ad1:	48 3d fe ff ff 01    	cmp    $0x1fffffe,%rax
180041ad7:	0f 86 bf 00 00 00    	jbe    0x180041b9c
180041add:	48 83 f9 ff          	cmp    $0xffffffffffffffff,%rcx
180041ae1:	0f 84 b5 00 00 00    	je     0x180041b9c
180041ae7:	48 83 bb 98 00 00 00 	cmpq   $0xffffffffffffffff,0x98(%rbx)
180041aee:	ff
180041aef:	b9 bb 00 00 c0       	mov    $0xc00000bb,%ecx
180041af4:	0f 45 ce             	cmovne %esi,%ecx
180041af7:	0f 84 ab 00 00 00    	je     0x180041ba8
180041afd:	83 7b 78 03          	cmpl   $0x3,0x78(%rbx)
180041b01:	8b 8b 88 00 00 00    	mov    0x88(%rbx),%ecx
180041b07:	75 10                	jne    0x180041b19
180041b09:	b8 01 00 00 00       	mov    $0x1,%eax
180041b0e:	2b 83 84 00 00 00    	sub    0x84(%rbx),%eax
180041b14:	2b 43 7c             	sub    0x7c(%rbx),%eax
180041b17:	03 c8                	add    %eax,%ecx
180041b19:	8b c1                	mov    %ecx,%eax
180041b1b:	bf 40 00 00 00       	mov    $0x40,%edi
180041b20:	48 8b 4b 60          	mov    0x60(%rbx),%rcx
180041b24:	48 0f af c8          	imul   %rax,%rcx
180041b28:	48 89 8b e8 00 00 00 	mov    %rcx,0xe8(%rbx)
180041b2f:	8b cf                	mov    %edi,%ecx
180041b31:	e8 de 4d 00 00       	call   0x180046914
180041b36:	4c 8b c0             	mov    %rax,%r8
180041b39:	48 85 c0             	test   %rax,%rax
180041b3c:	74 2d                	je     0x180041b6b
180041b3e:	48 8d 48 08          	lea    0x8(%rax),%rcx
180041b42:	48 89 30             	mov    %rsi,(%rax)
180041b45:	48 89 70 18          	mov    %rsi,0x18(%rax)
180041b49:	c7 40 20 01 00 00 00 	movl   $0x1,0x20(%rax)
180041b50:	89 78 24             	mov    %edi,0x24(%rax)
180041b53:	8d 47 c6             	lea    -0x3a(%rdi),%eax
180041b56:	41 89 40 28          	mov    %eax,0x28(%r8)
180041b5a:	41 89 40 38          	mov    %eax,0x38(%r8)
180041b5e:	48 89 49 08          	mov    %rcx,0x8(%rcx)
180041b62:	48 89 09             	mov    %rcx,(%rcx)
180041b65:	49 89 78 30          	mov    %rdi,0x30(%r8)
180041b69:	eb 03                	jmp    0x180041b6e
180041b6b:	4c 8b c6             	mov    %rsi,%r8
180041b6e:	4c 89 83 c0 00 00 00 	mov    %r8,0xc0(%rbx)
180041b75:	4d 85 c0             	test   %r8,%r8
180041b78:	75 07                	jne    0x180041b81
180041b7a:	b9 9a 00 00 c0       	mov    $0xc000009a,%ecx
180041b7f:	eb 27                	jmp    0x180041ba8
180041b81:	48 8b 43 48          	mov    0x48(%rbx),%rax
180041b85:	33 d2                	xor    %edx,%edx
180041b87:	48 f7 b3 e8 00 00 00 	divq   0xe8(%rbx)
180041b8e:	49 8b c8             	mov    %r8,%rcx
180041b91:	8b d0                	mov    %eax,%edx
180041b93:	e8 d0 1b 00 00       	call   0x180043768
180041b98:	8b c8                	mov    %eax,%ecx
180041b9a:	eb 0c                	jmp    0x180041ba8
180041b9c:	b9 10 00 e7 c0       	mov    $0xc0e70010,%ecx
180041ba1:	eb 05                	jmp    0x180041ba8
180041ba3:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
180041ba8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180041bad:	8b c1                	mov    %ecx,%eax
180041baf:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180041bb4:	48 83 c4 20          	add    $0x20,%rsp
180041bb8:	5f                   	pop    %rdi
180041bb9:	c3                   	ret
180041bba:	cc                   	int3
180041bbb:	cc                   	int3
180041bbc:	48 8b c4             	mov    %rsp,%rax
180041bbf:	48 89 58 08          	mov    %rbx,0x8(%rax)
180041bc3:	48 89 68 10          	mov    %rbp,0x10(%rax)
180041bc7:	48 89 70 18          	mov    %rsi,0x18(%rax)
180041bcb:	57                   	push   %rdi
180041bcc:	48 83 ec 30          	sub    $0x30,%rsp
180041bd0:	8b 71 50             	mov    0x50(%rcx),%esi
180041bd3:	33 db                	xor    %ebx,%ebx
180041bd5:	89 58 ec             	mov    %ebx,-0x14(%rax)
180041bd8:	48 8b f9             	mov    %rcx,%rdi
180041bdb:	48 8b 41 10          	mov    0x10(%rcx),%rax
180041bdf:	48 8b 68 10          	mov    0x10(%rax),%rbp
180041be3:	83 fe ff             	cmp    $0xffffffff,%esi
180041be6:	74 59                	je     0x180041c41
180041be8:	48 8b cd             	mov    %rbp,%rcx
180041beb:	e8 60 86 0f 00       	call   0x18013a250
180041bf0:	48 85 c0             	test   %rax,%rax
180041bf3:	75 0a                	jne    0x180041bff
180041bf5:	bb 25 02 00 c0       	mov    $0xc0000225,%ebx
180041bfa:	e9 8b 00 00 00       	jmp    0x180041c8a
180041bff:	48 8b c8             	mov    %rax,%rcx
180041c02:	e8 69 cd 0f 00       	call   0x18013e970
180041c07:	48 8b 90 40 01 00 00 	mov    0x140(%rax),%rdx
180041c0e:	48 8b 40 48          	mov    0x48(%rax),%rax
180041c12:	48 c1 e8 19          	shr    $0x19,%rax
180041c16:	c1 e0 03             	shl    $0x3,%eax
180041c19:	48 0f a3 32          	bt     %rsi,(%rdx)
180041c1d:	89 44 24 20          	mov    %eax,0x20(%rsp)
180041c21:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
180041c26:	73 07                	jae    0x180041c2f
180041c28:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180041c2d:	eb 5b                	jmp    0x180041c8a
180041c2f:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180041c35:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
180041c3a:	8b d6                	mov    %esi,%edx
180041c3c:	e8 f3 dc fe ff       	call   0x18002f934
180041c41:	44 8b 87 a8 00 00 00 	mov    0xa8(%rdi),%r8d
180041c48:	45 85 c0             	test   %r8d,%r8d
180041c4b:	74 3d                	je     0x180041c8a
180041c4d:	b2 03                	mov    $0x3,%dl
180041c4f:	48 8b cd             	mov    %rbp,%rcx
180041c52:	e8 0d b3 0f 00       	call   0x18013cf64
180041c57:	48 85 c0             	test   %rax,%rax
180041c5a:	74 cc                	je     0x180041c28
180041c5c:	48 8b c8             	mov    %rax,%rcx
180041c5f:	e8 0c cd 0f 00       	call   0x18013e970
180041c64:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
180041c68:	48 8b d0             	mov    %rax,%rdx
180041c6b:	4c 8b 80 c8 00 00 00 	mov    0xc8(%rax),%r8
180041c72:	4d 85 c0             	test   %r8,%r8
180041c75:	74 0c                	je     0x180041c83
180041c77:	e8 f4 cc 0f 00       	call   0x18013e970
180041c7c:	4c 89 80 d0 00 00 00 	mov    %r8,0xd0(%rax)
180041c83:	48 89 8a c8 00 00 00 	mov    %rcx,0xc8(%rdx)
180041c8a:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180041c8f:	8b c3                	mov    %ebx,%eax
180041c91:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180041c96:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180041c9b:	48 83 c4 30          	add    $0x30,%rsp
180041c9f:	5f                   	pop    %rdi
180041ca0:	c3                   	ret
180041ca1:	cc                   	int3
180041ca2:	cc                   	int3
180041ca3:	cc                   	int3
180041ca4:	48 83 ec 28          	sub    $0x28,%rsp
180041ca8:	80 79 42 01          	cmpb   $0x1,0x42(%rcx)
180041cac:	74 27                	je     0x180041cd5
180041cae:	44 8b 81 a8 00 00 00 	mov    0xa8(%rcx),%r8d
180041cb5:	45 85 c0             	test   %r8d,%r8d
180041cb8:	74 1b                	je     0x180041cd5
180041cba:	83 fa 03             	cmp    $0x3,%edx
180041cbd:	74 16                	je     0x180041cd5
180041cbf:	48 8b 41 10          	mov    0x10(%rcx),%rax
180041cc3:	b2 03                	mov    $0x3,%dl
180041cc5:	48 8b 48 10          	mov    0x10(%rax),%rcx
180041cc9:	48 8b 01             	mov    (%rcx),%rax
180041ccc:	48 8b 40 28          	mov    0x28(%rax),%rax
180041cd0:	ff d0                	call   *%rax
180041cd2:	0f 1f 00             	nopl   (%rax)
180041cd5:	48 83 c4 28          	add    $0x28,%rsp
180041cd9:	c3                   	ret
180041cda:	cc                   	int3
180041cdb:	cc                   	int3
180041cdc:	48 83 ec 28          	sub    $0x28,%rsp
180041ce0:	48 8b c2             	mov    %rdx,%rax
180041ce3:	33 d2                	xor    %edx,%edx
180041ce5:	48 f7 b1 e8 00 00 00 	divq   0xe8(%rcx)
180041cec:	48 8b 89 c0 00 00 00 	mov    0xc0(%rcx),%rcx
180041cf3:	48 8b d0             	mov    %rax,%rdx
180041cf6:	e8 e1 1b 00 00       	call   0x1800438dc
180041cfb:	48 83 c4 28          	add    $0x28,%rsp
180041cff:	c3                   	ret
180041d00:	cc                   	int3
180041d01:	cc                   	int3
180041d02:	cc                   	int3
180041d03:	cc                   	int3
180041d04:	48 83 ec 28          	sub    $0x28,%rsp
180041d08:	48 8b ca             	mov    %rdx,%rcx
180041d0b:	e8 60 cc 0f 00       	call   0x18013e970
180041d10:	48 8b 40 50          	mov    0x50(%rax),%rax
180041d14:	48 83 c4 28          	add    $0x28,%rsp
180041d18:	c3                   	ret
180041d19:	cc                   	int3
180041d1a:	cc                   	int3
180041d1b:	cc                   	int3
180041d1c:	40 53                	rex push %rbx
180041d1e:	48 83 ec 20          	sub    $0x20,%rsp
180041d22:	48 8b c2             	mov    %rdx,%rax
180041d25:	41 8b d8             	mov    %r8d,%ebx
180041d28:	33 d2                	xor    %edx,%edx
180041d2a:	48 f7 b1 e8 00 00 00 	divq   0xe8(%rcx)
180041d31:	48 8b 89 c0 00 00 00 	mov    0xc0(%rcx),%rcx
180041d38:	48 8b d0             	mov    %rax,%rdx
180041d3b:	e8 9c 1b 00 00       	call   0x1800438dc
180041d40:	48 8b c8             	mov    %rax,%rcx
180041d43:	48 85 c0             	test   %rax,%rax
180041d46:	74 31                	je     0x180041d79
180041d48:	e8 23 cc 0f 00       	call   0x18013e970
180041d4d:	39 58 40             	cmp    %ebx,0x40(%rax)
180041d50:	74 27                	je     0x180041d79
180041d52:	e8 19 cc 0f 00       	call   0x18013e970
180041d57:	8b 50 40             	mov    0x40(%rax),%edx
180041d5a:	eb 0a                	jmp    0x180041d66
180041d5c:	e8 0f cc 0f 00       	call   0x18013e970
180041d61:	39 50 40             	cmp    %edx,0x40(%rax)
180041d64:	75 0e                	jne    0x180041d74
180041d66:	e8 05 cc 0f 00       	call   0x18013e970
180041d6b:	48 8b 48 50          	mov    0x50(%rax),%rcx
180041d6f:	48 85 c9             	test   %rcx,%rcx
180041d72:	75 e8                	jne    0x180041d5c