140c97769:	0f 84 b7 00 00 00    	je     0x140c97826
140c9776f:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140c97773:	48 8b 82 c0 00 00 00 	mov    0xc0(%rdx),%rax
140c9777a:	8b 48 60             	mov    0x60(%rax),%ecx
140c9777d:	83 e1 08             	and    $0x8,%ecx
140c97780:	75 1a                	jne    0x140c9779c
140c97782:	8b 02                	mov    (%rdx),%eax
140c97784:	3d 04 03 00 00       	cmp    $0x304,%eax
140c97789:	7c 11                	jl     0x140c9779c
140c9778b:	3d 00 00 01 00       	cmp    $0x10000,%eax
140c97790:	74 0a                	je     0x140c9779c
140c97792:	83 7d 14 74          	cmpl   $0x74,0x14(%rbp)
140c97796:	0f 84 8a 00 00 00    	je     0x140c97826
140c9779c:	83 7e 38 00          	cmpl   $0x0,0x38(%rsi)
140c977a0:	75 2a                	jne    0x140c977cc
140c977a2:	85 c9                	test   %ecx,%ecx
140c977a4:	75 26                	jne    0x140c977cc
140c977a6:	48 8b 86 a8 00 00 00 	mov    0xa8(%rsi),%rax
140c977ad:	81 b8 3c 03 00 00 04 	cmpl   $0x304,0x33c(%rax)
140c977b4:	03 00 00
140c977b7:	7c 13                	jl     0x140c977cc
140c977b9:	83 7d 14 74          	cmpl   $0x74,0x14(%rbp)
140c977bd:	74 67                	je     0x140c97826
140c977bf:	8b 45 10             	mov    0x10(%rbp),%eax
140c977c2:	83 f8 01             	cmp    $0x1,%eax
140c977c5:	76 5f                	jbe    0x140c97826
140c977c7:	83 f8 0a             	cmp    $0xa,%eax
140c977ca:	74 5a                	je     0x140c97826
140c977cc:	48 63 4d 18          	movslq 0x18(%rbp),%rcx
140c977d0:	e8 7b f9 fe ff       	call   0x140c87150
140c977d5:	85 c0                	test   %eax,%eax
140c977d7:	75 4d                	jne    0x140c97826
140c977d9:	8b 4d 14             	mov    0x14(%rbp),%ecx
140c977dc:	8d 81 2d fc ff ff    	lea    -0x3d3(%rcx),%eax
140c977e2:	83 f8 01             	cmp    $0x1,%eax
140c977e5:	76 0c                	jbe    0x140c977f3
140c977e7:	81 f9 2b 03 00 00    	cmp    $0x32b,%ecx
140c977ed:	0f 85 a2 01 00 00    	jne    0x140c97995
140c977f3:	83 7e 38 00          	cmpl   $0x0,0x38(%rsi)
140c977f7:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140c977fb:	74 36                	je     0x140c97833
140c977fd:	48 8b 81 c0 00 00 00 	mov    0xc0(%rcx),%rax
140c97804:	f6 40 60 08          	testb  $0x8,0x60(%rax)
140c97808:	0f 85 87 01 00 00    	jne    0x140c97995
140c9780e:	8b 01                	mov    (%rcx),%eax
140c97810:	3d 04 03 00 00       	cmp    $0x304,%eax
140c97815:	0f 8c 7a 01 00 00    	jl     0x140c97995
140c9781b:	3d 00 00 01 00       	cmp    $0x10000,%eax
140c97820:	0f 84 6f 01 00 00    	je     0x140c97995
140c97826:	33 c0                	xor    %eax,%eax
140c97828:	48 83 c4 38          	add    $0x38,%rsp
140c9782c:	41 5f                	pop    %r15
140c9782e:	41 5c                	pop    %r12
140c97830:	5e                   	pop    %rsi
140c97831:	5d                   	pop    %rbp
140c97832:	c3                   	ret
140c97833:	81 39 00 00 01 00    	cmpl   $0x10000,(%rcx)
140c97839:	0f 85 56 01 00 00    	jne    0x140c97995
140c9783f:	48 8b 86 a8 00 00 00 	mov    0xa8(%rsi),%rax
140c97846:	81 b8 40 03 00 00 04 	cmpl   $0x304,0x340(%rax)
140c9784d:	03 00 00
140c97850:	0f 8c 3f 01 00 00    	jl     0x140c97995
140c97856:	81 b8 3c 03 00 00 04 	cmpl   $0x304,0x33c(%rax)
140c9785d:	03 00 00
140c97860:	7d c4                	jge    0x140c97826
140c97862:	48 8b ce             	mov    %rsi,%rcx
140c97865:	e8 26 c6 fe ff       	call   0x140c83e90
140c9786a:	4c 8b f8             	mov    %rax,%r15
140c9786d:	48 85 c0             	test   %rax,%rax
140c97870:	74 b4                	je     0x140c97826
140c97872:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
140c97877:	48 8b c8             	mov    %rax,%rcx
140c9787a:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140c9787f:	e8 9c 9c 02 00       	call   0x140cc1520
140c97884:	33 ff                	xor    %edi,%edi
140c97886:	44 8b f0             	mov    %eax,%r14d
140c97889:	85 c0                	test   %eax,%eax
140c9788b:	0f 8e f1 00 00 00    	jle    0x140c97982
140c97891:	48 89 5c 24 60       	mov    %rbx,0x60(%rsp)
140c97896:	4c 89 6c 24 78       	mov    %r13,0x78(%rsp)
140c9789b:	41 bd 00 ff 00 00    	mov    $0xff00,%r13d
140c978a1:	8b d7                	mov    %edi,%edx
140c978a3:	49 8b cf             	mov    %r15,%rcx
140c978a6:	e8 b5 9e 02 00       	call   0x140cc1760
140c978ab:	4c 8b 86 a8 00 00 00 	mov    0xa8(%rsi),%r8
140c978b2:	48 8b d8             	mov    %rax,%rbx
140c978b5:	41 8b 88 34 03 00 00 	mov    0x334(%r8),%ecx
140c978bc:	85 48 1c             	test   %ecx,0x1c(%rax)
140c978bf:	0f 85 a8 00 00 00    	jne    0x140c9796d
140c978c5:	41 8b 88 38 03 00 00 	mov    0x338(%r8),%ecx
140c978cc:	85 48 20             	test   %ecx,0x20(%rax)
140c978cf:	0f 85 98 00 00 00    	jne    0x140c9796d
140c978d5:	41 8b 90 40 03 00 00 	mov    0x340(%r8),%edx
140c978dc:	85 d2                	test   %edx,%edx
140c978de:	0f 84 89 00 00 00    	je     0x140c9796d
140c978e4:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
140c978e8:	4d 8b c8             	mov    %r8,%r9
140c978eb:	48 8b 81 c0 00 00 00 	mov    0xc0(%rcx),%rax
140c978f2:	8b 48 60             	mov    0x60(%rax),%ecx
140c978f5:	83 e1 08             	and    $0x8,%ecx
140c978f8:	75 11                	jne    0x140c9790b
140c978fa:	39 53 2c             	cmp    %edx,0x2c(%rbx)
140c978fd:	7f 6e                	jg     0x140c9796d
140c978ff:	41 8b 80 3c 03 00 00 	mov    0x33c(%r8),%eax
140c97906:	39 43 30             	cmp    %eax,0x30(%rbx)
140c97909:	7c 62                	jl     0x140c9796d
140c9790b:	85 c9                	test   %ecx,%ecx
140c9790d:	74 3b                	je     0x140c9794a
140c9790f:	8b 43 34             	mov    0x34(%rbx),%eax
140c97912:	3d 00 01 00 00       	cmp    $0x100,%eax
140c97917:	41 0f 44 c5          	cmove  %r13d,%eax
140c9791b:	81 fa 00 01 00 00    	cmp    $0x100,%edx
140c97921:	41 0f 44 d5          	cmove  %r13d,%edx
140c97925:	3b c2                	cmp    %edx,%eax
140c97927:	7c 44                	jl     0x140c9796d
140c97929:	8b 4b 38             	mov    0x38(%rbx),%ecx
140c9792c:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
140c97932:	41 8b 81 3c 03 00 00 	mov    0x33c(%r9),%eax
140c97939:	41 0f 44 cd          	cmove  %r13d,%ecx
140c9793d:	3d 00 01 00 00       	cmp    $0x100,%eax
140c97942:	41 0f 44 c5          	cmove  %r13d,%eax
140c97946:	3b c8                	cmp    %eax,%ecx
140c97948:	7f 23                	jg     0x140c9796d
140c9794a:	44 8b 43 44          	mov    0x44(%rbx),%r8d
140c9794e:	45 33 c9             	xor    %r9d,%r9d
140c97951:	ba 01 00 01 00       	mov    $0x10001,%edx
140c97956:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140c9795b:	48 8b ce             	mov    %rsi,%rcx
140c9795e:	e8 2d 64 ff ff       	call   0x140c8dd90
140c97963:	85 c0                	test   %eax,%eax
140c97965:	74 06                	je     0x140c9796d
140c97967:	f6 43 1c 10          	testb  $0x10,0x1c(%rbx)
140c9796b:	75 0b                	jne    0x140c97978
140c9796d:	ff c7                	inc    %edi
140c9796f:	41 3b fe             	cmp    %r14d,%edi
140c97972:	0f 8c 29 ff ff ff    	jl     0x140c978a1
140c97978:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140c9797d:	4c 8b 6c 24 78       	mov    0x78(%rsp),%r13
140c97982:	41 3b fe             	cmp    %r14d,%edi
140c97985:	4c 8b 74 24 30       	mov    0x30(%rsp),%r14
140c9798a:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
140c9798f:	0f 84 91 fe ff ff    	je     0x140c97826
140c97995:	48 8b cd             	mov    %rbp,%rcx
140c97998:	e8 83 ec ff ff       	call   0x140c96620
140c9799d:	0f b7 55 08          	movzwl 0x8(%rbp),%edx
140c979a1:	44 8b c0             	mov    %eax,%r8d
140c979a4:	44 8b 4d 0c          	mov    0xc(%rbp),%r9d
140c979a8:	0f b7 ca             	movzwl %dx,%ecx
140c979ab:	66 c1 e9 08          	shr    $0x8,%cx
140c979af:	88 4c 24 70          	mov    %cl,0x70(%rsp)
140c979b3:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140c979b8:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140c979bd:	48 8b ce             	mov    %rsi,%rcx
140c979c0:	88 54 24 71          	mov    %dl,0x71(%rsp)
140c979c4:	41 8b d4             	mov    %r12d,%edx
140c979c7:	e8 c4 63 ff ff       	call   0x140c8dd90
140c979cc:	48 83 c4 38          	add    $0x38,%rsp
140c979d0:	41 5f                	pop    %r15
140c979d2:	41 5c                	pop    %r12
140c979d4:	5e                   	pop    %rsi
140c979d5:	5d                   	pop    %rbp
140c979d6:	c3                   	ret
140c979d7:	cc                   	int3
140c979d8:	cc                   	int3
140c979d9:	cc                   	int3
140c979da:	cc                   	int3
140c979db:	cc                   	int3
140c979dc:	cc                   	int3
140c979dd:	cc                   	int3
140c979de:	cc                   	int3
140c979df:	cc                   	int3
140c979e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140c979e5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140c979ea:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140c979ef:	57                   	push   %rdi
140c979f0:	b8 20 00 00 00       	mov    $0x20,%eax
140c979f5:	e8 a6 3a 18 00       	call   0x140e1b4a0
140c979fa:	48 2b e0             	sub    %rax,%rsp
140c979fd:	48 8b f9             	mov    %rcx,%rdi
140c97a00:	41 8b e8             	mov    %r8d,%ebp
140c97a03:	48 8b ca             	mov    %rdx,%rcx
140c97a06:	e8 c5 62 03 00       	call   0x140ccdcd0
140c97a0b:	48 8b d8             	mov    %rax,%rbx
140c97a0e:	48 85 c0             	test   %rax,%rax
140c97a11:	0f 84 a2 00 00 00    	je     0x140c97ab9
140c97a17:	48 8b c8             	mov    %rax,%rcx
140c97a1a:	e8 e1 77 53 ff       	call   0x1401cf200
140c97a1f:	3d 98 01 00 00       	cmp    $0x198,%eax
140c97a24:	0f 85 a6 00 00 00    	jne    0x140c97ad0
140c97a2a:	48 8b d3             	mov    %rbx,%rdx
140c97a2d:	48 8b cf             	mov    %rdi,%rcx
140c97a30:	e8 ab 08 00 00       	call   0x140c982e0
140c97a35:	85 c0                	test   %eax,%eax
140c97a37:	0f 84 7c 00 00 00    	je     0x140c97ab9
140c97a3d:	48 8b cb             	mov    %rbx,%rcx
140c97a40:	e8 9b 0b 00 00       	call   0x140c985e0
140c97a45:	33 db                	xor    %ebx,%ebx
140c97a47:	0f b7 d0             	movzwl %ax,%edx
140c97a4a:	39 5f 38             	cmp    %ebx,0x38(%rdi)
140c97a4d:	44 8b c3             	mov    %ebx,%r8d
140c97a50:	48 8b cf             	mov    %rdi,%rcx
140c97a53:	0f b7 f0             	movzwl %ax,%esi
140c97a56:	41 0f 94 c0          	sete   %r8b
140c97a5a:	e8 11 07 00 00       	call   0x140c98170
140c97a5f:	85 c0                	test   %eax,%eax
140c97a61:	74 56                	je     0x140c97ab9
140c97a63:	85 ed                	test   %ebp,%ebp
140c97a65:	74 69                	je     0x140c97ad0
140c97a67:	48 8b 87 88 04 00 00 	mov    0x488(%rdi),%rax
140c97a6e:	f7 40 1c 00 00 03 00 	testl  $0x30000,0x1c(%rax)
140c97a75:	74 59                	je     0x140c97ad0
140c97a77:	66 83 fe 17          	cmp    $0x17,%si
140c97a7b:	75 08                	jne    0x140c97a85
140c97a7d:	41 b8 1a 03 00 00    	mov    $0x31a,%r8d
140c97a83:	eb 0c                	jmp    0x140c97a91
140c97a85:	66 83 fe 18          	cmp    $0x18,%si
140c97a89:	75 2e                	jne    0x140c97ab9
140c97a8b:	41 b8 1b 03 00 00    	mov    $0x31b,%r8d
140c97a91:	48 8b 97 70 17 00 00 	mov    0x1770(%rdi),%rdx
140c97a98:	48 85 d2             	test   %rdx,%rdx
140c97a9b:	74 1c                	je     0x140c97ab9
140c97a9d:	48 8b 8f 68 17 00 00 	mov    0x1768(%rdi),%rcx
140c97aa4:	48 8b 01             	mov    (%rcx),%rax
140c97aa7:	44 3b 40 1c          	cmp    0x1c(%rax),%r8d
140c97aab:	74 23                	je     0x140c97ad0
140c97aad:	48 ff c3             	inc    %rbx
140c97ab0:	48 83 c1 08          	add    $0x8,%rcx
140c97ab4:	48 3b da             	cmp    %rdx,%rbx
140c97ab7:	72 eb                	jb     0x140c97aa4
140c97ab9:	33 c0                	xor    %eax,%eax
140c97abb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140c97ac0:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140c97ac5:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140c97aca:	48 83 c4 20          	add    $0x20,%rsp
140c97ace:	5f                   	pop    %rdi
140c97acf:	c3                   	ret
140c97ad0:	b8 01 00 00 00       	mov    $0x1,%eax
140c97ad5:	eb e4                	jmp    0x140c97abb
140c97ad7:	cc                   	int3
140c97ad8:	cc                   	int3
140c97ad9:	cc                   	int3
140c97ada:	cc                   	int3
140c97adb:	cc                   	int3
140c97adc:	cc                   	int3
140c97add:	cc                   	int3
140c97ade:	cc                   	int3
140c97adf:	cc                   	int3
140c97ae0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140c97ae5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140c97aea:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140c97aef:	55                   	push   %rbp
140c97af0:	56                   	push   %rsi
140c97af1:	57                   	push   %rdi
140c97af2:	41 54                	push   %r12
140c97af4:	41 55                	push   %r13
140c97af6:	41 56                	push   %r14
140c97af8:	41 57                	push   %r15
140c97afa:	b8 30 00 00 00       	mov    $0x30,%eax
140c97aff:	e8 9c 39 18 00       	call   0x140e1b4a0
140c97b04:	48 2b e0             	sub    %rax,%rsp
140c97b07:	48 8b b1 88 04 00 00 	mov    0x488(%rcx),%rsi
140c97b0e:	33 ed                	xor    %ebp,%ebp
140c97b10:	48 63 bc 24 90 00 00 	movslq 0x90(%rsp),%rdi
140c97b17:	00
140c97b18:	4d 8b f1             	mov    %r9,%r14
140c97b1b:	49 8b c0             	mov    %r8,%rax
140c97b1e:	4c 8b e9             	mov    %rcx,%r13
140c97b21:	8b dd                	mov    %ebp,%ebx
140c97b23:	44 8b e5             	mov    %ebp,%r12d
140c97b26:	44 8b 4e 1c          	mov    0x1c(%rsi),%r9d
140c97b2a:	45 8b f9             	mov    %r9d,%r15d
140c97b2d:	41 81 e7 00 00 03 00 	and    $0x30000,%r15d
140c97b34:	83 ff ff             	cmp    $0xffffffff,%edi
140c97b37:	0f 84 91 00 00 00    	je     0x140c97bce
140c97b3d:	83 ff fe             	cmp    $0xfffffffe,%edi
140c97b40:	75 2d                	jne    0x140c97b6f
140c97b42:	4c 8b 06             	mov    (%rsi),%r8
140c97b45:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140c97b4c:	66 66 66
140c97b4f:	49 8b c8             	mov    %r8,%rcx
140c97b52:	48 2b ce             	sub    %rsi,%rcx
140c97b55:	48 83 e9 20          	sub    $0x20,%rcx
140c97b59:	48 f7 e9             	imul   %rcx
140c97b5c:	48 8b fa             	mov    %rdx,%rdi
140c97b5f:	48 c1 ff 04          	sar    $0x4,%rdi
140c97b63:	48 8b c7             	mov    %rdi,%rax
140c97b66:	48 c1 e8 3f          	shr    $0x3f,%rax
140c97b6a:	48 03 f8             	add    %rax,%rdi
140c97b6d:	eb 0c                	jmp    0x140c97b7b
140c97b6f:	4c 8d 47 01          	lea    0x1(%rdi),%r8
140c97b73:	4e 8d 04 87          	lea    (%rdi,%r8,4),%r8
140c97b77:	4e 8d 04 c6          	lea    (%rsi,%r8,8),%r8
140c97b7b:	49 8b 85 a8 00 00 00 	mov    0xa8(%r13),%rax
140c97b82:	41 81 e1 01 00 03 00 	and    $0x30001,%r9d
140c97b89:	4d 8b 70 10          	mov    0x10(%r8),%r14
140c97b8d:	48 05 10 03 00 00    	add    $0x310,%rax
140c97b93:	48 63 d7             	movslq %edi,%rdx
140c97b96:	44 89 8c 24 90 00 00 	mov    %r9d,0x90(%rsp)
140c97b9d:	00
140c97b9e:	48 8d 14 90          	lea    (%rax,%rdx,4),%rdx
140c97ba2:	49 8b 40 08          	mov    0x8(%r8),%rax
140c97ba6:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140c97bab:	49 8b 10             	mov    (%r8),%rdx
140c97bae:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
140c97bb3:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
140c97bba:	00
140c97bbb:	48 85 d2             	test   %rdx,%rdx
140c97bbe:	0f 84 ae 04 00 00    	je     0x140c98072
140c97bc4:	48 85 c0             	test   %rax,%rax
140c97bc7:	75 6f                	jne    0x140c97c38
140c97bc9:	e9 a4 04 00 00       	jmp    0x140c98072
140c97bce:	48 85 d2             	test   %rdx,%rdx
140c97bd1:	0f 84 eb 04 00 00    	je     0x140c980c2
140c97bd7:	48 85 c0             	test   %rax,%rax
140c97bda:	0f 84 e2 04 00 00    	je     0x140c980c2
140c97be0:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140c97be5:	48 8b c8             	mov    %rax,%rcx
140c97be8:	e8 d3 5d ff ff       	call   0x140c8d9c0
140c97bed:	48 85 c0             	test   %rax,%rax
140c97bf0:	0f 84 cc 04 00 00    	je     0x140c980c2
140c97bf6:	49 8b 85 a8 00 00 00 	mov    0xa8(%r13),%rax
140c97bfd:	41 bc f0 06 00 00    	mov    $0x6f0,%r12d
140c97c03:	48 63 7c 24 28       	movslq 0x28(%rsp),%rdi
140c97c08:	f7 46 1c 01 00 03 00 	testl  $0x30001,0x1c(%rsi)
140c97c0f:	c7 84 24 90 00 00 00 	movl   $0x1,0x90(%rsp)
140c97c16:	01 00 00 00
140c97c1a:	48 8d 97 c4 00 00 00 	lea    0xc4(%rdi),%rdx
140c97c21:	48 8d 14 90          	lea    (%rax,%rdx,4),%rdx
140c97c25:	b8 50 00 00 00       	mov    $0x50,%eax
140c97c2a:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140c97c2f:	44 0f 44 e0          	cmove  %eax,%r12d
140c97c33:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
140c97c38:	41 8b cc             	mov    %r12d,%ecx
140c97c3b:	45 85 ff             	test   %r15d,%r15d
140c97c3e:	74 2f                	je     0x140c97c6f
140c97c40:	41 8b c4             	mov    %r12d,%eax
140c97c43:	45 8b cf             	mov    %r15d,%r9d
140c97c46:	41 0f ba ec 0b       	bts    $0xb,%r12d
140c97c4b:	4d 8b c6             	mov    %r14,%r8
140c97c4e:	85 c0                	test   %eax,%eax
140c97c50:	44 0f 44 e0          	cmove  %eax,%r12d
140c97c54:	33 c9                	xor    %ecx,%ecx
140c97c56:	e8 35 5b 03 00       	call   0x140ccd790
140c97c5b:	85 c0                	test   %eax,%eax
140c97c5d:	75 07                	jne    0x140c97c66
140c97c5f:	bb 00 08 00 00       	mov    $0x800,%ebx
140c97c64:	eb 09                	jmp    0x140c97c6f
140c97c66:	45 85 e4             	test   %r12d,%r12d
140c97c69:	0f 84 03 04 00 00    	je     0x140c98072
140c97c6f:	49 8b cd             	mov    %r13,%rcx