180074723:	e8 98 12 0c 00       	call   0x1801359c0
180074728:	83 a4 24 98 02 00 00 	andl   $0x0,0x298(%rsp)
18007472f:	00
180074730:	49 03 dc             	add    %r12,%rbx
180074733:	ff c5                	inc    %ebp
180074735:	44 8b a4 24 98 02 00 	mov    0x298(%rsp),%r12d
18007473c:	00
18007473d:	41 3b ed             	cmp    %r13d,%ebp
180074740:	72 88                	jb     0x1800746ca
180074742:	48 8b ac 24 90 02 00 	mov    0x290(%rsp),%rbp
180074749:	00
18007474a:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18007474f:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
180074754:	44 0f b6 45 03       	movzbl 0x3(%rbp),%r8d
180074759:	4d 03 c0             	add    %r8,%r8
18007475c:	e8 5f 12 0c 00       	call   0x1801359c0
180074761:	4c 8b 6c 24 28       	mov    0x28(%rsp),%r13
180074766:	45 33 e4             	xor    %r12d,%r12d
180074769:	45 8b c4             	mov    %r12d,%r8d
18007476c:	4d 39 a5 18 08 00 00 	cmp    %r12,0x818(%r13)
180074773:	75 7e                	jne    0x1800747f3
180074775:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18007477a:	e8 c1 69 0b 00       	call   0x18012b140
18007477f:	41 bb 01 00 00 00    	mov    $0x1,%r11d
180074785:	44 0f b6 4d 03       	movzbl 0x3(%rbp),%r9d
18007478a:	45 0f b7 c4          	movzwl %r12w,%r8d
18007478e:	45 0f b7 d4          	movzwl %r12w,%r10d
180074792:	45 03 c9             	add    %r9d,%r9d
180074795:	74 30                	je     0x1800747c7
180074797:	41 0f b7 c2          	movzwl %r10w,%eax
18007479b:	66 45 03 d3          	add    %r11w,%r10w
18007479f:	0f b6 54 04 40       	movzbl 0x40(%rsp,%rax,1),%edx
1800747a4:	41 0f b7 c0          	movzwl %r8w,%eax
1800747a8:	66 d1 e8             	shr    $1,%ax
1800747ab:	66 03 d0             	add    %ax,%dx
1800747ae:	45 0f b7 c0          	movzwl %r8w,%r8d
1800747b2:	b8 00 80 00 00       	mov    $0x8000,%eax
1800747b7:	44 0f af c0          	imul   %eax,%r8d
1800747bb:	41 0f b7 c2          	movzwl %r10w,%eax
1800747bf:	44 03 c2             	add    %edx,%r8d
1800747c2:	41 3b c1             	cmp    %r9d,%eax
1800747c5:	72 d0                	jb     0x180074797
1800747c7:	66 44 39 45 04       	cmp    %r8w,0x4(%rbp)
1800747cc:	74 64                	je     0x180074832
1800747ce:	49 8b 06             	mov    (%r14),%rax
1800747d1:	48 83 c0 20          	add    $0x20,%rax
1800747d5:	49 89 47 68          	mov    %rax,0x68(%r15)
1800747d9:	48 8b 8c 24 80 02 00 	mov    0x280(%rsp),%rcx
1800747e0:	00
1800747e1:	e9 f3 fd ff ff       	jmp    0x1800745d9
1800747e6:	48 8b ac 24 90 02 00 	mov    0x290(%rsp),%rbp
1800747ed:	00
1800747ee:	e9 ac fe ff ff       	jmp    0x18007469f
1800747f3:	0f b7 44 24 40       	movzwl 0x40(%rsp),%eax
1800747f8:	66 85 c0             	test   %ax,%ax
1800747fb:	74 82                	je     0x18007477f
1800747fd:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
180074802:	41 bb 01 00 00 00    	mov    $0x1,%r11d
180074808:	0f b7 c8             	movzwl %ax,%ecx
18007480b:	45 03 c3             	add    %r11d,%r8d
18007480e:	49 8b 85 18 08 00 00 	mov    0x818(%r13),%rax
180074815:	0f b7 0c 48          	movzwl (%rax,%rcx,2),%ecx
180074819:	66 89 0a             	mov    %cx,(%rdx)
18007481c:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
180074821:	4a 8d 14 42          	lea    (%rdx,%r8,2),%rdx
180074825:	0f b7 02             	movzwl (%rdx),%eax
180074828:	66 85 c0             	test   %ax,%ax
18007482b:	75 db                	jne    0x180074808
18007482d:	e9 53 ff ff ff       	jmp    0x180074785
180074832:	41 8b dc             	mov    %r12d,%ebx
180074835:	48 8b cf             	mov    %rdi,%rcx
180074838:	e8 bf 57 02 00       	call   0x180099ffc
18007483d:	8b c3                	mov    %ebx,%eax
18007483f:	48 8b 9c 24 88 02 00 	mov    0x288(%rsp),%rbx
180074846:	00
180074847:	48 81 c4 40 02 00 00 	add    $0x240,%rsp
18007484e:	41 5f                	pop    %r15
180074850:	41 5e                	pop    %r14
180074852:	41 5d                	pop    %r13
180074854:	41 5c                	pop    %r12
180074856:	5f                   	pop    %rdi
180074857:	5e                   	pop    %rsi
180074858:	5d                   	pop    %rbp
180074859:	c3                   	ret
18007485a:	cc                   	int3
18007485b:	cc                   	int3
18007485c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180074861:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180074866:	57                   	push   %rdi
180074867:	48 83 ec 50          	sub    $0x50,%rsp
18007486b:	48 8b 59 78          	mov    0x78(%rcx),%rbx
18007486f:	48 8b f1             	mov    %rcx,%rsi
180074872:	83 64 24 60 00       	andl   $0x0,0x60(%rsp)
180074877:	48 8b 43 48          	mov    0x48(%rbx),%rax
18007487b:	48 83 63 58 00       	andq   $0x0,0x58(%rbx)
180074880:	48 89 43 50          	mov    %rax,0x50(%rbx)
180074884:	33 ff                	xor    %edi,%edi
180074886:	eb 0e                	jmp    0x180074896
180074888:	80 7c 24 30 00       	cmpb   $0x0,0x30(%rsp)
18007488d:	74 25                	je     0x1800748b4
18007488f:	48 83 c7 20          	add    $0x20,%rdi
180074893:	48 8b ce             	mov    %rsi,%rcx
180074896:	4c 8d 4c 24 60       	lea    0x60(%rsp),%r9
18007489b:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
1800748a0:	41 b8 20 00 00 00    	mov    $0x20,%r8d
1800748a6:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1800748ab:	e8 b4 01 00 00       	call   0x180074a64
1800748b0:	85 c0                	test   %eax,%eax
1800748b2:	79 d4                	jns    0x180074888
1800748b4:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
1800748b8:	48 8b c7             	mov    %rdi,%rax
1800748bb:	48 83 63 58 00       	andq   $0x0,0x58(%rbx)
1800748c0:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1800748c5:	48 89 4b 50          	mov    %rcx,0x50(%rbx)
1800748c9:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
1800748ce:	48 83 c4 50          	add    $0x50,%rsp
1800748d2:	5f                   	pop    %rdi
1800748d3:	c3                   	ret
1800748d4:	cc                   	int3
1800748d5:	cc                   	int3
1800748d6:	cc                   	int3
1800748d7:	cc                   	int3
1800748d8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800748dd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800748e2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800748e7:	57                   	push   %rdi
1800748e8:	48 83 ec 30          	sub    $0x30,%rsp
1800748ec:	4c 8b 59 78          	mov    0x78(%rcx),%r11
1800748f0:	8b fa                	mov    %edx,%edi
1800748f2:	48 8b 05 df 01 13 00 	mov    0x1301df(%rip),%rax        # 0x1801a4ad8
1800748f9:	8b f2                	mov    %edx,%esi
1800748fb:	c1 e7 02             	shl    $0x2,%edi
1800748fe:	48 8b e9             	mov    %rcx,%rbp
180074901:	41 f6 43 21 02       	testb  $0x2,0x21(%r11)
180074906:	45 8b 83 80 00 00 00 	mov    0x80(%r11),%r8d
18007490d:	4a 8b 1c c0          	mov    (%rax,%r8,8),%rbx
180074911:	74 4a                	je     0x18007495d
180074913:	44 8b 8b 04 02 00 00 	mov    0x204(%rbx),%r9d
18007491a:	41 ba 01 00 00 00    	mov    $0x1,%r10d
180074920:	4d 8b 43 38          	mov    0x38(%r11),%r8
180074924:	49 ff c8             	dec    %r8
180074927:	4d 03 c1             	add    %r9,%r8
18007492a:	45 3b ca             	cmp    %r10d,%r9d
18007492d:	74 0b                	je     0x18007493a
18007492f:	49 8b c0             	mov    %r8,%rax
180074932:	48 99                	cqto
180074934:	49 f7 f9             	idiv   %r9
180074937:	4c 2b c2             	sub    %rdx,%r8
18007493a:	49 8b c0             	mov    %r8,%rax
18007493d:	8b ce                	mov    %esi,%ecx
18007493f:	41 2b 4b 34          	sub    0x34(%r11),%ecx
180074943:	48 99                	cqto
180074945:	49 f7 f9             	idiv   %r9
180074948:	41 03 ca             	add    %r10d,%ecx
18007494b:	48 3b c8             	cmp    %rax,%rcx
18007494e:	7c 08                	jl     0x180074958
180074950:	83 c8 ff             	or     $0xffffffff,%eax
180074953:	e9 83 00 00 00       	jmp    0x1800749db
180074958:	8d 46 01             	lea    0x1(%rsi),%eax
18007495b:	eb 7e                	jmp    0x1800749db
18007495d:	8b 83 14 02 00 00    	mov    0x214(%rbx),%eax
180074963:	3b f8                	cmp    %eax,%edi
180074965:	72 09                	jb     0x180074970
180074967:	05 00 06 00 00       	add    $0x600,%eax
18007496c:	3b c7                	cmp    %edi,%eax
18007496e:	77 5e                	ja     0x1800749ce
180074970:	33 f6                	xor    %esi,%esi
180074972:	40 38 b3 10 02 00 00 	cmp    %sil,0x210(%rbx)
180074979:	74 09                	je     0x180074984
18007497b:	e8 74 00 00 00       	call   0x1800749f4
180074980:	85 c0                	test   %eax,%eax
180074982:	78 46                	js     0x1800749ca
180074984:	8a 4b 6c             	mov    0x6c(%rbx),%cl
180074987:	4c 8d 8b 18 02 00 00 	lea    0x218(%rbx),%r9
18007498e:	8b 43 50             	mov    0x50(%rbx),%eax
180074991:	ba 01 00 00 00       	mov    $0x1,%edx
180074996:	48 d3 e2             	shl    %cl,%rdx
180074999:	41 b8 00 06 00 00    	mov    $0x600,%r8d
18007499f:	48 0f af d0          	imul   %rax,%rdx
1800749a3:	8b c7                	mov    %edi,%eax
1800749a5:	48 03 93 08 02 00 00 	add    0x208(%rbx),%rdx
1800749ac:	89 bb 14 02 00 00    	mov    %edi,0x214(%rbx)
1800749b2:	48 03 d0             	add    %rax,%rdx
1800749b5:	8b 4d 08             	mov    0x8(%rbp),%ecx
1800749b8:	89 74 24 28          	mov    %esi,0x28(%rsp)
1800749bc:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1800749c1:	e8 56 25 fb ff       	call   0x180026f1c
1800749c6:	85 c0                	test   %eax,%eax
1800749c8:	79 04                	jns    0x1800749ce
1800749ca:	33 c0                	xor    %eax,%eax
1800749cc:	eb 0d                	jmp    0x1800749db
1800749ce:	2b bb 14 02 00 00    	sub    0x214(%rbx),%edi
1800749d4:	8b 84 1f 18 02 00 00 	mov    0x218(%rdi,%rbx,1),%eax
1800749db:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800749e0:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800749e5:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800749ea:	48 83 c4 30          	add    $0x30,%rsp
1800749ee:	5f                   	pop    %rdi
1800749ef:	c3                   	ret
1800749f0:	cc                   	int3
1800749f1:	cc                   	int3
1800749f2:	cc                   	int3
1800749f3:	cc                   	int3
1800749f4:	40 53                	rex push %rbx
1800749f6:	48 83 ec 30          	sub    $0x30,%rsp
1800749fa:	48 8b 41 78          	mov    0x78(%rcx),%rax
1800749fe:	4c 8b d1             	mov    %rcx,%r10
180074a01:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
180074a07:	41 b8 00 06 00 00    	mov    $0x600,%r8d
180074a0d:	8b 90 80 00 00 00    	mov    0x80(%rax),%edx
180074a13:	48 8b 05 be 00 13 00 	mov    0x1300be(%rip),%rax        # 0x1801a4ad8
180074a1a:	48 8b 1c d0          	mov    (%rax,%rdx,8),%rbx
180074a1e:	ba 01 00 00 00       	mov    $0x1,%edx
180074a23:	8a 4b 6c             	mov    0x6c(%rbx),%cl
180074a26:	4c 8d 8b 18 02 00 00 	lea    0x218(%rbx),%r9
180074a2d:	8b 43 50             	mov    0x50(%rbx),%eax
180074a30:	48 d3 e2             	shl    %cl,%rdx
180074a33:	41 8b 4a 08          	mov    0x8(%r10),%ecx
180074a37:	48 0f af d0          	imul   %rax,%rdx
180074a3b:	8b 83 14 02 00 00    	mov    0x214(%rbx),%eax
180074a41:	48 03 d0             	add    %rax,%rdx
180074a44:	48 03 93 08 02 00 00 	add    0x208(%rbx),%rdx
180074a4b:	e8 98 25 fb ff       	call   0x180026fe8
180074a50:	85 c0                	test   %eax,%eax
180074a52:	78 09                	js     0x180074a5d
180074a54:	c6 83 10 02 00 00 00 	movb   $0x0,0x210(%rbx)
180074a5b:	33 c0                	xor    %eax,%eax
180074a5d:	48 83 c4 30          	add    $0x30,%rsp
180074a61:	5b                   	pop    %rbx
180074a62:	c3                   	ret
180074a63:	cc                   	int3
180074a64:	48 8b c4             	mov    %rsp,%rax
180074a67:	4c 89 48 20          	mov    %r9,0x20(%rax)
180074a6b:	44 89 40 18          	mov    %r8d,0x18(%rax)
180074a6f:	48 89 50 10          	mov    %rdx,0x10(%rax)
180074a73:	48 89 48 08          	mov    %rcx,0x8(%rax)
180074a77:	53                   	push   %rbx
180074a78:	55                   	push   %rbp
180074a79:	56                   	push   %rsi
180074a7a:	57                   	push   %rdi
180074a7b:	41 54                	push   %r12
180074a7d:	41 55                	push   %r13
180074a7f:	41 56                	push   %r14
180074a81:	41 57                	push   %r15
180074a83:	48 83 ec 68          	sub    $0x68,%rsp
180074a87:	4c 8b 69 78          	mov    0x78(%rcx),%r13
180074a8b:	4d 8b d9             	mov    %r9,%r11
180074a8e:	48 8b 05 43 00 13 00 	mov    0x130043(%rip),%rax        # 0x1801a4ad8
180074a95:	33 f6                	xor    %esi,%esi
180074a97:	45 33 ff             	xor    %r15d,%r15d
180074a9a:	45 33 e4             	xor    %r12d,%r12d
180074a9d:	49 8b 55 50          	mov    0x50(%r13),%rdx
180074aa1:	45 8b 95 80 00 00 00 	mov    0x80(%r13),%r10d
180074aa8:	4d 8b 4d 68          	mov    0x68(%r13),%r9
180074aac:	49 8b 6d 58          	mov    0x58(%r13),%rbp
180074ab0:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
180074ab5:	4a 8b 0c d0          	mov    (%rax,%r10,8),%rcx
180074ab9:	41 ba 01 00 00 c0    	mov    $0xc0000001,%r10d
180074abf:	41 8b c0             	mov    %r8d,%eax
180074ac2:	49 03 c1             	add    %r9,%rax
180074ac5:	48 89 4c 24 50       	mov    %rcx,0x50(%rsp)
180074aca:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
180074acf:	8b 41 58             	mov    0x58(%rcx),%eax
180074ad2:	0f af 81 00 02 00 00 	imul   0x200(%rcx),%eax
180074ad9:	44 8b b1 04 02 00 00 	mov    0x204(%rcx),%r14d
180074ae0:	44 89 54 24 30       	mov    %r10d,0x30(%rsp)
180074ae5:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
180074aea:	8b c8                	mov    %eax,%ecx
180074aec:	48 8b c2             	mov    %rdx,%rax
180074aef:	48 2b c1             	sub    %rcx,%rax
180074af2:	48 99                	cqto
180074af4:	49 f7 fe             	idiv   %r14
180074af7:	44 8d 40 02          	lea    0x2(%rax),%r8d
180074afb:	45 85 c0             	test   %r8d,%r8d
180074afe:	75 04                	jne    0x180074b04
180074b00:	33 db                	xor    %ebx,%ebx
180074b02:	eb 18                	jmp    0x180074b1c
180074b04:	41 83 f8 f7          	cmp    $0xfffffff7,%r8d
180074b08:	75 07                	jne    0x180074b11
180074b0a:	bb 02 00 00 00       	mov    $0x2,%ebx
180074b0f:	eb 0b                	jmp    0x180074b1c
180074b11:	41 83 f8 f8          	cmp    $0xfffffff8,%r8d
180074b15:	1b db                	sbb    %ebx,%ebx
180074b17:	f7 db                	neg    %ebx
180074b19:	83 c3 03             	add    $0x3,%ebx
180074b1c:	8b f8                	mov    %eax,%edi
180074b1e:	49 8b c6             	mov    %r14,%rax
180074b21:	49 0f af fe          	imul   %r14,%rdi
180074b25:	48 c1 e0 20          	shl    $0x20,%rax
180074b29:	48 03 f9             	add    %rcx,%rdi
180074b2c:	48 ff c8             	dec    %rax
180074b2f:	48 23 f8             	and    %rax,%rdi
180074b32:	85 db                	test   %ebx,%ebx
180074b34:	0f 84 cc 01 00 00    	je     0x180074d06
180074b3a:	8d 43 fe             	lea    -0x2(%rbx),%eax
180074b3d:	83 f8 01             	cmp    $0x1,%eax
180074b40:	0f 86 b8 01 00 00    	jbe    0x180074cfe
180074b46:	44 3b a4 24 c0 00 00 	cmp    0xc0(%rsp),%r12d
180074b4d:	00
180074b4e:	0f 83 aa 01 00 00    	jae    0x180074cfe
180074b54:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
180074b59:	48 3b ea             	cmp    %rdx,%rbp
180074b5c:	73 2f                	jae    0x180074b8d
180074b5e:	49 8d 04 2e          	lea    (%r14,%rbp,1),%rax
180074b62:	4c 3b c8             	cmp    %rax,%r9
180074b65:	73 26                	jae    0x180074b8d
180074b67:	49 3b e9             	cmp    %r9,%rbp
180074b6a:	77 09                	ja     0x180074b75
180074b6c:	49 8b f1             	mov    %r9,%rsi
180074b6f:	48 2b f5             	sub    %rbp,%rsi
180074b72:	48 03 f7             	add    %rdi,%rsi
180074b75:	48 3b d0             	cmp    %rax,%rdx
180074b78:	41 8d 0c 2e          	lea    (%r14,%rbp,1),%ecx
180074b7c:	41 8b c1             	mov    %r9d,%eax
180074b7f:	0f 42 ca             	cmovb  %edx,%ecx
180074b82:	49 3b e9             	cmp    %r9,%rbp
180074b85:	0f 47 c5             	cmova  %ebp,%eax
180074b88:	2b c8                	sub    %eax,%ecx
180074b8a:	44 03 f9             	add    %ecx,%r15d
180074b8d:	48 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%rcx
180074b94:	00
180074b95:	41 8b d0             	mov    %r8d,%edx
180074b98:	48 89 7c 24 58       	mov    %rdi,0x58(%rsp)
180074b9d:	e8 36 fd ff ff       	call   0x1800748d8
180074ba2:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
180074ba7:	44 8b c0             	mov    %eax,%r8d
180074baa:	89 44 24 34          	mov    %eax,0x34(%rsp)
180074bae:	8d 78 fe             	lea    -0x2(%rax),%edi
180074bb1:	8b 91 04 02 00 00    	mov    0x204(%rcx),%edx
180074bb7:	8b 41 58             	mov    0x58(%rcx),%eax
180074bba:	0f af 81 00 02 00 00 	imul   0x200(%rcx),%eax
180074bc1:	48 0f af fa          	imul   %rdx,%rdi
180074bc5:	48 c1 e2 20          	shl    $0x20,%rdx
180074bc9:	48 ff ca             	dec    %rdx
180074bcc:	8b c8                	mov    %eax,%ecx
180074bce:	48 03 f9             	add    %rcx,%rdi
180074bd1:	48 23 fa             	and    %rdx,%rdi
180074bd4:	45 85 c0             	test   %r8d,%r8d
180074bd7:	75 04                	jne    0x180074bdd
180074bd9:	33 db                	xor    %ebx,%ebx
180074bdb:	eb 1f                	jmp    0x180074bfc
180074bdd:	41 83 f8 f7          	cmp    $0xfffffff7,%r8d
180074be1:	75 07                	jne    0x180074bea
180074be3:	bb 02 00 00 00       	mov    $0x2,%ebx
180074be8:	eb 12                	jmp    0x180074bfc
180074bea:	41 83 f8 f8          	cmp    $0xfffffff8,%r8d
180074bee:	72 07                	jb     0x180074bf7
180074bf0:	bb 03 00 00 00       	mov    $0x3,%ebx
180074bf5:	eb 23                	jmp    0x180074c1a
180074bf7:	bb 04 00 00 00       	mov    $0x4,%ebx